운영 경계: **투자자문형 우선 · 자동주문/KIS 제출 OFF · RESEARCH_CANDIDATE_NOT_PRODUCTION**
## 경영진 결론
v12.3은 v10.0의 Baseline Preservation + Delta + Supersession + Traceability와 v12.2의 Lot/종목 비중 분리를 유지한다. 신규 Delta는 화면 확대가 아니라 **데이터 의미의 안전한 전환, 정책 계약 버전, CI·스캐폴딩의 재현성, 성과지표 정의 이력**에 집중한다.
KArtSell_Aegis_v12_1_execution_ready_complete(1).zip,28233180,e5f9896474f32706d28df29cbdb5e3e74dbcc983e74c73f7067c377ee7aea260,v12.1 실행준비 전체 패키지,RETAINED,
KArtSell_Aegis_v12_2_strategic_complete(1).zip,34363575,482cf8caf9fd37c54cfc99797b450d7b7c334df7d5c982e6d391f9b5e9994d74,v12.2 전략적 통합 고도화 기준선,IMPROVED_BY_V12_3,
고정 우선순위는 `HARD_IMPAIRMENT → PORTFOLIO_SURVIVAL → DYNAMIC_PROFIT_FLOOR → CONCENTRATION/LIQUIDITY → OPPORTUNITY_COST → REENTRY_OPTION`이다. 상위 사유는 하위 점수로 상쇄하지 않는다.
## 구현 보강
- Hard impairment: 승인 증거가 있을 때 보수적으로 Lot 100% 매도, 자동재진입 금지. 문서 범위 80~100%의 심각도 매핑은 DEC-014 승인 전 임의 변경하지 않는다.
- Survival: 자본바닥 위반 시 Strategic Core를 하회할 수 있다. cooldown 우회 여부는 첨부 근거가 부족하므로 DEC-013으로 차단한다.
- Gap: 1.5 ATR 이상 이탈 시 40%, 문서 범위 30~50% 내.
- Two-close: 2개 종가 연속 이탈 시 20%, 문서 범위 15~25% 내.
- Opportunity: 신뢰하단>0과 요청비율>0이 모두 필요하다. 요청비율 0은 10%로 보정하지 않는다.
`weight_semantics_version=1`은 v12.2 이전 ambiguous backfill이다. `version=2`만 종목 전체 비중과 대상 Lot 비중이 독립 원천에서 명시된 것으로 인정한다. 기존 데이터를 같다고 추정하지 않고 Projection/Evidence를 재구축한다.
## 정규화/역정규화
원장·Lot·Fill·현금·비용 schedule은 3NF, unique source key, reversal/correction을 사용한다. 역정규화는 Owner/ProjectionVersion/Watermark/Rebuild/Staleness가 있는 Read Model에만 허용한다.
FastEndpoints는 HTTP 경계만 담당한다. 생산형 Command는 `PositionLotId`, `AsOf`, `IdempotencyKey` 같은 최소 식별자를 받고 Evidence/Model/Config/Data Version은 서버 PIT Context에서 조회한다. Decision과 Outbox는 동일 transaction에 저장한다.
## Frontend
응답은 Zod로 검증한 후 사용한다. 정책 trace는 우선순위, Applied/Blocked/NotApplicable, 요청/적용 비율, Strategic Core clamp를 표시한다. TanStack Query는 server state, Pinia는 session/role/UI preference, vue-router는 공유 가능한 필터·탭 상태를 소유한다.
## Hangfire
각 Job은 JobRunId, Scope, IdempotencyKey, Watermark, SourceVersion, DatasetId, Attempt, heartbeat를 가진다. retry는 오류분류와 backoff가 승인된 경우만 사용하며, 재처리는 overwrite가 아닌 revision을 생성한다.
VS-00,PlatformBootstrap,Host/BuildingBlocks,S0,W1-2,G0,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,빌드·마이그레이션·관제 가능한 단일 배포 골격,-,PLANNED,"v12.3: deterministic scaffolder, contract registry, CI validator/current attachment coverage"
VS-01,ManageIdentityAndRoles,IdentityAccess,S1,W3-4,G1-A,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,MFA·RBAC·업무분장과 승인 경계,VS-00,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
VS-02,SynchronizeSecurityMaster,SecurityMaster,S1,W3-4,G1-A,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,상장·상폐·상품구조·거래가능성의 PIT 기준,VS-00,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
VS-11,ManageReentryWatch,SignalEngine,S5,W11-12,G2,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,비가치훼손 매도의 재진입 계약·단계·만료,VS-10,PLANNED,Reentry stage uniqueness and cycle/lot reset evidence
VS-12,RankBuyCandidates,ValuationForecast,S10,W21-22,Portfolio Gate,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,PIT 품질·밸류·수정·모멘텀을 결합한 후보 순위,"VS-03,VS-05,VS-06,VS-09",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
VS-13,CalculatePortfolioRisk,PortfolioRisk,S9,W19-20,Portfolio-A,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,ES·집중·상관·자본바닥 위험 스냅샷,"VS-03,VS-08",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
VS-14,GenerateDailyRecommendations,ClientAdvisory,S7,W15-16,MVP-B,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,고객별 BUY/HOLD/SELL/REENTER/REBALANCE 제안 패키지,"VS-07,VS-10,VS-12,VS-13",PLANNED,Run-level idempotency and partial-failure quarantine
VS-15,ReviewRecommendation,ClientAdvisory,S7,W15-16,MVP-B,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,maker-checker 승인·보류·기각과 낙관적 동시성,VS-14,PLANNED,maker-checker concurrency and review evidence
VS-16,PublishClientAdvice,ClientAdvisory,S8,W17-18,G3,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,승인·유효·데이터 정상 제안만 고객 공개,VS-15,PLANNED,publish snapshot hash and staleness block
VS-19,RunFrozenBacktest,BacktestingEvaluation,S5,W11-12,G2,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,동결 manifest 기반 워크포워드·OOS·비용 스트레스 재현,"VS-03,VS-04,VS-05,VS-06,VS-09",PLANNED,frozen manifest/environment lock and cross-language golden
VS-20,PromoteModelVersion,GovernanceAudit,S11,W23-24,G4-A,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,모델 승격 증거·승인·롤백·챔피언/챌린저,"VS-18,VS-19",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
VS-21,BuildRebalanceProposal,PortfolioRisk,S9,W19-20,Portfolio-A,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,비용·세금·위험예산·제약을 만족하는 리밸런싱,"VS-07,VS-08,VS-12,VS-13",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
AEG-X-003,S0,W1-2,Cross,Cross-cutting,Architecture,FITNESS,REQ-ARCH-001,Cross,Cross,Cross,Cross,Cross,모듈/namespace/schema/API 금지 의존 Architecture tests 고도화,모듈/namespace/schema/API 금지 의존 Architecture tests,"Domain 기술의존 0, 모듈 직접 DB 접근 0, ID 중복 0",Architect/QA,Architect/QA,7,AEG-X-002,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-00-01,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,GOV,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,정책·범위·실패상태 계약 확정,"REQ-PLAT-001, VS-00 SLICE_SPEC, ADR/Decision Log",사용자 결과 '빌드·마이그레이션·관제 가능한 단일 배포 골격'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,-,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-X-009,S1,W3-4,Cross,Cross-cutting,Data Governance,DATA,REQ-DATA-SOURCE,Cross,Cross,Cross,Cross,Cross,Source catalog/license/SLA/timezone/unit/checksum 고도화,Source catalog/license/SLA/timezone/unit/checksum,승인 없는 source가 ingestion 또는 추천으로 진입하지 않음,Data Governance,Architect/QA,8,AEG-X-001,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-01-01,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,GOV,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,정책·범위·실패상태 계약 확정,"REQ-IAM-001, VS-01 SLICE_SPEC, ADR/Decision Log",사용자 결과 'MFA·RBAC·업무분장과 승인 경계'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-00,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-X-010,S2,W5-6,Cross,Cross-cutting,Read Model,PROJECTION,REQ-RM-001,Cross,Cross,Cross,Cross,Cross,projection owner/version/watermark/rebuild/staleness 고도화,projection owner/version/watermark/rebuild/staleness,"write model 직접 UI join 0, rebuild 결과 hash 동일",BE/Data,Architect/QA,8,AEG-X-006,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
AEG-VS-03-01,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,GOV,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,정책·범위·실패상태 계약 확정,"REQ-DAT-001, VS-03 SLICE_SPEC, ADR/Decision Log",사용자 결과 '원시·조정 OHLCV·FX·금리의 revision 적재'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-02,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-08-01,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,GOV,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,정책·범위·실패상태 계약 확정,"REQ-LED-001, VS-08 SLICE_SPEC, ADR/Decision Log",사용자 결과 '현금·체결·Lot·Cycle 불변 원장과 대사 기준'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-02,VS-06",G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-X-011,S4,W9-10,Cross,Cross-cutting,Algorithm,GOLDEN,REQ-ALG-GOLDEN,Cross,Cross,Cross,Cross,Cross,Python↔C# Golden vector 고도화,Python↔C# Golden vector·epsilon·rounding 계약,정책 ID별 경계·우선순위·cost×2 결과 허용오차 내 동일,Quant/QA,Architect/QA,10,VS-09,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-09-01,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,GOV,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,정책·범위·실패상태 계약 확정,"REQ-EVD-001, VS-09 SLICE_SPEC, ADR/Decision Log",사용자 결과 'Dataset/Model/Config/Code SHA가 동결된 Evidence'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-03,VS-04,VS-05,VS-06",G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-19-01,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,GOV,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,정책·범위·실패상태 계약 확정,"REQ-BKT-001, VS-19 SLICE_SPEC, ADR/Decision Log",사용자 결과 '동결 manifest 기반 워크포워드·OOS·비용 스트레스 재현'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-03,VS-04,VS-05,VS-06,VS-09",G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-07-01,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,GOV,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,정책·범위·실패상태 계약 확정,"REQ-CLI-001, VS-07 SLICE_SPEC, ADR/Decision Log",사용자 결과 '고객 목표·위험성향·제한상품의 버전 관리'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-01,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-X-013,S8,W17-18,Cross,Cross-cutting,Audit,TRACE,REQ-AUDIT-E2E,Cross,Cross,Cross,Cross,Cross,Evidence→Decision→Review→Publish→Outcome trace API 고도화,Evidence→Decision→Review→Publish→Outcome trace API,"publication/decision 기준 누락 링크 0, correction event 보존",Compliance/BE,Architect/QA,8,VS-18,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-16-01,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,GOV,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,정책·범위·실패상태 계약 확정,"REQ-PUB-001, VS-16 SLICE_SPEC, ADR/Decision Log",사용자 결과 '승인·유효·데이터 정상 제안만 고객 공개'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-15,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-13-01,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,GOV,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,정책·범위·실패상태 계약 확정,"REQ-RISK-001, VS-13 SLICE_SPEC, ADR/Decision Log",사용자 결과 'ES·집중·상관·자본바닥 위험 스냅샷'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-03,VS-08",Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-21-01,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,GOV,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,정책·범위·실패상태 계약 확정,"REQ-REB-001, VS-21 SLICE_SPEC, ADR/Decision Log",사용자 결과 '비용·세금·위험예산·제약을 만족하는 리밸런싱'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-07,VS-08,VS-12,VS-13",Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-12-01,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,GOV,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,정책·범위·실패상태 계약 확정,"REQ-BUY-001, VS-12 SLICE_SPEC, ADR/Decision Log",사용자 결과 'PIT 품질·밸류·수정·모멘텀을 결합한 후보 순위'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-03,VS-05,VS-06,VS-09",Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-X-015,S11,W23-24,Cross,Cross-cutting,Shadow,EVAL,REQ-SHADOW-001,Cross,Cross,Cross,Cross,Cross,252거래일 고도화,252거래일·복수 국면 일평가 scorecard,적중률 단독 아닌 calibration/ES/false-exit/reentry/운영무결성 판정,Quant/Ops,Architect/QA,14,VS-18,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-20-01,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,GOV,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,정책·범위·실패상태 계약 확정,"REQ-MOD-001, VS-20 SLICE_SPEC, ADR/Decision Log",사용자 결과 '모델 승격 증거·승인·롤백·챔피언/챌린저'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-18,VS-19",G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-24-01,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,GOV,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,정책·범위·실패상태 계약 확정,"REQ-RPT-001, VS-24 SLICE_SPEC, ADR/Decision Log",사용자 결과 '고객 리포트·SignalR·Telegram 운영 경보'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-16,VS-18",G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-X-017,S13,W27-28,Cross,Cross-cutting,DR,OPS,REQ-DR-001,Cross,Cross,Cross,Cross,Cross,RPO/RTO 고도화,RPO/RTO·backup/restore·region/host failure rehearsal,"승인 RPO/RTO 내 복구, 원장·outbox·projection 대사 100%",SRE/DBA,Architect/QA,12,AEG-X-006,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-25-01,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,GOV,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,정책·범위·실패상태 계약 확정,"REQ-GOV-001, VS-25 SLICE_SPEC, ADR/Decision Log",사용자 결과 '입력→결정→승인→공개→실행→평가 추적과 단계별 차단'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-01,VS-16,VS-20,VS-23",G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-X-018,S14,W29-30,Cross,Cross-cutting,Performance,NFR,REQ-NFR-001,Cross,Cross,Cross,Cross,Cross,API P95 고도화,API P95·batch SLA·portfolio 규모·backfill 부하시험,개장 전 추천 SLA와 고객 API SLO가 동시에 충족,SRE/QA,Architect/QA,10,AEG-X-017,G6-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
AEG22-X-001,S0,W1-2,Cross,Cross-cutting,Governance,GOV,DOC-NR-01~08,Cross,Cross,Cross,Cross,T-DOC-022,Current-session source coverage and SHA register,Source Coverage Matrix/Source Index,6 current attachments preserved byte-for-byte and hashes match,PM/Architect,QA/Compliance,4,AEG-X-001,G0,SOURCE,P0,PLANNED
AEG22-X-002,S0,W1-2,Cross,Cross-cutting,Toolchain,DEVEX,REQ-PLAT-TOOL,Cross,Cross,Cross,Cross,T-CI-022,Offline-safe package manager and lockfile decision,packageManager/LOCKFILE_REQUIRED/CI guard,No silent dependency resolution; frozen install blocks until approved lock exists,DevOps,FE Lead,4,AEG-X-002,G0,DESIGN_PROPOSAL,P0,PLANNED
AEG22-X-003,S0,W1-2,Cross,Cross-cutting,Architecture,ARCH,REQ-ARCH-001,Cross,Cross,Cross,Cross,T-ARCH-022,Module/Vertical Slice template pack,"templates/dotnet,vue,sql,hangfire",New slice can be generated without Generic Repository or controller-service duplication,Architect,BE/FE Leads,6,AEG-X-003,G0,DESIGN_PROPOSAL,P1,PLANNED
AEG22-X-004,S0,W1-2,Cross,Cross-cutting,API,BE,REQ-API-001,API-CONTEXT-01,Cross,Cross,Cross,T-API-022,Correlation/Idempotency/ProblemDetails shared contract,request execution standard,400/401/403/409/422 and trace/idempotency rules consistent,BE Lead,QA/SRE,6,AEG-X-004,G0,DESIGN_PROPOSAL,P1,PLANNED
AEG22-X-006,S0,W1-2,Cross,Cross-cutting,Reliability,BE,REQ-OUTBOX-001,Cross,MIG-0013,JOB-OUTBOX-01,Cross,T-OUTBOX-022,Outbox lease/dead-letter/replay hardening,outbox dispatcher template/runbook,Crash-before/after publish yields no lost message and idempotent downstream,BE/SRE,QA,10,AEG-X-006,G3,DESIGN_PROPOSAL,P0,PLANNED
AEG22-X-007,S0,W1-2,Cross,Cross-cutting,Reliability,BE,REQ-INBOX-001,Cross,MIG-0013,JOB-INBOX-01,Cross,T-INBOX-022,Inbox duplicate/result-hash contract,inbox consumer template,Same consumer/message performs side effect once and replay hash is stable,BE/SRE,QA,8,AEG-X-007,G3,DESIGN_PROPOSAL,P0,PLANNED
AEG22-VS10-001,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,ALG,ALG-SELL-001~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-LOT-001,Separate security weight and lot weight,SellDecisionInput/context/migration,Lot ratio changes only lot weight; target security weight is exact,Quant/BE,DBA/QA,10,AEG-VS-10-03,G2-A,SOURCE+INFERENCE,P0,PLANNED
AEG22-VS10-004,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,FE,REQ-SIG-UI,SIG-RESEARCH-01,Cross,Cross,UI-SIG-01,T-FE-SIG-022,FE runtime contract for weights and policy trace,Zod schema/page/tests,Malformed response and lot>security input fail closed,FE Lead,QA/BE,5,AEG22-VS10-002,G2-A,DESIGN_PROPOSAL,P1,PLANNED
AEG22-VS09-001,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,DATA,REQ-EVD-001,Cross,MIG-EVD-001,J06,UI-EVD-01,T-EVD-022,Evidence completeness grade and required-field manifest,Evidence contract delta,Missing total-return/delisting/cost source downgrades or quarantines recommendation,Data/Quant,BE/QA,8,AEG-VS-09-02,G2-A,SOURCE,P0,PLANNED
AEG22-VS03-001,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DATA,REQ-DAT-001,DAT-01,MIG-DAT-001,J02,UI-DAT-01,T-DAT-PIT-022,Enforce published_at cutoff and timezone,PIT query contract/data test,Lookahead count remains zero across replay and timezone boundaries,Data Architect,DBA/QA,8,AEG-VS-03-03,G1-B,SOURCE,P0,PLANNED
AEG22-VS08-001,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,DB,REQ-LEDGER-001,POR-01,MIG-POR-001,LedgerEntryApplied,UI-POR-01,T-LEDGER-022,Lot weight derivation and reconciliation invariant,ledger/read-model contract,Lot market values equal security/account totals within tolerance,DBA/BE,Quant/QA,10,AEG-VS-08-03,G1,DESIGN_PROPOSAL,P0,PLANNED
AEG22-VS11-001,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,ALG,ALG-REENTRY-001,SIG-02,MIG-SIG-REENTRY,J09,UI-SIG-02,T-REENTRY-022,Reentry stage uniqueness and cycle reset proof,state transition/golden tests,Each stage once; new CycleId/Lot; old floor/cost/high not reused,Quant/BE,QA/DBA,9,AEG-VS-11-03,G2,SOURCE,P0,PLANNED
AEG22-VS14-001,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,BE,REQ-ADV-001,ADV-01,MIG-ADV-001,J08,UI-ADV-01,T-ADV-RUN-022,Run isolation and partial-failure quarantine,run manifest/error partition,One portfolio failure cannot publish invalid advice to another,BE Lead,SRE/QA,10,AEG-VS-14-04,MVP-B,DESIGN_PROPOSAL,P0,PLANNED
AEG22-VS15-001,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,SEC,REQ-REV-001,ADV-02,MIG-ADV-002,RecommendationReviewed,UI-ADV-02,T-REV-022,Maker-checker optimistic concurrency proof,review version/ETag tests,Self-approval and stale update rejected with audit evidence,BE/Security,FE/QA,8,AEG-VS-15-04,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG22-VS18-001,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,ALG,REQ-EVAL-001,EVAL-01,MIG-EVAL-001,J10,UI-EVAL-01,T-EVAL-DEF-022,Version false-exit/gain-capture definitions,metric definition registry,Historical scorecard reproducible by metric version/revision,Quant/Risk,Data/QA,8,AEG-VS-18-03,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
AEG22-VS19-001,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,QUANT,REQ-BT-001,RES-01,MIG-RES-001,BacktestCompleted,UI-RES-01,T-BT-ENV-022,Environment digest and full experiment registry,frozen manifest,Data/code/config/seed/environment/all variants hashed,Quant/Data,Risk/QA,10,AEG-VS-19-03,G2,SOURCE,P0,PLANNED
AEG22-VS19-002,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,QA,REQ-BT-002,RES-01,MIG-RES-001,BacktestCompleted,UI-RES-01,T-BT-XLANG-022,Python-.NET decision golden cross-check,cross-language vectors,Policy/action/ratio/target/trace match within tolerance,QA/Quant,BE,8,AEG22-VS19-001,G2,DESIGN_PROPOSAL,P0,PLANNED
AEG22-VS23-001,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,OPS,REQ-REC-001,EXE-01,MIG-EXE-001,J12,UI-OPS-REC,T-REC-CORR-022,Approved correction/reversal workflow,break/correction/audit contract,No direct edit; before/after/hash/approver/replay reconcile to zero,Ops/DBA,Compliance/QA,10,AEG-VS-23-04,Pilot-A,SOURCE,P0,PLANNED
AEG22-X-009,S11,W23-24,Cross,Cross-cutting,Frontend,FE,REQ-FE-CONTRACT,Cross,Cross,Cross,Cross,T-FE-OPENAPI-022,OpenAPI artifact diff and generated contract plan,contract generation ADR,DTO drift visible in CI; Zod remains trust boundary,BE/FE,QA/Architect,7,AEG-X-012,G3,DESIGN_PROPOSAL,P1,PLANNED
AEG22-X-010,S11,W23-24,Cross,Cross-cutting,Observability,SRE,REQ-OBS-001,Cross,Cross,Cross,UI-OPS-01,T-OBS-022,Metric cardinality/PII/redaction budget,telemetry policy/tests,No high-cardinality account/security tags or PII in telemetry,SRE/Security,BE/QA,7,AEG-X-013,G5,DESIGN_PROPOSAL,P0,PLANNED
AEG22-X-011,S14,W29-30,Cross,Cross-cutting,Performance,SRE,REQ-CAP-001,Cross,Cross,Cross,Cross,T-CAP-022,Capacity assumptions and workload pack,capacity profile,Approved volumes map to API/batch/DB SLO evidence,PM/SRE,DBA/QA,10,AEG-X-025,G6-A,DESIGN_PROPOSAL,P1,PLANNED
AEG22-X-012,S15,W31-32,Cross,Cross-cutting,Release,OPS,REQ-REL-001,Cross,Cross,Cross,Cross,T-REL-022,Release evidence and rollback rehearsal,release manifest/checksum/runbook,Source→requirement→code→test→artifact hashes and rollback complete,PM/SRE,QA/Compliance,8,AEG22-X-011,G6,DESIGN_PROPOSAL,P0,PLANNED
AEG-X-035,S0,W1-2,Cross,Cross-cutting,Validation,FITNESS,REQ-ARCH-001,Cross,Cross,Cross,Cross,T-STATIC-123,Extend static validator for semantic version and contract drift,validate_v123.py,"WBS 250, 7첨부, 0015, registry, context filter, CI key 검사 통과",QA,Architect,6,AEG-X-034,G0,DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-10-10,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,Data integrity,REQ-SIG-SELL,SIG-01,MIG-0015,-,-,T-SIG-SEM-001,Version lot/security weight semantics and block legacy contexts,0015 migration·context reader,weight_semantics_version=2만 결정 입력 사용; legacy backfill 추정 사용 0,DBA/BE,Quant/QA,8,AEG-VS-10-08,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-10-11,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,Evidence,REQ-SIG-SELL,SIG-01/02,MIG-0015,EVT-SIG-001,UI-SIG-01,T-SIG-EVT-002,Persist decision and policy-trace contract versions,API·DB·event v2,decision_contract_version과 policy_trace_schema_version이 DB/API/event/hash에 포함,BE,DBA/FE/QA,7,AEG-VS-10-10,G2-A,DESIGN_PROPOSAL,P0,PLANNED
AEG-VS-18-08,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,Metric governance,REQ-EVAL-001,EVAL-01,MIG-EVAL-001,J10,UI-EVAL-01,T-EVAL-METRIC-001,Version false-exit and reentry metric definitions,outcome-metrics.v1.json,"분모/분자/평가창/집계/정의버전 명시, 연 2% 목표와 직접비교 금지",Quant/Risk,Data/QA,6,AEG-X-034,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
AEG-X-036,S1,W3-4,Cross,Cross-cutting,Security,AUTH,REQ-IAM-001,Cross,Cross,Cross,Cross,T-AUTH-ADR,Keep OIDC/JWT provider decision fail-closed,Decision Log,공급자/claims 미결정 시 Development 외 인증 성공 0,Security,PM/BE,3,AEG-X-005,G5,SOURCE,P0,PLANNED
AEG-X-042,S14,W29-30,Cross,Cross-cutting,Capacity,NFR,REQ-NFR-CAP,Cross,Cross,Cross,Cross,T-CAP-001,Approve load volumes before index or partition optimization,Capacity ADR,고객/계좌/종목/배치량 결정 전 투기적 index·partition 추가 0,PM/SRE,DBA/BE,5,DEC-011,G6-A,DECISION_REQUIRED,P1,PLANNED
AEG-X-043,S15,W31-32,Cross,Cross-cutting,Release,EVIDENCE,REQ-REL-001,Cross,Cross,Cross,Cross,T-REL-123,Assemble v12.3 release evidence and checksum manifest,Validation evidence·manifest·SHA256,실행/미실행을 구분하고 패키지 전 파일 hash·첨부 hash가 일치,QA/Release,PM/Architect,7,AEG-X-035,G6,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
1
WBS_ID
Sprint
Weeks
Slice_ID
Slice
Module
Workstream
Requirement_ID
API_ID
DB_Migration_ID
Job_Event_ID
UI_ID
Test_ID
Task
Artifact
Acceptance_Evidence
Primary_Owner
Secondary
PD
Dependency
Gate
Evidence_Class
Risk
Status
2
AEG-X-001
S0
W1-2
Cross
Cross-cutting
Governance
GOV
DOC-NR-01~08
Cross
Cross
Cross
Cross
Cross
Version Coverage Matrix 고도화
Version Coverage Matrix·Supersession Registry
모든 첨부와 v10/v12/v12.1의 Retained/Improved/Superseded 상태 100%
PM/Architect
Architect/QA
5
-
G0
SOURCE+DESIGN_PROPOSAL
P0
PLANNED
3
AEG-X-002
S0
W1-2
Cross
Cross-cutting
Toolchain
DEVEX
REQ-PLAT-TOOL
Cross
Cross
Cross
Cross
Cross
global.json 고도화
global.json·Directory.Packages·node/packageManager·lock 정책
승인 runner에서 dotnet restore/build/test 및 pnpm frozen build 재현
DevOps
Architect/QA
6
AEG-X-001
G0
SOURCE+DESIGN_PROPOSAL
P0
PLANNED
4
AEG-X-003
S0
W1-2
Cross
Cross-cutting
Architecture
FITNESS
REQ-ARCH-001
Cross
Cross
Cross
Cross
Cross
모듈/namespace/schema/API 금지 의존 Architecture tests 고도화
TD-025,P1,성능 규모 가정 미확정,배치 SLA/DB index 과·소설계,portfolio/security/client volume 결정·capacity test,G6-A,PM/SRE,OPEN
TD-026,P0,Security/Lot weight field ambiguity in v12.1,Partial-lot sell could miscalculate target security weight,MIG-0014 + domain/API/FE golden vectors,G2-A,Quant/BE,IN_PROGRESS
TD-027,P1,Only final sell policy reason was persisted,Blocked/not-applicable priority path was not auditable,Persist ordered policy_trace_json and internal trace contract,G2-A,BE/Quant,IN_PROGRESS
TD-028,P0,Current-session attachment set differs from prior package manifest,Source coverage claim can become stale,Rebuild source index from six current attachments and verify SHA,G0,PM/QA,MITIGATED
TD-029,P1,Request execution contract remains endpoint-local,Error/idempotency/correlation behavior can drift,Adopt reviewed request execution template after characterization tests,G0,BE Lead,OPEN
TD-030,P0,Outbox dispatcher runtime implementation is incomplete,Stored events may not publish or may duplicate,Lease/dead-letter/replay implementation and crash tests,G3,BE/SRE,OPEN
TD-031,P0,Inbox result-hash/replay proof is incomplete,Duplicate downstream side effects remain possible,Consumer-specific transaction and crash/replay tests,G3,BE/SRE,OPEN
TD-032,P1,Outcome metric definitions are not fully versioned,Historical false-exit/gain-capture can drift,outcome-metrics.v1 registry added; Quant/Risk approval and DB scorecard binding remain,G3,Quant/Risk,IN_PROGRESS
TD-033,P1,Module and feature scaffolding depended on manual copying,Pattern drift and vibe-coding hallucination,deterministic scaffold_slice.py + reviewed templates + tests,G0,Architect,MITIGATED
TD-034,P0,v12.2 legacy weight backfill could be treated as explicit lot semantics,Historic context may create incorrect partial-lot target weight,MIG-0015 semantics version; reader accepts version 2 only; rebuild required,G2-A,DBA/BE/Quant,MITIGATED
TD-035,P0,Opportunity edge with zero requested ratio was clamped to 10% sell,Missing quantity decision could become unintended sell,Fail closed with OPPORTUNITY_RATIO_NOT_POSITIVE and Golden test,G2-A,BE/Quant,IN_PROGRESS
TD-036,P1,CI referenced v12.1 validator and contained duplicate working-directory key,Latest controls could be skipped and YAML behavior ambiguous,"Use validate_v123, single working-directory, scaffold tests",G0,DevOps/QA,MITIGATED
TD-037,P1,Policy values duplicated between documents and C# magic numbers,Threshold and priority drift,SellPolicyContract + machine-readable registry + static cross-check,G2,Quant/BE,IN_PROGRESS
TD-038,P1,Previous package did not include v12.2 itself as a new source attachment,Cumulative source chain incomplete for next delta,Seven-file source coverage and SHA index,G0,PM/QA,MITIGATED
TD-039,P0,pnpm lockfile still cannot be generated in isolated environment,Frontend dependency resolution is not reproducible,Generate and review pnpm-lock.yaml on approved connected runner; frozen CI only,G0,FE Lead/DevOps,OPEN
TD-040,P0,v12.3 C# and PostgreSQL changes are statically validated only,"Compile, package compatibility and migration runtime defects may remain",Run .NET 10 build/test and PostgreSQL fresh/upgrade/re-run/failure rehearsal,G0,DevOps/DBA/QA,OPEN
DEC-010,DECISION_REQUIRED,SLO/RPO/RTO와 운영 용량 기준,자료 미지원,SRE/PM,G5,미정
DEC-011,DECISION_REQUIRED,고객/계좌/상품 규모와 성능 테스트 볼륨,자료 미지원,PM/SRE,G6-A,미정
DEC-012,DECISION_REQUIRED,한국 최신 PIT 데이터 확보 범위와 재검증 일정,자료 미지원,Quant/Data,G4,미정
DEC-013,APPROVED,Lot-relative sell ratio uses CurrentLotPortfolioWeight; target security weight subtracts LotWeight×Ratio,v10/v12.1 unit-separation intent and data-consistency correction,Quant/Architect,G2-A,2026-08-02
DEC-014,APPROVED,Ordered policy trace is immutable internal decision evidence; customer view receives curated explanation,Explainability and audit delta,Quant/Compliance/Architect,G2-A/G3,2026-08-02
DEC-015,APPROVED,v12.2 preserves all six current-session attachments byte-for-byte and treats v12.1 as baseline,Non-regression source control,PM/Architect,G0,2026-08-02
DEC-016,DECISION_REQUIRED,Select production OpenAPI client generation tool and ownership,Toolchain/network approval required,BE/FE/DevOps,G3,Before S11
DEC-014,DECISION_REQUIRED,Hard impairment 80~100%를 어떤 증거등급/심각도로 매핑하는가,v10 범위는 80~100%; 현재 구현은 보수적으로 100%,투자위/준법/Quant,G2,Before policy parameter change
DEC-015,APPROVED,v12.2 이전 ambiguous weight context는 추정 사용하지 않고 semantics v2로 재구축한다,PIT·재현성·DECISION_REQUIRED fail-closed 원칙,Data Architect/Quant/Architect,G2-A,2026-08-02
DEC-016,APPROVED,정책·이벤트·성과지표 계약은 버전과 hash를 가진 machine-readable artifact로 관리한다,"DOC-NR-05/06, v12.1 TD-021/032",Architect/Quant/Risk,G2/G3,2026-08-02
1
Decision_ID
Status
Decision_or_Question
Basis
Owner
Gate
Approved_or_Due
2
DEC-001
APPROVED
투자자문형→Shadow→Pilot; 자동주문 OFF
v10.0·v12.2
운영사/준법
ALL
2026-08-01
3
DEC-002
APPROVED
알고리즘 상태 RESEARCH_CANDIDATE_NOT_PRODUCTION
v10.0·v12.2
투자위/리스크
G4
2026-08-01
4
DEC-003
APPROVED
Modular Monolith+Vertical Slice; 조기 microservice 금지
모든 작업을 SOURCE, ASSUMPTION, UNKNOWN, DECISION_REQUIRED로 분류한다. UNKNOWN과 DECISION_REQUIRED는 코드 기본값으로 해결하지 않는다.
`scaffold_slice.py`는 dry-run이 기본이며 기존 파일을 덮어쓰지 않는다. 생성된 코드는 SCAFFOLD_ONLY이고 Request/Response/Zod/SQL/수용기준이 승인되기 전 Route를 활성화하지 않는다.
실행하지 않은 .NET build, pnpm frozen build, PostgreSQL rehearsal, Shadow/PBO/DSR은 PASS로 기록하지 않는다. 새 library·table·threshold·index는 ADR/Decision 없이 도입하지 않는다.
작업 완료는 코드 작성이 아니라 Requirement/Policy/Data/API/DB/Job/UI/Test/Metric/Runbook이 연결된 상태다. 문서를 늘리기보다 9개 Source of Truth, Slice Spec, Traceability, Release Evidence를 갱신한다.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.