Fluent UI Blazor v5 / InteractiveServer 방침을 폐기하고 MudBlazor 컴포넌트 +
Interactive WebAssembly 렌더 모드 + API-First 를 신규 표준으로 확정한다.
기존 CLAUDE.md(Fluent UI)와 AGENTS.md §5b(MudBlazor)의 상충을 해소한다.
- CLAUDE.md: Framework & Design System, Component Rules, 매핑표를 MudBlazor 로 갱신
- AGENTS.md §5b: 렌더 모드 표준(Interactive WebAssembly) 신설, Server 표기 정렬
- ROADMAP_WBS.md: WBS-10 보강 문서 상호 참조 링크 추가
- WBS_10_DOTNET_MIGRATION_HARDENING: 마이그레이션 완성/상용화 로드맵 신규,
UI 코드 전환을 WBS-A7 로 등록
코드 전환(csproj/Program.cs/.razor)은 미수행, 본 커밋은 방침 문서만 수정.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- docs/CLOUD_SERVER_SETUP.md 신규 생성
- 서버 기본 정보 (Ubuntu 26.04, AMD EPYC-Rome 2C, 3.7GiB)
- 서비스 아키텍처: Nginx, Gitea, QuantEngine Blazor, PostgreSQL 18
- Docker Compose v5.2.0 기반 Gitea 설정 전문
- .NET 10 (ASP.NET Core 10.0.9) systemd 서비스 설정 전문
- 6x Gitea Act Runner CI 컨테이너 현황
- 보안: SSH hardening, UFW 방화벽, fail2ban, 네트워크 격리
- 시놀로지 → 클라우드 마이그레이션 매핑표
- 운영 명령 치트시트 및 검증 하네스
- 참조 인덱스(TOC) 및 관련 문서 상호 참조
- AGENTS.md Directory Routing 섹션에 문서 경로 등록
provenance: ssh kjh2064@178.104.200.7 라이브 명령 실행으로 수집 (2026-06-26)
이전 커밋들에서 추가한 기능을 실제로 동작시키는 배선 작업.
- .gitea/workflows/ci.yml: No Direct API Trading 게이트, KIS 자격증명
검증(mock), 캘리브레이션 백로그 빌드, 정성매도 파이프라인 검증,
Gitea secrets 계약 검증, snapshot admin 워크플로/웹 검증 단계 추가
- package.json: ops:data-collect, ops:sell-*, ops:snapshot-*,
ops:calibration-* npm 스크립트 추가
- src/gas/core/gas_lib.gs doPost(): "trigger_run_all" action 추가 —
Gitea CI가 공유 비밀키로 run_all()을 원격 트리거(주문 실행 없음,
governance/rules/06·07과 동일 원칙)
- tools/trigger_gas_run_all_v1.py: 위 GAS 엔드포인트를 호출하는 CLI
- AGENTS.md/README.md: 신규 파일 인덱스 및 사용 가이드 갱신
AGENTS.md (6b 섹션 신설):
- T+20 표본 <30건 시 active/PASS_100 승격 금지
- GAS thin adapter 원칙 명문화 (투자 판단 로직 추가 금지)
- 프롬프트의 LLM 직접 계산 요청 금지
- 하네스 FAIL 상태 주문 표 렌더링 금지
- 최종 결정 권한 단일 실행 패킷 원칙
package.json:
- ops:sector-refresh: Naver 스크래핑 드라이런
- ops:sector-refresh-apply: --apply 원본 반영
- ops:sector-validate: 갱신 상태 gate 검증
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
주요 변경 사항:
- tools/deploy_gas.py 추가:
* clasp를 사용하여 로컬의 8개 .gs 스크립트 파일과 appsscript.json을 원격 Apps Script 프로젝트에 강제 푸시(clasp push -f)하는 자동화 스크립트 작성
- AGENTS.md 수정:
* 3. 하드 룰 섹션에 커밋, 푸쉬, PR 작업 시 반드시 로컬 .gs 파일을 원격 프로젝트에 업로드하고 사용자가 스프레드시트 상의 스크립트(runDataFeed 등)를 직접 실행해 검증하도록 가이드하는 하드 룰 명시
- 검증 결과: python tools/deploy_gas.py 원격 배포(9개 파일 push) 정상 검증 완료
Co-Authored-By: Antigravity AI <noreply@google.com>
주요 변경:
- tools/build_rebalance_engine_v1.py: REBALANCE_ENGINE_V1 신규
* account_snapshot 직접 합산(_build_snap_position_map) → 소수주 분리 행 병합
* 레짐 소스 macro.REGIME_PRELIM 최우선 (GAS 와 동일)
- src/gas_adapter_parts/gdf_06_rebalance.gs: runRebalanceSheet_() 신규
* Logger.log / getSpreadsheet_() 로 run_all 연동 수정
- src/gas_adapter_parts/gdc_01_fetch_fundamentals.gs
* _mergePositionRecord_(): 소수주 중복 행 합산 신규
* parseInt → parseFloat (qty, availQty)
- src/gas_adapter_parts/gdf_01_price_metrics.gs
* 미보유 종목 SELL_READY → WATCH_EXIT_SIGNAL
- spec/41_release_dag.yaml: build_rebalance_sheet 노드 추가 (step_count 63)
- spec/51_formula_lifecycle_registry.yaml: REBALANCE_ENGINE_V1 등록
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>