Initial commit: Add project files
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
# 00. 경영진·아키텍처 최종 제안
|
||||
|
||||
## 1. 결론
|
||||
|
||||
기존 v10.0의 방향은 옳다. 다만 본프로그램 착수 전에 해야 할 일은 기능을 더 추가하는 것이 아니라 **연구 코드와 생산 코드의 경계를 확실히 나누고, 데이터·알고리즘·승인·평가를 하나의 반복 가능한 Vertical Slice로 연결하는 것**이다.
|
||||
|
||||
실행 우선순위는 다음과 같다.
|
||||
|
||||
1. **연구 재현성 복구**: 원시 데이터 manifest, 환경 lock, 실행 인자, artifact hash
|
||||
2. **알고리즘 상태기계 정공법 전환**: scalar position이 아닌 Lot/Cycle 단위
|
||||
3. **데이터 정합성 Gate**: PIT·기업행사·총수익·비용·상폐·FX
|
||||
4. **BE Walking Skeleton**: Evidence → SellDecision → ReentryWatch → Review → Outcome
|
||||
5. **FE 업무화면**: Query/Error/Auth/State Matrix를 먼저 표준화
|
||||
6. **Shadow 운영**: 일평가와 false-exit·재진입 포착·대사·DR 검증
|
||||
|
||||
## 2. 과유불급 기준
|
||||
|
||||
| 영역 | 해야 할 것 | 하지 말아야 할 것 |
|
||||
|---|---|---|
|
||||
| 아키텍처 | Modular Monolith, schema ownership, Architecture Test | 초기 Microservice 분리 |
|
||||
| SOLID | Policy·Adapter·Validator 책임 분리 | Interface·Factory·Repository 남발 |
|
||||
| 공통화 | 의미·상태·변경축이 2회 이상 반복될 때 승격 | 한 번 쓰는 추상화 |
|
||||
| 데이터 | 정규화된 Write Model, 재생성 가능한 Read Model | 화면 편의를 위한 Source Table 직접 Join |
|
||||
| 알고리즘 | 순수 결정함수, 상태기계, Golden test | 복잡한 종합점수 하나로 모든 위험 상쇄 |
|
||||
| FE | TanStack Query가 서버상태 소유 | Pinia에 API 응답 복제 |
|
||||
| Batch | Job은 오케스트레이션만 | Hangfire Job에 정책·SQL·HTTP 혼합 |
|
||||
| AI 코딩 | Source/Assumption/Unknown + 실행 증거 | 대화만 근거로 정책·컬럼·임계값 생성 |
|
||||
|
||||
## 3. 운영사급 Done의 정의
|
||||
|
||||
기능이 화면에서 보이는 것으로 끝나지 않는다. 아래가 모두 있어야 Done이다.
|
||||
|
||||
- Requirement/Policy/Data/API/DB/Event/Job/UI/Test/Metric/Runbook 추적
|
||||
- 같은 입력·Version Set으로 같은 결과 재현
|
||||
- 부분실패·중복·재처리·만료·권한·동시성 검증
|
||||
- 고객 공개 전 maker-checker와 Evidence hash 보존
|
||||
- Secondary 운영자의 rollback/replay 리허설
|
||||
- 기술부채 Owner와 만료일
|
||||
|
||||
## 4. 권고 조직 운영
|
||||
|
||||
- Sprint capacity의 15%를 데이터·기술부채·재현성 개선에 고정한다.
|
||||
- 알고리즘 변경 PR과 구조 리팩터링 PR을 분리한다.
|
||||
- Quant 승인 없는 Golden 변경, DBA 승인 없는 PIT/DDL 변경, 준법 승인 없는 공개 문구 변경을 병합하지 않는다.
|
||||
- Production 승격과 투자일임형 검토는 적중률이 아니라 장기 비용후 효용과 운영 무결성의 복합 Gate로 결정한다.
|
||||
@@ -0,0 +1,53 @@
|
||||
# 01. 첨부 연구 소스 정량·구조 감사
|
||||
|
||||
## A. 즉시 조치 P0
|
||||
|
||||
| ID | 소스 관찰 | 영향 | 조치 |
|
||||
|---|---|---|---|
|
||||
| SRC-P0-01 | 원시 가격데이터와 실행환경 lock이 번들에 없음 | 제3자가 결과를 완전 재현할 수 없음 | Data Manifest, checksum, Python lock, container image digest를 Evidence Pack에 포함 |
|
||||
| SRC-P0-02 | `v12_positions()`가 전체 보유를 하나의 `entry/peak/floor`로 관리하고 재진입 시 모두 reset | 기존 Core lot과 신규 tactical lot의 사이클이 다시 혼합됨 | `PositionLot`·`CycleState`별 보호선과 재진입 생성 |
|
||||
| SRC-P0-03 | KR corporate action을 근사 정수비율로 과거 전체에 소급 조정 | 공식 기업행사와 다를 경우 수익·ATR·보호선 왜곡 | 공식 CA master 우선, 추정값은 QUARANTINED evidence로만 사용 |
|
||||
| SRC-P0-04 | 총수익·PIT 재무·상폐·세금·FX가 없음 | 생산 매도·기대효용 판단 불가 | 가격정책 연구로 한정, 생산 승격 차단 |
|
||||
| SRC-P0-05 | `portfolio_backtest()`의 overlay 비용이 전역 US 7bps로 고정 | KR 자본바닥 결과의 비용 라벨과 실제 계산 불일치 | 비용을 함수 인자로 강제하고 FeeSchedule PIT로 전환 |
|
||||
|
||||
## B. P1 리팩터링
|
||||
|
||||
| ID | 관찰 | 개선 |
|
||||
|---|---|---|
|
||||
| SRC-P1-01 | `v11_positions`, `v12_positions`, `positions_fast`에 정책 로직 중복 | 단일 Policy Core와 vectorized adapter 분리 |
|
||||
| SRC-P1-02 | `giveback_cap_v12()`가 정의돼 있으나 실제 v12 계산은 `giveback_cap_v11()` 사용 | dead code 제거 또는 정책 ID와 Golden으로 의도 명시 |
|
||||
| SRC-P1-03 | `core_floor()`와 별도 `min_pos` literal map이 중복 | YAML→typed config→single resolver |
|
||||
| SRC-P1-04 | `ROOT=/mnt/data`, FILES global, import 시 output directory 생성 | CLI/config 주입, library와 runner 분리 |
|
||||
| SRC-P1-05 | Data quality 함수가 global file을 재읽음 | raw input과 canonical input을 명시적으로 전달 |
|
||||
| SRC-P1-06 | 거래일 결측을 calendar gap으로만 판단 | MarketCalendar 기반 expected session 검증 |
|
||||
| SRC-P1-07 | backtest cost는 신호일, exposure는 다음날 lag로 반영 | OrderIntent/Fill 시점으로 비용·수량·현금 정렬 |
|
||||
| SRC-P1-08 | 동적 동일가중에서 종목 시작/종료에 따른 비중 변화 비용이 명시되지 않음 | UniverseEvent와 rebalance trade를 별도 모델링 |
|
||||
| SRC-P1-09 | `false_exit_rate_63d`가 단순 63일 +10% 여부 | 매도비중·benchmark·비용·재진입을 반영한 FalseExitCost 정의 |
|
||||
| SRC-P1-10 | 9개 local parameter grid만으로 robustness 판단 | CSCV/PBO, Deflated Sharpe, block bootstrap, walk-forward 확대 |
|
||||
|
||||
## C. 유지할 요소
|
||||
|
||||
- 수익구간 이후 활성화되는 단조 보호선
|
||||
- 갭 이탈과 2종가 이탈의 부분매도 구분
|
||||
- 다음 거래가능 세션 execution lag
|
||||
- 최소 10세션 재진입 대기와 50일선 상승·20일 고점 조건
|
||||
- 자본바닥 개념과 비용 스트레스
|
||||
|
||||
## D. 연구 코드 목표 구조
|
||||
|
||||
```text
|
||||
research/
|
||||
pyproject.toml + lock
|
||||
src/kartsell_research/
|
||||
data/ # loader, PIT calendar, CA adjustment
|
||||
domain/ # pure policy contract shared with golden vectors
|
||||
simulation/ # order/fill/cost/cash/universe
|
||||
evaluation/ # metrics, false-exit, PBO/DSR
|
||||
cli/ # no import-time side effects
|
||||
manifests/
|
||||
fixtures/
|
||||
tests/
|
||||
artifacts/<run-id>/manifest.json
|
||||
```
|
||||
|
||||
연구 Python과 .NET 생산 정책은 서로 호출하지 않는다. 대신 동일한 Golden input/output vector와 Policy ID를 공유해 의미 회귀를 검증한다.
|
||||
@@ -0,0 +1,96 @@
|
||||
# 02. 알고리즘 리팩터링·고도화 기준
|
||||
|
||||
## 1. 생산 모델 경계
|
||||
|
||||
생산 엔진은 수익률 최대화 함수가 아니라 다음의 순서가 보존된 **결정 상태기계**다.
|
||||
|
||||
```text
|
||||
HARD_IMPAIRMENT
|
||||
→ PORTFOLIO_SURVIVAL
|
||||
→ DYNAMIC_PROFIT_FLOOR
|
||||
→ CONCENTRATION_LIQUIDITY
|
||||
→ OPPORTUNITY_COST
|
||||
→ REENTRY_OPTION
|
||||
```
|
||||
|
||||
상위 정책이 행동을 결정하면 하위 점수는 이를 상쇄하지 못한다. 모든 정책은 `PolicyId`, 입력 `EvidenceId`, `ModelVersion`, `ConfigVersion`, 허용오차와 반대증거를 남긴다.
|
||||
|
||||
## 2. Scalar Position 제거
|
||||
|
||||
기존 `position: float` 하나로는 Core와 Tactical, 기존 lot과 재진입 lot을 분리할 수 없다. 다음 모델로 전환한다.
|
||||
|
||||
```text
|
||||
Portfolio
|
||||
└─ PositionLot (원가·수량·개설/종료·세금 lot)
|
||||
└─ CycleState (Entry, Peak, Floor, BreachCount, LastSell, LastBuy)
|
||||
└─ ProtectionState / ReentryWatch
|
||||
```
|
||||
|
||||
- 부분매도는 특정 Lot/Cycle에 귀속된다.
|
||||
- 재진입은 새 `CycleId`와 새 Lot을 만든다.
|
||||
- Strategic Core는 정책상 보호 대상 비중과 Tactical 비중을 분리한다.
|
||||
- Hard Impairment는 자동 재진입을 금지한다.
|
||||
|
||||
## 3. Functional Core / Imperative Shell
|
||||
|
||||
**Pure Core**
|
||||
|
||||
- `SellPolicyChain.Evaluate(input)`
|
||||
- `ReentryPolicy.Evaluate(input)`
|
||||
- `PortfolioConstraintPolicy.Evaluate(input)`
|
||||
- `ExpectedUtilityCalculator.Calculate(input)`
|
||||
|
||||
**Imperative Shell**
|
||||
|
||||
- PIT data query
|
||||
- transaction, Dapper SQL
|
||||
- EvidenceSnapshot 저장
|
||||
- Outbox 발행
|
||||
- Hangfire schedule/retry
|
||||
- SignalR/Telegram 통지
|
||||
|
||||
## 4. 기대효용 계산 분해
|
||||
|
||||
한 개의 opaque score 대신 구성요소를 별도로 저장한다.
|
||||
|
||||
- Hold expected return distribution P10/P50/P90
|
||||
- ES95와 영구가치훼손 확률×LGD
|
||||
- marginal portfolio risk
|
||||
- liquidity/slippage/tax/FX
|
||||
- replacement lower confidence edge
|
||||
- reentry option loss
|
||||
|
||||
Opportunity sell은 순우위의 신뢰하단이 0을 넘고 IPS·유동성·세금 제약을 통과할 때만 허용한다.
|
||||
|
||||
## 5. 실행 시뮬레이션
|
||||
|
||||
- 결정: 시장 종가 후
|
||||
- 주문의도: 다음 거래가능 세션
|
||||
- Fill: open/VWAP/limit 모델 중 승인된 시나리오
|
||||
- 부분체결, gap, ADV participation, spread, FX, 세금, 수수료를 별도 이벤트로 기록
|
||||
- SignalDecision과 Fill은 분리해 추천 성과·실행 성과·고객 행동을 attribution한다.
|
||||
|
||||
## 6. 일평가
|
||||
|
||||
일평가는 단타 적중률이 아니다.
|
||||
|
||||
| 영역 | 핵심 |
|
||||
|---|---|
|
||||
| 운영 무결성 | duplicate, lookahead, DQ hold, 미승인 공개, reconciliation |
|
||||
| 예측 | coverage, calibration, Brier/log loss |
|
||||
| 매도 | ES/MDD 감소, permanent loss 회피, gain capture, false-exit cost |
|
||||
| 재진입 | capture, delay cost, duplicate stage, expiry |
|
||||
| 비용후 효용 | 20/63/126/252 거래일 |
|
||||
| 모델리스크 | PBO, DSR, parameter stability, regime drift |
|
||||
|
||||
## 7. 변경 규칙
|
||||
|
||||
임계값·수식·우선순위를 바꾸는 PR은 반드시 다음을 포함한다.
|
||||
|
||||
1. Policy ID와 변경 사유
|
||||
2. Characterization/Golden diff
|
||||
3. Frozen OOS와 cost×2 결과
|
||||
4. market/asset/regime별 영향
|
||||
5. false-exit·reentry·ES 영향
|
||||
6. ModelCard와 rollback 기준
|
||||
7. Quant/Risk 승인
|
||||
@@ -0,0 +1,72 @@
|
||||
# 03. BE/FE 아키텍처 개선안
|
||||
|
||||
## 1. Modular Monolith 경계
|
||||
|
||||
- 단일 배포로 시작하되 module·PostgreSQL schema·namespace·API contract를 분리한다.
|
||||
- 모듈은 다른 모듈의 Source Table을 직접 조회하지 않는다.
|
||||
- 동기 의존은 좁은 Read Port, 비동기 결합은 Outbox/Inbox Event를 사용한다.
|
||||
- Microservice 분리는 독립 SLO·배포·용량·소유팀이 실제로 필요할 때만 검토한다.
|
||||
|
||||
## 2. Vertical Slice 표준
|
||||
|
||||
```text
|
||||
Features/<Slice>/
|
||||
Endpoint.cs
|
||||
Request.cs / Response.cs
|
||||
Validator.cs
|
||||
Handler.cs
|
||||
Policy.cs
|
||||
Sql.cs / Mapper.cs
|
||||
Jobs/
|
||||
Contracts/
|
||||
Tests/
|
||||
README.md # traceability
|
||||
```
|
||||
|
||||
Endpoint는 HTTP, Handler는 use case/transaction, Policy는 순수 결정, Adapter는 외부 I/O만 담당한다.
|
||||
|
||||
## 3. Dapper·DB 원칙
|
||||
|
||||
- Generic Repository 금지
|
||||
- schema-qualified SQL, 명시적 column, cancellation token
|
||||
- Write는 3NF/append/revision, Read는 projection
|
||||
- Evidence·Audit는 update/delete 차단
|
||||
- DbUp migration은 module별 순번·checksum·fresh/upgrade test
|
||||
- SELECT `*` 금지, PIT query는 `published_at <= cutoff`와 revision resolver 필수
|
||||
|
||||
## 4. Hangfire
|
||||
|
||||
Hangfire는 비즈니스 결정자가 아니라 승인된 Application Command의 반복 실행기다.
|
||||
|
||||
- JobRunId, Scope, IdempotencyKey, Watermark, Version Set, Input/Output Hash
|
||||
- transient/permanent/DQ/business-hold retry class 분리
|
||||
- q-research/q-backfill은 고객 SLA queue와 격리
|
||||
- Job이 다른 Job을 직접 호출하지 않고 Event 또는 readiness gate로 연결
|
||||
- 재처리는 overwrite가 아니라 새 Dataset/Revision 생성
|
||||
|
||||
## 5. FE 상태 소유권
|
||||
|
||||
| 상태 | 소유자 |
|
||||
|---|---|
|
||||
| API 서버상태·cache·stale·retry | TanStack Query |
|
||||
| session·role·UI preference | Pinia |
|
||||
| form | vee-validate + Zod |
|
||||
| URL filter/selection | vue-router query/params |
|
||||
| 대량 업무표 | AG Grid server row model |
|
||||
|
||||
Pinia에 API 응답을 복제하거나, 화면마다 401/409/422/429/503 처리를 다시 만들지 않는다.
|
||||
|
||||
## 6. FE 컴포넌트 승격 기준
|
||||
|
||||
공용 컴포넌트는 시각적 유사성이 아니라 동일한 업무 의미·상태·권한·접근성·테스트가 반복될 때만 만든다.
|
||||
|
||||
필수 공통: `QueryStateBoundary`, `PermissionGuard`, `DataGridShell`, `CrudForm`, `VersionConflictDialog`, `DataFreshnessBadge`.
|
||||
|
||||
도메인 공통: `EvidencePanel`, `ProtectionFloorPanel`, `ReentryTimeline`, `ApprovalPanel`, `VersionSetPanel`, `GateChecklist`.
|
||||
|
||||
## 7. 관측성
|
||||
|
||||
- HTTP/Job/SQL/Outbox를 correlationId·JobRunId·EvidenceId로 연결
|
||||
- Serilog structured logging, OpenTelemetry trace/metric
|
||||
- PII·token·API key는 log/tag 금지
|
||||
- 운영 dashboard는 batch SLA, DQ quarantine, duplicate, recon break, model drift를 우선 표시
|
||||
@@ -0,0 +1,51 @@
|
||||
WBS_ID,Sprint,Workstream,Task,Deliverable,Done_Gate,Owner,PD,Dependency
|
||||
R0.01,S0,Governance,Source/Assumption/Unknown registry 동결,docs/source_registry.csv,미확정 기본값 0,PM/Architect,3,-
|
||||
R0.02,S0,Research,Python 환경·raw manifest·checksum 계약,research/pyproject.lock; manifests,동일 run artifact hash,Quant/Data,6,R0.01
|
||||
R0.03,S0,Research,현재 결과 characterization,golden/current/*.csv,기존 CSV metric diff 0,Quant/QA,6,R0.02
|
||||
R0.04,S0,Architecture,Solution/Module/Schema ownership 확정,ADR-001; module matrix,Architecture review,Architect/DBA,4,R0.01
|
||||
R0.05,S0,DevEx,.NET/FE skeleton·CI·lockfile,"solution, package lock, workflow",restore/build/test green,PL/DevOps,8,R0.04
|
||||
R0.06,S0,Observability,Correlation/OTel/Serilog walking skeleton,trace/log/metric smoke,HTTP→DB→Outbox trace,SRE/BE,5,R0.05
|
||||
ALG.01,S1,Algorithm,Policy input/output contract와 PolicyId registry,SignalPolicyContracts,Quant/Risk 승인,Quant/BE,6,R0.03
|
||||
ALG.02,S1,Algorithm,Lot/Cycle/Protection state model,"Domain/PositionLot,CycleState",invariant/property tests,BE/Quant,10,ALG.01
|
||||
ALG.03,S1,Algorithm,Hard impairment policy,HardImpairmentPolicy,하위정책 상쇄 0,BE/Quant/QA,6,ALG.01
|
||||
ALG.04,S1,Algorithm,Profit floor gap/two-close policy,ProfitFloorPolicies,boundary/monotonic tests,BE/Quant/QA,9,ALG.02
|
||||
ALG.05,S2,Algorithm,Reentry watch state machine,ReentryStateMachine,new Cycle/duplicate0/expiry,BE/Quant/QA,10,ALG.02
|
||||
ALG.06,S2,Algorithm,Expected utility components,ExpectedUtilityCalculator,decimal/CI/cost2x,Quant/BE,10,ALG.01
|
||||
ALG.07,S2,Algorithm,Portfolio survival/concentration overlay,PortfolioConstraintPolicies,caps/property tests,Quant/BE,10,ALG.02
|
||||
DATA.01,S1,Data,Source manifest/raw immutable schema,"raw_record,dataset_manifest",hash/revision/overwrite0,Data/DBA,8,R0.04
|
||||
DATA.02,S1,Data,MarketCalendar/PIT temporal conventions,published/effective/tradable_session,lookahead0,Data/Quant/QA,8,DATA.01
|
||||
DATA.03,S2,Data,Corporate Action/Total Return canonical model,CA/TR migrations+golden,official master reconcile,Data/DBA/Quant,12,DATA.01
|
||||
DATA.04,S2,Data,Fee/Tax/FX temporal model,"fee_schedule,tax,fx",valid range overlap0,DBA/Quant,8,DATA.02
|
||||
DATA.05,S2,Data,DQ rule engine/quarantine,DQ-01~12 pipeline,critical rule release block,Data/QA,12,DATA.01~04
|
||||
DATA.06,S3,Data,Immutable ledger/lot/cycle,"ledger_entry,position_lot",debit-credit/reversal,BE/DBA/QA,12,"ALG.02,DATA.03~04"
|
||||
DATA.07,S3,Data,Evidence/Decision/Watch schemas,"evidence,decision,watch",append/hash/state checks,DBA/BE,10,ALG.03~05
|
||||
BE.01,S0,Backend,BuildingBlocks Result/Clock/Data/Outbox,src/KArtSell.BuildingBlocks,unit/architecture,BE,8,R0.05
|
||||
BE.02,S0,Backend,FastEndpoints/ProblemDetails/Auth conventions,Host + Endpoint base,OpenAPI/error mapping,BE/Security,7,BE.01
|
||||
BE.03,S0,Backend,Dapper transaction/DbUp runner,"DbSession, Migrator",fresh/upgrade/re-run,BE/DBA,8,BE.01
|
||||
BE.04,S1,Backend,JobRun/Watermark/Hangfire queues,"job_run, job_watermark",duplicate0/resume,BE/SRE/DBA,10,BE.03
|
||||
BE.05,S2,Backend,Evidence→SellDecision slice,VS-09/10,Golden/E2E/metric,BE/Quant/QA,14,"ALG.03~04,DATA.07"
|
||||
BE.06,S2,Backend,Sell→ReentryWatch slice,VS-11,state/calendar/E2E,BE/Quant/QA,12,"ALG.05,BE.05"
|
||||
BE.07,S3,Backend,Recommendation→Review→Publish slice,VS-14~16,maker-checker/hash/expiry,BE/FE/Compliance,18,BE.05~06
|
||||
BE.08,S4,Backend,Outcome/Evaluation windows,VS-18,1/5/20/63/126/252,BE/Quant/Data,14,"BE.07,DATA.03~04"
|
||||
BE.09,S4,Backend,Frozen backtest runner,VS-19,manifest/repro/cost2x,BE/Quant/QA,14,"R0.02,ALG.01~07"
|
||||
BE.10,S5,Backend,Risk/Rebalance/Replacement,VS-13/21/22,constraints/NO_ACTION,BE/Quant/QA,18,"ALG.06~07,DATA.06"
|
||||
FE.01,S0,Frontend,AppShell/router/query/api/error,app/shared,lint/type/test/build,FE,10,R0.05
|
||||
FE.02,S1,Frontend,QueryState/Permission/Freshness,C-003~005,11-state/a11y,FE/QA,8,FE.01
|
||||
FE.03,S1,Frontend,DataGrid/Form/Conflict primitives,C-006~010,paging/409/422,FE/QA,12,FE.01
|
||||
FE.04,S2,Frontend,Evidence/Protection/Cost/Reentry components,C-016~019,boundary/table alternative,FE/Quant/UX,12,FE.02
|
||||
FE.05,S3,Frontend,Recommendation review workbench,SCR-009/T05,RBAC/concurrency/E2E,FE/QA/Security,14,"BE.07,FE.03~04"
|
||||
FE.06,S4,Frontend,Advice/Outcome/Scorecard pages,SCR-002/010,as-of/version/partial,FE/QA/Quant,14,"BE.08,FE.04"
|
||||
FE.07,S5,Frontend,Portfolio/Rebalance/Product pages,SCR-004~006,10k grid/perf/a11y,FE/QA/Quant,16,"BE.10,FE.03"
|
||||
QA.01,All,Quality,Architecture/import/schema tests,ArchitectureTests,금지 의존0,Architect/QA,8,R0.04
|
||||
QA.02,All,Quality,PostgreSQL integration/Data tests,IntegrationTests/DataTests,fresh DB/PIT/replay,QA/DBA,14,"BE.03,DATA.01"
|
||||
QA.03,S1~,Quality,Algorithm Golden/property/boundary,SignalEngine.Tests,same input same result,QA/Quant,14,ALG.01
|
||||
QA.04,S2~,Quality,Job fault/retry/replay/concurrency,JobTests,duplicate0/resume,QA/SRE,12,BE.04
|
||||
QA.05,S3~,Quality,Playwright role/state journeys,frontend/e2e,review/publish/expired,QA/FE,14,FE.05
|
||||
OPS.01,S4,Operations,Metrics/alerts/runbooks,runbooks + dashboards,P1/P2 drill,SRE/Ops,10,BE.05~08
|
||||
OPS.02,S5,Operations,Backfill/rebuild/reconcile,maintenance jobs,checkpoint/hash/reconcile,SRE/Data/DBA,12,DATA.01~07
|
||||
OPS.03,S6,Operations,Shadow daily scorecard,J10/J11 dashboard,252일 누적 시작,Quant/Risk/Ops,12,"BE.08,OPS.01"
|
||||
OPS.04,S6,Operations,Kill-switch/DR/Secondary rehearsal,Runbook evidence,RPO/RTO/rollback,SRE/Security/Ops,12,OPS.01~02
|
||||
GATE.01,S0,Gate,G0 implementation-ready,Release Evidence,RG-01~10,Steering,2,R0.*
|
||||
GATE.02,S2,Gate,G2 Algorithm/Data baseline,Model/Data evidence,Golden+PIT+replay,Quant/Risk/Data,3,"ALG.*,DATA.01~05"
|
||||
GATE.03,S4,Gate,G3 Advisory E2E,E2E evidence,approval/publication/outcome,Compliance/QA,3,"BE.07~09,FE.05~06"
|
||||
GATE.04,S6,Gate,G4 Shadow start,Ops evidence,DQ/recon/DR/kill-switch,Steering,3,OPS.01~04
|
||||
|
@@ -0,0 +1,8 @@
|
||||
DebtId,Title,RiskClass,Evidence,Impact,Owner,Secondary,Created,Due,Remediation,ExitTest,Priority,Decision
|
||||
TD-001,Python 원시데이터·환경 lock 부재,Data/Model,source manifest warning,재현성 상실,Quant Lead,Data Lead,2026-08-01,S0,manifest+lock+container,clean-room replay hash,P1,Fix
|
||||
TD-002,Scalar position과 lot cycle 혼합,Model,source v12_positions,보호선·재진입 왜곡,BE Lead,Quant Lead,2026-08-01,S2,Lot/Cycle state model,property+golden,P1,Fix
|
||||
TD-003,KR capital-floor overlay 비용 상수,Model/Data,portfolio_backtest global cost,KR 결과 왜곡,Quant Lead,QA Lead,2026-08-01,S0,cost parameter/FeeSchedule,cost sensitivity diff,P1,Fix
|
||||
TD-004,기업행사 추정 소급조정,Data,load_kr inferred integer rescale,가격·ATR 왜곡,Data Lead,DBA,2026-08-01,S2,official CA master,CA golden reconcile,P1,Fix
|
||||
TD-005,정책 코드 중복,Engineering,v11/v12/fast,의미 drift,BE Lead,Quant Lead,2026-08-01,S2,single policy core,contract/golden,P2,Fix
|
||||
TD-006,FE lockfile 미생성,Engineering,template baseline,빌드 비결정성,FE Lead,DevOps,2026-08-01,G0,pnpm-lock commit,CI frozen install,P2,Fix
|
||||
TD-007,Read Model rebuild 미구현,Operations,initial template,화면 stale/recovery,Data Lead,SRE,2026-08-01,S6,projection version+rebuild,disaster rebuild test,P2,Defer
|
||||
|
@@ -0,0 +1,35 @@
|
||||
# 06. 바이브코딩·홀루시네이션 통제
|
||||
|
||||
## AI 작업 입력 패킷
|
||||
|
||||
AI에게 코드를 요청하기 전에 아래 8개가 있어야 한다.
|
||||
|
||||
1. Source: 근거 문단/Policy ID/ADR/Data Contract
|
||||
2. Slice Spec: 사용자 결과·비목표·상태·권한
|
||||
3. Screen Spec: component/state/a11y
|
||||
4. Contract: Endpoint/Event/Job/ProblemDetails/Idempotency/ETag
|
||||
5. Data: schema/column/PIT/unit/migration/index/lineage
|
||||
6. Tests: unit/integration/data/E2E/Golden/failure/replay
|
||||
7. Ops: metric/alert/runbook/rollback/owner
|
||||
8. Output Rule: 변경파일·명령·결과·가정·잔여위험
|
||||
|
||||
## 차단 규칙
|
||||
|
||||
- 근거 없는 Policy ID·임계값·DB 컬럼·API는 생성하지 않는다.
|
||||
- 미확정은 `DECISION_REQUIRED` 또는 `DESIGN_PROPOSAL`로 표시한다.
|
||||
- 한 PR은 한 Slice 또는 한 리팩터링 목적만 가진다.
|
||||
- 기능 변경과 동작불변 리팩터링을 한 PR에 섞지 않는다.
|
||||
- 실패·skip·실행하지 못한 테스트를 숨기지 않는다.
|
||||
- AI가 생성한 SQL은 schema owner, PIT 조건, index, execution plan 검토를 받는다.
|
||||
- AI가 생성한 알고리즘은 Golden/Frozen OOS diff 없이 병합하지 않는다.
|
||||
- 실고객 데이터·token·API key를 프롬프트/fixture/log에 넣지 않는다.
|
||||
|
||||
## 리팩터링 정공법
|
||||
|
||||
1. Characterize: 현재 동작을 test/Golden/perf로 동결
|
||||
2. Isolate: I/O와 순수 정책 seam 분리
|
||||
3. Small Transform: rename/extract/move 한 종류씩
|
||||
4. Verify: unit/integration/data/E2E/backtest/perf diff
|
||||
5. Simplify: dead abstraction/flag/branch 삭제
|
||||
6. Observe: release 후 SLO/DQ/model/recon 확인
|
||||
7. Close Debt: Debt ID/ADR/Secondary 지식 이전
|
||||
@@ -0,0 +1,31 @@
|
||||
# 07. 검증·Release Gate
|
||||
|
||||
## RG-01~10
|
||||
|
||||
| Gate | 조건 |
|
||||
|---|---|
|
||||
| RG-01 | REQ/SCR/VS/Policy ID와 사용자 결과·비목표 승인 |
|
||||
| RG-02 | PIT 필드·단위·published_at·revision·DQ·source/license 정의 |
|
||||
| RG-03 | 화면 template/component/state/권한 정의 |
|
||||
| RG-04 | Endpoint/Event/Job/Read Model/DbUp/오류·멱등·동시성 정의 |
|
||||
| RG-05 | queue/schedule/watermark/retry/replay/kill-switch 정의 |
|
||||
| RG-06 | Unit/Integration/Data/E2E/Golden/Failure/Replay 연결 |
|
||||
| RG-07 | Metric/Alert/Runbook/Rollback/Owner/Secondary 정의 |
|
||||
| RG-08 | AI Source/Unknown/Design Proposal 구분 |
|
||||
| RG-09 | 정규화/Read Model lineage/rebuild/staleness 승인 |
|
||||
| RG-10 | PR 한 목적, 선행 의존 충족 |
|
||||
|
||||
## Release 차단 기준
|
||||
|
||||
- lookahead > 0
|
||||
- Evidence hash 재현 < 100%
|
||||
- duplicate command/job/order > 0
|
||||
- 미승인 공개 > 0
|
||||
- ledger/reconciliation 미승인 break > 0
|
||||
- Critical secret/PII 노출
|
||||
- Model/Config/Data SHA 누락
|
||||
- 자동주문 Capability ON
|
||||
|
||||
## 생산 승격 제외
|
||||
|
||||
이 템플릿은 자동주문과 투자일임형 승격을 구현하지 않는다. 최소 252거래일 Shadow와 복수 국면, 비용후 효용, calibration, ES/영구손실, false-exit·재진입, PBO/DSR, 대사·DR·준법 Gate 후 별도 승인 대상이다.
|
||||
@@ -0,0 +1,298 @@
|
||||
# K-ArtSell Aegis v11.1 전략적 하드닝 제안
|
||||
|
||||
상태: `IMPLEMENTATION_DELTA / STATIC_REVIEWED_NOT_BUILD_VERIFIED`
|
||||
기준선: SI 누적 통합 실행기준서 v10.0 + K-ArtSell 12.2 연구 번들 + v11 구현 가속 패키지
|
||||
운영 경계: 투자자문형 우선 · 자동주문 OFF · `RESEARCH_CANDIDATE_NOT_PRODUCTION`
|
||||
|
||||
## 1. 결론
|
||||
|
||||
v10.0과 v11 패키지를 다시 쓰지 않는다. `Baseline Preservation + Delta + Supersession + Traceability` 원칙으로 v11.1 하드닝 Delta를 추가한다.
|
||||
|
||||
우선순위는 다음과 같다.
|
||||
|
||||
1. 연구 결과 재현성 복구: 원시 데이터 manifest, checksum, Python lock, 실행 이미지 digest.
|
||||
2. PIT·기업행사·총수익·비용·상폐·FX 데이터 정합성.
|
||||
3. Scalar position 제거와 Lot/Cycle 기반 매도·재진입 상태기계.
|
||||
4. EvidenceSnapshot → SellDecision → Recommendation → Review → Publish → Outcome의 불변 추적.
|
||||
5. BE/FE/Job/DB를 Slice 단위로 끝내는 Vertical Slice.
|
||||
6. Shadow 일평가와 운영 무결성. 자동주문은 별도 승인 전까지 구현·활성화 금지.
|
||||
|
||||
## 2. 첨부 소스에서 확인한 핵심 결함
|
||||
|
||||
### P0
|
||||
|
||||
- 연구 번들에 원시 데이터와 환경 lock이 없어 제3자 clean-room 재현이 불가능하다.
|
||||
- Python `v12_positions()`가 기존 Core와 신규 Tactical lot을 하나의 entry/peak/floor로 혼합한다.
|
||||
- 한국 기업행사를 정수비율 추정으로 과거 전체에 소급 적용한다.
|
||||
- 총수익·PIT 재무/컨센서스·상폐수익·세금·FX가 불완전하다.
|
||||
- 자본바닥 비용이 함수 계약이 아니라 전역 상수에 묶여 결과 라벨과 실제 계산이 달라질 수 있다.
|
||||
- v11 템플릿의 연구 평가 Endpoint가 `AllowAnonymous()`이고, Handler·Evidence 검증·DB 저장·Outbox가 없다.
|
||||
- FE CI는 `pnpm-lock.yaml`을 요구하지만 패키지에 lockfile이 없다.
|
||||
|
||||
### P1
|
||||
|
||||
- 매도 정책이 Hard impairment, gap, two-close 3개만 구현되어 survival·집중/유동성·기회비용이 누락됐다.
|
||||
- 매도비중의 단위가 “현재 lot 대비 비율”인지 “포트폴리오 절대비중”인지 계약이 모호하다.
|
||||
- Reentry 상태기계가 `REENTERED → WATCH/OPEN` 다단계 전이를 표현하지 못한다.
|
||||
- Evidence 불변 trigger는 있으나 SignalDecision 불변 trigger가 빠져 있다.
|
||||
- Architecture Test가 Generic Repository 문자열 탐지만 수행한다.
|
||||
- FE가 API contract를 수동 중복 정의하고, retry 시 Idempotency-Key를 새로 만들어 동일 명령의 재시도 의미를 깨뜨린다.
|
||||
|
||||
## 3. SOLID의 현장 적용
|
||||
|
||||
| 원칙 | 적용 | 과유불급 차단 |
|
||||
|---|---|---|
|
||||
| S | Endpoint=HTTP, Handler=유스케이스/트랜잭션, Policy=순수 결정, Adapter=외부 I/O | God Service, Job 내 정책 로직 금지 |
|
||||
| O | Policy/DQ/Adapter는 명시적 registry로 추가하되 우선순위와 계약은 고정 | 임의 plugin framework, reflection 기반 자동 발견 금지 |
|
||||
| L | KRX/DART/KIS Adapter 대체 시 동일 시간·단위·오류 contract test | mock 통과만으로 공급원 대체 금지 |
|
||||
| I | `IMarketDataSource`, `IFilingSource`, `IEvidenceReader`, `IClock` 등 좁은 Port | 범용 Repository/IServiceProvider 노출 금지 |
|
||||
| D | Domain은 Npgsql/Hangfire/HTTP를 모른다 | Infrastructure type이 Domain으로 침투하는 것 금지 |
|
||||
|
||||
추상화는 두 번째 실제 구현과 동일한 변경축이 확인된 뒤 승격한다. 한 번 쓰는 interface, generic repository, 범용 mediator wrapper는 만들지 않는다.
|
||||
|
||||
## 4. 알고리즘 고도화
|
||||
|
||||
### 4.1 생산 경계
|
||||
|
||||
생산 엔진은 점수 합산기가 아니라 순서가 고정된 결정 상태기계다.
|
||||
|
||||
`HARD_IMPAIRMENT → PORTFOLIO_SURVIVAL → DYNAMIC_PROFIT_FLOOR → CONCENTRATION_LIQUIDITY → OPPORTUNITY_COST → REENTRY_OPTION`
|
||||
|
||||
상위 사유는 하위 기대수익으로 상쇄하지 않는다. 모든 결정은 다음 Version Set을 남긴다.
|
||||
|
||||
- `PolicyId`, `PolicyVersion`
|
||||
- `EvidenceId`, `DatasetId`, `DataHash`
|
||||
- `ModelVersion`, `ConfigVersion`, `CodeSha`
|
||||
- `AsOf`, `PublishedAtCutoff`, `TradableSession`
|
||||
- 입력 단위, rounding, 허용오차, 반대증거
|
||||
|
||||
### 4.2 Lot/Cycle 모델
|
||||
|
||||
- `PositionLot`: 수량·원가·세금 lot·개설/종료.
|
||||
- `CycleState`: entry, peak, floor, breach count, last sell/buy.
|
||||
- `ProtectionState`: 보호 활성화와 단조 floor.
|
||||
- `ReentryWatch`: 매도 원인, 대기, 조건, 단계, 만료.
|
||||
- 재진입은 새 `CycleId`와 새 Lot을 생성한다.
|
||||
- Hard impairment는 자동 재진입을 금지한다.
|
||||
|
||||
### 4.3 매도 수량 계약
|
||||
|
||||
`SellRatioOfLot`와 `TargetPortfolioWeightAfter`를 분리한다. API/DB/UI에서 단순 `sell_fraction` 하나를 사용하지 않는다.
|
||||
|
||||
- `SellRatioOfLot`: 현재 lot 수량 중 매도 비율, 0~1.
|
||||
- `SellQuantity`: 주문 단위 반영 후 실제 제안 수량.
|
||||
- `TargetPortfolioWeightAfter`: 매도 후 목표 포트폴리오 비중.
|
||||
- `StrategicCoreFloorWeight`: 포트폴리오 절대비중.
|
||||
|
||||
이 구분이 없으면 Core floor와 부분매도 비율을 잘못 비교하게 된다.
|
||||
|
||||
### 4.4 기대효용
|
||||
|
||||
opaque score를 금지하고 구성요소를 저장한다.
|
||||
|
||||
- P10/P50/P90 기대수익
|
||||
- ES95
|
||||
- 영구가치훼손 확률 × LGD
|
||||
- marginal portfolio risk
|
||||
- liquidity/slippage/tax/FX
|
||||
- replacement lower-confidence edge
|
||||
- reentry option loss
|
||||
|
||||
Opportunity sell은 순우위 신뢰하단이 0을 초과하고 IPS·유동성·세금 제약을 통과한 경우만 허용한다.
|
||||
|
||||
### 4.5 연구와 생산의 분리
|
||||
|
||||
Python 연구 코드는 생산 엔진에서 호출하지 않는다. Python과 .NET은 동일 Golden Vector와 Policy ID만 공유한다.
|
||||
|
||||
- Python: 대규모 탐색, walk-forward, CSCV/PBO, DSR, bootstrap.
|
||||
- .NET: 승인된 순수 정책, Evidence/Decision/Audit, Shadow 운영.
|
||||
- 결과 비교: manifest + deterministic seed + tolerance.
|
||||
|
||||
## 5. 데이터 정합성·정규화·역정규화
|
||||
|
||||
### 5.1 계층
|
||||
|
||||
1. L0 Source Manifest: 권리·schema/version·SLA·timezone·단위.
|
||||
2. L1 Raw Immutable: payload/hash/event/published/ingested.
|
||||
3. L2 Canonical PIT: 가격·기업행사·재무·컨센서스·비용 revision.
|
||||
4. L3 Quality/Lineage: DQ·quarantine·watermark·dataset manifest.
|
||||
5. L4 Feature/Evidence: feature/forecast/risk/evidence hash.
|
||||
6. L5 Transaction/Audit: ledger/decision/review/publication/fill/outcome.
|
||||
7. L6 Read Model: 화면·리포트 projection.
|
||||
8. L7 Artifact: backtest/model card/release evidence.
|
||||
|
||||
### 5.2 정규화 원칙
|
||||
|
||||
- 원장·현금·lot: 3NF + append/reversal.
|
||||
- PIT 가격/재무/공시: source + published_at + revision + hash.
|
||||
- 추천/승인/공개: 현재상태와 이력 분리.
|
||||
- 설정/수수료: `valid_from/to`; current flag 단독 사용 금지.
|
||||
- Evidence: JSONB 원문 + 검색/제약에 필요한 핵심 컬럼 승격.
|
||||
|
||||
### 5.3 역정규화 허용 조건
|
||||
|
||||
Read Model에만 허용하며 반드시 다음을 가진다.
|
||||
|
||||
- Owner
|
||||
- ProjectionVersion
|
||||
- SourceWatermark
|
||||
- RefreshedAt/StaleAt
|
||||
- Rebuild command
|
||||
- Lineage
|
||||
- 권한 scope
|
||||
|
||||
Source table을 화면에서 임의 join하거나 current value를 복제하지 않는다.
|
||||
|
||||
### 5.4 DB 강제 규칙
|
||||
|
||||
- schema-qualified SQL, 명시적 column, `SELECT *` 금지.
|
||||
- Evidence/Decision/Audit update/delete 차단 trigger.
|
||||
- 시간 범위 overlap exclusion 또는 사전 검증.
|
||||
- Idempotency unique key.
|
||||
- Outbox pending index와 lease/attempt/dead-letter.
|
||||
- DbUp fresh/upgrade/re-run/failure rehearsal.
|
||||
|
||||
## 6. BE 고도화
|
||||
|
||||
### 6.1 Slice 표준
|
||||
|
||||
```text
|
||||
Features/<Slice>/
|
||||
Endpoint.cs
|
||||
Request.cs
|
||||
Response.cs
|
||||
Validator.cs
|
||||
Handler.cs
|
||||
Policy.cs
|
||||
Sql.cs
|
||||
Mapper.cs
|
||||
Contracts/
|
||||
Jobs/
|
||||
Tests/
|
||||
README.md
|
||||
```
|
||||
|
||||
Endpoint는 `EvidenceId`, 모델버전, 정책 임계값을 클라이언트에서 그대로 신뢰하지 않는다. 요청은 업무 식별자와 as-of만 받고 Handler가 승인된 Evidence와 Version Set을 조회한다.
|
||||
|
||||
### 6.2 트랜잭션
|
||||
|
||||
동일 PostgreSQL transaction에서 다음을 처리한다.
|
||||
|
||||
1. Idempotency claim.
|
||||
2. Evidence/lot/cycle as-of 조회.
|
||||
3. 순수 Policy 평가.
|
||||
4. Decision append.
|
||||
5. Outbox append.
|
||||
6. commit.
|
||||
|
||||
외부 API 호출은 transaction 밖에서 수행하고 raw result를 먼저 저장한다.
|
||||
|
||||
### 6.3 Outbox/Inbox
|
||||
|
||||
- Event payload는 최소키와 schema version만 포함.
|
||||
- consumer별 Inbox unique key.
|
||||
- 재처리는 동일 결과 또는 no-op.
|
||||
- poison event는 dead-letter와 운영 승인 후 replay.
|
||||
- 이벤트가 Job을 직접 호출하지 않고 readiness/command를 만든다.
|
||||
|
||||
### 6.4 Hangfire
|
||||
|
||||
Queue를 다음처럼 분리한다.
|
||||
|
||||
- `q-control`
|
||||
- `q-market-data`
|
||||
- `q-fundamentals`
|
||||
- `q-feature-risk`
|
||||
- `q-recommendation`
|
||||
- `q-evaluation`
|
||||
- `q-reconciliation`
|
||||
- `q-research`
|
||||
- `q-backfill`
|
||||
|
||||
모든 Job은 `JobRunId`, `ScopeKey`, `IdempotencyKey`, `Watermark`, Version Set, input/output hash를 가진다. DQ/business-hold는 transient retry와 분리한다.
|
||||
|
||||
### 6.5 보안
|
||||
|
||||
- `/internal/*` 익명 접근 금지.
|
||||
- 자동주문 Capability는 코드와 설정 모두 기본 OFF.
|
||||
- Swagger는 dev 또는 승인된 운영자만.
|
||||
- maker-checker와 SoD를 endpoint/DB/audit에서 동시에 검증.
|
||||
- secret/PII/token은 log, trace tag, fixture, prompt에 금지.
|
||||
|
||||
## 7. FE 고도화
|
||||
|
||||
### 7.1 상태 소유권
|
||||
|
||||
- 서버 상태: TanStack Query.
|
||||
- 세션/role/UI preference: Pinia.
|
||||
- form: vee-validate + Zod.
|
||||
- filter/selection: router query/params.
|
||||
- 대량 표: AG Grid server-side row model.
|
||||
|
||||
Pinia에 API 응답을 복제하지 않는다.
|
||||
|
||||
### 7.2 공통 상태 계약
|
||||
|
||||
`LOADING, EMPTY, PARTIAL, STALE, WARN, ERROR, UNAUTHORIZED, FORBIDDEN, CONFLICT, EXPIRED, READONLY`를 공통 컴포넌트로 처리한다.
|
||||
|
||||
### 7.3 계약과 멱등
|
||||
|
||||
- OpenAPI에서 DTO를 생성하거나 versioned contract를 단일 관리한다.
|
||||
- submit 시 한 번 생성한 Idempotency-Key를 동일 retry에 재사용한다.
|
||||
- 409는 `VersionConflictDialog`, 422는 field/summary mapping, 429/503은 retry-after를 표시한다.
|
||||
- 고객 화면은 연구용 내부 evaluate endpoint를 호출하지 않는다.
|
||||
|
||||
### 7.4 컴포넌트화
|
||||
|
||||
공용 승격은 동일 업무 의미·상태·권한·접근성·테스트가 반복될 때만 한다.
|
||||
|
||||
공통: `QueryStateBoundary`, `PermissionGuard`, `DataGridShell`, `CrudForm`, `VersionConflictDialog`, `DataFreshnessBadge`.
|
||||
|
||||
도메인: `EvidencePanel`, `ProtectionFloorPanel`, `ReentryTimeline`, `ApprovalPanel`, `VersionSetPanel`, `GateChecklist`.
|
||||
|
||||
## 8. 바이브코딩·홀루시네이션 통제
|
||||
|
||||
- 채팅은 Source of Truth가 아니다.
|
||||
- AI는 Policy ID, DB column, API, threshold를 발명하지 않는다.
|
||||
- 모든 PR에 `Source / Assumption / Unknown / Decision Required`를 기록한다.
|
||||
- 실행하지 않은 build/test/migration을 통과했다고 기록하지 않는다.
|
||||
- 리팩터링 전 characterization test를 먼저 고정한다.
|
||||
- 한 PR은 한 Slice 또는 한 리팩터링 목적만 가진다.
|
||||
- AI 생성 migration은 fresh/upgrade/re-run과 DBA review 없이는 병합하지 않는다.
|
||||
- 알고리즘 변경은 Golden/OOS/cost×2/false-exit/reentry/ES/ModelCard를 동시에 갱신한다.
|
||||
|
||||
## 9. 기술부채 운영
|
||||
|
||||
- P0는 기능 개발보다 먼저 처리한다.
|
||||
- 각 Sprint 용량의 15~20%를 승인된 기술부채에 배정한다.
|
||||
- Debt는 Risk, Interest, Owner, Due, Remediation, Exit Test를 가진다.
|
||||
- “나중에 정리”가 아니라 해당 Slice의 Definition of Done에 포함한다.
|
||||
- 무기한 예외는 금지하고 expiry와 재승인을 둔다.
|
||||
|
||||
## 10. 16 Sprint 개선 로드맵
|
||||
|
||||
기존 32주 기준은 유지하되 Release Train으로 묶는다.
|
||||
|
||||
| Train | Sprint | 목표 | 핵심 Gate |
|
||||
|---|---|---|---|
|
||||
| R0 Foundation | S0~S3 | 재현성, CI, PIT/CA/비용, ledger | build/lock/replay/lookahead 0 |
|
||||
| R1 Sell/Reentry | S4~S5 | Evidence, Lot/Cycle, 매도/재진입 | Golden/state/invariant |
|
||||
| R2 Advisory MVP | S6~S8 | IPS, 추천, 검토, 공개, 결과 | maker-checker/E2E/audit |
|
||||
| R3 Portfolio Intelligence | S9~S11 | risk, rebalance, buy/replacement, scorecard | constraint/NO_ACTION/Shadow |
|
||||
| R4 Pilot Hardening | S12~S15 | KIS capability OFF, recon, security, DR, cutover | duplicate 0/recon/DR/rollback |
|
||||
|
||||
Critical Path를 벗어난 대시보드·상품탐색 선행 구현은 제한한다.
|
||||
|
||||
## 11. 템플릿 적용 판정
|
||||
|
||||
첨부 v11 템플릿은 교육용 walking skeleton으로는 유효하지만 Implementation-ready 기준에는 미달한다. 다음 조건을 만족한 뒤 기준 템플릿으로 승격한다.
|
||||
|
||||
- 실제 .NET SDK/pnpm에서 restore/build/test green.
|
||||
- lockfile과 dependency audit.
|
||||
- 익명 internal endpoint 제거.
|
||||
- Handler/Validator/DB/Outbox/Idempotency 구현.
|
||||
- SignalDecision 불변 DB trigger.
|
||||
- Architecture/Data/Integration/Replay/E2E test 추가.
|
||||
- FE 11-state, auth, conflict, stable idempotency.
|
||||
- Release Evidence Pack 자동 생성.
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
# Architecture Fitness Functions
|
||||
|
||||
| ID | 자동 검사 | 차단 기준 |
|
||||
|---|---|---|
|
||||
| AF-01 | Module project reference graph | 승인되지 않은 역방향 의존 1건 |
|
||||
| AF-02 | 다른 모듈 schema 직접 SQL 참조 | 1건 |
|
||||
| AF-03 | Domain project의 Npgsql/Hangfire/HTTP 참조 | 1건 |
|
||||
| AF-04 | `DateTime.Now/UtcNow` 직접 사용 | 승인 예외 외 1건 |
|
||||
| AF-05 | `SELECT *` | 1건 |
|
||||
| AF-06 | Generic Repository/God Service 명명·크기 | 1건 또는 기준 초과 |
|
||||
| AF-07 | Modules 내부 `AllowAnonymous` | 1건 |
|
||||
| AF-08 | Evidence/Decision/Audit immutable trigger | 누락 1건 |
|
||||
| AF-09 | DbUp fresh/upgrade/re-run | 실패 |
|
||||
| AF-10 | PIT `published_at <= cutoff` contract test | 실패 |
|
||||
| AF-11 | Dataset+Code+Config 동일 replay hash | 100% 미만 |
|
||||
| AF-12 | command/job/order duplicate | 0 초과 |
|
||||
| AF-13 | Outbox/Inbox retry and poison replay | 실패 |
|
||||
| AF-14 | Algorithm Golden/boundary/property | 실패 |
|
||||
| AF-15 | Reentry calendar/stage/expiry/new cycle | 실패 |
|
||||
| AF-16 | FE server state duplicated in Pinia | 탐지 1건 |
|
||||
| AF-17 | FE ProblemDetails/409/422/429/503 common handling | 누락 |
|
||||
| AF-18 | Role/state Playwright journeys | 실패 |
|
||||
| AF-19 | Secret/PII scan | Critical 1건 |
|
||||
| AF-20 | Release Evidence Pack completeness | 누락 1건 |
|
||||
@@ -0,0 +1,36 @@
|
||||
# Sell/Reentry Algorithm Contract
|
||||
|
||||
## Decision Context
|
||||
|
||||
- PortfolioId, AccountId, LotId, CycleId
|
||||
- AssetPolicyId, IPSVersion
|
||||
- AsOf, PublishedAtCutoff, TradableSession
|
||||
- EvidenceId, DatasetId, ModelVersion, ConfigVersion, CodeSha
|
||||
- CurrentLotQuantity, CurrentPortfolioWeight, StrategicCoreFloorWeight
|
||||
- Peak/Floor/Breach/Cooldown
|
||||
- Hard impairment evidence grade and approval
|
||||
- Risk reduction requirement, concentration excess, liquidity capacity
|
||||
- Expected utility component distribution and confidence lower bound
|
||||
|
||||
## Decision Output
|
||||
|
||||
- Action: HOLD/PARTIAL_SELL/FULL_SELL
|
||||
- PolicyId/Priority/ReasonCode
|
||||
- SellRatioOfLot
|
||||
- ProposedQuantity
|
||||
- TargetPortfolioWeightAfter
|
||||
- ReentryEligibility
|
||||
- CounterEvidence
|
||||
- ValidUntil/NextReviewSession
|
||||
- DecisionHash
|
||||
|
||||
## Invariants
|
||||
|
||||
1. Hard impairment cannot be overridden.
|
||||
2. Proposed quantity cannot exceed lot quantity.
|
||||
3. Strategic core floor cannot be breached unless an approved higher-priority policy allows it.
|
||||
4. Same input and Version Set produce the same decision hash.
|
||||
5. A decision without immutable Evidence cannot be stored.
|
||||
6. A reentry stage executes at most once.
|
||||
7. Reentry creates a new CycleId.
|
||||
8. Hard impairment cannot create an automatic ReentryWatch.
|
||||
@@ -0,0 +1,77 @@
|
||||
WBS_ID,Sprint,Slice,Workstream,Task,Deliverable,Acceptance,Owner,Secondary,PD,Dependency,Release_Blocker,Basis
|
||||
AEG-S0-01,S0,VS-00,Governance,Baseline/Delta/Supersession matrix 확정,docs/version_coverage.csv,유효 기준 불명확 0,PM/Architect,Compliance,3,-,Y,Source
|
||||
AEG-S0-02,S0,VS-00,Governance,REQ/ALG/DATA/API/DB/JOB/SCR/TEST ID Registry 동결,docs/id_registry.csv,중복/재사용 ID 0,PM,Architect,3,AEG-S0-01,Y,Source
|
||||
AEG-S0-03,S0,VS-00,Research,원시 데이터 Manifest/checksum/license 계약,research/manifests,clean-room 입력 식별 100%,Data Lead,Quant,6,AEG-S0-01,Y,Source
|
||||
AEG-S0-04,S0,VS-00,Research,Python pyproject/lock/container digest,research/pyproject.toml; lock; image digest,동일 환경 재실행 가능,Quant,DevOps,6,AEG-S0-03,Y,Design
|
||||
AEG-S0-05,S0,VS-00,DevEx,.NET/pnpm restore lock 및 패키지 검증,global.json; packages; pnpm-lock,restore/build/test green,PL,DevOps,8,AEG-S0-01,Y,Source
|
||||
AEG-S0-06,S0,VS-00,Security,Internal endpoint 익명 접근 제거,auth policy; access tests,/internal anonymous 0,Security,BE,5,AEG-S0-05,Y,Source
|
||||
AEG-S0-07,S0,VS-00,Architecture,Fitness Function 20종 CI 연결,ArchitectureTests; scripts,AF-01~20 green,Architect,QA,8,AEG-S0-05,Y,Design
|
||||
AEG-S0-08,S0,VS-00,Observability,HTTP→DB→Outbox correlation walking skeleton,OTel/Serilog smoke,trace link 100%,SRE,BE,5,AEG-S0-05,N,Source
|
||||
AEG-S1-01,S1,VS-02,Data,SecurityMaster/listing/trading calendar canonical,migrations/security_master,상장기간·세션 invariant,Data,DBA,8,AEG-S0-03,Y,Source
|
||||
AEG-S1-02,S1,VS-03,Data,Raw immutable/dataset manifest,raw_record; dataset_manifest,overwrite 0/hash 100%,Data,DBA,8,AEG-S0-03,Y,Source
|
||||
AEG-S1-03,S1,VS-03,Data,PIT temporal resolver,PublishedAtPolicy; MarketCalendar,lookahead 0,Data,Quant,8,"AEG-S1-01,AEG-S1-02",Y,Source
|
||||
AEG-S1-04,S1,VS-03,Data,DQ engine/quarantine/watermark,DQ-01~12 pipeline,Critical DQ release block,Data,QA,10,"AEG-S1-02,AEG-S1-03",Y,Source
|
||||
AEG-S1-05,S1,VS-03,BE,Hangfire JobRun/Watermark/Retry class,job_run; job_watermark,duplicate 0/resume,BE,SRE,10,AEG-S0-05,Y,Source
|
||||
AEG-S1-06,S1,VS-03,FE,Data run operational page baseline,SCR-013,processing/partial/warn/error,FE,Data,7,"AEG-S1-04,AEG-S1-05",N,Source
|
||||
AEG-S2-01,S2,VS-04,Data,공식 Corporate Action master/조정,CA canonical + golden,수량·원가·수익 대사,Data,Quant/DBA,12,"AEG-S1-01,AEG-S1-02",Y,Source
|
||||
AEG-S2-02,S2,VS-03,Data,Total return/FX/rate canonical,TR/FX/rate migrations,price vs total return 구분,Data,Quant,10,AEG-S1-03,Y,Source
|
||||
AEG-S2-03,S2,VS-06,Data,Fee/Tax/FX PIT schedule,fee_schedule/tax/fx,기간 overlap 0,DBA,Quant,8,AEG-S1-03,Y,Source
|
||||
AEG-S2-04,S2,VS-04,QA,상폐·분할·배당·증자 Golden,DataTests fixtures,공식 master diff 허용치,QA,Data,8,"AEG-S2-01,AEG-S2-02",Y,Source
|
||||
AEG-S2-05,S2,VS-19,Research,기존 Python 결과 Characterization,golden/current,기존 artifact metric diff 0,Quant,QA,8,AEG-S0-04,Y,Source
|
||||
AEG-S2-06,S2,VS-19,Research,비용 전역상수 제거/함수 계약화,research simulation cost contract,market/account cost 라벨 일치,Quant,QA,6,"AEG-S2-03,AEG-S2-05",Y,Source
|
||||
AEG-S3-01,S3,VS-08,Data,Append ledger/cash/lot/cycle,ledger_entry; position_lot; cycle_state,debit-credit/reversal,BE/DBA,QA,14,"AEG-S2-01,AEG-S2-03",Y,Source
|
||||
AEG-S3-02,S3,VS-08,Algorithm,Scalar position→Lot/Cycle migration contract,domain model + migration plan,core/tactical 혼합 0,BE,Quant,12,AEG-S3-01,Y,Source
|
||||
AEG-S3-03,S3,VS-09,Data,EvidenceSnapshot Version Set,evidence schema/hash,동일 입력 hash 동일,BE/DBA,Quant,10,"AEG-S1-04,AEG-S2-02,AEG-S2-03",Y,Source
|
||||
AEG-S3-04,S3,VS-08,QA,Ledger property/reconciliation tests,Unit/Data/Integration,수량·현금 invariant,QA,BE/DBA,10,AEG-S3-01,Y,Source
|
||||
AEG-S3-05,S3,VS-08,FE,Portfolio lot/cycle read model,rm_portfolio_overview,stale/lineage/rebuild 표시,FE,Data,8,AEG-S3-01,N,Source
|
||||
AEG-S4-01,S4,VS-10,Algorithm,Policy contract/priority registry,Policy registry,우선순위 변경 승인 강제,Quant,Risk/BE,6,AEG-S2-05,Y,Source
|
||||
AEG-S4-02,S4,VS-10,Algorithm,Hard impairment policy/evidence grade,ALG-SELL-001,하위정책 상쇄 0,BE/Quant,QA,7,"AEG-S4-01,AEG-S3-03",Y,Source
|
||||
AEG-S4-03,S4,VS-10,Algorithm,Portfolio survival/capital floor policy,ALG-PORT-001,risk cap property,Quant/BE,QA,9,"AEG-S3-02,AEG-S4-01",Y,Source
|
||||
AEG-S4-04,S4,VS-10,Algorithm,Gap/two-close/protection floor,ALG-SELL-002/003,monotonic/boundary/cooldown,BE/Quant,QA,12,"AEG-S3-02,AEG-S4-01",Y,Source
|
||||
AEG-S4-05,S4,VS-10,Algorithm,Concentration/liquidity policy,ALG-SELL-004,caps/ADV constraint,Quant/BE,QA,8,AEG-S4-01,Y,Source
|
||||
AEG-S4-06,S4,VS-10,Algorithm,Expected utility/opportunity policy,ALG-SELL-005,lower CI > 0/cost×2,Quant/BE,Risk/QA,12,"AEG-S2-03,AEG-S4-01",Y,Source
|
||||
AEG-S4-07,S4,VS-10,BE,Endpoint→Handler→Policy→DB→Outbox slice,VS-10 code packet,auth/idempotency/transaction,BE,SRE/QA,14,"AEG-S3-03,AEG-S4-02~06",Y,Source
|
||||
AEG-S4-08,S4,VS-10,DB,Decision immutability/indexes,0011_signal_hardening.sql,update/delete 0,DBA,BE,5,AEG-S4-07,Y,Design
|
||||
AEG-S5-01,S5,VS-11,Algorithm,Reentry staged state machine,ALG-REENTRY-001,wait/spacing/expiry/new cycle,BE/Quant,QA,12,"AEG-S3-02,AEG-S4-07",Y,Source
|
||||
AEG-S5-02,S5,VS-11,BE,Reentry watch scan/idempotent stage,VS-11 handler/job,stage duplicate 0,BE,SRE,10,"AEG-S5-01,AEG-S1-05",Y,Source
|
||||
AEG-S5-03,S5,VS-19,Research,Python/.NET Golden vector comparison,BacktestRegression,허용오차 내 의미 동일,Quant/QA,BE,10,"AEG-S4-02~06,AEG-S2-05",Y,Source
|
||||
AEG-S5-04,S5,VS-19,Research,Walk-forward/PBO/DSR/bootstrap hooks,research evaluation,승격 지표 산출 가능,Quant,Risk/QA,12,"AEG-S0-04,AEG-S2-06",N,Source
|
||||
AEG-S5-05,S5,VS-11,FE,Reentry timeline/state matrix,SCR-003,expired/readonly/warn/conflict,FE,UX/QA,9,AEG-S5-02,N,Source
|
||||
AEG-S6-01,S6,VS-07,BE,Client/IPS versioned contract,VS-07,과거 IPS 수정 0,BE,Compliance,10,AEG-S0-06,Y,Source
|
||||
AEG-S6-02,S6,VS-08,BE,Portfolio performance/risk baseline,VS-08/13,TWR/MWR/ES golden,BE/Quant,QA,12,AEG-S3-01,Y,Source
|
||||
AEG-S6-03,S6,VS-07,FE,IPS wizard/conflict/validation,SCR-008,409/422/RBAC/a11y,FE,UX/QA,10,AEG-S6-01,N,Source
|
||||
AEG-S6-04,S6,ReadModels,Data,Read model version/rebuild framework,projection registry,rebuild hash/staleness,Data/BE,SRE,10,AEG-S3-05,Y,Source
|
||||
AEG-S7-01,S7,VS-14,BE,Recommendation aggregation,VS-14,DQ/IPS/capability hold,BE,Quant,14,"AEG-S4-07,AEG-S6-01,AEG-S6-02",Y,Source
|
||||
AEG-S7-02,S7,VS-15,BE,Maker-checker review/concurrency,VS-15,self approval 0,BE,Compliance/QA,10,AEG-S7-01,Y,Source
|
||||
AEG-S7-03,S7,VS-15,FE,Recommendation workbench,SCR-009,11-state/RBAC/E2E,FE,QA/UX,14,"AEG-S7-02,AEG-S6-04",N,Source
|
||||
AEG-S7-04,S7,Cross,FE,Stable idempotency/ProblemDetails/ETag common,shared/api,retry same key/409/422/429/503,FE,BE/QA,8,AEG-S0-05,Y,Design
|
||||
AEG-S8-01,S8,VS-16,BE,Approved advice publish/version hash,VS-16,unapproved publish 0,BE,Compliance,10,AEG-S7-02,Y,Source
|
||||
AEG-S8-02,S8,VS-17,BE,Client decision attribution,VS-17,advice/execution/action 분리,BE,Quant,7,AEG-S8-01,N,Source
|
||||
AEG-S8-03,S8,VS-18,BE,Outcome windows 1/5/20/63/126/252,VS-18/J10,calendar/revision/no-fill,BE/Quant,Data/QA,14,"AEG-S8-01,AEG-S2-02",Y,Source
|
||||
AEG-S8-04,S8,VS-16,FE,Advice detail/evidence/counterevidence,SCR-002,approved version only,FE,UX/Compliance,10,"AEG-S8-01,AEG-S6-04",N,Source
|
||||
AEG-S8-05,S8,Audit,Governance,E2E audit trace,rm_audit_trace,input→outcome trace 100%,BE,Audit/SRE,10,AEG-S8-01~03,Y,Source
|
||||
AEG-S9-01,S9,VS-13,Algorithm,Portfolio ES/concentration/correlation,VS-13,numeric/property/perf,Quant/BE,QA,12,AEG-S6-02,Y,Source
|
||||
AEG-S9-02,S9,VS-21,Algorithm,Rebalance deterministic baseline,VS-21,constraint 0/NO_ACTION,Quant/BE,QA,14,"AEG-S9-01,AEG-S2-03",Y,Source
|
||||
AEG-S9-03,S9,VS-21,FE,Before/after risk and constraints,SCR-005,override audit/a11y,FE,QA/UX,10,AEG-S9-02,N,Source
|
||||
AEG-S10-01,S10,VS-12,Algorithm,Buy candidate calibrated outputs,VS-12,P10/P50/P90 calibration,Quant,Risk/QA,14,AEG-S5-04,N,Source
|
||||
AEG-S10-02,S10,VS-22,Algorithm,Replacement net-edge/ranking,VS-22,after-cost/IPS ranking,Quant/BE,QA,10,"AEG-S4-06,AEG-S10-01",N,Source
|
||||
AEG-S10-03,S10,VS-12,FE,Candidate AG Grid server model,SCR-006,10k row/perf/filter/auth,FE,QA,12,"AEG-S10-01,AEG-S6-04",N,Source
|
||||
AEG-S11-01,S11,VS-18,Evaluation,False-exit cost/reentry capture definition,sell_evaluation,benchmark/cost/weight 일치,Quant,Risk/QA,10,"AEG-S8-03,AEG-S5-01",Y,Source
|
||||
AEG-S11-02,S11,VS-24,Evaluation,Daily scorecard/cohort/drift,J11/SCR-010,표본/창/as-of/version,Quant/BE,Data,12,AEG-S11-01,Y,Source
|
||||
AEG-S11-03,S11,Shadow,Operations,Shadow next-session execution,shadow_execution,decision/fill/action 분리,Quant/BE,QA,12,"AEG-S8-03,AEG-S2-03",Y,Source
|
||||
AEG-S11-04,S11,VS-24,FE,Scorecard/gate/drift dashboard,SCR-010,적중률 보조지표,FE,Quant/QA,10,AEG-S11-02,N,Source
|
||||
AEG-S12-01,S12,VS-23,BE,KIS adapter capability OFF baseline,adapter/capability,prod order path disabled,BE,Security/Compliance,10,AEG-S0-06,Y,Source
|
||||
AEG-S12-02,S12,VS-23,BE,OrderIntent/Fill dedupe,VS-23,duplicate fill/order 0,BE,DBA/QA,12,"AEG-S12-01,AEG-S3-01",Y,Source
|
||||
AEG-S12-03,S12,VS-23,Operations,Position/cash/fee/tax/FX reconciliation,J12,unapproved break 0,BE/Ops,DBA/QA,12,AEG-S12-02,Y,Source
|
||||
AEG-S12-04,S12,VS-23,FE,Reconciliation workbench,SCR-014,maker-checker/SLA,FE,Ops/QA,9,AEG-S12-03,N,Source
|
||||
AEG-S13-01,S13,VS-25,Security,RBAC/MFA/SoD/access matrix,security tests,cross-client access 0,Security,BE/QA,12,"AEG-S6-01,AEG-S7-02",Y,Source
|
||||
AEG-S13-02,S13,VS-25,Operations,Kill-switch/capability control,VS-25,scope block/recovery,SRE,Risk/BE,10,AEG-S12-01,Y,Source
|
||||
AEG-S13-03,S13,DR,Operations,Backup/PITR/read-model rebuild drill,runbooks/dr,RPO/RTO/reconcile,SRE/DBA,Ops,12,"AEG-S6-04,AEG-S12-03",Y,Source
|
||||
AEG-S13-04,S13,QA,Quality,Playwright role/state/a11y UAT,e2e evidence,critical journey green,QA,FE/Compliance,12,"AEG-S8-04,AEG-S11-04,AEG-S12-04",Y,Source
|
||||
AEG-S14-01,S14,Performance,DBA,Plan/index/bloat/partition evidence,performance report,P95/lock 기준,DBA,BE,10,AEG-S11-02,N,Design
|
||||
AEG-S14-02,S14,Backfill,Operations,Chunk/checkpoint/resume/replay,maintenance jobs,restart/reconcile 100%,Data/SRE,DBA,12,AEG-S13-03,Y,Source
|
||||
AEG-S14-03,S14,Release,DevOps,Release Evidence Pack 자동화,CI artifacts,문서/DDL/OpenAPI/Test hash,DevOps,QA/PM,10,AEG-S0-07,Y,Source
|
||||
AEG-S14-04,S14,Cutover,Operations,Cutover/rollback rehearsal,runbooks/cutover,rollback RTO 내,SRE,All,10,"AEG-S14-02,AEG-S14-03",Y,Source
|
||||
AEG-S15-01,S15,GoLive,Governance,Advisory Go/No-Go,release decision,RG/AF/DQ/DR 모두 통과,Steering,All,4,AEG-S14-04,Y,Source
|
||||
AEG-S15-02,S15,Hypercare,Operations,P1/P2 monitoring/on-call,dashboards/runbooks,Owner/Secondary 응답,SRE/Ops,BE/Data,10,AEG-S15-01,Y,Source
|
||||
AEG-S15-03,S15,Shadow,Governance,252거래일 Shadow 누적 시작,model/evaluation manifest,자동주문 OFF 확인,Quant/Risk,Compliance,6,AEG-S15-01,Y,Source
|
||||
|
@@ -0,0 +1,19 @@
|
||||
DebtId,Title,RiskClass,Priority,Impact,Owner,Secondary,DueSprint,Remediation,ExitTest,Decision
|
||||
TD-H-001,Raw data/환경 lock 부재,Data/Model,P0,재현 불가,Quant Lead,Data Lead,S0,manifest+checksum+lock+image digest,clean-room replay hash,Fix
|
||||
TD-H-002,Scalar position이 Core/Tactical lot 혼합,Model,P0,보호선·재진입 왜곡,BE Lead,Quant Lead,S3,Lot/Cycle/Protection/Reentry model,property+golden,Fix
|
||||
TD-H-003,KR 기업행사 추정 소급조정,Data,P0,가격·ATR·수익 왜곡,Data Lead,DBA,S2,공식 CA master+quarantine,CA reconciliation,Fix
|
||||
TD-H-004,총수익/PIT/상폐/세금/FX 불완전,Data/Model,P0,생산 판단 불가,Data Lead,Risk,S2,canonical PIT sources,DQ/replay,Fix
|
||||
TD-H-005,비용 전역상수/라벨 불일치,Model,P0,성과 왜곡,Quant Lead,QA,S2,FeeSchedule PIT contract,cost scenario diff,Fix
|
||||
TD-H-006,Internal research endpoint AllowAnonymous,Security,P0,무권한 정책 실행,Security,BE Lead,S0,auth policy+access test,anonymous 0,Fix
|
||||
TD-H-007,FE pnpm-lock 누락,Engineering,P0,CI 비결정/현재 CI 실패,FE Lead,DevOps,S0,lockfile commit,frozen install,Fix
|
||||
TD-H-008,Handler/Validator/DB/Outbox 없는 endpoint,Architecture,P1,Vertical Slice 미완성,BE Lead,Architect,S4,full slice packet,integration/trace,Fix
|
||||
TD-H-009,Survival/집중/기회비용 정책 미구현,Model,P1,정책 우선순위 불완전,Quant Lead,BE Lead,S4,ALG-PORT/SELL-004/005,golden/property,Fix
|
||||
TD-H-010,sell_fraction 단위 모호,Contract,P1,core floor 계산 오류 위험,Quant Lead,Architect,S4,ratio/quantity/target weight 분리,contract tests,Fix
|
||||
TD-H-011,Reentry multi-stage 상태 전이 불완전,Model,P1,단계 재진입/새 cycle 오류,BE Lead,Quant Lead,S5,explicit transition table,calendar/stage tests,Fix
|
||||
TD-H-012,SignalDecision immutable trigger 누락,Data/Audit,P1,감사·재현 훼손,DBA,BE Lead,S4,DB trigger+privilege,update/delete test,Fix
|
||||
TD-H-013,Architecture test가 문자열 1종만 검사,Quality,P1,경계 회귀 탐지 불가,Architect,QA,S0,AF-01~20,CI gate,Fix
|
||||
TD-H-014,FE DTO 수동 중복/Idempotency retry key 변경,Frontend,P1,계약 drift/중복 명령,FE Lead,BE Lead,S7,generated/versioned contract+stable key,Vitest/E2E,Fix
|
||||
TD-H-015,Outbox publisher/Inbox consumer/dead-letter 미구현,Reliability,P1,이벤트 미전달/중복,BE Lead,SRE,S4,dispatcher/inbox/replay,fault tests,Fix
|
||||
TD-H-016,Read Model rebuild/staleness 미구현,Operations,P2,복구·오래된 화면,Data Lead,SRE,S6,projection registry/rebuild,DR rebuild,Fix
|
||||
TD-H-017,Swagger 상시 노출,Security,P2,공격표면 증가,Security,BE Lead,S0,environment/role gate,security test,Fix
|
||||
TD-H-018,No dependency vulnerability/license evidence,SupplyChain,P2,공급망 위험,DevOps,Security,S0,audit/SBOM/license report,release evidence,Fix
|
||||
|
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
# ADR-XXX Title
|
||||
|
||||
- Status: Proposed / Accepted / Superseded / Deprecated
|
||||
- Date:
|
||||
- Owners:
|
||||
- Source:
|
||||
- Context:
|
||||
- Decision:
|
||||
- Alternatives:
|
||||
- Consequences:
|
||||
- Fitness Functions:
|
||||
- Migration/Rollback:
|
||||
- Supersedes:
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
# AI Change Checklist
|
||||
|
||||
- [ ] Source와 문서 위치가 있다.
|
||||
- [ ] Assumption/Unknown/Design Proposal을 구분했다.
|
||||
- [ ] 새 정책·임계값·컬럼·API를 임의 생성하지 않았다.
|
||||
- [ ] 변경 범위는 한 Slice/목적이다.
|
||||
- [ ] 실행한 명령과 exit code를 기록했다.
|
||||
- [ ] 실패/skip/미실행 테스트를 기록했다.
|
||||
- [ ] Golden/Data/Architecture/E2E 영향이 있다.
|
||||
- [ ] 민감정보가 없다.
|
||||
- [ ] rollback과 잔여위험이 있다.
|
||||
- [ ] 사람 승인자가 명시됐다.
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
# Data Contract
|
||||
|
||||
- Source/license/SLA/schema version:
|
||||
- Timezone/unit/currency:
|
||||
- source_event_time / published_at / ingested_at:
|
||||
- effective_from/to / revision_no:
|
||||
- source_id / content_hash / dataset_id:
|
||||
- DQ PASS/WARN/QUARANTINED rules:
|
||||
- tradable_session rule:
|
||||
- lineage / watermark / replay:
|
||||
- Owner / steward / retention:
|
||||
Vendored
+15
@@ -0,0 +1,15 @@
|
||||
# Feature Packet
|
||||
|
||||
- Requirement ID:
|
||||
- Slice ID:
|
||||
- User outcome:
|
||||
- Non-goals:
|
||||
- Source / Assumption / Unknown / Decision Required:
|
||||
- Policy/Data/API/DB/Job/UI/Test IDs:
|
||||
- PIT cutoff and units:
|
||||
- State transitions / invariants:
|
||||
- Failure paths / ProblemDetails:
|
||||
- Idempotency / concurrency / transaction:
|
||||
- Metrics / alerts / runbook / rollback:
|
||||
- Commands actually executed and artifacts:
|
||||
- Owner / reviewer / approver:
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
# Model Improvement Proposal
|
||||
|
||||
- Proposal ID / Expiry:
|
||||
- Base Model Version:
|
||||
- Proposal Type:
|
||||
- Problem statement:
|
||||
- Evidence IDs and hashes:
|
||||
- Counter-evidence:
|
||||
- Root-cause hypothesis:
|
||||
- Expected benefit:
|
||||
- Customer/operational/regulatory risks:
|
||||
- Data and license impact:
|
||||
- Algorithm/policy/metric contract impact:
|
||||
- Required Golden/OOS/PBO/DSR/cost tests:
|
||||
- Rollback plan:
|
||||
- Owner / Secondary:
|
||||
- Status: DRAFT / REVIEW_REQUIRED / APPROVED_FOR_RESEARCH / REJECTED / EXPIRED
|
||||
- Explicit boundary: no automatic code/config/model activation
|
||||
Vendored
+18
@@ -0,0 +1,18 @@
|
||||
# Model/Policy Change
|
||||
|
||||
- Change ID:
|
||||
- Policy ID:
|
||||
- Source:
|
||||
- Assumption:
|
||||
- Unknown / Decision Required:
|
||||
- Old Version Set:
|
||||
- New Version Set:
|
||||
- Formula / threshold diff:
|
||||
- Characterization diff:
|
||||
- Golden diff:
|
||||
- Frozen OOS result:
|
||||
- Cost x2 result:
|
||||
- Market/asset/regime impact:
|
||||
- False-exit/Reentry/ES impact:
|
||||
- Rollback trigger:
|
||||
- Quant/Risk approvers:
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
# Model Evaluation Evidence
|
||||
|
||||
- Evaluation ID:
|
||||
- Operation Code / Schedule Version:
|
||||
- Scope / Cohort / Window:
|
||||
- Dataset ID / Hash:
|
||||
- Model / Config / Code / Contract Version:
|
||||
- Metric Definition Version:
|
||||
- PIT cutoff / Published-at rule:
|
||||
- Sample size / Missing / Quarantine:
|
||||
- Results and confidence intervals:
|
||||
- Baseline / Champion / Challenger:
|
||||
- Costs / Tax / FX / Slippage scenario:
|
||||
- Counter-evidence:
|
||||
- Operational integrity errors:
|
||||
- Gate result and blocking reasons:
|
||||
- Source / Assumption / Unknown / Decision Required:
|
||||
- Commands / Artifact hashes:
|
||||
- Independent validator:
|
||||
- Maker / Checker:
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
# Model Operations Runbook
|
||||
|
||||
- Operation Code / Queue / Scope:
|
||||
- Owner / Secondary:
|
||||
- Due SLA / Max lag:
|
||||
- Inputs and frozen VersionSet:
|
||||
- Expected output:
|
||||
- Metrics and alerts:
|
||||
- TRANSIENT retry policy:
|
||||
- BUSINESS_HOLD resolution:
|
||||
- QUARANTINE resolution:
|
||||
- Dead-letter replay procedure:
|
||||
- Duplicate/idempotency check:
|
||||
- Data revision/correction procedure:
|
||||
- Rollback/disable scheduler procedure:
|
||||
- PII/secret handling:
|
||||
- Last rehearsal / Evidence hash:
|
||||
Vendored
+11
@@ -0,0 +1,11 @@
|
||||
# Release Evidence
|
||||
|
||||
- Release/commit/container digest:
|
||||
- Source coverage and supersession diff:
|
||||
- OpenAPI/DDL/Event/Job/UI contract diff:
|
||||
- Build/test/migration commands and results:
|
||||
- Golden/OOS/data/replay evidence:
|
||||
- Security/PII/license/SBOM evidence:
|
||||
- Metrics/alerts/runbooks/rollback rehearsal:
|
||||
- Capability flags and kill-switch state:
|
||||
- Approvals:
|
||||
Vendored
+14
@@ -0,0 +1,14 @@
|
||||
# Runbook
|
||||
|
||||
- Service/Job/Slice:
|
||||
- Owner / Secondary:
|
||||
- SLO/SLA:
|
||||
- Metrics/Alerts:
|
||||
- Detection:
|
||||
- Triage:
|
||||
- Kill-switch scope:
|
||||
- Safe retry/replay:
|
||||
- Reconciliation:
|
||||
- Rollback:
|
||||
- Evidence to retain:
|
||||
- Escalation:
|
||||
Vendored
+20
@@ -0,0 +1,20 @@
|
||||
# Slice Spec: <VS-ID> <Name>
|
||||
|
||||
- Requirement ID:
|
||||
- Policy/Data/Screen ID:
|
||||
- 사용자 결과:
|
||||
- 비목표:
|
||||
- 권한/Capability:
|
||||
- 선행 데이터와 PIT cutoff:
|
||||
- 상태전이:
|
||||
- Endpoint/Event/Job:
|
||||
- DB Migration/Read Model:
|
||||
- Idempotency/Concurrency:
|
||||
- Given/When/Then:
|
||||
- Tests:
|
||||
- Metrics/Alerts:
|
||||
- Runbook/Rollback:
|
||||
- Owner/Secondary:
|
||||
- Source:
|
||||
- Assumption:
|
||||
- Unknown/Decision Required:
|
||||
Vendored
+10
@@ -0,0 +1,10 @@
|
||||
# Technical Debt Item
|
||||
|
||||
- ID / priority:
|
||||
- Risk and interest:
|
||||
- Root cause:
|
||||
- Owner / secondary:
|
||||
- Remediation:
|
||||
- Trigger / due / gate:
|
||||
- Exit test:
|
||||
- Temporary control and expiry:
|
||||
Vendored
+5
@@ -0,0 +1,5 @@
|
||||
# Traceability
|
||||
|
||||
| REQ | POLICY/DATA | SLICE | ENDPOINT/JOB | DB/EVENT | SCREEN/COMPONENT | TEST | METRIC/RUNBOOK | PR |
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
| | | | | | | | | |
|
||||
@@ -0,0 +1,54 @@
|
||||
# K-ArtSell Aegis v12.0 누적 통합 고도화 제안
|
||||
|
||||
상태: `IMPLEMENTATION_TEMPLATE / STATIC_VALIDATED / NOT_DOTNET_BUILD_VERIFIED`
|
||||
제품 경계: `투자자문형 우선 · 자동주문 OFF · RESEARCH_CANDIDATE_NOT_PRODUCTION`
|
||||
|
||||
## 1. 경영진 결론
|
||||
|
||||
이번 패키지는 v10.0 기준서, K-ArtSell 12.2 연구 번들, v11 구현 가속본, v11.1 하드닝본을 폐기하거나 요약본으로 대체하지 않는다. 기존 첨부파일을 원본 그대로 포함하고, 그 위에 다음 Delta를 누적한다.
|
||||
|
||||
1. **정책·데이터·코드 단위의 의미 분리**: `SellRatioOfLot`, `TargetPortfolioWeightAfter`, `StrategicCoreFloorWeight`를 분리하여 단위 혼동을 제거한다.
|
||||
2. **서버 주도 Evidence 계약**: 생산형 Endpoint는 Evidence/Model/Config 값을 클라이언트에서 받지 않고 승인된 PIT Read Model에서 조회한다.
|
||||
3. **불변 이력과 재현성**: Evidence, Decision, Audit는 update/delete가 아닌 append/correction event로 보존하고 SHA를 기록한다.
|
||||
4. **Fail-closed 보안**: 개발 전용 Header 인증은 Development에서만 허용하고 그 외 환경은 인증 공급자 미구성 시 401로 닫힌다.
|
||||
5. **Vertical Slice 완결성**: Endpoint→Application→Pure Policy→Dapper→Outbox→DB→FE→Tests→Observability를 하나의 Done 단위로 묶는다.
|
||||
6. **과유불급 통제**: Generic Repository, 범용 Mediator wrapper, 자동 plugin discovery, 조기 microservice 분리는 금지한다.
|
||||
7. **상세 WBS 재정렬**: 화면 선행이 아니라 `PIT Data → Evidence → Sell/Reentry → Recommendation → Evaluation → Reconciliation/DR` Critical Path를 고정한다.
|
||||
|
||||
## 2. 이번 버전의 실질 개선
|
||||
|
||||
| 영역 | 기존 위험 | v12.0 개선 |
|
||||
|---|---|---|
|
||||
| 알고리즘 | Lot 비율과 포트폴리오 비중 혼동 | 명시적 단위 계약과 정책별 우선순위 고정 |
|
||||
| 데이터 | 원시/PIT/Projection 혼재 | L0~L7 계층, immutable raw, revision, lineage, rebuildable read model |
|
||||
| BE | 연구 Endpoint가 생산형 계약처럼 보임 | 연구 전용 Endpoint와 생산형 Command 분리 |
|
||||
| DB | Decision의 Version Set 부족 | Dataset/Model/Config/Code SHA, idempotency, correlation, hash 추가 |
|
||||
| FE | DTO 수동 중복과 응답 무검증 | Zod를 계약 기준으로 사용하고 응답까지 runtime validation |
|
||||
| 보안 | 인증 미구성 상태의 모호성 | DevelopmentHeader 또는 FailClosed 두 상태만 허용 |
|
||||
| 운영 | Queue와 재처리 의미 불명확 | 9개 Queue 분리, JobRun/Watermark/Idempotency 계약 유지 |
|
||||
| 바이브코딩 | AI 생성 코드가 근거 없이 확장될 가능성 | Source/Assumption/Unknown/Decision Required와 PR 증거 강제 |
|
||||
| 기술부채 | 목록은 있으나 상환 순서가 약함 | Safety/Integrity/Delivery/Convenience 4등급과 WBS 연계 |
|
||||
|
||||
## 3. 착수 우선순위
|
||||
|
||||
- **P0**: 원본 데이터 권리·manifest·PIT·기업행사·상폐·총수익·비용·FX.
|
||||
- **P1**: EvidenceSnapshot, Lot/Cycle, Sell/Reentry Policy Chain, Golden Vector.
|
||||
- **P2**: 추천 검토·승인·공개·사후평가와 감사추적.
|
||||
- **P3**: 포트폴리오 위험·리밸런싱·대체상품.
|
||||
- **P4**: KIS Capability, 대사, Pilot. 주문 Capability는 계속 OFF.
|
||||
|
||||
## 4. Go/No-Go
|
||||
|
||||
다음 중 하나라도 미충족이면 해당 Slice는 코딩 또는 승격하지 않는다.
|
||||
|
||||
- Requirement/Policy/Data/API/DB/Test/PR Trace가 연결되지 않음.
|
||||
- PIT `published_at` 또는 revision 계약이 없음.
|
||||
- Evidence/Decision/Outbox가 같은 트랜잭션 또는 명시적 보상계약으로 묶이지 않음.
|
||||
- 미승인 데이터가 Recommendation에 유입될 수 있음.
|
||||
- Golden/OOS/비용 2배/룩어헤드/상폐/기업행사 테스트가 없음.
|
||||
- Owner, Alert, Runbook, Rollback이 없음.
|
||||
- 자동주문 또는 KIS 제출 Capability가 활성화됨.
|
||||
|
||||
## 5. 검증 상태
|
||||
|
||||
Python 연구 계약 테스트는 실행해 통과했다. JSON/XML/CSV/Python 정적 검증과 금지 패턴 검사를 수행한다. 현재 작업 환경에는 .NET SDK와 pnpm이 없으므로 `dotnet restore/build/test`, PostgreSQL migration rehearsal, `pnpm install/test/build`는 실행하지 못했다. 이 항목은 G0의 차단 조건으로 남긴다.
|
||||
@@ -0,0 +1,53 @@
|
||||
# 첨부 소스 감사와 비회귀 Delta
|
||||
|
||||
## 1. 감사 대상
|
||||
|
||||
| Source | 역할 | 처리 |
|
||||
|---|---|---|
|
||||
| K-ArtSell 12.2 complete package | 연구 코드, 결과 CSV, 정량 검토, 구성안 | 원본 보존 + 연구 계약 하드닝 |
|
||||
| SI 누적 통합 실행기준서 v10.0 | 47개 장 상세, 26 Slice, 16 Sprint, Gate | 최상위 기준선으로 보존 |
|
||||
| v11 implementation acceleration | 최초 .NET/Vue 실행 골격 | 코드 Delta의 시작점 |
|
||||
| v11.1 hardening | 보안·불변성·리팩터링 보강 | v12.0에 누적, testfile 제거 |
|
||||
|
||||
원본 4개 첨부파일은 `attachments/original`에 그대로 포함한다. 압축 해제본은 `attachments/extracted`에 별도 보관한다.
|
||||
|
||||
## 2. 연구 번들에서 유지해야 할 결론
|
||||
|
||||
- 알고리즘 상태는 생산 모델이 아니라 연구후보다.
|
||||
- 매도 우선순위는 `Hard impairment → Portfolio survival → Profit floor → Concentration/Liquidity → Opportunity cost → Reentry`다.
|
||||
- 일평가는 단타 적중률이 아니라 비용후 기대효용, calibration, ES/MDD, false-exit, 재진입 포착, 운영 무결성을 누적하는 품질관리다.
|
||||
- 최소 252 거래일 Shadow, 복수 시장국면, PBO/DSR, 비용 2배 스트레스, 운영·준법 Gate가 필요하다.
|
||||
- 원시 데이터, PIT 재무/컨센서스, 총수익, 상폐수익, 기업행사, Fee/Tax/FX가 완전하지 않다.
|
||||
|
||||
## 3. 코드 감사에서 확인한 개선 필요점
|
||||
|
||||
### P0
|
||||
|
||||
1. v11/v11.1에는 실제 .NET 빌드 증거가 없고 현재 환경에서도 SDK가 없다.
|
||||
2. FE lockfile이 없어 reproducible install이 불가능하다.
|
||||
3. 기존 연구 Endpoint는 Evidence/Model/Config를 클라이언트가 전달했다.
|
||||
4. Decision 테이블의 `sell_fraction`은 Lot 비율인지 포트폴리오 비중인지 모호했다.
|
||||
5. 데이터 Read Model의 owner/version/watermark/rebuild 계약이 코드에 없었다.
|
||||
|
||||
### P1
|
||||
|
||||
1. 정책 구현이 Hard/Gap/Two-close에 치우쳐 Portfolio survival, Concentration, Opportunity cost가 누락됐다.
|
||||
2. Context 조회, Decision append, Outbox append의 생산형 트랜잭션 예제가 없었다.
|
||||
3. Fail-closed 인증은 있었으나 개발용 안전한 실행 경로가 분리되지 않았다.
|
||||
4. FE 응답 계약은 TypeScript interface만 있고 runtime 검증이 없었다.
|
||||
5. Architecture Test가 문자열 검색 위주라 프로젝트 의존과 SQL schema contract를 충분히 확인하지 못했다.
|
||||
|
||||
## 4. v12.0 Delta 상태
|
||||
|
||||
| 항목 | 상태 | 증거 |
|
||||
|---|---|---|
|
||||
| 6개 Sell Policy 순서 | 구현 | Domain/Policies + Unit Test |
|
||||
| Lot ratio/portfolio weight 분리 | 구현 | Domain contract + DB migration + FE schema |
|
||||
| 생산형 Endpoint 서버 Evidence 조회 | 구현 템플릿 | GenerateSellDecision Slice |
|
||||
| Research Endpoint 명시적 분리 | 구현 | EvaluateResearchSellPolicy Slice |
|
||||
| Decision/Context/Audit 불변성 | 구현 | 0012 migration trigger |
|
||||
| Auth fail-closed/dev-only 분리 | 구현 | Host/Security |
|
||||
| Python Golden Contract | 실행 검증 | research/hardening/TEST_RESULTS.txt |
|
||||
| .NET build/test | 미검증 | G0 Decision Required |
|
||||
| pnpm frozen install/build | 미검증 | lockfile 생성·승인 필요 |
|
||||
| PostgreSQL fresh/upgrade/re-run | 미검증 | G0 DBA rehearsal 필요 |
|
||||
@@ -0,0 +1,77 @@
|
||||
# 아키텍처 표준: Modular Monolith + Vertical Slice
|
||||
|
||||
## 1. 구조적 선택
|
||||
|
||||
단일 배포를 유지하되 모듈과 PostgreSQL schema의 소유권을 분리한다. Microservice 분리는 조직·배포·데이터 소유권·SLO가 실제로 독립될 때만 ADR로 검토한다.
|
||||
|
||||
```text
|
||||
Host
|
||||
├─ BuildingBlocks
|
||||
├─ IdentityAccess
|
||||
├─ SecurityMaster / MarketData / FundamentalsPIT
|
||||
├─ ResearchFactors / ValuationForecast
|
||||
├─ SignalEngine
|
||||
├─ PortfolioRisk / ClientAdvisory
|
||||
├─ BacktestingEvaluation
|
||||
├─ ExecutionReconciliation
|
||||
├─ ReportingNotifications
|
||||
└─ GovernanceAudit
|
||||
```
|
||||
|
||||
## 2. 의존 방향
|
||||
|
||||
- Domain은 FastEndpoints, Dapper, Npgsql, Hangfire, HTTP를 참조하지 않는다.
|
||||
- Application은 Domain과 좁은 Port를 사용한다.
|
||||
- Infrastructure는 Dapper/Npgsql/Adapter를 구현한다.
|
||||
- Host는 composition root다.
|
||||
- 모듈 간 Source Table 직접 조회를 금지하고 Contract 또는 승인된 Read Model을 사용한다.
|
||||
|
||||
## 3. SOLID의 적용 범위
|
||||
|
||||
| 원칙 | 실무 적용 | 금지 |
|
||||
|---|---|---|
|
||||
| SRP | Endpoint=HTTP, Handler=use case, Policy=decision, Adapter=I/O | God Service, Job 내 정책 |
|
||||
| OCP | Policy/DQ/Adapter는 명시적 registry로 추가 | Reflection plugin framework |
|
||||
| LSP | Adapter 교체 시 시간·단위·오류 contract test | Mock 성공만으로 교체 승인 |
|
||||
| ISP | 작은 Port (`IClock`, `ISellDecisionContextReader`) | 범용 Repository |
|
||||
| DIP | Domain은 외부 기술을 모름 | Npgsql type의 Domain 침투 |
|
||||
|
||||
추상화는 두 번째 실제 구현과 동일한 변경축이 확인된 후 승격한다.
|
||||
|
||||
## 4. Vertical Slice 표준
|
||||
|
||||
```text
|
||||
Features/<Slice>/
|
||||
Endpoint.cs
|
||||
Request.cs
|
||||
Response.cs
|
||||
Validator.cs
|
||||
Handler/Service.cs
|
||||
Sql.cs
|
||||
Mapper.cs
|
||||
Contracts/
|
||||
Tests/
|
||||
README.md
|
||||
```
|
||||
|
||||
한 Slice는 Endpoint, DB migration, Event/Job, FE route/component, unit/integration/E2E, metric/alert/runbook까지 완결되어야 Done이다.
|
||||
|
||||
## 5. 트랜잭션 경계
|
||||
|
||||
생산형 Decision 생성은 같은 PostgreSQL 트랜잭션에서 다음을 수행한다.
|
||||
|
||||
1. Idempotency 기존 결과 확인.
|
||||
2. 승인된 immutable Context 조회.
|
||||
3. 순수 Policy 평가.
|
||||
4. Decision append와 hash 저장.
|
||||
5. Outbox append.
|
||||
6. Commit.
|
||||
|
||||
외부 API 호출은 트랜잭션 밖에서 수행하고 Raw immutable store에 먼저 적재한다.
|
||||
|
||||
## 6. 정규화와 역정규화
|
||||
|
||||
- Write Model: 3NF, append/reversal, valid_from/to, revision.
|
||||
- Evidence: 원본 JSONB + 제약/검색에 필요한 핵심 컬럼.
|
||||
- Read Model: Owner, ProjectionVersion, SourceWatermark, ContentHash, Rebuild 명령을 가져야 한다.
|
||||
- 화면 성능을 이유로 Source Table을 직접 join하는 것을 금지한다.
|
||||
@@ -0,0 +1,75 @@
|
||||
# 알고리즘·데이터 계약
|
||||
|
||||
## 1. 매도 정책 체인
|
||||
|
||||
고정 순서:
|
||||
|
||||
1. `ALG-SELL-001` Hard impairment.
|
||||
2. `ALG-SELL-PORT-001` Portfolio survival/capital floor.
|
||||
3. `ALG-SELL-002` Gap floor breach.
|
||||
4. `ALG-SELL-003` Two-close breach.
|
||||
5. `ALG-SELL-004` Concentration/liquidity.
|
||||
6. `ALG-SELL-005` Opportunity replacement.
|
||||
7. `ALG-HOLD-001` Hold.
|
||||
|
||||
상위 정책이 결정을 생성하면 하위 정책은 평가 결과를 상쇄하지 않는다.
|
||||
|
||||
## 2. 단위 계약
|
||||
|
||||
| 필드 | 의미 | 단위 |
|
||||
|---|---|---|
|
||||
| `SellRatioOfLot` | 현재 Lot 수량 중 매도 비율 | 0~1 |
|
||||
| `CurrentPortfolioWeight` | 해당 보유의 현재 포트폴리오 비중 | 0~1 |
|
||||
| `StrategicCoreFloorWeight` | 매도 후 보존할 절대 포트폴리오 비중 | 0~1 |
|
||||
| `TargetPortfolioWeightAfter` | 정책 실행 후 예상 포트폴리오 비중 | 0~1 |
|
||||
| `OpportunityEdgeLowerBound` | 비용후 교체우위 신뢰구간 하단 | 수익률 |
|
||||
|
||||
Profit floor, concentration, opportunity 정책은 strategic core를 보존한다. Portfolio survival은 생존 우선순위 때문에 core 아래 축소가 가능하다. Hard impairment는 전량매도와 자동 재진입 금지가 기본이다.
|
||||
|
||||
## 3. Evidence Version Set
|
||||
|
||||
Decision은 다음 값 없이는 저장하지 않는다.
|
||||
|
||||
- PositionLotId, CycleId.
|
||||
- EvidenceId, DatasetId.
|
||||
- ModelVersion, ConfigVersion, CodeSha.
|
||||
- AsOf, PublishedAtCutoff.
|
||||
- PolicyId, Priority, ReasonCode.
|
||||
- DecisionHash, IdempotencyKey, CorrelationId.
|
||||
|
||||
## 4. Reentry 상태기계
|
||||
|
||||
`WATCHING → READY → REENTERED → WATCHING/OPEN`이며 Hard impairment는 `CLOSED`, 126 거래일 만료는 `EXPIRED`다.
|
||||
|
||||
Ready 조건:
|
||||
|
||||
- 매도 후 최소 10 거래일.
|
||||
- 직전 단계 후 최소 10 거래일.
|
||||
- 상승 중인 50일선 회복.
|
||||
- 직전 20 거래일 고점 돌파.
|
||||
- 자산유형별 추가 확인조건.
|
||||
|
||||
재진입은 새 CycleId와 새 Lot을 생성한다.
|
||||
|
||||
## 5. 데이터 계층
|
||||
|
||||
| Layer | 내용 | 불변조건 |
|
||||
|---|---|---|
|
||||
| L0 | Source Catalog/License/SLA | 승인 없는 소스 사용 금지 |
|
||||
| L1 | Raw payload/hash | overwrite 금지 |
|
||||
| L2 | Canonical PIT/revision | published_at 이후 사용 |
|
||||
| L3 | DQ/lineage/dataset manifest | quarantine 사용 금지 |
|
||||
| L4 | Feature/Forecast/Risk/Evidence | code/config/data hash |
|
||||
| L5 | Decision/Review/Publish/Outcome | append-only audit |
|
||||
| L6 | Read Model | version/watermark/rebuild |
|
||||
| L7 | Backtest/ModelCard/Release | artifact hash |
|
||||
|
||||
## 6. 검증
|
||||
|
||||
- Lookahead 0.
|
||||
- 당시 유니버스와 상폐수익 포함.
|
||||
- 기업행사·총수익·Fee/Tax/FX PIT.
|
||||
- deterministic seed와 frozen manifest.
|
||||
- 비용 2배에서도 기대효용 양수.
|
||||
- PBO ≤20%, DSR ≥95%는 승격 Gate이며 현재 달성 주장 아님.
|
||||
- 재진입 포착률 ≥65%, false-exit 연 2% 이하도 Shadow 검증 목표다.
|
||||
@@ -0,0 +1,63 @@
|
||||
# BE/FE 컴포넌트 표준
|
||||
|
||||
## 1. Backend
|
||||
|
||||
### 1.1 Endpoint
|
||||
|
||||
- HTTP parsing, auth, idempotency header, ProblemDetails 변환만 수행한다.
|
||||
- 생산형 Command는 `PositionLotId`, `AsOf` 등 업무 식별자만 받는다.
|
||||
- 모델버전·임계값·Evidence를 클라이언트가 지정하지 못한다.
|
||||
|
||||
### 1.2 Application
|
||||
|
||||
- 트랜잭션과 유스케이스 오케스트레이션을 담당한다.
|
||||
- 재시도 가능한 Command는 IdempotencyKey를 필수로 한다.
|
||||
- 외부 호출과 DB transaction을 혼합하지 않는다.
|
||||
|
||||
### 1.3 Domain Policy
|
||||
|
||||
- 순수 함수다.
|
||||
- 시간, DB, 네트워크, 랜덤을 직접 사용하지 않는다.
|
||||
- 순서·단위·경계값을 Unit/Golden test로 고정한다.
|
||||
|
||||
### 1.4 Dapper/SQL
|
||||
|
||||
- schema-qualified table과 명시적 column만 사용한다.
|
||||
- `SELECT *` 금지.
|
||||
- SQL은 Slice 가까이에 두되 공통 query abstraction을 과도하게 만들지 않는다.
|
||||
- immutable table은 trigger와 권한으로 update/delete를 차단한다.
|
||||
|
||||
## 2. Frontend
|
||||
|
||||
### 2.1 상태 소유권
|
||||
|
||||
- Server state: TanStack Query.
|
||||
- User/session/role/UI preference: Pinia.
|
||||
- Form: vee-validate + Zod.
|
||||
- URL shareable state: vue-router query/params.
|
||||
- 대량 표: AG Grid server-side model.
|
||||
|
||||
### 2.2 계약
|
||||
|
||||
- Zod schema를 request/response runtime validation에 사용한다.
|
||||
- TypeScript type은 `z.infer`로 파생한다.
|
||||
- 같은 명령의 retry는 동일 Idempotency-Key를 재사용한다.
|
||||
- 409/422/429/503을 서로 다른 UX로 처리한다.
|
||||
|
||||
### 2.3 공통 컴포넌트
|
||||
|
||||
- `QueryStateBoundary`: loading/empty/partial/stale/warn/error/401/403/409/expired/readonly.
|
||||
- `PermissionGuard`: 역할 기반 표시경계. 서버 권한검사를 대체하지 않는다.
|
||||
- `DataFreshnessBadge`: as-of와 stale 상태.
|
||||
- `VersionConflictDialog`: If-Match/409 처리.
|
||||
- `DataGridShell`, `CrudForm`은 실제 반복이 확인된 후 추가한다.
|
||||
|
||||
### 2.4 도메인 컴포넌트
|
||||
|
||||
- EvidencePanel.
|
||||
- ProtectionFloorPanel.
|
||||
- ReentryTimeline.
|
||||
- ApprovalPanel.
|
||||
- OutcomeAttributionPanel.
|
||||
|
||||
업무 의미가 다른 화면을 props가 많은 범용 컴포넌트 하나로 합치지 않는다.
|
||||
@@ -0,0 +1,44 @@
|
||||
# 바이브코딩·홀루시네이션 통제
|
||||
|
||||
## 1. 기본 원칙
|
||||
|
||||
AI는 구현 초안을 만든다. 정책·증거·리스크·승격은 사람이 승인한다. 채팅, 자동완성, 생성 코드 자체는 Source of Truth가 아니다.
|
||||
|
||||
## 2. 모든 변경의 4분류
|
||||
|
||||
- `SOURCE`: 첨부 기준서, 승인 ADR, 계약, 데이터 증거에 직접 근거.
|
||||
- `ASSUMPTION`: 착수 편의를 위한 가정. 만료일과 승인자가 필요.
|
||||
- `UNKNOWN`: 자료로 판단할 수 없음.
|
||||
- `DECISION_REQUIRED`: 코딩 전 결정이 필요한 차단 항목.
|
||||
|
||||
## 3. AI 작업 패킷
|
||||
|
||||
AI에 전달하는 작업은 최소 다음을 포함한다.
|
||||
|
||||
1. Requirement ID / Slice ID.
|
||||
2. 사용자 결과와 비목표.
|
||||
3. Policy ID와 단위·우선순위.
|
||||
4. Data source/PIT/revision/quality.
|
||||
5. API/DB/Event/Job/UI 계약.
|
||||
6. Given/When/Then과 실패상태.
|
||||
7. 금지 패턴.
|
||||
8. 검증 명령과 완료 증거.
|
||||
|
||||
## 4. PR 차단 규칙
|
||||
|
||||
- Source/Assumption/Unknown 표기가 없음.
|
||||
- 새 library/pattern/table/threshold에 ADR이 없음.
|
||||
- Migration fresh/upgrade/re-run evidence가 없음.
|
||||
- Golden/OOS/Architecture/Data/E2E test가 없음.
|
||||
- 실행하지 않은 test를 통과로 기록함.
|
||||
- 실고객 데이터·계좌·token·secret가 prompt/log/fixture에 포함됨.
|
||||
- 자동주문 Capability를 우회하거나 기본 ON으로 변경함.
|
||||
|
||||
## 5. 리팩터링 원칙
|
||||
|
||||
- 동작 보존 refactoring과 정책 변경을 한 PR에 섞지 않는다.
|
||||
- 먼저 Characterization/Golden test를 만든다.
|
||||
- God Service를 Endpoint/Application/Policy/Adapter로 분리한다.
|
||||
- Generic Repository로 Dapper SQL 의미를 숨기지 않는다.
|
||||
- 중복은 의미와 변경축이 같을 때만 추상화한다.
|
||||
- 기술부채는 등록, owner, impact, repayment trigger, deadline을 가진다.
|
||||
@@ -0,0 +1,49 @@
|
||||
# Delivery Gate
|
||||
|
||||
## G0 Toolchain/Repository
|
||||
|
||||
- .NET 10 SDK, Node 22, pnpm 10 설치.
|
||||
- `pnpm-lock.yaml` 생성·검토·커밋.
|
||||
- `dotnet restore/build/test`와 `pnpm install --frozen-lockfile/typecheck/test/build` 통과.
|
||||
- PostgreSQL 17 fresh/upgrade/re-run migration.
|
||||
|
||||
## G1 Data Minimum
|
||||
|
||||
- SecurityMaster, MarketCalendar, Raw immutable, PIT timestamp, revision, DQ.
|
||||
- 기업행사·총수익·상폐·FX·Fee/Tax contract.
|
||||
- Replay same manifest/hash.
|
||||
|
||||
## G2 Algorithm Contract
|
||||
|
||||
- 6개 Sell Policy와 Reentry state machine Golden.
|
||||
- Lot/Cycle reset.
|
||||
- Evidence Version Set 100%.
|
||||
- 비용 2배, boundary ±epsilon, lookahead tests.
|
||||
|
||||
## G3 Advisory MVP
|
||||
|
||||
- Recommendation→Review→Publish→ClientDecision→Outcome E2E.
|
||||
- maker-checker, approval expiry, unapproved publication 0.
|
||||
- 고객 화면에 근거·반대증거·불확실성·비용·재진입 표시.
|
||||
|
||||
## G4 Shadow
|
||||
|
||||
- 최소 252 거래일, 복수 국면.
|
||||
- 운영 무결성 오류 0.
|
||||
- 매도/재진입/예측 calibration/위험감소 KPI 누적.
|
||||
|
||||
## G5 Pilot Readiness
|
||||
|
||||
- AuthN/AuthZ, PII, audit, reconciliation, kill-switch, DR.
|
||||
- SLO/RPO/RTO와 Runbook.
|
||||
- 법무·준법·정보보호 승인.
|
||||
|
||||
## G6 Advisory Go-Live
|
||||
|
||||
- 자동주문 OFF.
|
||||
- backfill/reconciliation/cutover/rollback rehearsal.
|
||||
- Release Evidence와 residual risk 승인.
|
||||
|
||||
## 일임형 별도 검토 Gate
|
||||
|
||||
Shadow 기간·OOS·PBO/DSR·비용후 효용·운영/준법/고객보호를 모두 통과한 뒤 별도 프로젝트로 검토한다. 적중률 하나로 전환하지 않는다.
|
||||
@@ -0,0 +1,103 @@
|
||||
WBS_ID,Sprint,Weeks,Vertical_Slice,Domain,Workstream,Sprint_Goal,Task,Artifact,Acceptance_Criteria,Owner,Reviewer,PD,Dependencies,Source_Status,Gate,Priority,Status
|
||||
AEG-S0-01,S0,W1-2,VS-00,Foundation,GOV,착수·통제·Walking Skeleton,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,,SOURCE+DESIGN_PROPOSAL,G0,P0,PLANNED
|
||||
AEG-S0-02,S0,W1-2,VS-00,Foundation,DATA,착수·통제·Walking Skeleton,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,,SOURCE+DESIGN_PROPOSAL,G0,P0,PLANNED
|
||||
AEG-S0-03,S0,W1-2,VS-00,Foundation,BE,착수·통제·Walking Skeleton,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,,SOURCE+DESIGN_PROPOSAL,G0,P0,PLANNED
|
||||
AEG-S0-04,S0,W1-2,VS-00,Foundation,FE,착수·통제·Walking Skeleton,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,,SOURCE+DESIGN_PROPOSAL,G0,P1,PLANNED
|
||||
AEG-S0-05,S0,W1-2,VS-00,Foundation,TEST,착수·통제·Walking Skeleton,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,,SOURCE+DESIGN_PROPOSAL,G0,P0,PLANNED
|
||||
AEG-S0-06,S0,W1-2,VS-00,Foundation,OPS,착수·통제·Walking Skeleton,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,,SOURCE+DESIGN_PROPOSAL,G0,P1,PLANNED
|
||||
AEG-S0-07,S0,W1-2,VS-00,Foundation,TOOLCHAIN,,SDK/lockfile/CI 재현성 확보,"global.json, pnpm-lock.yaml, CI logs",dotnet/pnpm frozen build green,DevOps,Architect,8,,SOURCE+DESIGN_PROPOSAL,G0,P0,PLANNED
|
||||
AEG-S1-01,S1,W3-4,VS-01/02,Identity/SecurityMaster,GOV,인증·권한·상품기준·시장캘린더,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S0-DONE,SOURCE+DESIGN_PROPOSAL,G1-A,P0,PLANNED
|
||||
AEG-S1-02,S1,W3-4,VS-01/02,Identity/SecurityMaster,DATA,인증·권한·상품기준·시장캘린더,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S0-DONE,SOURCE+DESIGN_PROPOSAL,G1-A,P0,PLANNED
|
||||
AEG-S1-03,S1,W3-4,VS-01/02,Identity/SecurityMaster,BE,인증·권한·상품기준·시장캘린더,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S0-DONE,SOURCE+DESIGN_PROPOSAL,G1-A,P0,PLANNED
|
||||
AEG-S1-04,S1,W3-4,VS-01/02,Identity/SecurityMaster,FE,인증·권한·상품기준·시장캘린더,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S0-DONE,SOURCE+DESIGN_PROPOSAL,G1-A,P1,PLANNED
|
||||
AEG-S1-05,S1,W3-4,VS-01/02,Identity/SecurityMaster,TEST,인증·권한·상품기준·시장캘린더,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S0-DONE,SOURCE+DESIGN_PROPOSAL,G1-A,P0,PLANNED
|
||||
AEG-S1-06,S1,W3-4,VS-01/02,Identity/SecurityMaster,OPS,인증·권한·상품기준·시장캘린더,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S0-DONE,SOURCE+DESIGN_PROPOSAL,G1-A,P1,PLANNED
|
||||
AEG-S10-01,S10,W21-22,VS-12/22,Buy/Replacement,GOV,매수후보·대체상품·상품탐색,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S9-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio Gate,P0,PLANNED
|
||||
AEG-S10-02,S10,W21-22,VS-12/22,Buy/Replacement,DATA,매수후보·대체상품·상품탐색,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S9-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio Gate,P0,PLANNED
|
||||
AEG-S10-03,S10,W21-22,VS-12/22,Buy/Replacement,BE,매수후보·대체상품·상품탐색,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S9-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio Gate,P0,PLANNED
|
||||
AEG-S10-04,S10,W21-22,VS-12/22,Buy/Replacement,FE,매수후보·대체상품·상품탐색,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S9-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio Gate,P1,PLANNED
|
||||
AEG-S10-05,S10,W21-22,VS-12/22,Buy/Replacement,TEST,매수후보·대체상품·상품탐색,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S9-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio Gate,P0,PLANNED
|
||||
AEG-S10-06,S10,W21-22,VS-12/22,Buy/Replacement,OPS,매수후보·대체상품·상품탐색,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S9-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio Gate,P1,PLANNED
|
||||
AEG-S11-01,S11,W23-24,VS-18/24,Shadow/Scorecard,GOV,가상체결·일평가·drift,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S10-DONE,SOURCE+DESIGN_PROPOSAL,G4-A,P0,PLANNED
|
||||
AEG-S11-02,S11,W23-24,VS-18/24,Shadow/Scorecard,DATA,가상체결·일평가·drift,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S10-DONE,SOURCE+DESIGN_PROPOSAL,G4-A,P0,PLANNED
|
||||
AEG-S11-03,S11,W23-24,VS-18/24,Shadow/Scorecard,BE,가상체결·일평가·drift,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S10-DONE,SOURCE+DESIGN_PROPOSAL,G4-A,P0,PLANNED
|
||||
AEG-S11-04,S11,W23-24,VS-18/24,Shadow/Scorecard,FE,가상체결·일평가·drift,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S10-DONE,SOURCE+DESIGN_PROPOSAL,G4-A,P1,PLANNED
|
||||
AEG-S11-05,S11,W23-24,VS-18/24,Shadow/Scorecard,TEST,가상체결·일평가·drift,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S10-DONE,SOURCE+DESIGN_PROPOSAL,G4-A,P0,PLANNED
|
||||
AEG-S11-06,S11,W23-24,VS-18/24,Shadow/Scorecard,OPS,가상체결·일평가·drift,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S10-DONE,SOURCE+DESIGN_PROPOSAL,G4-A,P1,PLANNED
|
||||
AEG-S12-01,S12,W25-26,VS-23,KIS/Reconciliation,GOV,Capability OFF Adapter·대사,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S11-DONE,SOURCE+DESIGN_PROPOSAL,Pilot-A,P0,PLANNED
|
||||
AEG-S12-02,S12,W25-26,VS-23,KIS/Reconciliation,DATA,Capability OFF Adapter·대사,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S11-DONE,SOURCE+DESIGN_PROPOSAL,Pilot-A,P0,PLANNED
|
||||
AEG-S12-03,S12,W25-26,VS-23,KIS/Reconciliation,BE,Capability OFF Adapter·대사,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S11-DONE,SOURCE+DESIGN_PROPOSAL,Pilot-A,P0,PLANNED
|
||||
AEG-S12-04,S12,W25-26,VS-23,KIS/Reconciliation,FE,Capability OFF Adapter·대사,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S11-DONE,SOURCE+DESIGN_PROPOSAL,Pilot-A,P1,PLANNED
|
||||
AEG-S12-05,S12,W25-26,VS-23,KIS/Reconciliation,TEST,Capability OFF Adapter·대사,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S11-DONE,SOURCE+DESIGN_PROPOSAL,Pilot-A,P0,PLANNED
|
||||
AEG-S12-06,S12,W25-26,VS-23,KIS/Reconciliation,OPS,Capability OFF Adapter·대사,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S11-DONE,SOURCE+DESIGN_PROPOSAL,Pilot-A,P1,PLANNED
|
||||
AEG-S12-07,S12,W25-26,VS-23,Execution,CAPABILITY,,KIS Capability OFF 및 대사,"adapter stub, capability tests","외부 주문 호출 0, partial/duplicate/out-of-order fill break 생성",BE/Ops,Security/Compliance,10,AEG-S11-06,SOURCE+DESIGN_PROPOSAL,Pilot-A,P0,PLANNED
|
||||
AEG-S13-01,S13,W27-28,VS-25,Security/DR/UAT,GOV,보안·kill-switch·DR·UAT,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S12-DONE,SOURCE+DESIGN_PROPOSAL,G5,P0,PLANNED
|
||||
AEG-S13-02,S13,W27-28,VS-25,Security/DR/UAT,DATA,보안·kill-switch·DR·UAT,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S12-DONE,SOURCE+DESIGN_PROPOSAL,G5,P0,PLANNED
|
||||
AEG-S13-03,S13,W27-28,VS-25,Security/DR/UAT,BE,보안·kill-switch·DR·UAT,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S12-DONE,SOURCE+DESIGN_PROPOSAL,G5,P0,PLANNED
|
||||
AEG-S13-04,S13,W27-28,VS-25,Security/DR/UAT,FE,보안·kill-switch·DR·UAT,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S12-DONE,SOURCE+DESIGN_PROPOSAL,G5,P1,PLANNED
|
||||
AEG-S13-05,S13,W27-28,VS-25,Security/DR/UAT,TEST,보안·kill-switch·DR·UAT,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S12-DONE,SOURCE+DESIGN_PROPOSAL,G5,P0,PLANNED
|
||||
AEG-S13-06,S13,W27-28,VS-25,Security/DR/UAT,OPS,보안·kill-switch·DR·UAT,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S12-DONE,SOURCE+DESIGN_PROPOSAL,G5,P1,PLANNED
|
||||
AEG-S14-01,S14,W29-30,Cross,Performance/Cutover,GOV,SLA·backfill·전환리허설,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S13-DONE,SOURCE+DESIGN_PROPOSAL,G6-A,P0,PLANNED
|
||||
AEG-S14-02,S14,W29-30,Cross,Performance/Cutover,DATA,SLA·backfill·전환리허설,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S13-DONE,SOURCE+DESIGN_PROPOSAL,G6-A,P0,PLANNED
|
||||
AEG-S14-03,S14,W29-30,Cross,Performance/Cutover,BE,SLA·backfill·전환리허설,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S13-DONE,SOURCE+DESIGN_PROPOSAL,G6-A,P0,PLANNED
|
||||
AEG-S14-04,S14,W29-30,Cross,Performance/Cutover,FE,SLA·backfill·전환리허설,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S13-DONE,SOURCE+DESIGN_PROPOSAL,G6-A,P1,PLANNED
|
||||
AEG-S14-05,S14,W29-30,Cross,Performance/Cutover,TEST,SLA·backfill·전환리허설,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S13-DONE,SOURCE+DESIGN_PROPOSAL,G6-A,P0,PLANNED
|
||||
AEG-S14-06,S14,W29-30,Cross,Performance/Cutover,OPS,SLA·backfill·전환리허설,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S13-DONE,SOURCE+DESIGN_PROPOSAL,G6-A,P1,PLANNED
|
||||
AEG-S15-01,S15,W31-32,Cross,Go-Live/Hypercare,GOV,자문형 전환·초기안정화,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S14-DONE,SOURCE+DESIGN_PROPOSAL,G6,P0,PLANNED
|
||||
AEG-S15-02,S15,W31-32,Cross,Go-Live/Hypercare,DATA,자문형 전환·초기안정화,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S14-DONE,SOURCE+DESIGN_PROPOSAL,G6,P0,PLANNED
|
||||
AEG-S15-03,S15,W31-32,Cross,Go-Live/Hypercare,BE,자문형 전환·초기안정화,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S14-DONE,SOURCE+DESIGN_PROPOSAL,G6,P0,PLANNED
|
||||
AEG-S15-04,S15,W31-32,Cross,Go-Live/Hypercare,FE,자문형 전환·초기안정화,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S14-DONE,SOURCE+DESIGN_PROPOSAL,G6,P1,PLANNED
|
||||
AEG-S15-05,S15,W31-32,Cross,Go-Live/Hypercare,TEST,자문형 전환·초기안정화,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S14-DONE,SOURCE+DESIGN_PROPOSAL,G6,P0,PLANNED
|
||||
AEG-S15-06,S15,W31-32,Cross,Go-Live/Hypercare,OPS,자문형 전환·초기안정화,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S14-DONE,SOURCE+DESIGN_PROPOSAL,G6,P1,PLANNED
|
||||
AEG-S2-01,S2,W5-6,VS-03/04,MarketData,GOV,PIT 시세·기업행사·총수익·DQ,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S1-DONE,SOURCE+DESIGN_PROPOSAL,G1-B,P0,PLANNED
|
||||
AEG-S2-02,S2,W5-6,VS-03/04,MarketData,DATA,PIT 시세·기업행사·총수익·DQ,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S1-DONE,SOURCE+DESIGN_PROPOSAL,G1-B,P0,PLANNED
|
||||
AEG-S2-03,S2,W5-6,VS-03/04,MarketData,BE,PIT 시세·기업행사·총수익·DQ,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S1-DONE,SOURCE+DESIGN_PROPOSAL,G1-B,P0,PLANNED
|
||||
AEG-S2-04,S2,W5-6,VS-03/04,MarketData,FE,PIT 시세·기업행사·총수익·DQ,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S1-DONE,SOURCE+DESIGN_PROPOSAL,G1-B,P1,PLANNED
|
||||
AEG-S2-05,S2,W5-6,VS-03/04,MarketData,TEST,PIT 시세·기업행사·총수익·DQ,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S1-DONE,SOURCE+DESIGN_PROPOSAL,G1-B,P0,PLANNED
|
||||
AEG-S2-06,S2,W5-6,VS-03/04,MarketData,OPS,PIT 시세·기업행사·총수익·DQ,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S1-DONE,SOURCE+DESIGN_PROPOSAL,G1-B,P1,PLANNED
|
||||
AEG-S2-07,S2,W5-6,VS-03/04,MarketData,GOLDEN,,기업행사·상폐·총수익 Golden,"Golden fixtures, replay report",삼성전자/하이닉스/JYP/AAMRQ 포함 회귀 통과,Data/Quant,QA,8,AEG-S1-02,SOURCE+DESIGN_PROPOSAL,G1-B,P0,PLANNED
|
||||
AEG-S3-01,S3,W7-8,VS-05/06/08,Fundamentals/Cost/Ledger,GOV,OPENDART·비용·원장,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S2-DONE,SOURCE+DESIGN_PROPOSAL,G1,P0,PLANNED
|
||||
AEG-S3-02,S3,W7-8,VS-05/06/08,Fundamentals/Cost/Ledger,DATA,OPENDART·비용·원장,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S2-DONE,SOURCE+DESIGN_PROPOSAL,G1,P0,PLANNED
|
||||
AEG-S3-03,S3,W7-8,VS-05/06/08,Fundamentals/Cost/Ledger,BE,OPENDART·비용·원장,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S2-DONE,SOURCE+DESIGN_PROPOSAL,G1,P0,PLANNED
|
||||
AEG-S3-04,S3,W7-8,VS-05/06/08,Fundamentals/Cost/Ledger,FE,OPENDART·비용·원장,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S2-DONE,SOURCE+DESIGN_PROPOSAL,G1,P1,PLANNED
|
||||
AEG-S3-05,S3,W7-8,VS-05/06/08,Fundamentals/Cost/Ledger,TEST,OPENDART·비용·원장,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S2-DONE,SOURCE+DESIGN_PROPOSAL,G1,P0,PLANNED
|
||||
AEG-S3-06,S3,W7-8,VS-05/06/08,Fundamentals/Cost/Ledger,OPS,OPENDART·비용·원장,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S2-DONE,SOURCE+DESIGN_PROPOSAL,G1,P1,PLANNED
|
||||
AEG-S4-01,S4,W9-10,VS-09/10,Evidence/Sell,GOV,EvidenceSnapshot·Sell Policy Chain,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S3-DONE,SOURCE+DESIGN_PROPOSAL,G2-A,P0,PLANNED
|
||||
AEG-S4-02,S4,W9-10,VS-09/10,Evidence/Sell,DATA,EvidenceSnapshot·Sell Policy Chain,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S3-DONE,SOURCE+DESIGN_PROPOSAL,G2-A,P0,PLANNED
|
||||
AEG-S4-03,S4,W9-10,VS-09/10,Evidence/Sell,BE,EvidenceSnapshot·Sell Policy Chain,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S3-DONE,SOURCE+DESIGN_PROPOSAL,G2-A,P0,PLANNED
|
||||
AEG-S4-04,S4,W9-10,VS-09/10,Evidence/Sell,FE,EvidenceSnapshot·Sell Policy Chain,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S3-DONE,SOURCE+DESIGN_PROPOSAL,G2-A,P1,PLANNED
|
||||
AEG-S4-05,S4,W9-10,VS-09/10,Evidence/Sell,TEST,EvidenceSnapshot·Sell Policy Chain,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S3-DONE,SOURCE+DESIGN_PROPOSAL,G2-A,P0,PLANNED
|
||||
AEG-S4-06,S4,W9-10,VS-09/10,Evidence/Sell,OPS,EvidenceSnapshot·Sell Policy Chain,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S3-DONE,SOURCE+DESIGN_PROPOSAL,G2-A,P1,PLANNED
|
||||
AEG-S4-07,S4,W9-10,VS-10,SignalEngine,POLICY,,6개 Sell Policy와 단위계약,"Policy IDs, Golden vectors",우선순위·core floor·lot ratio/weight 불변조건 통과,Quant/BE,Risk/QA,10,AEG-S3-02,SOURCE+DESIGN_PROPOSAL,G2-A,P0,PLANNED
|
||||
AEG-S5-01,S5,W11-12,VS-11/19,Reentry/Backtest,GOV,재진입·동결 OOS·Golden,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S4-DONE,SOURCE+DESIGN_PROPOSAL,G2,P0,PLANNED
|
||||
AEG-S5-02,S5,W11-12,VS-11/19,Reentry/Backtest,DATA,재진입·동결 OOS·Golden,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S4-DONE,SOURCE+DESIGN_PROPOSAL,G2,P0,PLANNED
|
||||
AEG-S5-03,S5,W11-12,VS-11/19,Reentry/Backtest,BE,재진입·동결 OOS·Golden,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S4-DONE,SOURCE+DESIGN_PROPOSAL,G2,P0,PLANNED
|
||||
AEG-S5-04,S5,W11-12,VS-11/19,Reentry/Backtest,FE,재진입·동결 OOS·Golden,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S4-DONE,SOURCE+DESIGN_PROPOSAL,G2,P1,PLANNED
|
||||
AEG-S5-05,S5,W11-12,VS-11/19,Reentry/Backtest,TEST,재진입·동결 OOS·Golden,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S4-DONE,SOURCE+DESIGN_PROPOSAL,G2,P0,PLANNED
|
||||
AEG-S5-06,S5,W11-12,VS-11/19,Reentry/Backtest,OPS,재진입·동결 OOS·Golden,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S4-DONE,SOURCE+DESIGN_PROPOSAL,G2,P1,PLANNED
|
||||
AEG-S5-07,S5,W11-12,VS-11,SignalEngine,REENTRY,,ReentryWatch 다단계 상태기계,state transition tests,10세션/20고점/50일선/추가조건/126일 만료 통과,Quant/BE,QA,8,AEG-S4-07,SOURCE+DESIGN_PROPOSAL,G2,P0,PLANNED
|
||||
AEG-S6-01,S6,W13-14,VS-07/08,Client/Portfolio,GOV,고객·IPS·계좌·보유·수익률,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S5-DONE,SOURCE+DESIGN_PROPOSAL,MVP-A,P0,PLANNED
|
||||
AEG-S6-02,S6,W13-14,VS-07/08,Client/Portfolio,DATA,고객·IPS·계좌·보유·수익률,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S5-DONE,SOURCE+DESIGN_PROPOSAL,MVP-A,P0,PLANNED
|
||||
AEG-S6-03,S6,W13-14,VS-07/08,Client/Portfolio,BE,고객·IPS·계좌·보유·수익률,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S5-DONE,SOURCE+DESIGN_PROPOSAL,MVP-A,P0,PLANNED
|
||||
AEG-S6-04,S6,W13-14,VS-07/08,Client/Portfolio,FE,고객·IPS·계좌·보유·수익률,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S5-DONE,SOURCE+DESIGN_PROPOSAL,MVP-A,P1,PLANNED
|
||||
AEG-S6-05,S6,W13-14,VS-07/08,Client/Portfolio,TEST,고객·IPS·계좌·보유·수익률,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S5-DONE,SOURCE+DESIGN_PROPOSAL,MVP-A,P0,PLANNED
|
||||
AEG-S6-06,S6,W13-14,VS-07/08,Client/Portfolio,OPS,고객·IPS·계좌·보유·수익률,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S5-DONE,SOURCE+DESIGN_PROPOSAL,MVP-A,P1,PLANNED
|
||||
AEG-S7-01,S7,W15-16,VS-14/15,Recommendation/Review,GOV,추천 생성·maker-checker,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S6-DONE,SOURCE+DESIGN_PROPOSAL,MVP-B,P0,PLANNED
|
||||
AEG-S7-02,S7,W15-16,VS-14/15,Recommendation/Review,DATA,추천 생성·maker-checker,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S6-DONE,SOURCE+DESIGN_PROPOSAL,MVP-B,P0,PLANNED
|
||||
AEG-S7-03,S7,W15-16,VS-14/15,Recommendation/Review,BE,추천 생성·maker-checker,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S6-DONE,SOURCE+DESIGN_PROPOSAL,MVP-B,P0,PLANNED
|
||||
AEG-S7-04,S7,W15-16,VS-14/15,Recommendation/Review,FE,추천 생성·maker-checker,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S6-DONE,SOURCE+DESIGN_PROPOSAL,MVP-B,P1,PLANNED
|
||||
AEG-S7-05,S7,W15-16,VS-14/15,Recommendation/Review,TEST,추천 생성·maker-checker,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S6-DONE,SOURCE+DESIGN_PROPOSAL,MVP-B,P0,PLANNED
|
||||
AEG-S7-06,S7,W15-16,VS-14/15,Recommendation/Review,OPS,추천 생성·maker-checker,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S6-DONE,SOURCE+DESIGN_PROPOSAL,MVP-B,P1,PLANNED
|
||||
AEG-S8-01,S8,W17-18,VS-16/17/18,Publish/Outcome,GOV,고객공개·행동·사후평가·감사,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S7-DONE,SOURCE+DESIGN_PROPOSAL,G3,P0,PLANNED
|
||||
AEG-S8-02,S8,W17-18,VS-16/17/18,Publish/Outcome,DATA,고객공개·행동·사후평가·감사,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S7-DONE,SOURCE+DESIGN_PROPOSAL,G3,P0,PLANNED
|
||||
AEG-S8-03,S8,W17-18,VS-16/17/18,Publish/Outcome,BE,고객공개·행동·사후평가·감사,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S7-DONE,SOURCE+DESIGN_PROPOSAL,G3,P0,PLANNED
|
||||
AEG-S8-04,S8,W17-18,VS-16/17/18,Publish/Outcome,FE,고객공개·행동·사후평가·감사,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S7-DONE,SOURCE+DESIGN_PROPOSAL,G3,P1,PLANNED
|
||||
AEG-S8-05,S8,W17-18,VS-16/17/18,Publish/Outcome,TEST,고객공개·행동·사후평가·감사,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S7-DONE,SOURCE+DESIGN_PROPOSAL,G3,P0,PLANNED
|
||||
AEG-S8-06,S8,W17-18,VS-16/17/18,Publish/Outcome,OPS,고객공개·행동·사후평가·감사,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S7-DONE,SOURCE+DESIGN_PROPOSAL,G3,P1,PLANNED
|
||||
AEG-S8-07,S8,W17-18,VS-16/18,Advisory/Evaluation,AUDIT,,Evidence→Decision→Review→Publish→Outcome 추적,audit trace endpoint/test,publicationId 기준 100% E2E trace,BE/QA,Compliance/Audit,8,AEG-S7-03,SOURCE+DESIGN_PROPOSAL,G3,P0,PLANNED
|
||||
AEG-S9-01,S9,W19-20,VS-13/21,Risk/Rebalance,GOV,ES·집중·상관·리밸런싱,요구사항·정책·Decision Log 확정,"docs/SLICE_SPEC, TRACEABILITY, ADR",승인자·비목표·실패상태·Source 상태가 명시됨,PM/Architect,Compliance/Quant,3,S8-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio-A,P0,PLANNED
|
||||
AEG-S9-02,S9,W19-20,VS-13/21,Risk/Rebalance,DATA,ES·집중·상관·리밸런싱,데이터 계약·PIT·DQ·lineage 구현,"DB migration, source contract, DQ rules",published_at/revision/hash/watermark와 quarantine 경로 통과,Data/DBA,Quant/QA,6,S8-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio-A,P0,PLANNED
|
||||
AEG-S9-03,S9,W19-20,VS-13/21,Risk/Rebalance,BE,ES·집중·상관·리밸런싱,Vertical Slice Backend 구현,"Endpoint, Validator, Application, Policy, Dapper SQL, Outbox",멱등·트랜잭션·불변조건·ProblemDetails·trace 통과,BE Lead,Architect/QA,8,S8-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio-A,P0,PLANNED
|
||||
AEG-S9-04,S9,W19-20,VS-13/21,Risk/Rebalance,FE,ES·집중·상관·리밸런싱,화면·컴포넌트·상태 계약 구현,"Vue route, Zod, Query, components",loading/empty/warn/error/401/403/409/expired와 접근성 통과,FE Lead,UX/QA,6,S8-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio-A,P1,PLANNED
|
||||
AEG-S9-05,S9,W19-20,VS-13/21,Risk/Rebalance,TEST,ES·집중·상관·리밸런싱,자동화 테스트와 Golden/Regression,"xUnit, Vitest, Playwright, Data/Architecture tests","Given/When/Then, boundary, replay, failure path 자동화",QA Lead,Quant/BE/FE,6,S8-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio-A,P0,PLANNED
|
||||
AEG-S9-06,S9,W19-20,VS-13/21,Risk/Rebalance,OPS,ES·집중·상관·리밸런싱,관제·Job·Runbook·Rollback,"OTel metric/alert, Hangfire job, runbook","Owner/Secondary, SLA, retry/reprocess, rollback rehearsal",SRE/Ops,Security/PM,4,S8-DONE,SOURCE+DESIGN_PROPOSAL,Portfolio-A,P1,PLANNED
|
||||
|
@@ -0,0 +1,21 @@
|
||||
ID,Category,Priority,Debt,Impact,Repayment_Action,Owner,Trigger/Gate,Status
|
||||
TD-001,Safety,P0,FE lockfile 없음,재현 불가능,G0 전 pnpm-lock 생성·review·commit,DevOps,G0,OPEN
|
||||
TD-002,Safety,P0,.NET build 미검증,컴파일 결함 가능,승인 환경에서 restore/build/test,BE Lead,G0,OPEN
|
||||
TD-003,Integrity,P0,PostgreSQL migration rehearsal 미실행,fresh/upgrade 실패 가능,fresh/upgrade/re-run/failure 복구,DBA,G0,OPEN
|
||||
TD-004,Integrity,P0,원시 연구 데이터 미포함/권리 미확정,clean-room 재현 불가,Source catalog·license·checksum 확보,Data Owner,G1,OPEN
|
||||
TD-005,Integrity,P0,KR 검증 종료 2021-04-16,최근 국면 검증 공백,PIT 데이터 보충 후 frozen OOS,Quant/Data,G4,OPEN
|
||||
TD-006,Safety,P0,실제 Auth provider 미결정,생산 접근통제 불가,OIDC/JWT ADR와 E2E,Security,G5,OPEN
|
||||
TD-007,Integrity,P0,총수익·상폐수익 공급원 미확정,생존편향/성과왜곡,상용/공식 source 계약,Data Owner,G1,OPEN
|
||||
TD-008,Integrity,P0,Fee/Tax/FX PIT 표 미확정,비용후 효용 오류,valid_from/to schedule 승인,Quant/Compliance,G1,OPEN
|
||||
TD-009,Delivery,P1,Outbox publisher/Inbox consumer 미완성,비동기 side effect 누락/중복,lease/dead-letter/replay 구현,BE/SRE,G3,OPEN
|
||||
TD-010,Delivery,P1,Hangfire JobRun 표준 미완성,재처리·감사 취약,JobRunId/Scope/Watermark/hash 공통화,BE/SRE,G1,OPEN
|
||||
TD-011,Integrity,P1,Architecture test가 일부 문자열 기반,의존 위반 누락,csproj/namespace/schema 검사 확대,Architect,G0,IN_PROGRESS
|
||||
TD-012,Delivery,P1,OpenAPI DTO generation 미도입,BE/FE 계약 drift,OpenAPI artifact와 CI diff,BE/FE,G3,OPEN
|
||||
TD-013,Safety,P1,PII masking test 미완성,로그/Telegram 노출,redaction policy+security tests,Security/SRE,G5,OPEN
|
||||
TD-014,Integrity,P1,Model promotion workflow 미구현,무단 모델 활성화,maker-checker/model card/rollback,Governance,G4,OPEN
|
||||
TD-015,Integrity,P1,Read Model rebuild 도구 미구현,stale projection 복구 불가,projection version/watermark/rebuild command,BE/Data,G3,OPEN
|
||||
TD-016,Delivery,P1,SLO/RPO/RTO 미확정,운영 준비도 판단 불가,용량시험·DR ADR,SRE/Ops,G5,OPEN
|
||||
TD-017,Convenience,P2,공통 DataGridShell 미구현,화면 중복,3회 이상 반복 확인 후 승격,FE Lead,S10,OPEN
|
||||
TD-018,Integrity,P1,PBO/DSR 전체 탐색 미완료,과최적화 위험,모든 시도 원장+CSCV/DSR,Quant,G4,OPEN
|
||||
TD-019,Integrity,P1,Reentry asset confirmation provider 미구현,재진입 품질 저하,자산유형 contract와 PIT source,Quant/Data,G2,OPEN
|
||||
TD-020,Safety,P0,자동주문 기능은 금지 상태,오활성화 위험,Options ValidateOnStart+CI config scan 유지,Security/Compliance,ALL,MITIGATED
|
||||
|
@@ -0,0 +1,19 @@
|
||||
Requirement_ID,Requirement,Evidence_Status,Policy_or_Contract,Code,DB_or_Artifact,Test_ID,Gate
|
||||
REQ-001,투자자문형 우선·자동주문 OFF,SOURCE,CAP-ORDER-OFF,Capabilities options,Host startup validation,TC-CAP-001,G0
|
||||
REQ-002,Hard impairment 최우선,SOURCE,ALG-SELL-001,HardImpairmentPolicy,signal_decision,TC-SELL-001,G2
|
||||
REQ-003,Portfolio survival 2순위,SOURCE,ALG-SELL-PORT-001,PortfolioSurvivalPolicy,signal_decision,TC-SELL-002,G2
|
||||
REQ-004,Gap 1.5 ATR 부분매도,SOURCE,ALG-SELL-002,GapFloorBreachPolicy,signal_decision,TC-SELL-003,G2
|
||||
REQ-005,2종가 보호선 이탈,SOURCE,ALG-SELL-003,TwoCloseFloorBreachPolicy,signal_decision,TC-SELL-004,G2
|
||||
REQ-006,집중/유동성 축소,SOURCE,ALG-SELL-004,ConcentrationLiquidityPolicy,signal_decision,TC-SELL-005,G2
|
||||
REQ-007,기회비용 신뢰하단>0,SOURCE,ALG-SELL-005,OpportunityCostPolicy,signal_decision,TC-SELL-006,G2
|
||||
REQ-008,Lot 비율과 포트폴리오 비중 분리,DESIGN_PROPOSAL,DATA-UNIT-001,SellDecisionInput/Decision,0012 migration,TC-UNIT-001,G2
|
||||
REQ-009,PIT published_at,SOURCE,DQ-01,ContextReader,sell_decision_context,TC-PIT-001,G1
|
||||
REQ-010,Evidence Version Set,SOURCE,EVID-001,SellDecisionService,signal_decision,TC-EVID-001,G2
|
||||
REQ-011,Idempotency+Outbox,SOURCE,REL-001,SellDecisionService,outbox_message,TC-OUT-001,G2
|
||||
REQ-012,Reentry 최소 10세션,SOURCE,ALG-REENTRY-001,ReentryStateMachine,reentry_watch/stage,TC-RE-001,G2
|
||||
REQ-013,Research/production endpoint 분리,DESIGN_PROPOSAL,API-BOUNDARY-001,EvaluateResearch/GenerateSell,N/A,TC-API-001,G0
|
||||
REQ-014,Fail-closed 인증,SOURCE,SEC-001,Host Security,N/A,TC-AUTH-001,G0
|
||||
REQ-015,FE runtime contract,DESIGN_PROPOSAL,FE-CONTRACT-001,Zod schema/api,N/A,TC-FE-001,G3
|
||||
REQ-016,Immutable Decision/Audit,SOURCE,AUD-001,DB trigger,0011/0012,TC-AUD-001,G2
|
||||
REQ-017,252일 Shadow 복수국면,SOURCE,GATE-SHADOW-001,Evaluation module,outcome/scorecard,TC-SHD-001,G4
|
||||
REQ-018,PBO/DSR/비용2배,SOURCE,GATE-MODEL-001,Backtesting,backtest artifact,TC-BKT-001,G4
|
||||
|
@@ -0,0 +1,8 @@
|
||||
Decision_ID,Decision_Required,Status,Owner,Due_Gate,Blocked_Action
|
||||
DEC-001,상용 총수익·상폐·컨센서스 공급계약,OPEN,Data Owner/Compliance,G1,생산 성과 주장 금지
|
||||
DEC-002,OIDC/JWT 인증 공급자와 role mapping,OPEN,Security/Architect,G5,외부 Pilot 금지
|
||||
DEC-003,Fee/Tax/FX valid-time schedule,OPEN,Quant/Compliance,G1,현재 단일 비용값 금지
|
||||
DEC-004,고객군별 IPS·적합성 문구,OPEN,Product/Compliance,G3,고객 공개 금지
|
||||
DEC-005,SLO/RPO/RTO/DR topology,OPEN,SRE/Ops,G5,Go-Live 금지
|
||||
DEC-006,KIS 시장·계좌·부분체결 Capability,OPEN,Execution/Compliance,Pilot-A,KIS submit 금지
|
||||
DEC-007,pnpm lockfile 최종 dependency set,OPEN,FE/DevOps,G0,frozen CI 금지
|
||||
|
@@ -0,0 +1,12 @@
|
||||
# 20영업일 재착수 계획
|
||||
|
||||
| 기간 | 작업 | 완료 증거 |
|
||||
|---|---|---|
|
||||
| D1~D3 | 첨부 기준선 승인, Coverage Matrix, Decision Log, 자동주문 OFF | Steering sign-off |
|
||||
| D4~D6 | SDK/pnpm/lockfile, secret/env, Gitea CI, static validation | CI bootstrap green |
|
||||
| D7~D10 | DbUp fresh/upgrade/re-run, Outbox/Inbox, Auth fail-closed, Architecture tests | G0 통과 |
|
||||
| D11~D14 | SecurityMaster/MarketData/PIT/CorporateAction/DQ Critical Path | replay hash 동일, lookahead 0 |
|
||||
| D15~D17 | Evidence/Decision/Policy/Reentry Golden과 DB invariant | G2-A 통과 |
|
||||
| D18~D20 | 연구 콘솔과 생산형 Decision Slice contract/E2E, OTel trace | 첫 Vertical Slice Done |
|
||||
|
||||
20일 안에 전체 제품을 만들지 않는다. 첫 Slice를 완전하게 통과시켜 이후 반복 가능한 패턴을 만드는 것이 목표다.
|
||||
@@ -0,0 +1,46 @@
|
||||
# 기본 템플릿 사용법
|
||||
|
||||
## 1. 사전 준비
|
||||
|
||||
- .NET SDK 10.0.100 이상.
|
||||
- Node.js 22.
|
||||
- pnpm 10.
|
||||
- PostgreSQL 17.
|
||||
|
||||
현재 패키지에는 registry 접근이 불가능한 환경에서 생성되었으므로 `pnpm-lock.yaml`이 없다. 네트워크가 가능한 승인 환경에서 한 번 생성하고 dependency review 후 커밋한다.
|
||||
|
||||
## 2. 실행 순서
|
||||
|
||||
```bash
|
||||
cp frontend/.env.example frontend/.env.local
|
||||
docker compose up -d postgres
|
||||
|
||||
dotnet restore KArtSell.sln
|
||||
dotnet run --project src/KArtSell.DbMigrator
|
||||
dotnet test KArtSell.sln
|
||||
dotnet run --project src/KArtSell.Host
|
||||
|
||||
cd frontend
|
||||
pnpm install
|
||||
pnpm typecheck
|
||||
pnpm test
|
||||
pnpm build
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
Development 연구 Endpoint 호출 시 `X-KArtSell-User`, `X-KArtSell-Role=Quant`가 필요하다. Frontend는 `.env.local` 값이 있을 때 개발 환경에서만 해당 Header를 추가한다.
|
||||
|
||||
## 3. 생산 전 필수 교체
|
||||
|
||||
- DevelopmentHeader 인증을 승인된 OIDC/JWT 공급자로 교체.
|
||||
- Connection string과 secret를 vault/secret store로 이동.
|
||||
- OTLP endpoint, Telegram alert, SLO/Runbook 설정.
|
||||
- Source adapter 계약과 라이선스 승인.
|
||||
- pnpm lockfile과 Software Bill of Materials.
|
||||
|
||||
## 4. 금지
|
||||
|
||||
- `Capabilities:AutomaticOrder=true`.
|
||||
- `Capabilities:KisOrderAdapter=true`.
|
||||
- 실계좌/실주문 credential 저장.
|
||||
- Research Endpoint를 고객 화면에서 호출.
|
||||
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
Version/Source,Role,Coverage,Evidence,Status
|
||||
v10.0,Baseline,"47개 장, 26 Slice, 16 Sprint, Gate",원본 DOCX 포함,RETAINED
|
||||
12.2 Research,Research Evidence,정량결과·코드·CSV·구성안,원본 ZIP/압축해제 포함,RETAINED
|
||||
v11,Implementation Skeleton,.NET/Vue 최초 템플릿,원본 ZIP/압축해제 포함,RETAINED
|
||||
v11.1,Hardening Delta,보안·불변·WBS·기술부채,원본 ZIP/압축해제 포함,RETAINED
|
||||
v12.0,Integrated Delta,정책단위·서버 Evidence·FailClosed·WBS,본 패키지,IMPROVED
|
||||
|
@@ -0,0 +1,43 @@
|
||||
# K-ArtSell Aegis v12.1 실행준비 고도화 제안
|
||||
|
||||
상태: `IMPLEMENTATION_TEMPLATE / STATIC_VALIDATED / BUILD_AND_DB_REHEARSAL_REQUIRED`
|
||||
운영 경계: **투자자문형 우선 · RESEARCH_CANDIDATE_NOT_PRODUCTION · 자동주문/KIS 제출 OFF**
|
||||
|
||||
## 1. 경영진 결론
|
||||
|
||||
v12.1은 기존 문서를 다시 쓰는 요약본이 아니다. v10.0의 `Baseline Preservation + Delta + Supersession + Traceability`를 유지하고, K-ArtSell 12.2 연구근거, v11 구현 골격, v11.1 하드닝, v12.0 통합 패키지 위에 **실행준비도 Delta**를 추가한다.
|
||||
|
||||
핵심은 기능 수가 아니라 다음 Critical Path의 완결성이다.
|
||||
|
||||
`Source/License → PIT/Revision/DQ → Evidence/Version Set → Sell/Reentry Policy → Recommendation → Maker-Checker → Publish → Outcome → Reconciliation/DR`
|
||||
|
||||
대시보드나 상품탐색을 앞당겨도 이 경로가 끊기면 생산준비도는 올라가지 않는다.
|
||||
|
||||
## 2. v12.1에서 보강한 것
|
||||
|
||||
- 현재 세션 첨부파일 **8개를 원본 그대로 보존**하고 SHA-256·중복그룹을 기록했다.
|
||||
- 26개 Vertical Slice를 Requirement/API/DB/Job/UI/Test/Gate에 연결했다.
|
||||
- 상세 WBS를 **202개 실행 작업**으로 재구성했다. 각 행은 산출물·수용증거·Owner·의존성·Gate·PD를 가진다.
|
||||
- Generic Repository/God Service/조기 microservice/현재값 overwrite/무승인 자동 추상화를 금지한다.
|
||||
- Outbox/Inbox, JobRun, Projection checkpoint, PIT/DQ, immutable audit의 기본 템플릿을 보강한다.
|
||||
- FE는 TanStack Query=서버상태, Pinia=세션/권한/UI 선호, vee-validate+Zod=폼, vue-router=공유상태로 책임을 고정한다.
|
||||
- 바이브코딩은 `SOURCE / ASSUMPTION / UNKNOWN / DECISION_REQUIRED`를 강제하고 실행하지 않은 검증은 통과로 기록하지 않는다.
|
||||
|
||||
## 3. 즉시 Go/No-Go
|
||||
|
||||
현재는 **코딩 착수용 템플릿은 Go, 생산/Shadow 승격은 No-Go**다.
|
||||
|
||||
Go 전 필수:
|
||||
1. 승인 runner의 `.NET 10 restore/build/test`.
|
||||
2. `pnpm-lock.yaml` 생성·검토 후 frozen install/typecheck/test/build.
|
||||
3. PostgreSQL fresh/upgrade/re-run/failure migration rehearsal.
|
||||
4. OIDC/JWT, 데이터 라이선스, Fee/Tax/FX, SLO/RPO/RTO 결정.
|
||||
5. 252거래일·복수 국면 Shadow와 PBO/DSR/비용 2배 검증.
|
||||
|
||||
## 4. 과유불급 원칙
|
||||
|
||||
- 초기 배포는 Modular Monolith다. 실제 독립 배포·확장·장애 격리 요구가 증명되기 전 microservice로 분리하지 않는다.
|
||||
- 동일 업무 의미와 변경축이 3회 이상 반복될 때만 공통 컴포넌트로 승격한다.
|
||||
- 한 번 쓰는 Interface/Wrapper/Factory는 만들지 않는다.
|
||||
- 정책 변경과 동작보존 리팩터링은 별도 PR로 분리한다.
|
||||
- 정규화 Write Model과 역정규화 Read Model을 분리하며, Read Model에는 Owner/Version/Watermark/Rebuild/Staleness가 필수다.
|
||||
@@ -0,0 +1,9 @@
|
||||
Attachment,Bytes,SHA256,Duplicate_Group,Role,Treatment,Evidence_Status
|
||||
K-ArtSell_12_2_complete_package(1).zip,2513047,1e9df605a91f227fb5ff4ea057e55f4319e62060fbaf8e64551756ee2931c5ea,-,연구 코드·CSV·정량 감사·구성안,원본 무변경 보존; v12.1은 Delta만 추가,SOURCE
|
||||
K-ArtSell_Aegis_v12_통합고도화_실행제안서(1).docx,54732,62845eaf5382ed78e6b6065f3e95c4af9cd87f71bc418bf0077b68e727fce832,K-ArtSell_Aegis_v12_통합고도화_실행제안서(1).docx | K-ArtSell_Aegis_v12_통합고도화_실행제안서.docx,v12.0 실행제안서,원본 무변경 보존; v12.1은 Delta만 추가,SOURCE
|
||||
K-ArtSell_Aegis_v12_통합고도화_실행제안서.docx,54732,62845eaf5382ed78e6b6065f3e95c4af9cd87f71bc418bf0077b68e727fce832,K-ArtSell_Aegis_v12_통합고도화_실행제안서(1).docx | K-ArtSell_Aegis_v12_통합고도화_실행제안서.docx,v12.0 실행제안서,원본 무변경 보존; v12.1은 Delta만 추가,SOURCE
|
||||
K-ArtSell_퀀트투자자문_SI_본프로그램착수_누적고도화_통합실행기준서_v10.0(1).docx,402134,d86795186ec5f578741d64618eb53278a1c3a55795e73307e5bee245980a83a6,-,최상위 누적 실행기준서,원본 무변경 보존; v12.1은 Delta만 추가,SOURCE
|
||||
KArtSell_Aegis_v11_1_hardening(1).zip,89397,01b3d3025dfb3a6cafcff4d751851240a6087c2329e5c1472ec31703f209ccbd,-,보안·불변성·기술부채 Delta,원본 무변경 보존; v12.1은 Delta만 추가,SOURCE
|
||||
KArtSell_Aegis_v12_0_integrated_complete(1).zip,8493363,8ccc4403cdd0fcb2ddf7bdcdcd18719dbc22497fcecdaa0082a1c98b4cd82c04,KArtSell_Aegis_v12_0_integrated_complete(1).zip | KArtSell_Aegis_v12_0_integrated_complete.zip,v12.0 통합 구현 패키지,원본 무변경 보존; v12.1은 Delta만 추가,SOURCE
|
||||
KArtSell_Aegis_v12_0_integrated_complete.zip,8493363,8ccc4403cdd0fcb2ddf7bdcdcd18719dbc22497fcecdaa0082a1c98b4cd82c04,KArtSell_Aegis_v12_0_integrated_complete(1).zip | KArtSell_Aegis_v12_0_integrated_complete.zip,v12.0 통합 구현 패키지,원본 무변경 보존; v12.1은 Delta만 추가,SOURCE
|
||||
KArtSell_v11_implementation_acceleration(1).zip,56738,2bd5713b98104bf7ac45362105d9b3175d5ca818c06753e572aaf79a936658a2,-,최초 .NET/Vue 구현 골격,원본 무변경 보존; v12.1은 Delta만 추가,SOURCE
|
||||
|
@@ -0,0 +1,39 @@
|
||||
# 전략 아키텍처·SOLID·리팩터링 기준
|
||||
|
||||
## 아키텍처 경계
|
||||
|
||||
- Host: composition root, 인증/관제/Endpoint 조립만 담당한다.
|
||||
- Module: Vertical Slice와 모듈 내부 정책·저장소를 소유한다.
|
||||
- Domain: FastEndpoints, Dapper, Npgsql, Hangfire, HTTP를 참조하지 않는다.
|
||||
- Application: use case, idempotency, transaction, context loading, orchestration을 담당한다.
|
||||
- Infrastructure: SQL, 외부 Adapter, Outbox/Inbox, Projection 구현을 담당한다.
|
||||
- Contracts: 모듈 간 최소 integration event만 공유한다. 타 모듈 테이블 직접 조회를 금지한다.
|
||||
|
||||
## SOLID의 현장 적용
|
||||
|
||||
| 원칙 | 적용 | 금지 |
|
||||
|---|---|---|
|
||||
| SRP | Endpoint=HTTP, Handler=유스케이스, Policy=결정, Adapter=I/O | God Service, Hangfire Job 내 정책 |
|
||||
| OCP | 승인된 Policy/DQ/Adapter registry | reflection plugin framework |
|
||||
| LSP | Adapter contract test로 시간·단위·오류 의미 보장 | mock 성공만으로 교체 가능 판정 |
|
||||
| ISP | IClock, ContextReader, OutboxWriter 등 좁은 Port | 범용 Repository/Manager |
|
||||
| DIP | Domain은 외부 기술을 모름 | Npgsql/HTTP 타입의 Domain 침투 |
|
||||
|
||||
## 리팩터링 순서
|
||||
|
||||
1. Characterization/Golden test로 현재 동작을 고정한다.
|
||||
2. 정책 변경과 구조 변경을 분리한다.
|
||||
3. 이름·단위·시간 의미를 먼저 교정한다.
|
||||
4. 중복은 문장이 아니라 **업무 의미와 변경축**이 같을 때만 통합한다.
|
||||
5. PR마다 성능·데이터·감사·운영 영향과 rollback을 기록한다.
|
||||
6. 기술부채는 Owner, Interest, Trigger, Gate, Exit Test를 가진다.
|
||||
|
||||
## Fitness Functions
|
||||
|
||||
- 모듈→모듈 직접 project reference allowlist.
|
||||
- Domain의 Infrastructure namespace/package 참조 0.
|
||||
- 모듈 소유 schema 외 SQL 접근 0.
|
||||
- Endpoint마다 인증/권한 선언 100%.
|
||||
- API/DDL/Event/Job/UI/Test ID 중복 0.
|
||||
- 문서/DDL/OpenAPI/Test contract CI diff.
|
||||
- `AutomaticOrder=false`, `KisOrderAdapter=false` config scan.
|
||||
@@ -0,0 +1,36 @@
|
||||
# 알고리즘 거버넌스와 구현 계약
|
||||
|
||||
## 고정 우선순위
|
||||
|
||||
`HARD_IMPAIRMENT → PORTFOLIO_SURVIVAL → DYNAMIC_PROFIT_FLOOR → CONCENTRATION/LIQUIDITY → OPPORTUNITY_COST → REENTRY_OPTION`
|
||||
|
||||
상위 사유는 하위 점수로 상쇄하지 않는다. 회계부정·지급불능·상장폐지·구조적 ETF 훼손은 기대수익 비교가 아니라 승인된 증거등급의 Hard Exit로 처리한다.
|
||||
|
||||
## 단위 계약
|
||||
|
||||
- `SellRatioOfLot`: 현재 Lot 수량 중 매도 비율, 0..1.
|
||||
- `CurrentPortfolioWeight`: 현재 포트폴리오 절대비중, 0..1.
|
||||
- `StrategicCoreFloorWeight`: 비가치훼손 Soft Sell에서 보존할 절대비중.
|
||||
- `TargetPortfolioWeightAfter`: 결정 후 예상 절대비중.
|
||||
- `OpportunityEdgeLowerBound`: 비용·세금·FX·재진입 옵션손실을 반영한 교체우위 신뢰하단.
|
||||
|
||||
## 정책
|
||||
|
||||
| ID | 조건 | 행동 | 재진입 |
|
||||
|---|---|---|---|
|
||||
| ALG-SELL-001 | 승인된 영구가치훼손 | 80~100% 또는 전량; 운영승인 | 금지 |
|
||||
| ALG-SELL-PORT-001 | 자본바닥/생존 위반 | 위험예산까지 축소 | 별도 승인 |
|
||||
| ALG-SELL-002 | 보호선 1.5 ATR 이상 Gap | Lot 30~50% 부분매도 | 가능 |
|
||||
| ALG-SELL-003 | 2개 종가 연속 이탈 | Lot 15~25% 부분매도 | 가능 |
|
||||
| ALG-SELL-004 | 단일/섹터/클러스터/ADV 한도 초과 | 초과분+버퍼 축소 | 가능 |
|
||||
| ALG-SELL-005 | 비용후 교체우위 4~5%p, 하단>0 | Lot 10~25% 단계교체 | 가능 |
|
||||
|
||||
정책 비율의 단일값 고정은 설계제안이며 모델카드·Golden·OOS 승인 전 생산값이 아니다. v12.2가 제시한 범위와 자산유형별 정책을 보존한다.
|
||||
|
||||
## 재진입
|
||||
|
||||
비가치훼손 매도는 `ReentryWatch`를 생성한다. 최소 10거래일 대기, 상승 SMA50, 직전 20거래일 고점 돌파, 자산유형 확인팩터, 단계 간 10거래일, 126거래일 만료를 적용한다. 각 단계는 unique key를 가지며 새 Lot과 새 CycleId를 만든다.
|
||||
|
||||
## 평가
|
||||
|
||||
적중률 단독 최적화를 금지한다. 1/5/20/63/126/252일 창에서 calibration, 비용후 기대효용, ES/MDD 감소, 영구손실 회피, false-exit 비용, reentry capture, 운영무결성을 분리해 측정한다. 투자일임형 검토는 최소 252거래일·복수 국면 Shadow, PBO≤20%, DSR≥95%, 비용 2배 기대효용 양수, 독립검증·준법·보안·DR 승인을 모두 요구한다.
|
||||
@@ -0,0 +1,37 @@
|
||||
# 데이터 정합성·정규화·역정규화 실행계약
|
||||
|
||||
## L0~L7
|
||||
|
||||
| Layer | 내용 | 불변조건 |
|
||||
|---|---|---|
|
||||
| L0 | Source catalog/license/SLA/schema/timezone/unit | 승인 없는 소스 사용 금지 |
|
||||
| L1 | Raw payload/hash/event/published/ingested | overwrite 금지 |
|
||||
| L2 | Canonical PIT price/CA/fundamental/consensus/cost | revision+valid time |
|
||||
| L3 | DQ/quarantine/lineage/dataset manifest | QUARANTINED 추천 금지 |
|
||||
| L4 | Feature/Forecast/Risk/Evidence | data/model/config/code SHA |
|
||||
| L5 | Ledger/Decision/Review/Publish/Fill/Outcome | append/reversal/correction event |
|
||||
| L6 | UI/report Read Model | Owner/version/watermark/rebuild/staleness |
|
||||
| L7 | Backtest/ModelCard/Release artifact | artifact hash |
|
||||
|
||||
## 정규화
|
||||
|
||||
원장·현금·Lot·주문·체결은 3NF와 append/reversal을 기본으로 한다. 현재상태와 이력, 추천과 공개, 모델버전과 승격 이벤트, 수수료 설정과 유효기간을 분리한다. `current=true` 하나로 과거값을 잃지 않는다.
|
||||
|
||||
## 역정규화
|
||||
|
||||
Read Model에만 허용한다. 화면 성능을 이유로 Source Table을 임의 join하거나 현재값을 복사하지 않는다. Projection은 `ProjectionName, Version, SourceWatermark, LastEventId, BuiltAt, ContentHash`를 보존하고 재구축·diff가 가능해야 한다.
|
||||
|
||||
## PIT 최소 필드
|
||||
|
||||
`source_event_time, published_at, ingested_at, effective_from/to, revision_no, source_id, content_hash, quality_status, tradable_session, dataset_id`.
|
||||
|
||||
## DQ Release Blocker
|
||||
|
||||
- same-session lookahead 0.
|
||||
- 기업행사 가격·수량·원가·배당 공식대사.
|
||||
- 가격수익/총수익 구분.
|
||||
- 당시 유니버스와 상폐수익 포함.
|
||||
- OHLC/단위/통화/비정상 gap 격리.
|
||||
- key 중복·거래일 결측·watermark 연속성.
|
||||
- Fee/Tax/FX valid-time.
|
||||
- 동일 dataset/code/config hash 결과 재현.
|
||||
@@ -0,0 +1,28 @@
|
||||
# BE·FE·Hangfire·컴포넌트 표준
|
||||
|
||||
## Backend Slice
|
||||
|
||||
`Endpoint → Request/Validator → Application UseCase → Domain Policy → Dapper SQL → Outbox → Tests`
|
||||
|
||||
생산형 Command는 클라이언트가 Evidence/Model/Config를 임의 제공하지 못하게 한다. 서버가 승인된 PIT Read Model과 Version Set을 조회한다. Decision과 Outbox는 동일 트랜잭션이며, idempotency key 충돌 시 원결과를 반환하거나 409를 명시한다.
|
||||
|
||||
## Outbox/Inbox
|
||||
|
||||
- Outbox: 미발행 lease, attempt, next_attempt_at, dead-letter, payload hash.
|
||||
- Inbox: consumer+message unique, processing lease, result hash.
|
||||
- Exactly-once를 주장하지 않고 at-least-once + idempotent side effect를 구현한다.
|
||||
- replay는 승인·범위·watermark·dry-run·영향분석이 있어야 한다.
|
||||
|
||||
## Hangfire
|
||||
|
||||
모든 Job은 `JobRunId, JobType/Version, ScopeKey, IdempotencyKey, Watermark, Dataset/Model/Config/Code SHA, Input/Output Hash, Attempt, TraceId`를 가진다. transient retry, business hold, DQ quarantine, poison event를 분리한다.
|
||||
|
||||
## Frontend
|
||||
|
||||
- TanStack Query: 서버 상태와 캐시.
|
||||
- Pinia: 세션·역할·UI preference. 서버 데이터를 복제하지 않는다.
|
||||
- vee-validate+Zod: 폼·요청/응답 runtime validation.
|
||||
- vue-router: 공유·복구 가능한 URL 상태.
|
||||
- AG Grid: 대량 목록의 server-side pagination/filter/sort.
|
||||
|
||||
공통 컴포넌트는 `QueryStateBoundary`, `PermissionGuard`, `DataFreshnessBadge`, `EvidenceVersionSet`, `VersionConflictDialog`, `DataGridShell` 후보로 한정한다. 동일 업무 의미와 변경축이 반복될 때만 승격한다.
|
||||
@@ -0,0 +1,27 @@
|
||||
Slice_ID,Slice,Module,Sprint,Weeks,Gate,Requirement_ID,Endpoint_ID,DB_ID,Job_ID,UI_ID,Test_ID,User_Result,Dependency,Status
|
||||
VS-00,PlatformBootstrap,Host/BuildingBlocks,S0,W1-2,G0,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,빌드·마이그레이션·관제 가능한 단일 배포 골격,-,PLANNED
|
||||
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
|
||||
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
|
||||
VS-03,IngestMarketDataPIT,MarketData,S2,W5-6,G1-B,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,원시·조정 OHLCV·FX·금리의 revision 적재,VS-02,PLANNED
|
||||
VS-04,ApplyCorporateActions,SecurityMaster,S2,W5-6,G1-B,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,분할·배당·증자·합병·상폐의 가격·수량·원가 일관성,"VS-02,VS-03",PLANNED
|
||||
VS-05,IngestFundamentalsPIT,FundamentalsPIT,S3,W7-8,G1,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,공시·재무·컨센서스 공개시각과 정정 이력,VS-02,PLANNED
|
||||
VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,S3,W7-8,G1,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,계좌·시장·상품별 Fee/Tax/FX valid-time 계약,VS-02,PLANNED
|
||||
VS-07,ManageClientIPS,ClientAdvisory,S6,W13-14,MVP-A,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,고객 목표·위험성향·제한상품의 버전 관리,VS-01,PLANNED
|
||||
VS-08,MaintainPortfolioLedger,PortfolioRisk,S3,W7-8,G1,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,현금·체결·Lot·Cycle 불변 원장과 대사 기준,"VS-02,VS-06",PLANNED
|
||||
VS-09,BuildEvidenceSnapshot,ResearchFactors,S4,W9-10,G2-A,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Dataset/Model/Config/Code SHA가 동결된 Evidence,"VS-03,VS-04,VS-05,VS-06",PLANNED
|
||||
VS-10,GenerateSellDecision,SignalEngine,S4,W9-10,G2-A,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,우선순위가 보존된 HOLD/부분매도/전량매도 결정,"VS-08,VS-09,VS-13",PLANNED
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
VS-17,RecordClientDecision,ClientAdvisory,S8,W17-18,G3,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,고객 수락·거절·보류와 attribution 연결,VS-16,PLANNED
|
||||
VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,S8,W17-18,G3,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,1/5/20/63/126/252일 결과·매도·재진입 품질 평가,"VS-10,VS-11,VS-16,VS-17",PLANNED
|
||||
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
|
||||
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
|
||||
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
|
||||
VS-22,SuggestReplacementProducts,PortfolioRisk,S10,W21-22,Portfolio Gate,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,적합성·유동성·비용후 기회우위 대체상품 비교,"VS-07,VS-12,VS-13",PLANNED
|
||||
VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,S12,W25-26,Pilot-A,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,브로커·내부 주문·체결·보유·현금 break와 승인 정정,"VS-08,VS-16",PLANNED
|
||||
VS-24,ReportAndNotify,ReportingNotifications,S11,W23-24,G4-A,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,고객 리포트·SignalR·Telegram 운영 경보,"VS-16,VS-18",PLANNED
|
||||
VS-25,AuditAndKillSwitch,GovernanceAudit,S13,W27-28,G5,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,입력→결정→승인→공개→실행→평가 추적과 단계별 차단,"VS-01,VS-16,VS-20,VS-23",PLANNED
|
||||
|
@@ -0,0 +1,203 @@
|
||||
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
|
||||
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
|
||||
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
|
||||
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-X-004,S0,W1-2,Cross,Cross-cutting,Database,DBA,REQ-DB-001,Cross,Cross,Cross,Cross,Cross,DbUp fresh/upgrade/re-run/failure 복구 rehearsal 고도화,DbUp fresh/upgrade/re-run/failure 복구 rehearsal,PostgreSQL 승인 버전에서 4 시나리오와 checksum 변경 차단 통과,DBA/BE,Architect/QA,8,AEG-X-002,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-005,S0,W1-2,Cross,Cross-cutting,Security,SEC,REQ-SEC-BASE,Cross,Cross,Cross,Cross,Cross,"OIDC/JWT ADR, DevelopmentHeader 제한, fail-closed 고도화","OIDC/JWT ADR, DevelopmentHeader 제한, fail-closed","비개발 무인증 접근 0, secret/log/prompt 노출 0",Security/BE,Architect/QA,7,AEG-X-001,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-006,S0,W1-2,Cross,Cross-cutting,Reliability,ASYNC,REQ-ASYNC-001,Cross,Cross,Cross,Cross,Cross,Outbox publisher 고도화,Outbox publisher·Inbox lease·dead-letter·replay,"duplicate 0, crash-before/after-publish 시나리오와 replay hash 통과",BE/SRE,Architect/QA,10,AEG-X-004,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-007,S0,W1-2,Cross,Cross-cutting,Observability,OPS,REQ-OBS-001,Cross,Cross,Cross,Cross,Cross,Serilog/OTel correlation 고도화,Serilog/OTel correlation·metric naming·Telegram redaction,"trace→job→decision→outbox 연결, PII redaction test 통과",SRE/Security,Architect/QA,7,AEG-X-005,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-X-008,S0,W1-2,Cross,Cross-cutting,API Contract,CONTRACT,REQ-API-001,Cross,Cross,Cross,Cross,Cross,OpenAPI artifact 고도화,OpenAPI artifact·ProblemDetails taxonomy·FE contract generation,OpenAPI diff와 breaking change approval 없이는 Release 차단,BE/FE Architect,Architect/QA,8,AEG-X-003,G3,SOURCE+DESIGN_PROPOSAL,P1,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-VS-00-02,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,DATA,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,데이터 시점·스키마·정합성 계약,"MIG-0000/0013, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-00-01,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-03,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,DOMAIN,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,도메인 불변조건·상태전이 구현,"src/Modules/Host/BuildingBlocks/PlatformBootstrap/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-00-02,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-04,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,BE,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Vertical Slice API/Application/SQL 구현,HEALTH-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-00-03,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-05,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,ASYNC,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-00-04,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-00-06,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,FE,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Vue feature·Zod·Query·컴포넌트 구현,UI-PLAT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-00-05,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-00-07,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,TESTOPS,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,회귀·관제·Runbook·Rollback 증거,T-ARCH-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-00-06,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-VS-01-02,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,DATA,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,데이터 시점·스키마·정합성 계약,"MIG-IAM-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-01-01,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-03,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,DOMAIN,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,도메인 불변조건·상태전이 구현,"src/Modules/IdentityAccess/ManageIdentityAndRoles/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-01-02,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-04,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,BE,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Vertical Slice API/Application/SQL 구현,IAM-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-01-03,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-05,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,ASYNC,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-01-04,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-01-06,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,FE,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Vue feature·Zod·Query·컴포넌트 구현,UI-IAM-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-01-05,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-01-07,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,TESTOPS,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,회귀·관제·Runbook·Rollback 증거,T-IAM-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-01-06,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-01,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,GOV,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,정책·범위·실패상태 계약 확정,"REQ-SEC-001, VS-02 SLICE_SPEC, ADR/Decision Log",사용자 결과 '상장·상폐·상품구조·거래가능성의 PIT 기준'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-00,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-02,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,DATA,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,데이터 시점·스키마·정합성 계약,"MIG-SEC-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-02-01,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-03,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,DOMAIN,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,도메인 불변조건·상태전이 구현,"src/Modules/SecurityMaster/SynchronizeSecurityMaster/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-02-02,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-04,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,BE,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Vertical Slice API/Application/SQL 구현,"SEC-01/02,DAT-01; Endpoint/Validator/Application/Dapper/Outbox",인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-02-03,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-05,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,ASYNC,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Event/Job/Inbox·재처리 구현,"J01; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-02-04,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-02-06,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,FE,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Vue feature·Zod·Query·컴포넌트 구현,UI-SEC-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-02-05,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-02-07,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,TESTOPS,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,회귀·관제·Runbook·Rollback 증거,T-SEC-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-02-06,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-03-02,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DATA,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,데이터 시점·스키마·정합성 계약,"MIG-MD-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-03-01,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-03,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DOMAIN,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,도메인 불변조건·상태전이 구현,"src/Modules/MarketData/IngestMarketDataPIT/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-03-02,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-04,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,BE,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Vertical Slice API/Application/SQL 구현,DAT-02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-03-03,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-05,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,ASYNC,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Event/Job/Inbox·재처리 구현,"J02; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-03-04,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-03-06,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,FE,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Vue feature·Zod·Query·컴포넌트 구현,UI-DQ-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-03-05,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-03-07,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,TESTOPS,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,회귀·관제·Runbook·Rollback 증거,T-DQ-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-03-06,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-01,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,GOV,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,정책·범위·실패상태 계약 확정,"REQ-CA-001, VS-04 SLICE_SPEC, ADR/Decision Log",사용자 결과 '분할·배당·증자·합병·상폐의 가격·수량·원가 일관성'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-02,VS-03",G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-02,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,DATA,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,데이터 시점·스키마·정합성 계약,"MIG-CA-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-04-01,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-03,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,DOMAIN,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,도메인 불변조건·상태전이 구현,"src/Modules/SecurityMaster/ApplyCorporateActions/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-04-02,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-04,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,BE,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Vertical Slice API/Application/SQL 구현,DAT-04; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-04-03,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-05,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,ASYNC,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Event/Job/Inbox·재처리 구현,"J03; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-04-04,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-04-06,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,FE,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Vue feature·Zod·Query·컴포넌트 구현,UI-DQ-02; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-04-05,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-04-07,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,TESTOPS,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,회귀·관제·Runbook·Rollback 증거,T-CA-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-04-06,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-01,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,GOV,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,정책·범위·실패상태 계약 확정,"REQ-FND-001, VS-05 SLICE_SPEC, ADR/Decision Log",사용자 결과 '공시·재무·컨센서스 공개시각과 정정 이력'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-02,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,DATA,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,데이터 시점·스키마·정합성 계약,"MIG-FND-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-05-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-03,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,DOMAIN,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,도메인 불변조건·상태전이 구현,"src/Modules/FundamentalsPIT/IngestFundamentalsPIT/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-05-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-04,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,BE,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Vertical Slice API/Application/SQL 구현,DAT-05; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-05-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-05,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,ASYNC,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Event/Job/Inbox·재처리 구현,"J04; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-05-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-05-06,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,FE,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Vue feature·Zod·Query·컴포넌트 구현,UI-FND-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-05-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-05-07,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,TESTOPS,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,회귀·관제·Runbook·Rollback 증거,T-FND-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-05-06,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-01,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,GOV,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,정책·범위·실패상태 계약 확정,"REQ-COST-001, VS-06 SLICE_SPEC, ADR/Decision Log",사용자 결과 '계좌·시장·상품별 Fee/Tax/FX valid-time 계약'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-02,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,DATA,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,데이터 시점·스키마·정합성 계약,"MIG-COST-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-06-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-03,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,DOMAIN,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/MaintainFeeTaxFxSchedule/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-06-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-04,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,BE,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Vertical Slice API/Application/SQL 구현,COST-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-06-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-05,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,ASYNC,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Event/Job/Inbox·재처리 구현,"J04C; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-06-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-06-06,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,FE,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Vue feature·Zod·Query·컴포넌트 구현,UI-COST-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-06-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-06-07,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,TESTOPS,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,회귀·관제·Runbook·Rollback 증거,T-COST-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-06-06,G1,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-VS-08-02,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,DATA,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,데이터 시점·스키마·정합성 계약,"MIG-LED-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-08-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-03,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,DOMAIN,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/MaintainPortfolioLedger/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-08-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-04,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,BE,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Vertical Slice API/Application/SQL 구현,POR-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-08-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-05,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,ASYNC,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Event/Job/Inbox·재처리 구현,"J12L; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-08-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-08-06,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,FE,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Vue feature·Zod·Query·컴포넌트 구현,UI-POR-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-08-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-08-07,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,TESTOPS,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,회귀·관제·Runbook·Rollback 증거,T-LED-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-08-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-09-02,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,DATA,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,데이터 시점·스키마·정합성 계약,"MIG-EVD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-09-01,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-03,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,DOMAIN,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,도메인 불변조건·상태전이 구현,"src/Modules/ResearchFactors/BuildEvidenceSnapshot/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-09-02,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-04,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,BE,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Vertical Slice API/Application/SQL 구현,EVD-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-09-03,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-05,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,ASYNC,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Event/Job/Inbox·재처리 구현,"J06; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-09-04,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-09-06,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,FE,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-EVD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-09-05,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-09-07,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,TESTOPS,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,회귀·관제·Runbook·Rollback 증거,T-EVD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-09-06,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-01,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,GOV,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,정책·범위·실패상태 계약 확정,"REQ-SELL-001, VS-10 SLICE_SPEC, ADR/Decision Log",사용자 결과 '우선순위가 보존된 HOLD/부분매도/전량매도 결정'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-08,VS-09,VS-13",G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-02,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,DATA,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,데이터 시점·스키마·정합성 계약,"MIG-SIG-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-10-01,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-03,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,DOMAIN,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,도메인 불변조건·상태전이 구현,"src/Modules/SignalEngine/GenerateSellDecision/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-10-02,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-04,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,BE,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Vertical Slice API/Application/SQL 구현,SIG-SELL-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-10-03,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-05,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,ASYNC,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Event/Job/Inbox·재처리 구현,"J08S; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-10-04,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-10-06,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,FE,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Vue feature·Zod·Query·컴포넌트 구현,UI-SELL-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-10-05,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-10-07,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,TESTOPS,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,회귀·관제·Runbook·Rollback 증거,T-SELL-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-10-06,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-012,S5,W11-12,Cross,Cross-cutting,Research,REPRO,REQ-REPRO-001,Cross,Cross,Cross,Cross,Cross,dataset/code/config/environment manifest와 artifact hash 고도화,dataset/code/config/environment manifest와 artifact hash,"동일 manifest·seed 결과 재현, 실패 artifact 보존",Quant/Data,Architect/QA,12,AEG-X-009,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-01,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,GOV,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,정책·범위·실패상태 계약 확정,"REQ-RE-001, VS-11 SLICE_SPEC, ADR/Decision Log",사용자 결과 '비가치훼손 매도의 재진입 계약·단계·만료'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-10,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-02,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,DATA,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,데이터 시점·스키마·정합성 계약,"MIG-RE-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-11-01,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-03,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,DOMAIN,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,도메인 불변조건·상태전이 구현,"src/Modules/SignalEngine/ManageReentryWatch/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-11-02,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-04,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,BE,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Vertical Slice API/Application/SQL 구현,RE-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-11-03,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-05,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,ASYNC,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Event/Job/Inbox·재처리 구현,"J09; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-11-04,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-11-06,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,FE,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RE-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-11-05,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-11-07,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,TESTOPS,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,회귀·관제·Runbook·Rollback 증거,T-RE-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-11-06,G2,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-19-02,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,DATA,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,데이터 시점·스키마·정합성 계약,"MIG-BKT-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-19-01,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-03,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,DOMAIN,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,도메인 불변조건·상태전이 구현,"src/Modules/BacktestingEvaluation/RunFrozenBacktest/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-19-02,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-04,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,BE,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Vertical Slice API/Application/SQL 구현,BKT-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-19-03,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-05,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,ASYNC,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Event/Job/Inbox·재처리 구현,"J-BKT; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-19-04,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-19-06,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,FE,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Vue feature·Zod·Query·컴포넌트 구현,UI-BKT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-19-05,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-19-07,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,TESTOPS,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,회귀·관제·Runbook·Rollback 증거,T-BKT-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-19-06,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-VS-07-02,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,DATA,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,데이터 시점·스키마·정합성 계약,"MIG-CLI-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-07-01,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-03,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,DOMAIN,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/ManageClientIPS/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-07-02,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-04,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,BE,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Vertical Slice API/Application/SQL 구현,CLI-01/02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-07-03,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-05,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,ASYNC,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-07-04,MVP-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-07-06,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,FE,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Vue feature·Zod·Query·컴포넌트 구현,UI-CLI-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-07-05,MVP-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-07-07,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,TESTOPS,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,회귀·관제·Runbook·Rollback 증거,T-CLI-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-07-06,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-01,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,GOV,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,정책·범위·실패상태 계약 확정,"REQ-REC-001, VS-14 SLICE_SPEC, ADR/Decision Log",사용자 결과 '고객별 BUY/HOLD/SELL/REENTER/REBALANCE 제안 패키지'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-07,VS-10,VS-12,VS-13",MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-02,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,DATA,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,데이터 시점·스키마·정합성 계약,"MIG-REC-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-14-01,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-03,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,DOMAIN,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/GenerateDailyRecommendations/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-14-02,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-04,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,BE,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Vertical Slice API/Application/SQL 구현,SIG-01/02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-14-03,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-05,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,ASYNC,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Event/Job/Inbox·재처리 구현,"J08; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-14-04,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-14-06,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,FE,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REC-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-14-05,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-14-07,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,TESTOPS,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,회귀·관제·Runbook·Rollback 증거,T-REC-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-14-06,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-01,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,GOV,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,정책·범위·실패상태 계약 확정,"REQ-REV-001, VS-15 SLICE_SPEC, ADR/Decision Log",사용자 결과 'maker-checker 승인·보류·기각과 낙관적 동시성'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-14,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-02,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,DATA,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,데이터 시점·스키마·정합성 계약,"MIG-REV-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-15-01,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-03,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,DOMAIN,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/ReviewRecommendation/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-15-02,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-04,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,BE,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Vertical Slice API/Application/SQL 구현,SIG-04; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-15-03,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-05,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,ASYNC,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-15-04,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-15-06,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,FE,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-15-05,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-15-07,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,TESTOPS,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,회귀·관제·Runbook·Rollback 증거,T-REV-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-15-06,MVP-B,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-16-02,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,DATA,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,데이터 시점·스키마·정합성 계약,"MIG-PUB-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-16-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-03,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,DOMAIN,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/PublishClientAdvice/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-16-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-04,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,BE,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Vertical Slice API/Application/SQL 구현,SIG-05; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-16-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-05,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,ASYNC,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Event/Job/Inbox·재처리 구현,"J-PUB; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-16-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-16-06,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,FE,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Vue feature·Zod·Query·컴포넌트 구현,UI-ADV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-16-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-16-07,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,TESTOPS,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,회귀·관제·Runbook·Rollback 증거,T-PUB-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-16-06,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-01,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,GOV,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,정책·범위·실패상태 계약 확정,"REQ-CLD-001, VS-17 SLICE_SPEC, ADR/Decision Log",사용자 결과 '고객 수락·거절·보류와 attribution 연결'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-16,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-02,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,DATA,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,데이터 시점·스키마·정합성 계약,"MIG-CLD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-17-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-03,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,DOMAIN,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/RecordClientDecision/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-17-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-04,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,BE,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Vertical Slice API/Application/SQL 구현,SIG-06; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-17-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-05,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,ASYNC,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-17-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-17-06,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,FE,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-CLD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-17-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-17-07,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,TESTOPS,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,회귀·관제·Runbook·Rollback 증거,T-CLD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-17-06,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-01,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,GOV,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,정책·범위·실패상태 계약 확정,"REQ-EVA-001, VS-18 SLICE_SPEC, ADR/Decision Log",사용자 결과 '1/5/20/63/126/252일 결과·매도·재진입 품질 평가'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-10,VS-11,VS-16,VS-17",G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-02,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,DATA,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,데이터 시점·스키마·정합성 계약,"MIG-EVA-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-18-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-03,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,DOMAIN,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,도메인 불변조건·상태전이 구현,"src/Modules/BacktestingEvaluation/EvaluateDecisionOutcome/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-18-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-04,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,BE,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Vertical Slice API/Application/SQL 구현,EVA-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-18-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-05,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,ASYNC,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Event/Job/Inbox·재처리 구현,"J10/J11; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-18-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-18-06,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,FE,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Vue feature·Zod·Query·컴포넌트 구현,UI-EVA-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-18-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-18-07,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,TESTOPS,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,회귀·관제·Runbook·Rollback 증거,T-EVA-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-18-06,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-13-02,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,DATA,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,데이터 시점·스키마·정합성 계약,"MIG-RISK-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-13-01,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-03,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,DOMAIN,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/CalculatePortfolioRisk/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-13-02,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-04,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,BE,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Vertical Slice API/Application/SQL 구현,POR-02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-13-03,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-05,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,ASYNC,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Event/Job/Inbox·재처리 구현,"J07; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-13-04,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-13-06,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,FE,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RISK-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-13-05,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-13-07,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,TESTOPS,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,회귀·관제·Runbook·Rollback 증거,T-RISK-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-13-06,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-21-02,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,DATA,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,데이터 시점·스키마·정합성 계약,"MIG-REB-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-21-01,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-03,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,DOMAIN,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/BuildRebalanceProposal/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-21-02,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-04,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,BE,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Vertical Slice API/Application/SQL 구현,REB-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-21-03,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-05,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,ASYNC,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Event/Job/Inbox·재처리 구현,"J-REB; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-21-04,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-21-06,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,FE,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REB-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-21-05,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-21-07,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,TESTOPS,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,회귀·관제·Runbook·Rollback 증거,T-REB-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-21-06,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-VS-12-02,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,DATA,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,데이터 시점·스키마·정합성 계약,"MIG-BUY-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-12-01,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-03,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,DOMAIN,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,도메인 불변조건·상태전이 구현,"src/Modules/ValuationForecast/RankBuyCandidates/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-12-02,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-04,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,BE,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Vertical Slice API/Application/SQL 구현,BUY-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-12-03,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-05,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,ASYNC,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Event/Job/Inbox·재처리 구현,"J08B; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-12-04,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-12-06,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,FE,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Vue feature·Zod·Query·컴포넌트 구현,UI-BUY-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-12-05,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-12-07,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,TESTOPS,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,회귀·관제·Runbook·Rollback 증거,T-BUY-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-12-06,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-01,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,GOV,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,정책·범위·실패상태 계약 확정,"REQ-RPL-001, VS-22 SLICE_SPEC, ADR/Decision Log",사용자 결과 '적합성·유동성·비용후 기회우위 대체상품 비교'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-07,VS-12,VS-13",Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-02,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,DATA,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,데이터 시점·스키마·정합성 계약,"MIG-RPL-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-22-01,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-03,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,DOMAIN,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/SuggestReplacementProducts/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-22-02,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-04,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,BE,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Vertical Slice API/Application/SQL 구현,RPL-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-22-03,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-05,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,ASYNC,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Event/Job/Inbox·재처리 구현,"J-RPL; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-22-04,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-22-06,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,FE,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RPL-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-22-05,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-22-07,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,TESTOPS,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,회귀·관제·Runbook·Rollback 증거,T-RPL-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-22-06,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-014,S11,W23-24,Cross,Cross-cutting,Model Risk,VALIDATION,REQ-MODEL-RISK,Cross,Cross,Cross,Cross,Cross,CSCV/PBO 고도화,CSCV/PBO·DSR·block bootstrap·시도 원장,"PBO≤20%, DSR≥95%, cost×2 utility 양수 또는 승격 차단",Quant/Risk,Architect/QA,15,AEG-X-012,G4-A,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-20-02,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,DATA,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,데이터 시점·스키마·정합성 계약,"MIG-MOD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-20-01,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-03,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,DOMAIN,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,도메인 불변조건·상태전이 구현,"src/Modules/GovernanceAudit/PromoteModelVersion/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-20-02,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-04,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,BE,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Vertical Slice API/Application/SQL 구현,MOD-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-20-03,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-05,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,ASYNC,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Event/Job/Inbox·재처리 구현,"J-MOD; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-20-04,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-20-06,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,FE,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-MOD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-20-05,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-20-07,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,TESTOPS,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,회귀·관제·Runbook·Rollback 증거,T-MOD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-20-06,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-VS-24-02,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,DATA,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,데이터 시점·스키마·정합성 계약,"MIG-RPT-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-24-01,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-03,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,DOMAIN,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,도메인 불변조건·상태전이 구현,"src/Modules/ReportingNotifications/ReportAndNotify/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-24-02,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-04,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,BE,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Vertical Slice API/Application/SQL 구현,RPT-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-24-03,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-05,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,ASYNC,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Event/Job/Inbox·재처리 구현,"J11R; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-24-04,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-24-06,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,FE,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RPT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-24-05,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-24-07,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,TESTOPS,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,회귀·관제·Runbook·Rollback 증거,T-RPT-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-24-06,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-016,S12,W25-26,Cross,Cross-cutting,Broker,CAPABILITY,REQ-KIS-OFF,Cross,Cross,Cross,Cross,Cross,KIS 주문 제출 startup/CI/runtime 차단 고도화,KIS 주문 제출 startup/CI/runtime 차단,"외부 주문 호출 0, capability override 감사·kill-switch 통과",Security/Ops,Architect/QA,7,AEG-X-005,ALL,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-01,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,GOV,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,정책·범위·실패상태 계약 확정,"REQ-RECON-001, VS-23 SLICE_SPEC, ADR/Decision Log",사용자 결과 '브로커·내부 주문·체결·보유·현금 break와 승인 정정'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-08,VS-16",Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-02,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,DATA,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,데이터 시점·스키마·정합성 계약,"MIG-EXE-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-23-01,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-03,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,DOMAIN,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,도메인 불변조건·상태전이 구현,"src/Modules/ExecutionReconciliation/ReconcilePositionsAndFills/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-23-02,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-04,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,BE,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Vertical Slice API/Application/SQL 구현,"EXE-01/02,REC-01/02; Endpoint/Validator/Application/Dapper/Outbox",인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-23-03,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-05,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,ASYNC,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Event/Job/Inbox·재처리 구현,"J12; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-23-04,Pilot-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-23-06,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,FE,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RECON-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-23-05,Pilot-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-23-07,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,TESTOPS,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,회귀·관제·Runbook·Rollback 증거,T-RECON-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-23-06,Pilot-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-VS-25-02,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,DATA,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,데이터 시점·스키마·정합성 계약,"MIG-GOV-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-25-01,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-03,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,DOMAIN,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,도메인 불변조건·상태전이 구현,"src/Modules/GovernanceAudit/AuditAndKillSwitch/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-25-02,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-04,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,BE,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Vertical Slice API/Application/SQL 구현,GOV-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-25-03,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-05,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,ASYNC,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Event/Job/Inbox·재처리 구현,"J-GOV; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-25-04,G5,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-25-06,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,FE,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Vue feature·Zod·Query·컴포넌트 구현,UI-GOV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-25-05,G5,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-25-07,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,TESTOPS,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,회귀·관제·Runbook·Rollback 증거,T-GOV-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-25-06,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
|
||||
AEG-X-019,S14,W29-30,Cross,Cross-cutting,Cutover,RELEASE,REQ-CUT-001,Cross,Cross,Cross,Cross,Cross,dry-run/backfill/recon/rollback/release evidence 고도화,dry-run/backfill/recon/rollback/release evidence,"미승인 공개 0, duplicate 0, rollback 리허설과 승인 서명",PM/Ops,Architect/QA,10,AEG-X-018,G6-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-020,S15,W31-32,Cross,Cross-cutting,Hypercare,OPS,REQ-HYP-001,Cross,Cross,Cross,Cross,Cross,P1/P2 triage 고도화,P1/P2 triage·daily reconciliation·debt burn-down,초기 안정화 Exit 기준·Owner·잔여 부채 승인,Ops/PM,Architect/QA,8,AEG-X-019,G6,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
|
@@ -0,0 +1,26 @@
|
||||
ID,Priority,Debt,Impact,Remediation,Gate,Owner,Status
|
||||
TD-001,P0,도구체인 실빌드 미검증,C# 컴파일/패키지 호환 결함 가능,승인 .NET 10 runner에서 restore/build/test,G0,DevOps,OPEN
|
||||
TD-002,P0,pnpm-lock.yaml 부재,FE 공급망·재현성 미확보,승인 네트워크에서 pnpm install 후 lock review/commit,G0,FE Lead,OPEN
|
||||
TD-003,P0,PostgreSQL migration rehearsal 미실행,fresh/upgrade/re-run/복구 실패 가능,PostgreSQL 승인 버전 4시나리오 자동화,G0,DBA,OPEN
|
||||
TD-004,P0,원시 연구 데이터 권리·checksum·환경 lock 미완전,제3자 clean-room 재현 불가,Source catalog/license/raw checksum/container digest 확보,G1,Data Governance,OPEN
|
||||
TD-005,P0,KR 검증 종료 2021-04-16,최근 시장국면 검증 공백,2026 현재까지 PIT 총수익·상폐·기업행사 보충 후 frozen OOS,G4,Quant/Data,OPEN
|
||||
TD-006,P0,실제 OIDC/JWT 공급자 미결정,외부 Pilot 접근통제 불가,"Auth ADR, key rotation, claims/RBAC E2E",G5,Security,OPEN
|
||||
TD-007,P0,총수익·상폐수익·컨센서스 공급계약 미확정,생존편향·성과왜곡,공식/상용 source 계약·SLA·재배포 권리 승인,G1,Data Governance,OPEN
|
||||
TD-008,P0,Fee/Tax/FX PIT 표 미확정,비용후 기대효용 왜곡,valid_from/to 계좌·venue·상품·side·band schedule,G1,DBA/Quant,OPEN
|
||||
TD-009,P0,Outbox/Inbox crash/replay 실증 미완료,side effect 누락·중복,lease/dead-letter/replay chaos test,G3,BE/SRE,IN_PROGRESS
|
||||
TD-010,P1,JobRun·Watermark 표준의 일부 구현만 존재,배치 재처리·감사 불완전,공통 JobRun scope/version/hash/heartbeat 정책 적용,G1,BE/SRE,IN_PROGRESS
|
||||
TD-011,P1,Architecture test가 정적 문자열 규칙 중심,금지 의존 누락 가능,assembly/namespace/schema/API fitness function 확대,G0,Architect,IN_PROGRESS
|
||||
TD-012,P1,OpenAPI→FE contract 자동생성 미도입,DTO drift·홀루시네이션 위험,OpenAPI artifact diff + generated client/schema gate,G3,BE/FE,OPEN
|
||||
TD-013,P1,PII redaction·Telegram 보안 테스트 미완성,고객정보 노출 가능,classification/redaction test와 secret scan,G5,Security/SRE,OPEN
|
||||
TD-014,P1,Model promotion workflow 미완성,무단 모델 활성화 위험,model card/maker-checker/effective_at/rollback 구현,G4,Risk/BE,OPEN
|
||||
TD-015,P1,Read Model rebuild runner 미완성,stale projection 복구 불가,projection version/watermark/rebuild/diff 도구,G3,BE/Data,IN_PROGRESS
|
||||
TD-016,P1,SLO/RPO/RTO 미승인,운영 Go 판단 불가,부하시험·백업복구·DR ADR 승인,G5,SRE/DBA,OPEN
|
||||
TD-017,P2,공통 UI 컴포넌트 승격 기준 미운영,중복 또는 과도한 추상화,3회 반복+동일 의미/변경축 확인 후 승격,S10,FE Lead,OPEN
|
||||
TD-018,P1,PBO/DSR 전체 탐색·시도 원장 미완성,과최적화 위험,전체 실험 registry+CSCV/PBO/DSR/block bootstrap,G4,Quant/Risk,OPEN
|
||||
TD-019,P1,자산유형별 재진입 확인팩터 공급원 미완성,재진입 품질 저하,asset policy contract+PIT source+missing evidence downgrade,G2,Quant/Data,OPEN
|
||||
TD-020,P0,자동주문/KIS 제출은 금지 상태,오활성화 사고 위험,Options ValidateOnStart+CI config scan+runtime kill switch 유지,ALL,Security/Ops,MITIGATED
|
||||
TD-021,P1,정책 임계값이 문서·YAML·C#에 중복될 가능성,계약 drift,승인 config registry+schema+hash+generated constants,G2,Quant/BE,OPEN
|
||||
TD-022,P1,DB immutable trigger와 correction event 운영절차 미실증,정정/감사 장애 가능,maker-checker correction replay와 audit trace E2E,G3,DBA/Compliance,OPEN
|
||||
TD-023,P2,프런트 서버상태/Pinia 책임 경계의 팀 규율 미검증,중복 캐시·stale UI,lint/review checklist+query key registry,MVP-B,FE Lead,OPEN
|
||||
TD-024,P1,Dependency vulnerability/license 자동검사 미구성,공급망 리스크,NuGet/npm SBOM·license allowlist·vulnerability gate,G5,Security/DevOps,OPEN
|
||||
TD-025,P1,성능 규모 가정 미확정,배치 SLA/DB index 과·소설계,portfolio/security/client volume 결정·capacity test,G6-A,PM/SRE,OPEN
|
||||
|
@@ -0,0 +1,27 @@
|
||||
Requirement_ID,Slice_ID,Policy_or_Data_ID,API_ID,DB_ID,Job_Event_ID,UI_ID,Test_ID,WBS_Range,Release_Gate,Evidence_Status
|
||||
REQ-PLAT-001,VS-00,DATA/DOMAIN-CONTRACT,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,AEG-VS-00-01..AEG-VS-00-07,G0,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-IAM-001,VS-01,DATA/DOMAIN-CONTRACT,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,AEG-VS-01-01..AEG-VS-01-07,G1-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-SEC-001,VS-02,DATA/DOMAIN-CONTRACT,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,AEG-VS-02-01..AEG-VS-02-07,G1-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-DAT-001,VS-03,DATA/DOMAIN-CONTRACT,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,AEG-VS-03-01..AEG-VS-03-07,G1-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CA-001,VS-04,DATA/DOMAIN-CONTRACT,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,AEG-VS-04-01..AEG-VS-04-07,G1-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-FND-001,VS-05,DATA/DOMAIN-CONTRACT,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,AEG-VS-05-01..AEG-VS-05-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-COST-001,VS-06,DATA/DOMAIN-CONTRACT,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,AEG-VS-06-01..AEG-VS-06-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CLI-001,VS-07,DATA/DOMAIN-CONTRACT,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,AEG-VS-07-01..AEG-VS-07-07,MVP-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-LED-001,VS-08,DATA/DOMAIN-CONTRACT,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,AEG-VS-08-01..AEG-VS-08-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-EVD-001,VS-09,DATA/DOMAIN-CONTRACT,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,AEG-VS-09-01..AEG-VS-09-07,G2-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-SELL-001,VS-10,"ALG-SELL-001~005,ALG-SELL-PORT-001",SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,AEG-VS-10-01..AEG-VS-10-07,G2-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RE-001,VS-11,ALG-REENTRY-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,AEG-VS-11-01..AEG-VS-11-07,G2,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-BUY-001,VS-12,ALG-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,AEG-VS-12-01..AEG-VS-12-07,Portfolio Gate,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RISK-001,VS-13,ALG-PORT-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,AEG-VS-13-01..AEG-VS-13-07,Portfolio-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REC-001,VS-14,DATA/DOMAIN-CONTRACT,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,AEG-VS-14-01..AEG-VS-14-07,MVP-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REV-001,VS-15,DATA/DOMAIN-CONTRACT,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,AEG-VS-15-01..AEG-VS-15-07,MVP-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-PUB-001,VS-16,DATA/DOMAIN-CONTRACT,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,AEG-VS-16-01..AEG-VS-16-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CLD-001,VS-17,DATA/DOMAIN-CONTRACT,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,AEG-VS-17-01..AEG-VS-17-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-EVA-001,VS-18,DATA/DOMAIN-CONTRACT,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,AEG-VS-18-01..AEG-VS-18-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-BKT-001,VS-19,DATA/DOMAIN-CONTRACT,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,AEG-VS-19-01..AEG-VS-19-07,G2,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-MOD-001,VS-20,DATA/DOMAIN-CONTRACT,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,AEG-VS-20-01..AEG-VS-20-07,G4-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REB-001,VS-21,DATA/DOMAIN-CONTRACT,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,AEG-VS-21-01..AEG-VS-21-07,Portfolio-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RPL-001,VS-22,DATA/DOMAIN-CONTRACT,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,AEG-VS-22-01..AEG-VS-22-07,Portfolio Gate,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RECON-001,VS-23,DATA/DOMAIN-CONTRACT,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,AEG-VS-23-01..AEG-VS-23-07,Pilot-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RPT-001,VS-24,DATA/DOMAIN-CONTRACT,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,AEG-VS-24-01..AEG-VS-24-07,G4-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-GOV-001,VS-25,DATA/DOMAIN-CONTRACT,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,AEG-VS-25-01..AEG-VS-25-07,G5,SOURCE+DESIGN_PROPOSAL
|
||||
|
@@ -0,0 +1,13 @@
|
||||
Decision_ID,Status,Decision_or_Question,Basis,Owner,Gate,Approved_or_Due
|
||||
DEC-001,APPROVED,투자자문형→Shadow→Pilot; 자동주문 OFF,v10.0·v12.2,운영사/준법,ALL,2026-08-01
|
||||
DEC-002,APPROVED,알고리즘 상태 RESEARCH_CANDIDATE_NOT_PRODUCTION,v10.0·v12.2,투자위/리스크,G4,2026-08-01
|
||||
DEC-003,APPROVED,Modular Monolith+Vertical Slice; 조기 microservice 금지,v10.0,Architect,G0,2026-08-01
|
||||
DEC-004,APPROVED,PIT/revision/hash/lineage와 immutable Evidence 우선,v10.0·v12.2,Data/Quant,G1,2026-08-01
|
||||
DEC-005,APPROVED,매도 우선순위: impairment→survival→floor→concentration→opportunity→reentry,v12.2,투자위/Quant,G2,2026-08-01
|
||||
DEC-006,APPROVED,SellRatioOfLot와 portfolio weight/core floor 단위 분리,v12.0 Delta,Quant/Architect,G2-A,2026-08-02
|
||||
DEC-007,DECISION_REQUIRED,생산 OIDC/JWT 공급자와 claims mapping,자료 미지원,Security/PM,G5,미정
|
||||
DEC-008,DECISION_REQUIRED,PIT 총수익·상폐·컨센서스 공급원/라이선스,자료 미지원,Data Governance/Legal,G1,미정
|
||||
DEC-009,DECISION_REQUIRED,계좌·시장·venue별 Fee/Tax/FX schedule,자료 미지원,Ops/Tax/Quant,G1,미정
|
||||
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,미정
|
||||
|
@@ -0,0 +1,31 @@
|
||||
# 바이브코딩·홀루시네이션 통제
|
||||
|
||||
## 증거 분류
|
||||
|
||||
- `SOURCE`: 첨부 기준·승인 계약에 직접 근거.
|
||||
- `ASSUMPTION`: 착수 편의 가정. 승인자·만료일 필요.
|
||||
- `UNKNOWN`: 현재 자료로 판단 불가. 코드 기본값 금지.
|
||||
- `DECISION_REQUIRED`: Gate 이전 결정 필요. 미결정이면 fail-closed.
|
||||
|
||||
## AI 작업 패킷
|
||||
|
||||
각 변경은 Requirement/Slice/Policy/Data/API/DB/Job/UI/Test ID, 사용자 결과, 비목표, 입력 시점, 상태전이, 경계값, 실패경로, 금지패턴, 검증명령, Source/Assumption/Unknown, Owner/Reviewer를 포함한다.
|
||||
|
||||
## 금지
|
||||
|
||||
- 존재하지 않는 컬럼·Endpoint·임계값·법적 상태 발명.
|
||||
- 실행하지 않은 build/test/migration을 PASS로 기록.
|
||||
- AI 생성 migration의 DBA 검토 없는 병합.
|
||||
- 실고객 데이터·계좌·token·secret의 prompt/fixture/log 사용.
|
||||
- 정책 변경과 대규모 리팩터링을 한 PR에 혼합.
|
||||
- 테스트를 만족시키기 위한 기준 완화.
|
||||
|
||||
## PR Gate
|
||||
|
||||
1. Source/Assumption/Unknown/Decision Required.
|
||||
2. Traceability IDs.
|
||||
3. Golden/Characterization test.
|
||||
4. fresh/upgrade/re-run migration.
|
||||
5. security/PII/license 영향.
|
||||
6. metric/alert/runbook/rollback.
|
||||
7. 실제 실행한 명령과 결과 artifact.
|
||||
@@ -0,0 +1,26 @@
|
||||
# 프로세스 단순화·패턴화·표준화
|
||||
|
||||
## 문서는 늘리지 않는다
|
||||
|
||||
상위 문서군 6개와 저장소 9개 Source of Truth를 유지한다. 상세는 Slice Spec과 Traceability에 Just-in-time으로 기록한다. 같은 사실을 여러 문서에서 별도 관리하지 않는다.
|
||||
|
||||
## 단일 Delivery Flow
|
||||
|
||||
`Idea → Decision Required 해소 → Slice Ready → Walking Skeleton → Contract/Golden → Implement → Review → Release Evidence → Observe → Debt/Outcome`
|
||||
|
||||
## 표준 패턴
|
||||
|
||||
- Command: Idempotency + transaction + outbox.
|
||||
- Query: Read Model + staleness metadata.
|
||||
- Batch: JobRun + scope/watermark + replay.
|
||||
- Data ingest: Raw→Canonical PIT→DQ→Dataset manifest.
|
||||
- Policy: ordered chain + explicit terminal/non-terminal result.
|
||||
- State machine: allowed transition table + optimistic concurrency.
|
||||
- Audit: append-only event + payload hash + correction event.
|
||||
|
||||
## 하지 않을 것
|
||||
|
||||
- CQRS/EDA를 유행어로 확대하지 않는다. 필요한 Command/Query 분리와 Outbox만 사용한다.
|
||||
- 모든 테이블을 event sourcing하지 않는다. Evidence/Decision/Audit처럼 규제·재현성이 필요한 곳만 immutable append를 적용한다.
|
||||
- 모든 화면을 AG Grid로 만들지 않는다. 대량 운영 목록에만 사용한다.
|
||||
- 모든 코드에 interface를 만들지 않는다. 외부 경계·교체 가능성·테스트 seam이 있는 곳만 둔다.
|
||||
@@ -0,0 +1,25 @@
|
||||
# 검증 Gate와 20영업일 재착수
|
||||
|
||||
## 20영업일
|
||||
|
||||
| 기간 | 작업 | 완료 증거 |
|
||||
|---|---|---|
|
||||
| D1~D3 | 기준선·Coverage·Decision Log·자동주문 OFF | Steering sign-off, ID 중복 0 |
|
||||
| D4~D6 | .NET/node/pnpm/lock·secret/env·Gitea CI | reproducible bootstrap green |
|
||||
| D7~D10 | DbUp 4시나리오·Auth·Outbox/Inbox·Architecture | G0 통과 |
|
||||
| D11~D14 | SecurityMaster·MarketData·PIT·CA·DQ | replay hash 동일, lookahead 0 |
|
||||
| D15~D17 | Evidence·6 Sell Policy·Reentry Golden·DB invariant | G2-A 통과 |
|
||||
| D18~D20 | Research/Production Decision Slice·FE·OTel E2E | 첫 End-to-End Slice Done |
|
||||
|
||||
## Go의 정의
|
||||
|
||||
코드 존재가 아니라 `Source→Requirement→Policy/Data→API/DB/Job/UI→Test→PR→Release Evidence`가 연결되고 운영·준법 Gate가 통과된 상태다.
|
||||
|
||||
## 현재 상태
|
||||
|
||||
- Python 정책 Golden Contract: 기존 v12 기준 통과, C# 교차비교 필요.
|
||||
- 정적 검증: v12.1 패키지에서 실행.
|
||||
- .NET restore/build/test: 현재 환경 SDK 부재로 미실행.
|
||||
- PostgreSQL migration rehearsal: DB 환경 부재로 미실행.
|
||||
- pnpm frozen install/typecheck/test/build: pnpm/lockfile 부재로 미실행.
|
||||
- Shadow/PBO/DSR: 미충족.
|
||||
@@ -0,0 +1,14 @@
|
||||
# 패키지 구성
|
||||
|
||||
- 원본 첨부: `attachments/current_session/` (8개) 및 기존 `attachments/original/`.
|
||||
- 기준 문서: `docs/v12_1/`.
|
||||
- 상세 WBS: `docs/v12_1/07_DETAILED_WBS_MASTER.csv` (202개 작업).
|
||||
- 추적성: `docs/v12_1/09_TRACEABILITY_MATRIX.csv`.
|
||||
- 기술부채: `docs/v12_1/08_TECH_DEBT_REGISTER.csv`.
|
||||
- Decision Log: `docs/v12_1/10_DECISION_LOG.csv`.
|
||||
- .NET 10 템플릿: `src/`, `tests/`, `db/migrations/`.
|
||||
- Vue 3/Vite 8 템플릿: `frontend/`.
|
||||
- 연구 코드·Golden: `research/`.
|
||||
- 검증: `scripts/validate_v121.py`, `STATIC_VALIDATION_V12_1.txt`.
|
||||
|
||||
동일 SHA의 첨부도 사용자가 실제 첨부한 파일명 단위로 보존한다. 중복 여부는 Source Coverage Matrix에 명시한다.
|
||||
Binary file not shown.
@@ -0,0 +1,7 @@
|
||||
Baseline,Status,Retained_Scope,Current_Treatment
|
||||
K-ArtSell 12.2,RETAINED,정량 감사·알고리즘 증거·데이터 한계,연구후보 근거; 생산 승격 단독근거 금지
|
||||
v10.0,RETAINED,47개 장·26 Slice·16 Sprint·Gate·36개월 운영,최상위 안전·비회귀 기준
|
||||
v11,RETAINED,초기 .NET/Vue walking skeleton,유효 코드만 보존; 미비점은 v11.1/v12/v12.1로 보강
|
||||
v11.1,RETAINED,보안·불변성·기술부채 하드닝,v12.1과 충돌하지 않는 Delta 유지
|
||||
v12.0,IMPROVED,서버 Evidence 결정·단위 분리·102 WBS,v12.1은 상세 WBS·공통 실행계약·패키지 무결성을 보강
|
||||
v12.1,CURRENT,실행준비도·200+ WBS·모듈/배치/Projection 템플릿,현재 패키지 Delta; 실빌드·DB rehearsal 전 생산 아님
|
||||
|
@@ -0,0 +1,50 @@
|
||||
# K-ArtSell Aegis v12.2 전략적 통합 고도화 제안
|
||||
|
||||
상태: **IMPLEMENTATION_TEMPLATE / STATIC_VALIDATION_REQUIRED / BUILD_AND_DB_REHEARSAL_REQUIRED**
|
||||
운영 경계: **투자자문형 우선 · 자동주문/KIS 제출 OFF · RESEARCH_CANDIDATE_NOT_PRODUCTION**
|
||||
|
||||
## 1. 결론
|
||||
|
||||
v12.2는 v10.0의 비회귀·PIT·감사·재현성 기준과 v12.1 실행준비 패키지를 보존하면서, 실제 구현에서 가장 위험한 데이터 의미 오류를 먼저 교정한다. 핵심 Delta는 다음과 같다.
|
||||
|
||||
1. **Lot 매도비율과 종목 전체 비중을 분리**한다. `SellRatioOfLot`은 대상 Lot에만 적용하며, 매도 후 종목 비중은 `CurrentSecurityPortfolioWeight - CurrentLotPortfolioWeight × SellRatioOfLot`로 계산한다.
|
||||
2. **정책 우선순위 전체 경로를 불변 증거로 저장**한다. 최종 사유만 남기지 않고 Applied/Blocked/NotApplicable을 순서대로 `policy_trace_json`에 보존한다.
|
||||
3. **첨부 원본 6개를 SHA-256과 함께 보존**하고, 이전 v12.1 패키지를 기준선으로 포함한다.
|
||||
4. **231개 상세 WBS**를 26개 Vertical Slice와 Requirement/API/DB/Job/UI/Test/Gate에 연결한다.
|
||||
5. .NET/Vue/SQL/Hangfire용 **반복 가능한 템플릿 팩**을 제공하되 조기 마이크로서비스, Generic Repository, 전역 Pinia 캐시, 무분별한 인터페이스를 금지한다.
|
||||
|
||||
## 2. 생산준비도 판단축
|
||||
|
||||
화면 수나 클래스 수가 아니라 아래 흐름의 완결성으로 판단한다.
|
||||
|
||||
`Source/License → Raw/PIT/Revision/DQ → Evidence/VersionSet → Sell/Reentry → Recommendation → Maker-Checker → Publish → Outcome → Reconciliation/DR`
|
||||
|
||||
## 3. 우선순위
|
||||
|
||||
| 우선순위 | 작업 | 차단 Gate |
|
||||
|---|---|---|
|
||||
| P0 | .NET/pnpm/PostgreSQL 실검증, lockfile, DbUp rehearsal | G0 |
|
||||
| P0 | PIT 총수익·상폐·기업행사·Fee/Tax/FX·라이선스 | G1 |
|
||||
| P0 | Lot/종목 비중 의미 교정, 정책 Golden, C#↔Python 교차검증 | G2-A |
|
||||
| P0 | Outbox/Inbox crash/replay, maker-checker, immutable publish | G3 |
|
||||
| P0 | 252거래일 Shadow, PBO/DSR, 복수 국면 OOS | G4 |
|
||||
| P0 | OIDC/JWT, SLO/RPO/RTO, DR, kill-switch | G5 |
|
||||
|
||||
## 4. 정량 연구의 냉정한 해석
|
||||
|
||||
첨부 연구는 미국 표본에서 v12 후보가 v11 대비 회전율과 일부 MDD를 낮춘 근거를 제공하지만, 모든 자산에서 CAGR·MDD가 동시에 개선된 것은 아니다. 한국 표본은 2021-04-16 종료이며 최근 국면 검증이 비어 있다. 따라서 연구결과는 **정책 후보와 Golden 기준의 근거**이지 생산 승격 근거가 아니다.
|
||||
|
||||
특히 연구 결과의 `false_exit_rate_63d`는 자산별로 높은 편이며, 문서의 목표값인 연 2% 이하와 정의·집계주기가 직접 일치하지 않는다. v12.2는 지표 정의 버전과 평가창을 고정하고, 목표값 충족을 주장하지 않는다.
|
||||
|
||||
## 5. 패키지 규모
|
||||
|
||||
- 현재 세션 첨부 원본: 6개
|
||||
- Vertical Slice: 26개
|
||||
- 상세 WBS: 231개 (P0 166, P1 65)
|
||||
- 계획 공수: 1450 PD
|
||||
- 기술부채: 33건
|
||||
- 자동주문/KIS 제출: OFF
|
||||
|
||||
## 6. Go 정의
|
||||
|
||||
코드가 존재하는 상태가 아니라, `Source → Requirement → Policy/Data → API/DB/Job/UI → Test → PR → Release Evidence`가 연결되고 운영·준법 Gate가 통과된 상태다. 현재 패키지는 정적 템플릿이며, .NET 빌드·pnpm frozen build·PostgreSQL migration rehearsal·Shadow 증거가 없으므로 생산 준비 완료로 해석하면 안 된다.
|
||||
@@ -0,0 +1,7 @@
|
||||
Attachment,Bytes,SHA256,Role,Version_Status,V12_2_Treatment
|
||||
K-ArtSell_12_2_complete_package(1).zip,2513047,1e9df605a91f227fb5ff4ea057e55f4319e62060fbaf8e64551756ee2931c5ea,연구 코드·CSV·정량 감사·구성안,RETAINED,원본 무변경 보존; v12.2는 Delta만 추가
|
||||
K-ArtSell_Aegis_v12_1_실행준비_통합고도화_제안서(1).docx,64063,eab0c2866b6c3d5d1f2fd8b9fbb33443e010e1adc2cfe612f27a98f97845e8b3,v12.1 실행준비 통합 제안서,RETAINED,원본 무변경 보존; v12.2는 Delta만 추가
|
||||
K-ArtSell_퀀트투자자문_SI_본프로그램착수_누적고도화_통합실행기준서_v10.0(1).docx,402134,d86795186ec5f578741d64618eb53278a1c3a55795e73307e5bee245980a83a6,최상위 누적 실행기준서,RETAINED,원본 무변경 보존; v12.2는 Delta만 추가
|
||||
KArtSell_Aegis_v11_1_hardening(1).zip,89397,01b3d3025dfb3a6cafcff4d751851240a6087c2329e5c1472ec31703f209ccbd,보안·불변성·기술부채 hardening delta,RETAINED,원본 무변경 보존; v12.2는 Delta만 추가
|
||||
KArtSell_Aegis_v12_1_execution_ready_complete(1).zip,28233180,e5f9896474f32706d28df29cbdb5e3e74dbcc983e74c73f7067c377ee7aea260,직전 실행준비 통합 패키지 baseline,RETAINED,원본 무변경 보존; v12.2는 Delta만 추가
|
||||
KArtSell_v11_implementation_acceleration(1).zip,56738,2bd5713b98104bf7ac45362105d9b3175d5ca818c06753e572aaf79a936658a2,최초 .NET/Vue walking skeleton,RETAINED,원본 무변경 보존; v12.2는 Delta만 추가
|
||||
|
@@ -0,0 +1,39 @@
|
||||
# SOLID·리팩터링·구조화 실행 기준
|
||||
|
||||
## 1. 경계
|
||||
|
||||
- Endpoint: HTTP/Auth/Header/Validation/ProblemDetails만 담당
|
||||
- Application: 유스케이스 조정, 멱등, 트랜잭션, Outbox
|
||||
- Domain Policy: 순수 결정, 우선순위, 상태전이, 단위
|
||||
- Infrastructure: Dapper/Npgsql/Adapter/Hangfire
|
||||
- Projection: 화면·리포트 전용, 버전·watermark·rebuild 가능
|
||||
|
||||
## 2. SOLID 적용
|
||||
|
||||
| 원칙 | 적용 | 금지 |
|
||||
|---|---|---|
|
||||
| SRP | 정책, 저장, 외부 I/O, 화면상태 분리 | God Service, Job 내부 정책 |
|
||||
| OCP | 명시적 policy/adapter registry와 contract test | reflection plugin framework |
|
||||
| LSP | Adapter 교체 시 시점·단위·오류·멱등 동일 | mock 성공만으로 승인 |
|
||||
| ISP | IClock, ContextReader, SourceAdapter 등 좁은 Port | 범용 Repository/대형 Service |
|
||||
| DIP | Domain은 FastEndpoints/Dapper/Npgsql을 모름 | Infrastructure 타입의 Domain 침투 |
|
||||
|
||||
## 3. 리팩터링 규칙
|
||||
|
||||
1. 동작보존 리팩터링과 정책/수식 변경은 별도 PR로 분리한다.
|
||||
2. Characterization/Golden test를 먼저 만든다.
|
||||
3. 중복은 코드 모양이 아니라 **의미와 변경축**이 같을 때만 추상화한다.
|
||||
4. 공통화는 3회 반복 후에도 동일 의미·변경축이 확인될 때 승격한다.
|
||||
5. 모든 클래스에 interface를 만들지 않는다.
|
||||
6. 모든 테이블을 event sourcing하지 않는다. Evidence/Decision/Audit처럼 불변 증거가 필요한 곳만 append-only로 한다.
|
||||
7. 조기 마이크로서비스 분리는 금지한다. Modular Monolith의 경계·스키마·Architecture Test가 먼저다.
|
||||
|
||||
## 4. Architecture Fitness Function
|
||||
|
||||
- Domain 프로젝트의 FastEndpoints/Dapper/Npgsql/Hangfire 참조 0
|
||||
- 모듈 간 직접 DB schema 접근 0
|
||||
- Generic Repository 패턴 0
|
||||
- Endpoint 권한 선언 누락 0
|
||||
- 자동주문/KIS capability true 구성 0
|
||||
- Migration 번호 중복·역행 0
|
||||
- 문서/DDL/OpenAPI/Test 계약 diff 미검토 0
|
||||
@@ -0,0 +1,67 @@
|
||||
# 매도·재진입 알고리즘 계약 v12.2
|
||||
|
||||
## 1. 고정 우선순위
|
||||
|
||||
`HARD_IMPAIRMENT → PORTFOLIO_SURVIVAL → DYNAMIC_PROFIT_FLOOR → CONCENTRATION/LIQUIDITY → OPPORTUNITY_COST → REENTRY_OPTION`
|
||||
|
||||
상위 정책은 하위 점수로 상쇄되지 않는다. 정책 체인은 첫 Applied 결과에서 종료하지만, 그 전의 NotApplicable/Blocked 경로를 정책 추적으로 보존한다.
|
||||
|
||||
## 2. 단위 계약
|
||||
|
||||
| 필드 | 의미 | 단위 |
|
||||
|---|---|---|
|
||||
| CurrentSecurityPortfolioWeight | 해당 종목 전체의 현재 절대비중 | 0~1 |
|
||||
| CurrentLotPortfolioWeight | 대상 PositionLot이 차지하는 절대비중 | 0~1 |
|
||||
| SellRatioOfLot | 대상 Lot 수량 중 매도 비율 | 0~1 |
|
||||
| StrategicCoreFloorWeight | 종목 전체 기준 보존할 절대비중 | 0~1 |
|
||||
| TargetSecurityPortfolioWeightAfter | 정책 실행 후 종목 전체 예상비중 | 0~1 |
|
||||
|
||||
계산식:
|
||||
|
||||
`TargetSecurityPortfolioWeightAfter = CurrentSecurityPortfolioWeight - CurrentLotPortfolioWeight × SellRatioOfLot`
|
||||
|
||||
Core 보존형 정책의 최대 Lot 매도비율:
|
||||
|
||||
`max(0, CurrentSecurityPortfolioWeight - StrategicCoreFloorWeight) / CurrentLotPortfolioWeight`, 상한 1.
|
||||
|
||||
Hard impairment와 portfolio survival은 필요 시 Core 하회가 가능하다. Profit floor·집중·기회비용 정책은 Core를 보존한다.
|
||||
|
||||
## 3. 정책 추적
|
||||
|
||||
각 평가 결과는 다음을 저장한다.
|
||||
|
||||
- PolicyId, Priority
|
||||
- Disposition: NotApplicable / Blocked / Applied
|
||||
- ReasonCode
|
||||
- RequestedSellRatioOfLot
|
||||
- AppliedSellRatioOfLot
|
||||
- StrategicCoreClampApplied
|
||||
|
||||
정책 추적은 내부 감사·재현성용이다. 고객 공개 화면은 내부 원시 점수 대신 승인된 설명, 반대증거, 불확실성, 비용, 다음 검토일을 제공한다.
|
||||
|
||||
## 4. 재진입
|
||||
|
||||
- Hard impairment 자동 재진입 금지
|
||||
- 최소 10거래일 대기
|
||||
- 상승 SMA50 회복 + 직전 20거래일 고점 돌파
|
||||
- 자산유형별 추가 확인
|
||||
- 단계 간 최소 10거래일
|
||||
- 126거래일 만료
|
||||
- 단계마다 unique key `(watch, stage)`
|
||||
- 실행 시 새 CycleId와 새 Lot
|
||||
- 직전 Cycle의 보호선·원가·고점 상태 재사용 금지
|
||||
|
||||
## 5. 검증
|
||||
|
||||
Golden/Boundary/Property 테스트는 다음을 고정한다.
|
||||
|
||||
- 우선순위 비상쇄
|
||||
- Lot/종목 비중 계산
|
||||
- Core clamp 단조성
|
||||
- survival의 Core 하회
|
||||
- 미래 published_at 거부
|
||||
- 동일 입력·버전 동일 결과
|
||||
- 비용 2배 스트레스
|
||||
- C#↔Python 정책 벡터 교차비교
|
||||
|
||||
현재 임계값과 성과는 연구후보이며 Shadow/OOS Gate 전 생산 활성화하지 않는다.
|
||||
@@ -0,0 +1,45 @@
|
||||
# 데이터 정합성·정규화·역정규화 기준
|
||||
|
||||
## 1. 계층
|
||||
|
||||
| 계층 | 내용 | 불변조건 |
|
||||
|---|---|---|
|
||||
| L0 | Source catalog/license/SLA/schema | 승인 없는 source 사용 금지 |
|
||||
| L1 | Raw payload/hash/event/published/ingested | append-only, overwrite 금지 |
|
||||
| L2 | Canonical PIT 가격/기업행사/재무/비용 | revision·valid time·tradable session |
|
||||
| L3 | DQ/quarantine/lineage/dataset manifest | 격리 데이터 추천 금지 |
|
||||
| L4 | Feature/Forecast/Risk/Evidence | Dataset/Model/Config/Code SHA |
|
||||
| L5 | Ledger/Decision/Review/Publish/Outcome | append/reversal/correction |
|
||||
| L6 | Read Model | Owner/Version/Watermark/Rebuild/Staleness |
|
||||
| L7 | Backtest/ModelCard/Release artifact | artifact hash/environment manifest |
|
||||
|
||||
## 2. 정규화
|
||||
|
||||
원장·현금·PositionLot·Fill·기업행사·비용 스케줄은 3NF와 원천 unique key를 사용한다. 정정은 UPDATE가 아니라 reversal/correction event로 처리한다. `current=true` 하나에 의존하지 않고 `valid_from/to`, revision, source hash를 보존한다.
|
||||
|
||||
## 3. 역정규화
|
||||
|
||||
화면·리포트 Read Model에서만 허용한다. 모든 Projection은 다음을 가진다.
|
||||
|
||||
- ProjectionName/Version
|
||||
- SourceWatermark
|
||||
- BuiltAt
|
||||
- ContentHash
|
||||
- RebuildRun
|
||||
- Staleness 상태
|
||||
- Write Model과의 diff 검사
|
||||
|
||||
## 4. PIT 최소 필드
|
||||
|
||||
`source_event_time, published_at, ingested_at, effective_from/to, revision_no, source_id, content_hash, quality_status, tradable_session, dataset_id`
|
||||
|
||||
## 5. 핵심 Golden 데이터
|
||||
|
||||
- 분할·배당·증자·합병·상폐
|
||||
- 총수익과 가격수익 구분
|
||||
- 통화/단위/거래일 캘린더
|
||||
- Fee/Tax/FX valid-time
|
||||
- 상폐수익과 당시 유니버스
|
||||
- 재작성 공시/컨센서스 revision
|
||||
|
||||
데이터가 불완전하면 추천을 보류하거나 Evidence Grade를 낮춘다. 코드 기본값으로 조용히 대체하지 않는다.
|
||||
@@ -0,0 +1,42 @@
|
||||
# Backend·Frontend·Hangfire 구현 표준
|
||||
|
||||
## 1. Backend Vertical Slice
|
||||
|
||||
1. Endpoint: 권한, 헤더, 입력 검증, ProblemDetails
|
||||
2. Application: 멱등키, PIT context 조회, 트랜잭션, Outbox
|
||||
3. Domain Policy: 순수 결정과 불변조건
|
||||
4. Infrastructure: Dapper SQL, Npgsql, Adapter
|
||||
5. Event/Job: schema version, Inbox, retry/dead-letter
|
||||
6. Tests: unit/integration/data/failure/replay/E2E
|
||||
7. Ops: metric/alert/runbook/rollback
|
||||
|
||||
생산형 결정 Command는 `PositionLotId, AsOf, IdempotencyKey` 같은 최소 식별자만 받는다. Evidence/Model/Config/DataVersion은 승인된 서버 PIT Context에서 조회한다. 연구 Vector Endpoint는 저장·공개·주문 흐름과 분리한다.
|
||||
|
||||
## 2. 공통 오류
|
||||
|
||||
- 400: 구문/필수 헤더
|
||||
- 401/403: 인증/권한
|
||||
- 409: 승인 Evidence 부재, 버전 충돌, 상태전이 충돌
|
||||
- 422: 도메인 수용기준 위반
|
||||
- 503: 의존 source/DB/Capability unavailable
|
||||
|
||||
## 3. Frontend 책임
|
||||
|
||||
| 상태 | 소유 |
|
||||
|---|---|
|
||||
| Server state | TanStack Query |
|
||||
| Session/Role/UI preference | Pinia |
|
||||
| Form | vee-validate + Zod |
|
||||
| URL 공유상태 | vue-router |
|
||||
| 대량 운영목록 | AG Grid server-side |
|
||||
| Runtime contract | Zod request/response |
|
||||
|
||||
Pinia에 서버 도메인 데이터를 복제하지 않는다. 모든 화면에 AG Grid를 사용하지 않는다. Evidence/Version/Staleness/Permission은 공통 컴포넌트로 제공하되 3회 반복 원칙을 따른다.
|
||||
|
||||
## 4. Hangfire
|
||||
|
||||
Queue는 control/market-data/fundamentals/feature-risk/recommendation/evaluation/reconciliation/research/backfill로 분리한다. 모든 Job은 다음을 가진다.
|
||||
|
||||
`JobRunId, JobType, JobVersion, ScopeKey, IdempotencyKey, Watermark, Attempt, VersionSet, InputHash, TraceId, Heartbeat`
|
||||
|
||||
Blind retry, 현재값 overwrite, 고객 SLA Queue와 연구 Backfill의 자원 공유를 금지한다.
|
||||
@@ -0,0 +1,27 @@
|
||||
Slice_ID,Slice,Module,Sprint,Weeks,Gate,Requirement_ID,Endpoint_ID,DB_ID,Job_ID,UI_ID,Test_ID,User_Result,Dependency,Status,V12_2_Delta
|
||||
VS-00,PlatformBootstrap,Host/BuildingBlocks,S0,W1-2,G0,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,빌드·마이그레이션·관제 가능한 단일 배포 골격,-,PLANNED,"Toolchain lock, migration rehearsal, request context, module/feature templates"
|
||||
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-03,IngestMarketDataPIT,MarketData,S2,W5-6,G1-B,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,원시·조정 OHLCV·FX·금리의 revision 적재,VS-02,PLANNED,"PIT cutoff enforcement, source/license checksum, replay contract"
|
||||
VS-04,ApplyCorporateActions,SecurityMaster,S2,W5-6,G1-B,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,분할·배당·증자·합병·상폐의 가격·수량·원가 일관성,"VS-02,VS-03",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-05,IngestFundamentalsPIT,FundamentalsPIT,S3,W7-8,G1,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,공시·재무·컨센서스 공개시각과 정정 이력,VS-02,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,S3,W7-8,G1,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,계좌·시장·상품별 Fee/Tax/FX valid-time 계약,VS-02,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-07,ManageClientIPS,ClientAdvisory,S6,W13-14,MVP-A,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,고객 목표·위험성향·제한상품의 버전 관리,VS-01,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-08,MaintainPortfolioLedger,PortfolioRisk,S3,W7-8,G1,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,현금·체결·Lot·Cycle 불변 원장과 대사 기준,"VS-02,VS-06",PLANNED,Security/Lot weight separation and immutable ledger semantics
|
||||
VS-09,BuildEvidenceSnapshot,ResearchFactors,S4,W9-10,G2-A,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Dataset/Model/Config/Code SHA가 동결된 Evidence,"VS-03,VS-04,VS-05,VS-06",PLANNED,Evidence completeness grade and VersionSet hash
|
||||
VS-10,GenerateSellDecision,SignalEngine,S4,W9-10,G2-A,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,우선순위가 보존된 HOLD/부분매도/전량매도 결정,"VS-08,VS-09,VS-13",PLANNED,"Lot-relative ratio correction, policy trace, terminal priority"
|
||||
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-17,RecordClientDecision,ClientAdvisory,S8,W17-18,G3,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,고객 수락·거절·보류와 attribution 연결,VS-16,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,S8,W17-18,G3,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,1/5/20/63/126/252일 결과·매도·재진입 품질 평가,"VS-10,VS-11,VS-16,VS-17",PLANNED,false-exit definition/version and revision-aware windows
|
||||
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
|
||||
VS-22,SuggestReplacementProducts,PortfolioRisk,S10,W21-22,Portfolio Gate,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,적합성·유동성·비용후 기회우위 대체상품 비교,"VS-07,VS-12,VS-13",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,S12,W25-26,Pilot-A,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,브로커·내부 주문·체결·보유·현금 break와 승인 정정,"VS-08,VS-16",PLANNED,reconciliation break workflow and approved correction
|
||||
VS-24,ReportAndNotify,ReportingNotifications,S11,W23-24,G4-A,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,고객 리포트·SignalR·Telegram 운영 경보,"VS-16,VS-18",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-25,AuditAndKillSwitch,GovernanceAudit,S13,W27-28,G5,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,입력→결정→승인→공개→실행→평가 추적과 단계별 차단,"VS-01,VS-16,VS-20,VS-23",PLANNED,"capability guard, audit correction, kill-switch rehearsal"
|
||||
|
@@ -0,0 +1,232 @@
|
||||
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
|
||||
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
|
||||
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
|
||||
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-X-004,S0,W1-2,Cross,Cross-cutting,Database,DBA,REQ-DB-001,Cross,Cross,Cross,Cross,Cross,DbUp fresh/upgrade/re-run/failure 복구 rehearsal 고도화,DbUp fresh/upgrade/re-run/failure 복구 rehearsal,PostgreSQL 승인 버전에서 4 시나리오와 checksum 변경 차단 통과,DBA/BE,Architect/QA,8,AEG-X-002,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-005,S0,W1-2,Cross,Cross-cutting,Security,SEC,REQ-SEC-BASE,Cross,Cross,Cross,Cross,Cross,"OIDC/JWT ADR, DevelopmentHeader 제한, fail-closed 고도화","OIDC/JWT ADR, DevelopmentHeader 제한, fail-closed","비개발 무인증 접근 0, secret/log/prompt 노출 0",Security/BE,Architect/QA,7,AEG-X-001,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-006,S0,W1-2,Cross,Cross-cutting,Reliability,ASYNC,REQ-ASYNC-001,Cross,Cross,Cross,Cross,Cross,Outbox publisher 고도화,Outbox publisher·Inbox lease·dead-letter·replay,"duplicate 0, crash-before/after-publish 시나리오와 replay hash 통과",BE/SRE,Architect/QA,10,AEG-X-004,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-007,S0,W1-2,Cross,Cross-cutting,Observability,OPS,REQ-OBS-001,Cross,Cross,Cross,Cross,Cross,Serilog/OTel correlation 고도화,Serilog/OTel correlation·metric naming·Telegram redaction,"trace→job→decision→outbox 연결, PII redaction test 통과",SRE/Security,Architect/QA,7,AEG-X-005,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-X-008,S0,W1-2,Cross,Cross-cutting,API Contract,CONTRACT,REQ-API-001,Cross,Cross,Cross,Cross,Cross,OpenAPI artifact 고도화,OpenAPI artifact·ProblemDetails taxonomy·FE contract generation,OpenAPI diff와 breaking change approval 없이는 Release 차단,BE/FE Architect,Architect/QA,8,AEG-X-003,G3,SOURCE+DESIGN_PROPOSAL,P1,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-VS-00-02,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,DATA,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,데이터 시점·스키마·정합성 계약,"MIG-0000/0013, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-00-01,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-03,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,DOMAIN,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,도메인 불변조건·상태전이 구현,"src/Modules/Host/BuildingBlocks/PlatformBootstrap/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-00-02,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-04,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,BE,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Vertical Slice API/Application/SQL 구현,HEALTH-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-00-03,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-05,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,ASYNC,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-00-04,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-00-06,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,FE,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Vue feature·Zod·Query·컴포넌트 구현,UI-PLAT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-00-05,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-00-07,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,TESTOPS,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,회귀·관제·Runbook·Rollback 증거,T-ARCH-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-00-06,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-VS-01-02,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,DATA,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,데이터 시점·스키마·정합성 계약,"MIG-IAM-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-01-01,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-03,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,DOMAIN,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,도메인 불변조건·상태전이 구현,"src/Modules/IdentityAccess/ManageIdentityAndRoles/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-01-02,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-04,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,BE,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Vertical Slice API/Application/SQL 구현,IAM-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-01-03,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-05,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,ASYNC,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-01-04,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-01-06,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,FE,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Vue feature·Zod·Query·컴포넌트 구현,UI-IAM-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-01-05,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-01-07,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,TESTOPS,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,회귀·관제·Runbook·Rollback 증거,T-IAM-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-01-06,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-01,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,GOV,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,정책·범위·실패상태 계약 확정,"REQ-SEC-001, VS-02 SLICE_SPEC, ADR/Decision Log",사용자 결과 '상장·상폐·상품구조·거래가능성의 PIT 기준'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-00,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-02,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,DATA,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,데이터 시점·스키마·정합성 계약,"MIG-SEC-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-02-01,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-03,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,DOMAIN,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,도메인 불변조건·상태전이 구현,"src/Modules/SecurityMaster/SynchronizeSecurityMaster/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-02-02,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-04,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,BE,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Vertical Slice API/Application/SQL 구현,"SEC-01/02,DAT-01; Endpoint/Validator/Application/Dapper/Outbox",인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-02-03,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-05,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,ASYNC,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Event/Job/Inbox·재처리 구현,"J01; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-02-04,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-02-06,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,FE,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Vue feature·Zod·Query·컴포넌트 구현,UI-SEC-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-02-05,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-02-07,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,TESTOPS,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,회귀·관제·Runbook·Rollback 증거,T-SEC-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-02-06,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-03-02,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DATA,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,데이터 시점·스키마·정합성 계약,"MIG-MD-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-03-01,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-03,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DOMAIN,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,도메인 불변조건·상태전이 구현,"src/Modules/MarketData/IngestMarketDataPIT/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-03-02,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-04,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,BE,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Vertical Slice API/Application/SQL 구현,DAT-02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-03-03,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-05,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,ASYNC,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Event/Job/Inbox·재처리 구현,"J02; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-03-04,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-03-06,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,FE,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Vue feature·Zod·Query·컴포넌트 구현,UI-DQ-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-03-05,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-03-07,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,TESTOPS,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,회귀·관제·Runbook·Rollback 증거,T-DQ-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-03-06,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-01,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,GOV,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,정책·범위·실패상태 계약 확정,"REQ-CA-001, VS-04 SLICE_SPEC, ADR/Decision Log",사용자 결과 '분할·배당·증자·합병·상폐의 가격·수량·원가 일관성'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-02,VS-03",G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-02,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,DATA,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,데이터 시점·스키마·정합성 계약,"MIG-CA-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-04-01,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-03,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,DOMAIN,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,도메인 불변조건·상태전이 구현,"src/Modules/SecurityMaster/ApplyCorporateActions/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-04-02,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-04,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,BE,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Vertical Slice API/Application/SQL 구현,DAT-04; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-04-03,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-05,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,ASYNC,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Event/Job/Inbox·재처리 구현,"J03; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-04-04,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-04-06,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,FE,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Vue feature·Zod·Query·컴포넌트 구현,UI-DQ-02; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-04-05,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-04-07,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,TESTOPS,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,회귀·관제·Runbook·Rollback 증거,T-CA-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-04-06,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-01,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,GOV,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,정책·범위·실패상태 계약 확정,"REQ-FND-001, VS-05 SLICE_SPEC, ADR/Decision Log",사용자 결과 '공시·재무·컨센서스 공개시각과 정정 이력'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-02,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,DATA,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,데이터 시점·스키마·정합성 계약,"MIG-FND-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-05-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-03,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,DOMAIN,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,도메인 불변조건·상태전이 구현,"src/Modules/FundamentalsPIT/IngestFundamentalsPIT/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-05-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-04,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,BE,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Vertical Slice API/Application/SQL 구현,DAT-05; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-05-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-05,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,ASYNC,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Event/Job/Inbox·재처리 구현,"J04; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-05-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-05-06,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,FE,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Vue feature·Zod·Query·컴포넌트 구현,UI-FND-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-05-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-05-07,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,TESTOPS,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,회귀·관제·Runbook·Rollback 증거,T-FND-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-05-06,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-01,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,GOV,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,정책·범위·실패상태 계약 확정,"REQ-COST-001, VS-06 SLICE_SPEC, ADR/Decision Log",사용자 결과 '계좌·시장·상품별 Fee/Tax/FX valid-time 계약'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-02,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,DATA,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,데이터 시점·스키마·정합성 계약,"MIG-COST-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-06-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-03,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,DOMAIN,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/MaintainFeeTaxFxSchedule/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-06-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-04,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,BE,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Vertical Slice API/Application/SQL 구현,COST-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-06-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-05,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,ASYNC,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Event/Job/Inbox·재처리 구현,"J04C; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-06-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-06-06,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,FE,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Vue feature·Zod·Query·컴포넌트 구현,UI-COST-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-06-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-06-07,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,TESTOPS,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,회귀·관제·Runbook·Rollback 증거,T-COST-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-06-06,G1,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-VS-08-02,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,DATA,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,데이터 시점·스키마·정합성 계약,"MIG-LED-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-08-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-03,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,DOMAIN,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/MaintainPortfolioLedger/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-08-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-04,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,BE,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Vertical Slice API/Application/SQL 구현,POR-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-08-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-05,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,ASYNC,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Event/Job/Inbox·재처리 구현,"J12L; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-08-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-08-06,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,FE,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Vue feature·Zod·Query·컴포넌트 구현,UI-POR-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-08-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-08-07,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,TESTOPS,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,회귀·관제·Runbook·Rollback 증거,T-LED-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-08-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-09-02,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,DATA,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,데이터 시점·스키마·정합성 계약,"MIG-EVD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-09-01,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-03,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,DOMAIN,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,도메인 불변조건·상태전이 구현,"src/Modules/ResearchFactors/BuildEvidenceSnapshot/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-09-02,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-04,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,BE,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Vertical Slice API/Application/SQL 구현,EVD-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-09-03,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-05,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,ASYNC,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Event/Job/Inbox·재처리 구현,"J06; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-09-04,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-09-06,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,FE,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-EVD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-09-05,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-09-07,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,TESTOPS,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,회귀·관제·Runbook·Rollback 증거,T-EVD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-09-06,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-01,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,GOV,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,정책·범위·실패상태 계약 확정,"REQ-SELL-001, VS-10 SLICE_SPEC, ADR/Decision Log",사용자 결과 '우선순위가 보존된 HOLD/부분매도/전량매도 결정'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-08,VS-09,VS-13",G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-02,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,DATA,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,데이터 시점·스키마·정합성 계약,"MIG-SIG-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-10-01,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-03,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,DOMAIN,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,도메인 불변조건·상태전이 구현,"src/Modules/SignalEngine/GenerateSellDecision/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-10-02,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-04,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,BE,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Vertical Slice API/Application/SQL 구현,SIG-SELL-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-10-03,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-05,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,ASYNC,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Event/Job/Inbox·재처리 구현,"J08S; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-10-04,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-10-06,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,FE,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Vue feature·Zod·Query·컴포넌트 구현,UI-SELL-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-10-05,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-10-07,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,TESTOPS,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,회귀·관제·Runbook·Rollback 증거,T-SELL-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-10-06,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-012,S5,W11-12,Cross,Cross-cutting,Research,REPRO,REQ-REPRO-001,Cross,Cross,Cross,Cross,Cross,dataset/code/config/environment manifest와 artifact hash 고도화,dataset/code/config/environment manifest와 artifact hash,"동일 manifest·seed 결과 재현, 실패 artifact 보존",Quant/Data,Architect/QA,12,AEG-X-009,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-01,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,GOV,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,정책·범위·실패상태 계약 확정,"REQ-RE-001, VS-11 SLICE_SPEC, ADR/Decision Log",사용자 결과 '비가치훼손 매도의 재진입 계약·단계·만료'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-10,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-02,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,DATA,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,데이터 시점·스키마·정합성 계약,"MIG-RE-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-11-01,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-03,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,DOMAIN,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,도메인 불변조건·상태전이 구현,"src/Modules/SignalEngine/ManageReentryWatch/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-11-02,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-04,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,BE,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Vertical Slice API/Application/SQL 구현,RE-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-11-03,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-05,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,ASYNC,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Event/Job/Inbox·재처리 구현,"J09; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-11-04,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-11-06,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,FE,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RE-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-11-05,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-11-07,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,TESTOPS,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,회귀·관제·Runbook·Rollback 증거,T-RE-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-11-06,G2,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-19-02,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,DATA,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,데이터 시점·스키마·정합성 계약,"MIG-BKT-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-19-01,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-03,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,DOMAIN,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,도메인 불변조건·상태전이 구현,"src/Modules/BacktestingEvaluation/RunFrozenBacktest/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-19-02,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-04,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,BE,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Vertical Slice API/Application/SQL 구현,BKT-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-19-03,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-05,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,ASYNC,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Event/Job/Inbox·재처리 구현,"J-BKT; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-19-04,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-19-06,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,FE,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Vue feature·Zod·Query·컴포넌트 구현,UI-BKT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-19-05,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-19-07,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,TESTOPS,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,회귀·관제·Runbook·Rollback 증거,T-BKT-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-19-06,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-VS-07-02,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,DATA,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,데이터 시점·스키마·정합성 계약,"MIG-CLI-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-07-01,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-03,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,DOMAIN,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/ManageClientIPS/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-07-02,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-04,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,BE,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Vertical Slice API/Application/SQL 구현,CLI-01/02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-07-03,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-05,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,ASYNC,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-07-04,MVP-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-07-06,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,FE,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Vue feature·Zod·Query·컴포넌트 구현,UI-CLI-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-07-05,MVP-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-07-07,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,TESTOPS,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,회귀·관제·Runbook·Rollback 증거,T-CLI-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-07-06,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-01,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,GOV,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,정책·범위·실패상태 계약 확정,"REQ-REC-001, VS-14 SLICE_SPEC, ADR/Decision Log",사용자 결과 '고객별 BUY/HOLD/SELL/REENTER/REBALANCE 제안 패키지'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-07,VS-10,VS-12,VS-13",MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-02,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,DATA,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,데이터 시점·스키마·정합성 계약,"MIG-REC-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-14-01,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-03,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,DOMAIN,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/GenerateDailyRecommendations/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-14-02,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-04,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,BE,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Vertical Slice API/Application/SQL 구현,SIG-01/02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-14-03,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-05,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,ASYNC,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Event/Job/Inbox·재처리 구현,"J08; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-14-04,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-14-06,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,FE,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REC-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-14-05,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-14-07,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,TESTOPS,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,회귀·관제·Runbook·Rollback 증거,T-REC-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-14-06,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-01,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,GOV,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,정책·범위·실패상태 계약 확정,"REQ-REV-001, VS-15 SLICE_SPEC, ADR/Decision Log",사용자 결과 'maker-checker 승인·보류·기각과 낙관적 동시성'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-14,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-02,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,DATA,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,데이터 시점·스키마·정합성 계약,"MIG-REV-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-15-01,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-03,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,DOMAIN,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/ReviewRecommendation/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-15-02,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-04,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,BE,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Vertical Slice API/Application/SQL 구현,SIG-04; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-15-03,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-05,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,ASYNC,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-15-04,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-15-06,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,FE,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-15-05,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-15-07,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,TESTOPS,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,회귀·관제·Runbook·Rollback 증거,T-REV-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-15-06,MVP-B,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-16-02,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,DATA,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,데이터 시점·스키마·정합성 계약,"MIG-PUB-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-16-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-03,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,DOMAIN,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/PublishClientAdvice/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-16-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-04,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,BE,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Vertical Slice API/Application/SQL 구현,SIG-05; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-16-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-05,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,ASYNC,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Event/Job/Inbox·재처리 구현,"J-PUB; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-16-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-16-06,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,FE,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Vue feature·Zod·Query·컴포넌트 구현,UI-ADV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-16-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-16-07,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,TESTOPS,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,회귀·관제·Runbook·Rollback 증거,T-PUB-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-16-06,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-01,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,GOV,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,정책·범위·실패상태 계약 확정,"REQ-CLD-001, VS-17 SLICE_SPEC, ADR/Decision Log",사용자 결과 '고객 수락·거절·보류와 attribution 연결'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-16,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-02,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,DATA,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,데이터 시점·스키마·정합성 계약,"MIG-CLD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-17-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-03,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,DOMAIN,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/RecordClientDecision/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-17-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-04,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,BE,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Vertical Slice API/Application/SQL 구현,SIG-06; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-17-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-05,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,ASYNC,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-17-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-17-06,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,FE,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-CLD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-17-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-17-07,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,TESTOPS,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,회귀·관제·Runbook·Rollback 증거,T-CLD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-17-06,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-01,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,GOV,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,정책·범위·실패상태 계약 확정,"REQ-EVA-001, VS-18 SLICE_SPEC, ADR/Decision Log",사용자 결과 '1/5/20/63/126/252일 결과·매도·재진입 품질 평가'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-10,VS-11,VS-16,VS-17",G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-02,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,DATA,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,데이터 시점·스키마·정합성 계약,"MIG-EVA-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-18-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-03,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,DOMAIN,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,도메인 불변조건·상태전이 구현,"src/Modules/BacktestingEvaluation/EvaluateDecisionOutcome/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-18-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-04,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,BE,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Vertical Slice API/Application/SQL 구현,EVA-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-18-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-05,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,ASYNC,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Event/Job/Inbox·재처리 구현,"J10/J11; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-18-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-18-06,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,FE,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Vue feature·Zod·Query·컴포넌트 구현,UI-EVA-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-18-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-18-07,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,TESTOPS,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,회귀·관제·Runbook·Rollback 증거,T-EVA-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-18-06,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-13-02,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,DATA,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,데이터 시점·스키마·정합성 계약,"MIG-RISK-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-13-01,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-03,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,DOMAIN,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/CalculatePortfolioRisk/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-13-02,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-04,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,BE,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Vertical Slice API/Application/SQL 구현,POR-02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-13-03,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-05,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,ASYNC,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Event/Job/Inbox·재처리 구현,"J07; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-13-04,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-13-06,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,FE,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RISK-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-13-05,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-13-07,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,TESTOPS,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,회귀·관제·Runbook·Rollback 증거,T-RISK-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-13-06,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-21-02,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,DATA,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,데이터 시점·스키마·정합성 계약,"MIG-REB-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-21-01,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-03,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,DOMAIN,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/BuildRebalanceProposal/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-21-02,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-04,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,BE,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Vertical Slice API/Application/SQL 구현,REB-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-21-03,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-05,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,ASYNC,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Event/Job/Inbox·재처리 구현,"J-REB; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-21-04,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-21-06,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,FE,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REB-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-21-05,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-21-07,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,TESTOPS,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,회귀·관제·Runbook·Rollback 증거,T-REB-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-21-06,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-VS-12-02,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,DATA,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,데이터 시점·스키마·정합성 계약,"MIG-BUY-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-12-01,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-03,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,DOMAIN,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,도메인 불변조건·상태전이 구현,"src/Modules/ValuationForecast/RankBuyCandidates/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-12-02,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-04,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,BE,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Vertical Slice API/Application/SQL 구현,BUY-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-12-03,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-05,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,ASYNC,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Event/Job/Inbox·재처리 구현,"J08B; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-12-04,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-12-06,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,FE,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Vue feature·Zod·Query·컴포넌트 구현,UI-BUY-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-12-05,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-12-07,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,TESTOPS,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,회귀·관제·Runbook·Rollback 증거,T-BUY-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-12-06,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-01,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,GOV,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,정책·범위·실패상태 계약 확정,"REQ-RPL-001, VS-22 SLICE_SPEC, ADR/Decision Log",사용자 결과 '적합성·유동성·비용후 기회우위 대체상품 비교'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-07,VS-12,VS-13",Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-02,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,DATA,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,데이터 시점·스키마·정합성 계약,"MIG-RPL-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-22-01,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-03,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,DOMAIN,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/SuggestReplacementProducts/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-22-02,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-04,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,BE,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Vertical Slice API/Application/SQL 구현,RPL-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-22-03,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-05,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,ASYNC,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Event/Job/Inbox·재처리 구현,"J-RPL; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-22-04,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-22-06,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,FE,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RPL-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-22-05,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-22-07,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,TESTOPS,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,회귀·관제·Runbook·Rollback 증거,T-RPL-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-22-06,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-014,S11,W23-24,Cross,Cross-cutting,Model Risk,VALIDATION,REQ-MODEL-RISK,Cross,Cross,Cross,Cross,Cross,CSCV/PBO 고도화,CSCV/PBO·DSR·block bootstrap·시도 원장,"PBO≤20%, DSR≥95%, cost×2 utility 양수 또는 승격 차단",Quant/Risk,Architect/QA,15,AEG-X-012,G4-A,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-20-02,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,DATA,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,데이터 시점·스키마·정합성 계약,"MIG-MOD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-20-01,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-03,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,DOMAIN,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,도메인 불변조건·상태전이 구현,"src/Modules/GovernanceAudit/PromoteModelVersion/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-20-02,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-04,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,BE,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Vertical Slice API/Application/SQL 구현,MOD-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-20-03,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-05,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,ASYNC,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Event/Job/Inbox·재처리 구현,"J-MOD; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-20-04,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-20-06,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,FE,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-MOD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-20-05,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-20-07,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,TESTOPS,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,회귀·관제·Runbook·Rollback 증거,T-MOD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-20-06,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-VS-24-02,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,DATA,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,데이터 시점·스키마·정합성 계약,"MIG-RPT-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-24-01,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-03,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,DOMAIN,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,도메인 불변조건·상태전이 구현,"src/Modules/ReportingNotifications/ReportAndNotify/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-24-02,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-04,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,BE,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Vertical Slice API/Application/SQL 구현,RPT-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-24-03,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-05,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,ASYNC,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Event/Job/Inbox·재처리 구현,"J11R; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-24-04,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-24-06,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,FE,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RPT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-24-05,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-24-07,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,TESTOPS,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,회귀·관제·Runbook·Rollback 증거,T-RPT-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-24-06,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-016,S12,W25-26,Cross,Cross-cutting,Broker,CAPABILITY,REQ-KIS-OFF,Cross,Cross,Cross,Cross,Cross,KIS 주문 제출 startup/CI/runtime 차단 고도화,KIS 주문 제출 startup/CI/runtime 차단,"외부 주문 호출 0, capability override 감사·kill-switch 통과",Security/Ops,Architect/QA,7,AEG-X-005,ALL,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-01,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,GOV,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,정책·범위·실패상태 계약 확정,"REQ-RECON-001, VS-23 SLICE_SPEC, ADR/Decision Log",사용자 결과 '브로커·내부 주문·체결·보유·현금 break와 승인 정정'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-08,VS-16",Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-02,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,DATA,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,데이터 시점·스키마·정합성 계약,"MIG-EXE-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-23-01,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-03,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,DOMAIN,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,도메인 불변조건·상태전이 구현,"src/Modules/ExecutionReconciliation/ReconcilePositionsAndFills/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-23-02,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-04,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,BE,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Vertical Slice API/Application/SQL 구현,"EXE-01/02,REC-01/02; Endpoint/Validator/Application/Dapper/Outbox",인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-23-03,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-05,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,ASYNC,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Event/Job/Inbox·재처리 구현,"J12; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-23-04,Pilot-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-23-06,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,FE,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RECON-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-23-05,Pilot-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-23-07,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,TESTOPS,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,회귀·관제·Runbook·Rollback 증거,T-RECON-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-23-06,Pilot-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-VS-25-02,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,DATA,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,데이터 시점·스키마·정합성 계약,"MIG-GOV-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-25-01,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-03,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,DOMAIN,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,도메인 불변조건·상태전이 구현,"src/Modules/GovernanceAudit/AuditAndKillSwitch/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-25-02,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-04,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,BE,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Vertical Slice API/Application/SQL 구현,GOV-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-25-03,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-05,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,ASYNC,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Event/Job/Inbox·재처리 구현,"J-GOV; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-25-04,G5,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-25-06,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,FE,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Vue feature·Zod·Query·컴포넌트 구현,UI-GOV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-25-05,G5,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-25-07,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,TESTOPS,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,회귀·관제·Runbook·Rollback 증거,T-GOV-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-25-06,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
|
||||
AEG-X-019,S14,W29-30,Cross,Cross-cutting,Cutover,RELEASE,REQ-CUT-001,Cross,Cross,Cross,Cross,Cross,dry-run/backfill/recon/rollback/release evidence 고도화,dry-run/backfill/recon/rollback/release evidence,"미승인 공개 0, duplicate 0, rollback 리허설과 승인 서명",PM/Ops,Architect/QA,10,AEG-X-018,G6-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-020,S15,W31-32,Cross,Cross-cutting,Hypercare,OPS,REQ-HYP-001,Cross,Cross,Cross,Cross,Cross,P1/P2 triage 고도화,P1/P2 triage·daily reconciliation·debt burn-down,초기 안정화 Exit 기준·Owner·잔여 부채 승인,Ops/PM,Architect/QA,8,AEG-X-019,G6,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-005,S0,W1-2,Cross,Cross-cutting,Database,DBA,REQ-DB-REHEARSAL,Cross,MIG-REHEARSAL,Cross,Cross,T-DB-022,DbUp fresh/upgrade/re-run/failure rehearsal script,scripts/rehearse_migrations.sh,Approved PostgreSQL runner produces 4 scenario artifacts,DBA,BE/DevOps,8,AEG-X-004,G0,DESIGN_PROPOSAL,P0,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-X-008,S0,W1-2,Cross,Cross-cutting,Batch,JOB,REQ-JOB-001,Cross,MIG-0000,JOB-RUN-STD,UI-OPS-JOB,T-JOB-022,JobRun/Watermark/heartbeat scope standard,ReliableJob template,Concurrent duplicate is held; retry preserves scope/version/input hash,BE/SRE,QA/Data,8,AEG-X-008,G1,DESIGN_PROPOSAL,P1,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-002,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,ALG,ALG-SELL-001~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-TRACE-001,Persist ordered policy evaluation trace,policy_trace_json/API schema,Applied/blocked/not-applicable reasons reproduce decision priority,BE/Quant,FE/QA,8,AEG22-VS10-001,G2-A,DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG22-VS10-003,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,QA,ALG-SELL-001~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-GOLDEN-022,Golden/boundary/monotonic/property vectors,unit/golden vectors,"Core clamp, survival bypass, priority and future PIT rejection pass",QA/Quant,BE,8,AEG22-VS10-002,G2-A,SOURCE+DESIGN_PROPOSAL,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-VS03-002,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DATA,REQ-DAT-LIC,DAT-01,MIG-DAT-001,J02,UI-DAT-01,T-DAT-LIC-022,Source license/SLA/checksum fail-closed gate,Source catalog contract,Unapproved/checksum-drift source cannot reach canonical/PIT layer,Data Governance,BE/Compliance,7,AEG22-VS03-001,G1-B,SOURCE+DESIGN_PROPOSAL,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-VS16-001,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,BE,REQ-PUB-001,ADV-03,MIG-ADV-003,AdvicePublished,UI-CLI-01,T-PUB-022,Publish snapshot hash and staleness gate,publication immutable snapshot,Expired/revised/quarantined evidence blocks publish,BE/Compliance,QA/FE,9,AEG-VS-16-04,G3,SOURCE,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-VS25-001,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,SEC,REQ-GOV-001,GOV-01,MIG-GOV-001,KillSwitchChanged,UI-GOV-01,T-KILL-022,Automatic-order capability tripwire,capability tests/runbook,Any AutomaticOrder/KIS drift blocks start/release/action,Security/Ops,DevOps/QA,8,AEG-VS-25-04,ALL,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
|
||||
|
@@ -0,0 +1,34 @@
|
||||
ID,Priority,Debt,Impact,Remediation,Gate,Owner,Status
|
||||
TD-001,P0,도구체인 실빌드 미검증,C# 컴파일/패키지 호환 결함 가능,승인 .NET 10 runner에서 restore/build/test,G0,DevOps,OPEN
|
||||
TD-002,P0,pnpm-lock.yaml 부재,FE 공급망·재현성 미확보,승인 네트워크에서 pnpm install 후 lock review/commit,G0,FE Lead,OPEN
|
||||
TD-003,P0,PostgreSQL migration rehearsal 미실행,fresh/upgrade/re-run/복구 실패 가능,PostgreSQL 승인 버전 4시나리오 자동화,G0,DBA,OPEN
|
||||
TD-004,P0,원시 연구 데이터 권리·checksum·환경 lock 미완전,제3자 clean-room 재현 불가,Source catalog/license/raw checksum/container digest 확보,G1,Data Governance,OPEN
|
||||
TD-005,P0,KR 검증 종료 2021-04-16,최근 시장국면 검증 공백,2026 현재까지 PIT 총수익·상폐·기업행사 보충 후 frozen OOS,G4,Quant/Data,OPEN
|
||||
TD-006,P0,실제 OIDC/JWT 공급자 미결정,외부 Pilot 접근통제 불가,"Auth ADR, key rotation, claims/RBAC E2E",G5,Security,OPEN
|
||||
TD-007,P0,총수익·상폐수익·컨센서스 공급계약 미확정,생존편향·성과왜곡,공식/상용 source 계약·SLA·재배포 권리 승인,G1,Data Governance,OPEN
|
||||
TD-008,P0,Fee/Tax/FX PIT 표 미확정,비용후 기대효용 왜곡,valid_from/to 계좌·venue·상품·side·band schedule,G1,DBA/Quant,OPEN
|
||||
TD-009,P0,Outbox/Inbox crash/replay 실증 미완료,side effect 누락·중복,lease/dead-letter/replay chaos test,G3,BE/SRE,IN_PROGRESS
|
||||
TD-010,P1,JobRun·Watermark 표준의 일부 구현만 존재,배치 재처리·감사 불완전,공통 JobRun scope/version/hash/heartbeat 정책 적용,G1,BE/SRE,IN_PROGRESS
|
||||
TD-011,P1,Architecture test가 정적 문자열 규칙 중심,금지 의존 누락 가능,assembly/namespace/schema/API fitness function 확대,G0,Architect,IN_PROGRESS
|
||||
TD-012,P1,OpenAPI→FE contract 자동생성 미도입,DTO drift·홀루시네이션 위험,OpenAPI artifact diff + generated client/schema gate,G3,BE/FE,OPEN
|
||||
TD-013,P1,PII redaction·Telegram 보안 테스트 미완성,고객정보 노출 가능,classification/redaction test와 secret scan,G5,Security/SRE,OPEN
|
||||
TD-014,P1,Model promotion workflow 미완성,무단 모델 활성화 위험,model card/maker-checker/effective_at/rollback 구현,G4,Risk/BE,OPEN
|
||||
TD-015,P1,Read Model rebuild runner 미완성,stale projection 복구 불가,projection version/watermark/rebuild/diff 도구,G3,BE/Data,IN_PROGRESS
|
||||
TD-016,P1,SLO/RPO/RTO 미승인,운영 Go 판단 불가,부하시험·백업복구·DR ADR 승인,G5,SRE/DBA,OPEN
|
||||
TD-017,P2,공통 UI 컴포넌트 승격 기준 미운영,중복 또는 과도한 추상화,3회 반복+동일 의미/변경축 확인 후 승격,S10,FE Lead,OPEN
|
||||
TD-018,P1,PBO/DSR 전체 탐색·시도 원장 미완성,과최적화 위험,전체 실험 registry+CSCV/PBO/DSR/block bootstrap,G4,Quant/Risk,OPEN
|
||||
TD-019,P1,자산유형별 재진입 확인팩터 공급원 미완성,재진입 품질 저하,asset policy contract+PIT source+missing evidence downgrade,G2,Quant/Data,OPEN
|
||||
TD-020,P0,자동주문/KIS 제출은 금지 상태,오활성화 사고 위험,Options ValidateOnStart+CI config scan+runtime kill switch 유지,ALL,Security/Ops,MITIGATED
|
||||
TD-021,P1,정책 임계값이 문서·YAML·C#에 중복될 가능성,계약 drift,승인 config registry+schema+hash+generated constants,G2,Quant/BE,OPEN
|
||||
TD-022,P1,DB immutable trigger와 correction event 운영절차 미실증,정정/감사 장애 가능,maker-checker correction replay와 audit trace E2E,G3,DBA/Compliance,OPEN
|
||||
TD-023,P2,프런트 서버상태/Pinia 책임 경계의 팀 규율 미검증,중복 캐시·stale UI,lint/review checklist+query key registry,MVP-B,FE Lead,OPEN
|
||||
TD-024,P1,Dependency vulnerability/license 자동검사 미구성,공급망 리스크,NuGet/npm SBOM·license allowlist·vulnerability gate,G5,Security/DevOps,OPEN
|
||||
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,Metric definition registry and scorecard version,G3,Quant/Risk,OPEN
|
||||
TD-033,P1,Module and feature scaffolding depended on manual copying,Pattern drift and vibe-coding hallucination,Reviewed template pack plus architecture checks,G0,Architect,MITIGATED
|
||||
|
@@ -0,0 +1,31 @@
|
||||
Requirement_ID,Slice_ID,Policy_or_Data_ID,API_ID,DB_ID,Job_Event_ID,UI_ID,Test_ID,WBS_Range,Release_Gate,Evidence_Status
|
||||
REQ-PLAT-001,VS-00,DATA/DOMAIN-CONTRACT,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,AEG-VS-00-01..AEG-VS-00-07,G0,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-IAM-001,VS-01,DATA/DOMAIN-CONTRACT,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,AEG-VS-01-01..AEG-VS-01-07,G1-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-SEC-001,VS-02,DATA/DOMAIN-CONTRACT,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,AEG-VS-02-01..AEG-VS-02-07,G1-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-DAT-001,VS-03,DATA/DOMAIN-CONTRACT,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,AEG-VS-03-01..AEG-VS-03-07,G1-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CA-001,VS-04,DATA/DOMAIN-CONTRACT,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,AEG-VS-04-01..AEG-VS-04-07,G1-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-FND-001,VS-05,DATA/DOMAIN-CONTRACT,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,AEG-VS-05-01..AEG-VS-05-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-COST-001,VS-06,DATA/DOMAIN-CONTRACT,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,AEG-VS-06-01..AEG-VS-06-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CLI-001,VS-07,DATA/DOMAIN-CONTRACT,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,AEG-VS-07-01..AEG-VS-07-07,MVP-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-LED-001,VS-08,DATA/DOMAIN-CONTRACT,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,AEG-VS-08-01..AEG-VS-08-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-EVD-001,VS-09,DATA/DOMAIN-CONTRACT,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,AEG-VS-09-01..AEG-VS-09-07,G2-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-SELL-001,VS-10,"ALG-SELL-001~005,ALG-SELL-PORT-001",SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,AEG-VS-10-01..AEG-VS-10-07,G2-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RE-001,VS-11,ALG-REENTRY-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,AEG-VS-11-01..AEG-VS-11-07,G2,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-BUY-001,VS-12,ALG-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,AEG-VS-12-01..AEG-VS-12-07,Portfolio Gate,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RISK-001,VS-13,ALG-PORT-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,AEG-VS-13-01..AEG-VS-13-07,Portfolio-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REC-001,VS-14,DATA/DOMAIN-CONTRACT,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,AEG-VS-14-01..AEG-VS-14-07,MVP-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REV-001,VS-15,DATA/DOMAIN-CONTRACT,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,AEG-VS-15-01..AEG-VS-15-07,MVP-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-PUB-001,VS-16,DATA/DOMAIN-CONTRACT,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,AEG-VS-16-01..AEG-VS-16-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CLD-001,VS-17,DATA/DOMAIN-CONTRACT,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,AEG-VS-17-01..AEG-VS-17-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-EVA-001,VS-18,DATA/DOMAIN-CONTRACT,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,AEG-VS-18-01..AEG-VS-18-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-BKT-001,VS-19,DATA/DOMAIN-CONTRACT,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,AEG-VS-19-01..AEG-VS-19-07,G2,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-MOD-001,VS-20,DATA/DOMAIN-CONTRACT,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,AEG-VS-20-01..AEG-VS-20-07,G4-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REB-001,VS-21,DATA/DOMAIN-CONTRACT,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,AEG-VS-21-01..AEG-VS-21-07,Portfolio-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RPL-001,VS-22,DATA/DOMAIN-CONTRACT,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,AEG-VS-22-01..AEG-VS-22-07,Portfolio Gate,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RECON-001,VS-23,DATA/DOMAIN-CONTRACT,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,AEG-VS-23-01..AEG-VS-23-07,Pilot-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RPT-001,VS-24,DATA/DOMAIN-CONTRACT,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,AEG-VS-24-01..AEG-VS-24-07,G4-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-GOV-001,VS-25,DATA/DOMAIN-CONTRACT,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,AEG-VS-25-01..AEG-VS-25-07,G5,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-SIG-WEIGHT-022,VS-10,ALG-SELL-002~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-LOT-001,AEG22-VS10-001~004,G2-A,SOURCE+INFERENCE
|
||||
REQ-SIG-TRACE-022,VS-10,ALG-SELL-001~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-TRACE-001,AEG22-VS10-002,G2-A,DESIGN_PROPOSAL
|
||||
REQ-DAT-LIC-022,VS-03,DQ-01~08,DAT-01,MIG-DAT-001,J02,UI-DAT-01,T-DAT-LIC-022,AEG22-VS03-002,G1-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REL-022,Cross,DOC-NR-03/06,Cross,Cross,Cross,Cross,T-REL-022,AEG22-X-012,G6,DESIGN_PROPOSAL
|
||||
|
@@ -0,0 +1,18 @@
|
||||
Decision_ID,Status,Decision_or_Question,Basis,Owner,Gate,Approved_or_Due
|
||||
DEC-001,APPROVED,투자자문형→Shadow→Pilot; 자동주문 OFF,v10.0·v12.2,운영사/준법,ALL,2026-08-01
|
||||
DEC-002,APPROVED,알고리즘 상태 RESEARCH_CANDIDATE_NOT_PRODUCTION,v10.0·v12.2,투자위/리스크,G4,2026-08-01
|
||||
DEC-003,APPROVED,Modular Monolith+Vertical Slice; 조기 microservice 금지,v10.0,Architect,G0,2026-08-01
|
||||
DEC-004,APPROVED,PIT/revision/hash/lineage와 immutable Evidence 우선,v10.0·v12.2,Data/Quant,G1,2026-08-01
|
||||
DEC-005,APPROVED,매도 우선순위: impairment→survival→floor→concentration→opportunity→reentry,v12.2,투자위/Quant,G2,2026-08-01
|
||||
DEC-006,APPROVED,SellRatioOfLot와 portfolio weight/core floor 단위 분리,v12.0 Delta,Quant/Architect,G2-A,2026-08-02
|
||||
DEC-007,DECISION_REQUIRED,생산 OIDC/JWT 공급자와 claims mapping,자료 미지원,Security/PM,G5,미정
|
||||
DEC-008,DECISION_REQUIRED,PIT 총수익·상폐·컨센서스 공급원/라이선스,자료 미지원,Data Governance/Legal,G1,미정
|
||||
DEC-009,DECISION_REQUIRED,계좌·시장·venue별 Fee/Tax/FX schedule,자료 미지원,Ops/Tax/Quant,G1,미정
|
||||
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-017,DECISION_REQUIRED,Approve .NET/PostgreSQL/pnpm runner image digests,Real build and migration evidence prerequisite,DevOps/Security,G0,Before coding start
|
||||
|
@@ -0,0 +1,19 @@
|
||||
# 바이브코딩·홀루시네이션 통제
|
||||
|
||||
| 분류 | 정의 | 처리 |
|
||||
|---|---|---|
|
||||
| SOURCE | 첨부·승인 계약에 직접 근거 | 출처 ID와 구현 연결 |
|
||||
| ASSUMPTION | 착수 편의 가정 | Owner·만료일·영향·승인 |
|
||||
| UNKNOWN | 자료로 판단 불가 | 코드 기본값 금지 |
|
||||
| DECISION_REQUIRED | Gate 전 결정 필수 | 코딩/승격 차단 |
|
||||
|
||||
AI 작업 패킷에는 Requirement/Slice/Policy/Data/API/DB/Job/UI/Test/금지패턴/검증명령을 포함한다. 새 library, table, threshold, index, pattern은 ADR/Decision 없이 도입하지 않는다. 실행하지 않은 build/test/migration/Shadow/PBO/DSR을 PASS로 기록하지 않는다.
|
||||
|
||||
금지사항:
|
||||
|
||||
- 실고객 계좌·token·secret·PII를 prompt/fixture/log에 포함
|
||||
- 최신 현재값으로 과거 PIT 결측을 보정
|
||||
- Generic Repository, 무근거 microservice, 전역 Pinia 캐시
|
||||
- 테스트를 맞추기 위한 임계값 임의 변경
|
||||
- 정적 문자열 검사를 실빌드로 표현
|
||||
- 미확정 OIDC/데이터 공급원을 가짜 구현으로 숨김
|
||||
@@ -0,0 +1,17 @@
|
||||
# 20영업일 재착수와 Gate
|
||||
|
||||
| 기간 | 핵심 작업 | 완료 증거 |
|
||||
|---|---|---|
|
||||
| D1~D3 | 기준선/첨부 SHA/Coverage/Decision/자동주문 OFF | Steering 승인, ID 중복 0 |
|
||||
| D4~D6 | .NET/node/pnpm/lockfile/Gitea CI | 재현 bootstrap green |
|
||||
| D7~D10 | DbUp 4시나리오, Auth, Outbox/Inbox, Architecture | G0 통과 |
|
||||
| D11~D14 | SecurityMaster·MarketData·PIT·CA·DQ | replay hash 동일, lookahead 0 |
|
||||
| D15~D17 | Evidence·Lot/종목 비중·6 Sell Policy·Reentry | G2-A Golden 통과 |
|
||||
| D18~D20 | Production Decision Slice·FE·OTel E2E | 첫 End-to-End Slice Done |
|
||||
|
||||
## Gate 원칙
|
||||
|
||||
- Gate 미충족 시 해당 Slice만 차단한다.
|
||||
- 자동주문/KIS 제출은 모든 환경에서 OFF다.
|
||||
- 미확정 사항은 DECISION_REQUIRED이며 기본값으로 추정하지 않는다.
|
||||
- 문서/DDL/OpenAPI/Test 계약 diff가 불일치하면 Release를 차단한다.
|
||||
@@ -0,0 +1,33 @@
|
||||
# 리팩터링·기술부채 상환 백로그
|
||||
|
||||
## 즉시
|
||||
|
||||
1. v12.1의 모호한 `CurrentPortfolioWeight` 의미를 migration 0014로 분리
|
||||
2. 정책 trace v2 이벤트와 API/FE runtime schema 동기화
|
||||
3. 정적 validation을 v12.2 Source/WBS/DDL/금지패턴 기준으로 갱신
|
||||
4. 실제 .NET 10 runner, pnpm lock, PostgreSQL rehearsal 확보
|
||||
|
||||
## G1 이전
|
||||
|
||||
- Source catalog/license/SLA/checksum
|
||||
- 총수익·상폐·기업행사·Fee/Tax/FX PIT
|
||||
- Ledger lot/security/account 합계 대사
|
||||
|
||||
## G2 이전
|
||||
|
||||
- C#↔Python Golden
|
||||
- reentry stage/cycle uniqueness
|
||||
- 모든 실험 registry, PBO/DSR hooks
|
||||
- Policy/config/data/code hash 동결
|
||||
|
||||
## G3 이전
|
||||
|
||||
- Outbox/Inbox chaos
|
||||
- maker-checker concurrency
|
||||
- publish snapshot hash
|
||||
- Projection rebuild/diff
|
||||
- PII/Telegram redaction
|
||||
|
||||
## 상환 규칙
|
||||
|
||||
기술부채는 Owner, 영향, Trigger, Gate, Exit Test가 없으면 등록으로 인정하지 않는다. P0는 해당 Gate 이전에 종료하거나 승인된 완화통제를 가져야 한다.
|
||||
@@ -0,0 +1,14 @@
|
||||
# 패키지 구성
|
||||
|
||||
- `attachments/current_session/`: 현재 세션 첨부 6개 원본
|
||||
- `attachments/SOURCE_INDEX.json`: 파일 크기·SHA-256·역할
|
||||
- `docs/v12_2/`: 전략, 알고리즘, 데이터, BE/FE, WBS, 추적성, 부채, Gate
|
||||
- `src/`: .NET 10 Modular Monolith walking skeleton
|
||||
- `frontend/`: Vue 3/Vite/TanStack Query/Pinia/Zod scaffold
|
||||
- `db/migrations/0014_*`: Lot/종목 비중 및 정책 trace Delta
|
||||
- `templates/`: .NET/Vue/SQL/Hangfire 구현 템플릿
|
||||
- `tests/`: 정책·재진입·Architecture 테스트
|
||||
- `research/`: 첨부 연구 코드/결과와 hardening tests
|
||||
- `.gitea/workflows/`: CI 계약
|
||||
- `STATIC_VALIDATION_V12_2.txt`: 실제 수행한 정적 검증 결과
|
||||
- `PACKAGE_MANIFEST.json`, `SHA256SUMS.txt`: 무결성
|
||||
@@ -0,0 +1,9 @@
|
||||
Validation,Environment,Status,Required_Action,Gate
|
||||
Static package validation,Executable in current environment,PASS 16 / WARN 4 / FAIL 0,Retain scripts/validate_v122.py in CI,G0
|
||||
Python research hardening tests,Executable in current environment,PASS 4 / FAIL 0,Cross-check identical vectors in C# after .NET build,G2
|
||||
DOCX render and visual QA,LibreOffice rendering available,PASS 12 pages / no clipping or overlap,Re-render after document edits,G0
|
||||
.NET restore/build/test,SDK unavailable,NOT RUN,Approved .NET 10 runner,G0
|
||||
pnpm frozen install/typecheck/test/build,pnpm and reviewed lockfile unavailable,NOT RUN,Approved network + reviewed lockfile,G0
|
||||
PostgreSQL DbUp fresh/upgrade/re-run/failure,PostgreSQL client/server unavailable,NOT RUN,Approved PostgreSQL runner,G0
|
||||
C#↔Python golden vectors,C# runtime unavailable,NOT RUN,Run after .NET build,G2
|
||||
252-session Shadow/PBO/DSR,Evidence period not accumulated,NOT MET,Shadow operation and frozen OOS,G4
|
||||
|
Binary file not shown.
@@ -0,0 +1,25 @@
|
||||
# K-ArtSell Aegis v12.3 실행·검증 하드닝 제안
|
||||
|
||||
상태: **IMPLEMENTATION_TEMPLATE / STATIC_VALIDATION_REQUIRED / BUILD_AND_DB_REHEARSAL_REQUIRED**
|
||||
운영 경계: **투자자문형 우선 · 자동주문/KIS 제출 OFF · RESEARCH_CANDIDATE_NOT_PRODUCTION**
|
||||
|
||||
## 경영진 결론
|
||||
|
||||
v12.3은 v10.0의 Baseline Preservation + Delta + Supersession + Traceability와 v12.2의 Lot/종목 비중 분리를 유지한다. 신규 Delta는 화면 확대가 아니라 **데이터 의미의 안전한 전환, 정책 계약 버전, CI·스캐폴딩의 재현성, 성과지표 정의 이력**에 집중한다.
|
||||
|
||||
생산준비도는 `Source/License → PIT/Revision/DQ → Evidence/VersionSet → Sell/Reentry → Recommendation → Maker-Checker → Publish → Outcome → Reconciliation/DR`의 완결성으로 판정한다.
|
||||
|
||||
## v12.3 핵심 교정
|
||||
|
||||
1. v12.2 이전 `current_portfolio_weight` backfill을 명시적 Lot 비중으로 간주하지 않는다. `weight_semantics_version=2`인 재구축 Context만 결정에 사용한다.
|
||||
2. Opportunity edge가 양수라도 요청 매도비율이 0이면 10%로 강제 clamp하지 않고 `BLOCKED` 처리한다.
|
||||
3. 정책 ID·우선순위·임계값을 `SellPolicyContract`와 machine-readable JSON registry로 동기화하고 변경 시 Model Change·Golden·OOS 증거를 요구한다.
|
||||
4. Decision/API/Event/DB에 `decision_contract_version`과 `policy_trace_schema_version`을 포함한다.
|
||||
5. false-exit·재진입 KPI의 분자·분모·평가창·집계를 버전 관리하며, 연구 CSV의 63일 지표와 연 2% 목표를 직접 동일시하지 않는다.
|
||||
6. 스캐폴딩은 dry-run 기본·overwrite 금지·SCAFFOLD_ONLY로 고정하여 바이브코딩의 무단 추정을 차단한다.
|
||||
|
||||
## 범위와 과유불급
|
||||
|
||||
- Modular Monolith·Vertical Slice·Outbox/Inbox·Read Model은 유지한다. 조기 Microservice, Generic Repository, 전면 Event Sourcing은 도입하지 않는다.
|
||||
- 26개 Slice 범위를 확대하지 않고, 250개 WBS에 안전·검증 Delta를 연결한다.
|
||||
- 자동주문과 KIS 제출은 여전히 OFF다. 252거래일 Shadow, 복수 국면 OOS, PBO/DSR, 준법·보안·DR Gate 전에는 투자일임형을 검토하지 않는다.
|
||||
@@ -0,0 +1,8 @@
|
||||
Attachment,Bytes,SHA256,Role,Status,Duplicate_Group
|
||||
K-ArtSell_12_2_complete_package(1).zip,2513047,1e9df605a91f227fb5ff4ea057e55f4319e62060fbaf8e64551756ee2931c5ea,연구 코드·CSV·정량 감사·구성안,RETAINED,
|
||||
K-ArtSell_퀀트투자자문_SI_본프로그램착수_누적고도화_통합실행기준서_v10.0(1).docx,402134,d86795186ec5f578741d64618eb53278a1c3a55795e73307e5bee245980a83a6,최상위 누적 실행기준서,RETAINED,
|
||||
KArtSell_v11_implementation_acceleration(1).zip,56738,2bd5713b98104bf7ac45362105d9b3175d5ca818c06753e572aaf79a936658a2,초기 .NET/Vue walking skeleton,RETAINED,
|
||||
KArtSell_Aegis_v11_1_hardening(1).zip,89397,01b3d3025dfb3a6cafcff4d751851240a6087c2329e5c1472ec31703f209ccbd,보안·불변성·기술부채 하드닝,RETAINED,
|
||||
KArtSell_Aegis_v12_1_execution_ready_complete(1).zip,28233180,e5f9896474f32706d28df29cbdb5e3e74dbcc983e74c73f7067c377ee7aea260,v12.1 실행준비 전체 패키지,RETAINED,
|
||||
K-ArtSell_Aegis_v12_1_실행준비_통합고도화_제안서(1).docx,64063,eab0c2866b6c3d5d1f2fd8b9fbb33443e010e1adc2cfe612f27a98f97845e8b3,v12.1 실행준비 제안서,RETAINED,
|
||||
KArtSell_Aegis_v12_2_strategic_complete(1).zip,34363575,482cf8caf9fd37c54cfc99797b450d7b7c334df7d5c982e6d391f9b5e9994d74,v12.2 전략적 통합 고도화 기준선,IMPROVED_BY_V12_3,
|
||||
|
@@ -0,0 +1,21 @@
|
||||
# SOLID·리팩터링·컴포넌트화 기준
|
||||
|
||||
## 책임 경계
|
||||
|
||||
- Endpoint: 인증·권한·HTTP·ProblemDetails.
|
||||
- Application: 유스케이스·멱등·트랜잭션·Outbox orchestration.
|
||||
- Domain Policy: 순수 결정·우선순위·상태전이·경계값.
|
||||
- Infrastructure: Dapper/Npgsql/외부 API/Hangfire.
|
||||
- FE: Zod trust boundary, TanStack Query server state, Pinia session/UI preference.
|
||||
|
||||
## 리팩터링 순서
|
||||
|
||||
Characterization/Golden → 작은 동작보존 변경 → 계약 diff → 통합/실패/replay → Release Evidence 순으로 수행한다. 정책·수식 변경은 구조 리팩터링과 같은 PR에 넣지 않는다.
|
||||
|
||||
## 공통화 승격 기준
|
||||
|
||||
세 번 반복되었다는 이유만으로 추상화하지 않는다. 의미·변경축·오류정책이 동일하고, 소비자가 둘 이상이며, 삭제 비용보다 drift 방지 효과가 클 때만 공통 Building Block 또는 FE 컴포넌트로 승격한다.
|
||||
|
||||
## 금지
|
||||
|
||||
God Service, 범용 Repository, 모든 클래스 Interface화, reflection plugin framework, 전역 Pinia 서버 캐시, blind retry, 현재값 overwrite, 수동 DB 정정은 금지한다.
|
||||
@@ -0,0 +1,17 @@
|
||||
# 알고리즘 계약과 미결정 사항
|
||||
|
||||
고정 우선순위는 `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%로 보정하지 않는다.
|
||||
|
||||
## 단위 불변조건
|
||||
|
||||
`TargetSecurityPortfolioWeightAfter = CurrentSecurityPortfolioWeight - CurrentLotPortfolioWeight × SellRatioOfLot`
|
||||
|
||||
비율은 0~1, 금융 원장 값은 decimal, 모델 계산은 경계에서 명시적 rounding을 거친다.
|
||||
@@ -0,0 +1,17 @@
|
||||
# 데이터 의미·PIT·이력성 하드닝
|
||||
|
||||
## 계층
|
||||
|
||||
L0 Source/License → L1 Raw append-only → L2 Canonical PIT/revision → L3 DQ/Quarantine/Lineage → L4 Feature/Forecast/Risk/Evidence → L5 Ledger/Decision/Review/Publish/Outcome → L6 Read Model → L7 Backtest/Release Artifact.
|
||||
|
||||
## v12.3 의미 버전
|
||||
|
||||
`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에만 허용한다.
|
||||
|
||||
## 필수 필드
|
||||
|
||||
source_event_time, published_at, ingested_at, effective_from/to, revision_no, source_id, content_hash, dataset_id, tradable_session, quality_status를 보존한다.
|
||||
@@ -0,0 +1,13 @@
|
||||
# BE·FE·Hangfire 실행 표준
|
||||
|
||||
## Backend
|
||||
|
||||
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을 생성한다.
|
||||
@@ -0,0 +1,27 @@
|
||||
Slice_ID,Slice,Module,Sprint,Weeks,Gate,Requirement_ID,Endpoint_ID,DB_ID,Job_ID,UI_ID,Test_ID,User_Result,Dependency,Status,V12_2_Delta
|
||||
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-03,IngestMarketDataPIT,MarketData,S2,W5-6,G1-B,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,원시·조정 OHLCV·FX·금리의 revision 적재,VS-02,PLANNED,"PIT cutoff enforcement, source/license checksum, replay contract"
|
||||
VS-04,ApplyCorporateActions,SecurityMaster,S2,W5-6,G1-B,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,분할·배당·증자·합병·상폐의 가격·수량·원가 일관성,"VS-02,VS-03",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-05,IngestFundamentalsPIT,FundamentalsPIT,S3,W7-8,G1,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,공시·재무·컨센서스 공개시각과 정정 이력,VS-02,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,S3,W7-8,G1,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,계좌·시장·상품별 Fee/Tax/FX valid-time 계약,VS-02,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-07,ManageClientIPS,ClientAdvisory,S6,W13-14,MVP-A,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,고객 목표·위험성향·제한상품의 버전 관리,VS-01,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-08,MaintainPortfolioLedger,PortfolioRisk,S3,W7-8,G1,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,현금·체결·Lot·Cycle 불변 원장과 대사 기준,"VS-02,VS-06",PLANNED,Security/Lot weight separation and immutable ledger semantics
|
||||
VS-09,BuildEvidenceSnapshot,ResearchFactors,S4,W9-10,G2-A,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Dataset/Model/Config/Code SHA가 동결된 Evidence,"VS-03,VS-04,VS-05,VS-06",PLANNED,Evidence completeness grade and VersionSet hash
|
||||
VS-10,GenerateSellDecision,SignalEngine,S4,W9-10,G2-A,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,우선순위가 보존된 HOLD/부분매도/전량매도 결정,"VS-08,VS-09,VS-13",PLANNED,"v12.3: centralized policy contract, zero-ratio opportunity fail-closed, semantics v2 context gate"
|
||||
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-17,RecordClientDecision,ClientAdvisory,S8,W17-18,G3,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,고객 수락·거절·보류와 attribution 연결,VS-16,PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,S8,W17-18,G3,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,1/5/20/63/126/252일 결과·매도·재진입 품질 평가,"VS-10,VS-11,VS-16,VS-17",PLANNED,v12.3: versioned outcome metric registry; Quant/Risk approval remains required
|
||||
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
|
||||
VS-22,SuggestReplacementProducts,PortfolioRisk,S10,W21-22,Portfolio Gate,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,적합성·유동성·비용후 기회우위 대체상품 비교,"VS-07,VS-12,VS-13",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,S12,W25-26,Pilot-A,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,브로커·내부 주문·체결·보유·현금 break와 승인 정정,"VS-08,VS-16",PLANNED,reconciliation break workflow and approved correction
|
||||
VS-24,ReportAndNotify,ReportingNotifications,S11,W23-24,G4-A,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,고객 리포트·SignalR·Telegram 운영 경보,"VS-16,VS-18",PLANNED,v12.1 contract retained; implementation when Ready Gate passes
|
||||
VS-25,AuditAndKillSwitch,GovernanceAudit,S13,W27-28,G5,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,입력→결정→승인→공개→실행→평가 추적과 단계별 차단,"VS-01,VS-16,VS-20,VS-23",PLANNED,"capability guard, audit correction, kill-switch rehearsal"
|
||||
|
@@ -0,0 +1,251 @@
|
||||
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
|
||||
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
|
||||
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
|
||||
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-X-004,S0,W1-2,Cross,Cross-cutting,Database,DBA,REQ-DB-001,Cross,Cross,Cross,Cross,Cross,DbUp fresh/upgrade/re-run/failure 복구 rehearsal 고도화,DbUp fresh/upgrade/re-run/failure 복구 rehearsal,PostgreSQL 승인 버전에서 4 시나리오와 checksum 변경 차단 통과,DBA/BE,Architect/QA,8,AEG-X-002,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-005,S0,W1-2,Cross,Cross-cutting,Security,SEC,REQ-SEC-BASE,Cross,Cross,Cross,Cross,Cross,"OIDC/JWT ADR, DevelopmentHeader 제한, fail-closed 고도화","OIDC/JWT ADR, DevelopmentHeader 제한, fail-closed","비개발 무인증 접근 0, secret/log/prompt 노출 0",Security/BE,Architect/QA,7,AEG-X-001,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-006,S0,W1-2,Cross,Cross-cutting,Reliability,ASYNC,REQ-ASYNC-001,Cross,Cross,Cross,Cross,Cross,Outbox publisher 고도화,Outbox publisher·Inbox lease·dead-letter·replay,"duplicate 0, crash-before/after-publish 시나리오와 replay hash 통과",BE/SRE,Architect/QA,10,AEG-X-004,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-007,S0,W1-2,Cross,Cross-cutting,Observability,OPS,REQ-OBS-001,Cross,Cross,Cross,Cross,Cross,Serilog/OTel correlation 고도화,Serilog/OTel correlation·metric naming·Telegram redaction,"trace→job→decision→outbox 연결, PII redaction test 통과",SRE/Security,Architect/QA,7,AEG-X-005,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-X-008,S0,W1-2,Cross,Cross-cutting,API Contract,CONTRACT,REQ-API-001,Cross,Cross,Cross,Cross,Cross,OpenAPI artifact 고도화,OpenAPI artifact·ProblemDetails taxonomy·FE contract generation,OpenAPI diff와 breaking change approval 없이는 Release 차단,BE/FE Architect,Architect/QA,8,AEG-X-003,G3,SOURCE+DESIGN_PROPOSAL,P1,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-VS-00-02,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,DATA,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,데이터 시점·스키마·정합성 계약,"MIG-0000/0013, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-00-01,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-03,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,DOMAIN,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,도메인 불변조건·상태전이 구현,"src/Modules/Host/BuildingBlocks/PlatformBootstrap/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-00-02,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-04,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,BE,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Vertical Slice API/Application/SQL 구현,HEALTH-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-00-03,G0,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-00-05,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,ASYNC,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-00-04,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-00-06,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,FE,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,Vue feature·Zod·Query·컴포넌트 구현,UI-PLAT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-00-05,G0,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-00-07,S0,W1-2,VS-00,PlatformBootstrap,Host/BuildingBlocks,TESTOPS,REQ-PLAT-001,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,회귀·관제·Runbook·Rollback 증거,T-ARCH-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-00-06,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-VS-01-02,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,DATA,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,데이터 시점·스키마·정합성 계약,"MIG-IAM-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-01-01,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-03,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,DOMAIN,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,도메인 불변조건·상태전이 구현,"src/Modules/IdentityAccess/ManageIdentityAndRoles/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-01-02,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-04,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,BE,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Vertical Slice API/Application/SQL 구현,IAM-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-01-03,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-01-05,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,ASYNC,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-01-04,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-01-06,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,FE,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,Vue feature·Zod·Query·컴포넌트 구현,UI-IAM-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-01-05,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-01-07,S1,W3-4,VS-01,ManageIdentityAndRoles,IdentityAccess,TESTOPS,REQ-IAM-001,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,회귀·관제·Runbook·Rollback 증거,T-IAM-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-01-06,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-01,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,GOV,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,정책·범위·실패상태 계약 확정,"REQ-SEC-001, VS-02 SLICE_SPEC, ADR/Decision Log",사용자 결과 '상장·상폐·상품구조·거래가능성의 PIT 기준'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-00,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-02,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,DATA,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,데이터 시점·스키마·정합성 계약,"MIG-SEC-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-02-01,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-03,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,DOMAIN,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,도메인 불변조건·상태전이 구현,"src/Modules/SecurityMaster/SynchronizeSecurityMaster/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-02-02,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-04,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,BE,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Vertical Slice API/Application/SQL 구현,"SEC-01/02,DAT-01; Endpoint/Validator/Application/Dapper/Outbox",인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-02-03,G1-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-02-05,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,ASYNC,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Event/Job/Inbox·재처리 구현,"J01; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-02-04,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-02-06,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,FE,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,Vue feature·Zod·Query·컴포넌트 구현,UI-SEC-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-02-05,G1-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-02-07,S1,W3-4,VS-02,SynchronizeSecurityMaster,SecurityMaster,TESTOPS,REQ-SEC-001,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,회귀·관제·Runbook·Rollback 증거,T-SEC-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-02-06,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-03-02,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DATA,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,데이터 시점·스키마·정합성 계약,"MIG-MD-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-03-01,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-03,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DOMAIN,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,도메인 불변조건·상태전이 구현,"src/Modules/MarketData/IngestMarketDataPIT/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-03-02,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-04,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,BE,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Vertical Slice API/Application/SQL 구현,DAT-02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-03-03,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-03-05,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,ASYNC,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Event/Job/Inbox·재처리 구현,"J02; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-03-04,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-03-06,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,FE,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,Vue feature·Zod·Query·컴포넌트 구현,UI-DQ-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-03-05,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-03-07,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,TESTOPS,REQ-DAT-001,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,회귀·관제·Runbook·Rollback 증거,T-DQ-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-03-06,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-01,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,GOV,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,정책·범위·실패상태 계약 확정,"REQ-CA-001, VS-04 SLICE_SPEC, ADR/Decision Log",사용자 결과 '분할·배당·증자·합병·상폐의 가격·수량·원가 일관성'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-02,VS-03",G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-02,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,DATA,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,데이터 시점·스키마·정합성 계약,"MIG-CA-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-04-01,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-03,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,DOMAIN,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,도메인 불변조건·상태전이 구현,"src/Modules/SecurityMaster/ApplyCorporateActions/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-04-02,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-04,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,BE,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Vertical Slice API/Application/SQL 구현,DAT-04; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-04-03,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-04-05,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,ASYNC,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Event/Job/Inbox·재처리 구현,"J03; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-04-04,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-04-06,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,FE,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,Vue feature·Zod·Query·컴포넌트 구현,UI-DQ-02; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-04-05,G1-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-04-07,S2,W5-6,VS-04,ApplyCorporateActions,SecurityMaster,TESTOPS,REQ-CA-001,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,회귀·관제·Runbook·Rollback 증거,T-CA-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-04-06,G1-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-01,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,GOV,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,정책·범위·실패상태 계약 확정,"REQ-FND-001, VS-05 SLICE_SPEC, ADR/Decision Log",사용자 결과 '공시·재무·컨센서스 공개시각과 정정 이력'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-02,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,DATA,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,데이터 시점·스키마·정합성 계약,"MIG-FND-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-05-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-03,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,DOMAIN,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,도메인 불변조건·상태전이 구현,"src/Modules/FundamentalsPIT/IngestFundamentalsPIT/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-05-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-04,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,BE,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Vertical Slice API/Application/SQL 구현,DAT-05; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-05-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-05-05,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,ASYNC,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Event/Job/Inbox·재처리 구현,"J04; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-05-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-05-06,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,FE,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,Vue feature·Zod·Query·컴포넌트 구현,UI-FND-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-05-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-05-07,S3,W7-8,VS-05,IngestFundamentalsPIT,FundamentalsPIT,TESTOPS,REQ-FND-001,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,회귀·관제·Runbook·Rollback 증거,T-FND-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-05-06,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-01,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,GOV,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,정책·범위·실패상태 계약 확정,"REQ-COST-001, VS-06 SLICE_SPEC, ADR/Decision Log",사용자 결과 '계좌·시장·상품별 Fee/Tax/FX valid-time 계약'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-02,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,DATA,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,데이터 시점·스키마·정합성 계약,"MIG-COST-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-06-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-03,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,DOMAIN,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/MaintainFeeTaxFxSchedule/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-06-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-04,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,BE,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Vertical Slice API/Application/SQL 구현,COST-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-06-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-06-05,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,ASYNC,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Event/Job/Inbox·재처리 구현,"J04C; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-06-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-06-06,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,FE,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,Vue feature·Zod·Query·컴포넌트 구현,UI-COST-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-06-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-06-07,S3,W7-8,VS-06,MaintainFeeTaxFxSchedule,PortfolioRisk,TESTOPS,REQ-COST-001,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,회귀·관제·Runbook·Rollback 증거,T-COST-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-06-06,G1,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-VS-08-02,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,DATA,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,데이터 시점·스키마·정합성 계약,"MIG-LED-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-08-01,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-03,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,DOMAIN,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/MaintainPortfolioLedger/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-08-02,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-04,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,BE,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Vertical Slice API/Application/SQL 구현,POR-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-08-03,G1,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-08-05,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,ASYNC,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Event/Job/Inbox·재처리 구현,"J12L; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-08-04,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-08-06,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,FE,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,Vue feature·Zod·Query·컴포넌트 구현,UI-POR-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-08-05,G1,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-08-07,S3,W7-8,VS-08,MaintainPortfolioLedger,PortfolioRisk,TESTOPS,REQ-LED-001,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,회귀·관제·Runbook·Rollback 증거,T-LED-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-08-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-09-02,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,DATA,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,데이터 시점·스키마·정합성 계약,"MIG-EVD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-09-01,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-03,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,DOMAIN,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,도메인 불변조건·상태전이 구현,"src/Modules/ResearchFactors/BuildEvidenceSnapshot/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-09-02,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-04,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,BE,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Vertical Slice API/Application/SQL 구현,EVD-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-09-03,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-09-05,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,ASYNC,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Event/Job/Inbox·재처리 구현,"J06; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-09-04,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-09-06,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,FE,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-EVD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-09-05,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-09-07,S4,W9-10,VS-09,BuildEvidenceSnapshot,ResearchFactors,TESTOPS,REQ-EVD-001,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,회귀·관제·Runbook·Rollback 증거,T-EVD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-09-06,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-01,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,GOV,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,정책·범위·실패상태 계약 확정,"REQ-SELL-001, VS-10 SLICE_SPEC, ADR/Decision Log",사용자 결과 '우선순위가 보존된 HOLD/부분매도/전량매도 결정'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-08,VS-09,VS-13",G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-02,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,DATA,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,데이터 시점·스키마·정합성 계약,"MIG-SIG-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-10-01,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-03,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,DOMAIN,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,도메인 불변조건·상태전이 구현,"src/Modules/SignalEngine/GenerateSellDecision/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-10-02,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-04,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,BE,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Vertical Slice API/Application/SQL 구현,SIG-SELL-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-10-03,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-05,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,ASYNC,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Event/Job/Inbox·재처리 구현,"J08S; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-10-04,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-10-06,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,FE,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,Vue feature·Zod·Query·컴포넌트 구현,UI-SELL-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-10-05,G2-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-10-07,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,TESTOPS,REQ-SELL-001,SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,회귀·관제·Runbook·Rollback 증거,T-SELL-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-10-06,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-012,S5,W11-12,Cross,Cross-cutting,Research,REPRO,REQ-REPRO-001,Cross,Cross,Cross,Cross,Cross,dataset/code/config/environment manifest와 artifact hash 고도화,dataset/code/config/environment manifest와 artifact hash,"동일 manifest·seed 결과 재현, 실패 artifact 보존",Quant/Data,Architect/QA,12,AEG-X-009,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-01,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,GOV,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,정책·범위·실패상태 계약 확정,"REQ-RE-001, VS-11 SLICE_SPEC, ADR/Decision Log",사용자 결과 '비가치훼손 매도의 재진입 계약·단계·만료'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-10,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-02,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,DATA,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,데이터 시점·스키마·정합성 계약,"MIG-RE-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-11-01,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-03,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,DOMAIN,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,도메인 불변조건·상태전이 구현,"src/Modules/SignalEngine/ManageReentryWatch/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-11-02,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-04,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,BE,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Vertical Slice API/Application/SQL 구현,RE-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-11-03,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-11-05,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,ASYNC,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Event/Job/Inbox·재처리 구현,"J09; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-11-04,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-11-06,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,FE,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RE-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-11-05,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-11-07,S5,W11-12,VS-11,ManageReentryWatch,SignalEngine,TESTOPS,REQ-RE-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,회귀·관제·Runbook·Rollback 증거,T-RE-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-11-06,G2,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-19-02,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,DATA,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,데이터 시점·스키마·정합성 계약,"MIG-BKT-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-19-01,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-03,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,DOMAIN,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,도메인 불변조건·상태전이 구현,"src/Modules/BacktestingEvaluation/RunFrozenBacktest/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-19-02,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-04,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,BE,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Vertical Slice API/Application/SQL 구현,BKT-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-19-03,G2,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-19-05,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,ASYNC,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Event/Job/Inbox·재처리 구현,"J-BKT; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-19-04,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-19-06,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,FE,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,Vue feature·Zod·Query·컴포넌트 구현,UI-BKT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-19-05,G2,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-19-07,S5,W11-12,VS-19,RunFrozenBacktest,BacktestingEvaluation,TESTOPS,REQ-BKT-001,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,회귀·관제·Runbook·Rollback 증거,T-BKT-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-19-06,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-VS-07-02,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,DATA,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,데이터 시점·스키마·정합성 계약,"MIG-CLI-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-07-01,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-03,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,DOMAIN,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/ManageClientIPS/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-07-02,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-04,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,BE,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Vertical Slice API/Application/SQL 구현,CLI-01/02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-07-03,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-07-05,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,ASYNC,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-07-04,MVP-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-07-06,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,FE,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,Vue feature·Zod·Query·컴포넌트 구현,UI-CLI-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-07-05,MVP-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-07-07,S6,W13-14,VS-07,ManageClientIPS,ClientAdvisory,TESTOPS,REQ-CLI-001,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,회귀·관제·Runbook·Rollback 증거,T-CLI-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-07-06,MVP-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-01,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,GOV,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,정책·범위·실패상태 계약 확정,"REQ-REC-001, VS-14 SLICE_SPEC, ADR/Decision Log",사용자 결과 '고객별 BUY/HOLD/SELL/REENTER/REBALANCE 제안 패키지'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-07,VS-10,VS-12,VS-13",MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-02,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,DATA,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,데이터 시점·스키마·정합성 계약,"MIG-REC-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-14-01,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-03,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,DOMAIN,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/GenerateDailyRecommendations/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-14-02,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-04,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,BE,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Vertical Slice API/Application/SQL 구현,SIG-01/02/03; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-14-03,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-14-05,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,ASYNC,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Event/Job/Inbox·재처리 구현,"J08; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-14-04,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-14-06,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,FE,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REC-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-14-05,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-14-07,S7,W15-16,VS-14,GenerateDailyRecommendations,ClientAdvisory,TESTOPS,REQ-REC-001,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,회귀·관제·Runbook·Rollback 증거,T-REC-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-14-06,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-01,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,GOV,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,정책·범위·실패상태 계약 확정,"REQ-REV-001, VS-15 SLICE_SPEC, ADR/Decision Log",사용자 결과 'maker-checker 승인·보류·기각과 낙관적 동시성'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-14,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-02,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,DATA,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,데이터 시점·스키마·정합성 계약,"MIG-REV-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-15-01,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-03,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,DOMAIN,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/ReviewRecommendation/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-15-02,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-04,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,BE,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Vertical Slice API/Application/SQL 구현,SIG-04; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-15-03,MVP-B,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-15-05,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,ASYNC,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-15-04,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-15-06,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,FE,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-15-05,MVP-B,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-15-07,S7,W15-16,VS-15,ReviewRecommendation,ClientAdvisory,TESTOPS,REQ-REV-001,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,회귀·관제·Runbook·Rollback 증거,T-REV-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-15-06,MVP-B,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-16-02,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,DATA,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,데이터 시점·스키마·정합성 계약,"MIG-PUB-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-16-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-03,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,DOMAIN,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/PublishClientAdvice/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-16-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-04,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,BE,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Vertical Slice API/Application/SQL 구현,SIG-05; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-16-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-16-05,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,ASYNC,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Event/Job/Inbox·재처리 구현,"J-PUB; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-16-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-16-06,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,FE,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,Vue feature·Zod·Query·컴포넌트 구현,UI-ADV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-16-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-16-07,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,TESTOPS,REQ-PUB-001,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,회귀·관제·Runbook·Rollback 증거,T-PUB-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-16-06,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-01,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,GOV,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,정책·범위·실패상태 계약 확정,"REQ-CLD-001, VS-17 SLICE_SPEC, ADR/Decision Log",사용자 결과 '고객 수락·거절·보류와 attribution 연결'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,VS-16,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-02,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,DATA,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,데이터 시점·스키마·정합성 계약,"MIG-CLD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-17-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-03,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,DOMAIN,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,도메인 불변조건·상태전이 구현,"src/Modules/ClientAdvisory/RecordClientDecision/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-17-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-04,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,BE,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Vertical Slice API/Application/SQL 구현,SIG-06; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-17-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-17-05,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,ASYNC,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Event/Job/Inbox·재처리 구현,"-; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-17-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-17-06,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,FE,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-CLD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-17-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-17-07,S8,W17-18,VS-17,RecordClientDecision,ClientAdvisory,TESTOPS,REQ-CLD-001,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,회귀·관제·Runbook·Rollback 증거,T-CLD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-17-06,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-01,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,GOV,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,정책·범위·실패상태 계약 확정,"REQ-EVA-001, VS-18 SLICE_SPEC, ADR/Decision Log",사용자 결과 '1/5/20/63/126/252일 결과·매도·재진입 품질 평가'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-10,VS-11,VS-16,VS-17",G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-02,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,DATA,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,데이터 시점·스키마·정합성 계약,"MIG-EVA-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-18-01,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-03,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,DOMAIN,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,도메인 불변조건·상태전이 구현,"src/Modules/BacktestingEvaluation/EvaluateDecisionOutcome/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-18-02,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-04,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,BE,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Vertical Slice API/Application/SQL 구현,EVA-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-18-03,G3,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-18-05,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,ASYNC,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Event/Job/Inbox·재처리 구현,"J10/J11; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-18-04,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-18-06,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,FE,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,Vue feature·Zod·Query·컴포넌트 구현,UI-EVA-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-18-05,G3,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-18-07,S8,W17-18,VS-18,EvaluateDecisionOutcome,BacktestingEvaluation,TESTOPS,REQ-EVA-001,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,회귀·관제·Runbook·Rollback 증거,T-EVA-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-18-06,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-13-02,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,DATA,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,데이터 시점·스키마·정합성 계약,"MIG-RISK-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-13-01,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-03,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,DOMAIN,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/CalculatePortfolioRisk/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-13-02,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-04,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,BE,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Vertical Slice API/Application/SQL 구현,POR-02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-13-03,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-13-05,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,ASYNC,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Event/Job/Inbox·재처리 구현,"J07; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-13-04,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-13-06,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,FE,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RISK-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-13-05,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-13-07,S9,W19-20,VS-13,CalculatePortfolioRisk,PortfolioRisk,TESTOPS,REQ-RISK-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,회귀·관제·Runbook·Rollback 증거,T-RISK-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-13-06,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-21-02,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,DATA,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,데이터 시점·스키마·정합성 계약,"MIG-REB-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-21-01,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-03,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,DOMAIN,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/BuildRebalanceProposal/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-21-02,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-04,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,BE,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Vertical Slice API/Application/SQL 구현,REB-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-21-03,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-21-05,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,ASYNC,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Event/Job/Inbox·재처리 구현,"J-REB; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-21-04,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-21-06,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,FE,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,Vue feature·Zod·Query·컴포넌트 구현,UI-REB-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-21-05,Portfolio-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-21-07,S9,W19-20,VS-21,BuildRebalanceProposal,PortfolioRisk,TESTOPS,REQ-REB-001,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,회귀·관제·Runbook·Rollback 증거,T-REB-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-21-06,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-VS-12-02,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,DATA,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,데이터 시점·스키마·정합성 계약,"MIG-BUY-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-12-01,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-03,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,DOMAIN,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,도메인 불변조건·상태전이 구현,"src/Modules/ValuationForecast/RankBuyCandidates/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-12-02,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-04,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,BE,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Vertical Slice API/Application/SQL 구현,BUY-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-12-03,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-12-05,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,ASYNC,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Event/Job/Inbox·재처리 구현,"J08B; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-12-04,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-12-06,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,FE,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,Vue feature·Zod·Query·컴포넌트 구현,UI-BUY-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-12-05,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-12-07,S10,W21-22,VS-12,RankBuyCandidates,ValuationForecast,TESTOPS,REQ-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,회귀·관제·Runbook·Rollback 증거,T-BUY-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-12-06,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-01,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,GOV,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,정책·범위·실패상태 계약 확정,"REQ-RPL-001, VS-22 SLICE_SPEC, ADR/Decision Log",사용자 결과 '적합성·유동성·비용후 기회우위 대체상품 비교'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-07,VS-12,VS-13",Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-02,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,DATA,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,데이터 시점·스키마·정합성 계약,"MIG-RPL-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-22-01,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-03,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,DOMAIN,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,도메인 불변조건·상태전이 구현,"src/Modules/PortfolioRisk/SuggestReplacementProducts/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-22-02,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-04,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,BE,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Vertical Slice API/Application/SQL 구현,RPL-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-22-03,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-22-05,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,ASYNC,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Event/Job/Inbox·재처리 구현,"J-RPL; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-22-04,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-22-06,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,FE,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RPL-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-22-05,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-22-07,S10,W21-22,VS-22,SuggestReplacementProducts,PortfolioRisk,TESTOPS,REQ-RPL-001,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,회귀·관제·Runbook·Rollback 증거,T-RPL-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-22-06,Portfolio Gate,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-014,S11,W23-24,Cross,Cross-cutting,Model Risk,VALIDATION,REQ-MODEL-RISK,Cross,Cross,Cross,Cross,Cross,CSCV/PBO 고도화,CSCV/PBO·DSR·block bootstrap·시도 원장,"PBO≤20%, DSR≥95%, cost×2 utility 양수 또는 승격 차단",Quant/Risk,Architect/QA,15,AEG-X-012,G4-A,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-20-02,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,DATA,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,데이터 시점·스키마·정합성 계약,"MIG-MOD-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-20-01,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-03,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,DOMAIN,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,도메인 불변조건·상태전이 구현,"src/Modules/GovernanceAudit/PromoteModelVersion/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-20-02,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-04,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,BE,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Vertical Slice API/Application/SQL 구현,MOD-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-20-03,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-20-05,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,ASYNC,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Event/Job/Inbox·재처리 구현,"J-MOD; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-20-04,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-20-06,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,FE,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,Vue feature·Zod·Query·컴포넌트 구현,UI-MOD-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-20-05,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-20-07,S11,W23-24,VS-20,PromoteModelVersion,GovernanceAudit,TESTOPS,REQ-MOD-001,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,회귀·관제·Runbook·Rollback 증거,T-MOD-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-20-06,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-VS-24-02,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,DATA,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,데이터 시점·스키마·정합성 계약,"MIG-RPT-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-24-01,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-03,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,DOMAIN,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,도메인 불변조건·상태전이 구현,"src/Modules/ReportingNotifications/ReportAndNotify/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-24-02,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-04,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,BE,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Vertical Slice API/Application/SQL 구현,RPT-01; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-24-03,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-24-05,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,ASYNC,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Event/Job/Inbox·재처리 구현,"J11R; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-24-04,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-24-06,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,FE,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RPT-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-24-05,G4-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-24-07,S11,W23-24,VS-24,ReportAndNotify,ReportingNotifications,TESTOPS,REQ-RPT-001,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,회귀·관제·Runbook·Rollback 증거,T-RPT-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-24-06,G4-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-016,S12,W25-26,Cross,Cross-cutting,Broker,CAPABILITY,REQ-KIS-OFF,Cross,Cross,Cross,Cross,Cross,KIS 주문 제출 startup/CI/runtime 차단 고도화,KIS 주문 제출 startup/CI/runtime 차단,"외부 주문 호출 0, capability override 감사·kill-switch 통과",Security/Ops,Architect/QA,7,AEG-X-005,ALL,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-01,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,GOV,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,정책·범위·실패상태 계약 확정,"REQ-RECON-001, VS-23 SLICE_SPEC, ADR/Decision Log",사용자 결과 '브로커·내부 주문·체결·보유·현금 break와 승인 정정'·비목표·권한·예외·Source/Assumption/Unknown이 승인됨,PM/Architect,Compliance/Owner,3,"VS-08,VS-16",Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-02,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,DATA,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,데이터 시점·스키마·정합성 계약,"MIG-EXE-001/002, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-23-01,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-03,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,DOMAIN,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,도메인 불변조건·상태전이 구현,"src/Modules/ExecutionReconciliation/ReconcilePositionsAndFills/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-23-02,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-04,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,BE,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Vertical Slice API/Application/SQL 구현,"EXE-01/02,REC-01/02; Endpoint/Validator/Application/Dapper/Outbox",인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-23-03,Pilot-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-23-05,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,ASYNC,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Event/Job/Inbox·재처리 구현,"J12; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-23-04,Pilot-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-23-06,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,FE,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,Vue feature·Zod·Query·컴포넌트 구현,UI-RECON-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-23-05,Pilot-A,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-23-07,S12,W25-26,VS-23,ReconcilePositionsAndFills,ExecutionReconciliation,TESTOPS,REQ-RECON-001,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,회귀·관제·Runbook·Rollback 증거,T-RECON-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-23-06,Pilot-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-VS-25-02,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,DATA,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,데이터 시점·스키마·정합성 계약,"MIG-GOV-001, DATA_CONTRACT, DQ/lineage 규칙",published_at/revision/valid-time/hash/단위/격리/재처리와 소유자가 정의되고 overwrite 경로가 없음,Data Architect/DBA,Quant/QA,5,AEG-VS-25-01,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-03,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,DOMAIN,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,도메인 불변조건·상태전이 구현,"src/Modules/GovernanceAudit/AuditAndKillSwitch/Domain, 정책 결정표",순수 정책 테스트에서 우선순위·경계값·단조성·금지 전이가 통과하고 Infrastructure 의존이 없음,BE/Quant Lead,Architect/QA,6,AEG-VS-25-02,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-04,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,BE,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Vertical Slice API/Application/SQL 구현,GOV-01/02; Endpoint/Validator/Application/Dapper/Outbox,인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치,BE Lead,Security/QA,8,AEG-VS-25-03,G5,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-25-05,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,ASYNC,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Event/Job/Inbox·재처리 구현,"J-GOV; integration event, JobRun, watermark, inbox","동일 ScopeKey 재실행 결과가 동일하고 중복 side effect 0, transient/business hold/poison이 분리됨",BE/SRE,Data/Ops,5,AEG-VS-25-04,G5,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-25-06,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,FE,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,Vue feature·Zod·Query·컴포넌트 구현,UI-GOV-01; route/api/schema/queries/pages/components,loading/empty/partial/stale/warn/error/401/403/409/expired/readonly와 접근성·권한 경계가 검증됨,FE Lead,UX/QA,6,AEG-VS-25-05,G5,SOURCE+DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-VS-25-07,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,TESTOPS,REQ-GOV-001,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,회귀·관제·Runbook·Rollback 증거,T-GOV-001; xUnit/Vitest/Playwright/Data/Replay; OTel/alert/runbook,Golden·integration·failure·replay·E2E와 metric/alert/Owner/Secondary/rollback rehearsal가 Release Evidence에 연결됨,QA/SRE,Module Owner,7,AEG-VS-25-06,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
|
||||
AEG-X-019,S14,W29-30,Cross,Cross-cutting,Cutover,RELEASE,REQ-CUT-001,Cross,Cross,Cross,Cross,Cross,dry-run/backfill/recon/rollback/release evidence 고도화,dry-run/backfill/recon/rollback/release evidence,"미승인 공개 0, duplicate 0, rollback 리허설과 승인 서명",PM/Ops,Architect/QA,10,AEG-X-018,G6-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-020,S15,W31-32,Cross,Cross-cutting,Hypercare,OPS,REQ-HYP-001,Cross,Cross,Cross,Cross,Cross,P1/P2 triage 고도화,P1/P2 triage·daily reconciliation·debt burn-down,초기 안정화 Exit 기준·Owner·잔여 부채 승인,Ops/PM,Architect/QA,8,AEG-X-019,G6,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-005,S0,W1-2,Cross,Cross-cutting,Database,DBA,REQ-DB-REHEARSAL,Cross,MIG-REHEARSAL,Cross,Cross,T-DB-022,DbUp fresh/upgrade/re-run/failure rehearsal script,scripts/rehearse_migrations.sh,Approved PostgreSQL runner produces 4 scenario artifacts,DBA,BE/DevOps,8,AEG-X-004,G0,DESIGN_PROPOSAL,P0,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-X-008,S0,W1-2,Cross,Cross-cutting,Batch,JOB,REQ-JOB-001,Cross,MIG-0000,JOB-RUN-STD,UI-OPS-JOB,T-JOB-022,JobRun/Watermark/heartbeat scope standard,ReliableJob template,Concurrent duplicate is held; retry preserves scope/version/input hash,BE/SRE,QA/Data,8,AEG-X-008,G1,DESIGN_PROPOSAL,P1,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-002,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,ALG,ALG-SELL-001~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-TRACE-001,Persist ordered policy evaluation trace,policy_trace_json/API schema,Applied/blocked/not-applicable reasons reproduce decision priority,BE/Quant,FE/QA,8,AEG22-VS10-001,G2-A,DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG22-VS10-003,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,QA,ALG-SELL-001~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-GOLDEN-022,Golden/boundary/monotonic/property vectors,unit/golden vectors,"Core clamp, survival bypass, priority and future PIT rejection pass",QA/Quant,BE,8,AEG22-VS10-002,G2-A,SOURCE+DESIGN_PROPOSAL,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-VS03-002,S2,W5-6,VS-03,IngestMarketDataPIT,MarketData,DATA,REQ-DAT-LIC,DAT-01,MIG-DAT-001,J02,UI-DAT-01,T-DAT-LIC-022,Source license/SLA/checksum fail-closed gate,Source catalog contract,Unapproved/checksum-drift source cannot reach canonical/PIT layer,Data Governance,BE/Compliance,7,AEG22-VS03-001,G1-B,SOURCE+DESIGN_PROPOSAL,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-VS16-001,S8,W17-18,VS-16,PublishClientAdvice,ClientAdvisory,BE,REQ-PUB-001,ADV-03,MIG-ADV-003,AdvicePublished,UI-CLI-01,T-PUB-022,Publish snapshot hash and staleness gate,publication immutable snapshot,Expired/revised/quarantined evidence blocks publish,BE/Compliance,QA/FE,9,AEG-VS-16-04,G3,SOURCE,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-VS25-001,S13,W27-28,VS-25,AuditAndKillSwitch,GovernanceAudit,SEC,REQ-GOV-001,GOV-01,MIG-GOV-001,KillSwitchChanged,UI-GOV-01,T-KILL-022,Automatic-order capability tripwire,capability tests/runbook,Any AutomaticOrder/KIS drift blocks start/release/action,Security/Ops,DevOps/QA,8,AEG-VS-25-04,ALL,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-031,S0,W1-2,Cross,Cross-cutting,Governance,SOURCE,DOC-NR-01~08,Cross,Cross,Cross,Cross,T-SOURCE-003,Rebuild seven-file current-session source coverage,Source matrix·SHA index,7개 첨부 원본·크기·SHA-256·역할이 패키지와 1:1 일치,PM/QA,Architect,4,AEG-X-001,G0,SOURCE,P0,PLANNED
|
||||
AEG-X-032,S0,W1-2,Cross,Cross-cutting,CI/CD,DEVEX,REQ-PLAT-CI,Cross,Cross,Cross,Cross,T-CI-003,Correct stale CI validator and duplicate YAML key,Gitea ci.yml,"validate_v123 실행, 중복 working-directory 0, static/scaffold tests 연결",DevOps,QA,4,AEG-X-002,G0,DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-X-033,S0,W1-2,Cross,Cross-cutting,Architecture,SCAFFOLD,REQ-ARCH-SCAFFOLD,Cross,Cross,Cross,Cross,T-SCAFFOLD-001,Implement deterministic fail-closed slice scaffolder,scaffold_slice.py·templates·tests,"dry-run deterministic, 기존 파일 overwrite 0, 미승인 placeholder 명시",Architect,BE/FE,7,AEG-X-003,G0,DESIGN_PROPOSAL,P1,PLANNED
|
||||
AEG-X-034,S0,W1-2,Cross,Cross-cutting,Contract,CONTRACT,REQ-CONTRACT-001,Cross,Cross,Cross,Cross,T-CONTRACT-001,Create machine-readable policy/event/metric contract registry,contracts/**,"JSON parse, C# 상수 교차검증, 이벤트 schema v2, metric definition version",Architect/Quant,QA/Risk,7,AEG-X-003,G2-A,SOURCE+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-08,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,Algorithm,REQ-SIG-SELL,SIG-01/02,MIG-0015,EVT-SIG-001,UI-SIG-01,T-SIG-CONTRACT-001,Centralize approved sell policy constants,SellPolicyContract.cs,정책 ID·우선순위·임계값 중복 제거 및 JSON registry와 일치,Quant/BE,Risk/QA,6,AEG-X-034,G2-A,SOURCE+DESIGN_PROPOSAL,P0,PLANNED
|
||||
AEG-VS-10-09,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,Algorithm,REQ-SIG-SELL,SIG-01/02,MIG-0015,EVT-SIG-001,UI-SIG-01,T-SIG-ZERO-RATIO,Fix positive-edge zero-ratio opportunity sell defect,OpportunityCostPolicy.cs·tests,"edge>0·ratio=0에서 HOLD, trace=BLOCKED, 자동 10% 매도 0",BE/Quant,QA/Risk,5,AEG-VS-10-08,G2-A,SOURCE+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-10-12,S4,W9-10,VS-10,GenerateSellDecision,SignalEngine,Frontend,REQ-SIG-SELL,SIG-02,MIG-0015,-,UI-SIG-TRACE,T-FE-SIG-TRACE,Componentize ordered policy trace display,PolicyTracePanel.vue·Zod,우선순위/Disposition/요청·적용비율/Core clamp를 runtime contract로 표시,FE,UX/QA,5,AEG-VS-10-11,G2-A,DESIGN_PROPOSAL,P1,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-037,S2,W5-6,Cross,Cross-cutting,Data governance,PIT,REQ-DAT-SOURCE,Cross,Cross,Cross,Cross,T-DATA-LICENSE,Reconfirm total-return/delisting/consensus source decisions,Decision Log·source catalog,미승인 source 추천 진입 0; DECISION_REQUIRED 유지,Data Governance,Legal/Quant,4,AEG-X-009,G1,SOURCE,P0,PLANNED
|
||||
AEG-X-038,S3,W7-8,Cross,Cross-cutting,Cost data,PIT,REQ-COST-001,Cross,Cross,Cross,Cross,T-COST-PIT,Reconfirm Fee/Tax/FX valid-time schedule decisions,Decision Log·data contract,current 단일값 사용 0; 미결정 계좌/venue 추천 보류,Ops/Tax,DBA/Quant,4,AEG-X-009,G1,SOURCE,P0,PLANNED
|
||||
AEG-X-039,S5,W11-12,Cross,Cross-cutting,Algorithm governance,DECISION,REQ-SIG-SELL,Cross,Cross,Cross,Cross,T-DEC-013,Resolve survival cooldown bypass rule,Decision record·Golden vectors,승인 전 기존 fail-closed 유지; 승인 후 정책·모델카드·OOS 동시변경,Investment Committee,Quant/Risk/BE,4,AEG-VS-10-08,G2,DECISION_REQUIRED,P0,PLANNED
|
||||
AEG-X-040,S5,W11-12,Cross,Cross-cutting,Algorithm governance,DECISION,REQ-SIG-SELL,Cross,Cross,Cross,Cross,T-DEC-014,Resolve hard impairment 80-100% severity mapping,Decision record·evidence grading,severity source 미승인 시 100% 보수값 유지; 임의 80% 적용 금지,Investment Committee,Compliance/Quant,4,AEG-VS-10-08,G2,DECISION_REQUIRED,P1,PLANNED
|
||||
AEG-X-041,S11,W23-24,Cross,Cross-cutting,Supply chain,SECURITY,REQ-SEC-SBOM,Cross,Cross,Cross,Cross,T-SBOM-001,Add SBOM/license/vulnerability release evidence contract,Release Evidence template,실제 scanner 미실행은 PASS 표기 금지; artifact 경로와 allowlist 필수,Security/DevOps,Legal/QA,5,AEG-X-032,G5,DESIGN_PROPOSAL,P1,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
|
||||
|
@@ -0,0 +1,41 @@
|
||||
ID,Priority,Debt,Impact,Remediation,Gate,Owner,Status
|
||||
TD-001,P0,도구체인 실빌드 미검증,C# 컴파일/패키지 호환 결함 가능,승인 .NET 10 runner에서 restore/build/test,G0,DevOps,OPEN
|
||||
TD-002,P0,pnpm-lock.yaml 부재,FE 공급망·재현성 미확보,승인 네트워크에서 pnpm install 후 lock review/commit,G0,FE Lead,OPEN
|
||||
TD-003,P0,PostgreSQL migration rehearsal 미실행,fresh/upgrade/re-run/복구 실패 가능,PostgreSQL 승인 버전 4시나리오 자동화,G0,DBA,OPEN
|
||||
TD-004,P0,원시 연구 데이터 권리·checksum·환경 lock 미완전,제3자 clean-room 재현 불가,Source catalog/license/raw checksum/container digest 확보,G1,Data Governance,OPEN
|
||||
TD-005,P0,KR 검증 종료 2021-04-16,최근 시장국면 검증 공백,2026 현재까지 PIT 총수익·상폐·기업행사 보충 후 frozen OOS,G4,Quant/Data,OPEN
|
||||
TD-006,P0,실제 OIDC/JWT 공급자 미결정,외부 Pilot 접근통제 불가,"Auth ADR, key rotation, claims/RBAC E2E",G5,Security,OPEN
|
||||
TD-007,P0,총수익·상폐수익·컨센서스 공급계약 미확정,생존편향·성과왜곡,공식/상용 source 계약·SLA·재배포 권리 승인,G1,Data Governance,OPEN
|
||||
TD-008,P0,Fee/Tax/FX PIT 표 미확정,비용후 기대효용 왜곡,valid_from/to 계좌·venue·상품·side·band schedule,G1,DBA/Quant,OPEN
|
||||
TD-009,P0,Outbox/Inbox crash/replay 실증 미완료,side effect 누락·중복,lease/dead-letter/replay chaos test,G3,BE/SRE,IN_PROGRESS
|
||||
TD-010,P1,JobRun·Watermark 표준의 일부 구현만 존재,배치 재처리·감사 불완전,공통 JobRun scope/version/hash/heartbeat 정책 적용,G1,BE/SRE,IN_PROGRESS
|
||||
TD-011,P1,Architecture test가 정적 문자열 규칙 중심,금지 의존 누락 가능,assembly/namespace/schema/API fitness function 확대,G0,Architect,IN_PROGRESS
|
||||
TD-012,P1,OpenAPI→FE contract 자동생성 미도입,DTO drift·홀루시네이션 위험,OpenAPI artifact diff + generated client/schema gate,G3,BE/FE,OPEN
|
||||
TD-013,P1,PII redaction·Telegram 보안 테스트 미완성,고객정보 노출 가능,classification/redaction test와 secret scan,G5,Security/SRE,OPEN
|
||||
TD-014,P1,Model promotion workflow 미완성,무단 모델 활성화 위험,model card/maker-checker/effective_at/rollback 구현,G4,Risk/BE,OPEN
|
||||
TD-015,P1,Read Model rebuild runner 미완성,stale projection 복구 불가,projection version/watermark/rebuild/diff 도구,G3,BE/Data,IN_PROGRESS
|
||||
TD-016,P1,SLO/RPO/RTO 미승인,운영 Go 판단 불가,부하시험·백업복구·DR ADR 승인,G5,SRE/DBA,OPEN
|
||||
TD-017,P2,공통 UI 컴포넌트 승격 기준 미운영,중복 또는 과도한 추상화,3회 반복+동일 의미/변경축 확인 후 승격,S10,FE Lead,OPEN
|
||||
TD-018,P1,PBO/DSR 전체 탐색·시도 원장 미완성,과최적화 위험,전체 실험 registry+CSCV/PBO/DSR/block bootstrap,G4,Quant/Risk,OPEN
|
||||
TD-019,P1,자산유형별 재진입 확인팩터 공급원 미완성,재진입 품질 저하,asset policy contract+PIT source+missing evidence downgrade,G2,Quant/Data,OPEN
|
||||
TD-020,P0,자동주문/KIS 제출은 금지 상태,오활성화 사고 위험,Options ValidateOnStart+CI config scan+runtime kill switch 유지,ALL,Security/Ops,MITIGATED
|
||||
TD-021,P1,정책 임계값이 문서·YAML·C#에 중복될 가능성,계약 drift,승인 config registry+schema+hash+generated constants,G2,Quant/BE,OPEN
|
||||
TD-022,P1,DB immutable trigger와 correction event 운영절차 미실증,정정/감사 장애 가능,maker-checker correction replay와 audit trace E2E,G3,DBA/Compliance,OPEN
|
||||
TD-023,P2,프런트 서버상태/Pinia 책임 경계의 팀 규율 미검증,중복 캐시·stale UI,lint/review checklist+query key registry,MVP-B,FE Lead,OPEN
|
||||
TD-024,P1,Dependency vulnerability/license 자동검사 미구성,공급망 리스크,NuGet/npm SBOM·license allowlist·vulnerability gate,G5,Security/DevOps,OPEN
|
||||
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
|
||||
|
@@ -0,0 +1,34 @@
|
||||
Requirement_ID,Slice_ID,Policy_or_Data_ID,API_ID,DB_ID,Job_Event_ID,UI_ID,Test_ID,WBS_Range,Release_Gate,Evidence_Status
|
||||
REQ-PLAT-001,VS-00,DATA/DOMAIN-CONTRACT,HEALTH-01,MIG-0000/0013,-,UI-PLAT-01,T-ARCH-001,AEG-VS-00-01..AEG-VS-00-07,G0,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-IAM-001,VS-01,DATA/DOMAIN-CONTRACT,IAM-01/02,MIG-IAM-001,-,UI-IAM-01,T-IAM-001,AEG-VS-01-01..AEG-VS-01-07,G1-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-SEC-001,VS-02,DATA/DOMAIN-CONTRACT,"SEC-01/02,DAT-01",MIG-SEC-001,J01,UI-SEC-01,T-SEC-001,AEG-VS-02-01..AEG-VS-02-07,G1-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-DAT-001,VS-03,DATA/DOMAIN-CONTRACT,DAT-02/03,MIG-MD-001/002,J02,UI-DQ-01,T-DQ-001,AEG-VS-03-01..AEG-VS-03-07,G1-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CA-001,VS-04,DATA/DOMAIN-CONTRACT,DAT-04,MIG-CA-001,J03,UI-DQ-02,T-CA-001,AEG-VS-04-01..AEG-VS-04-07,G1-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-FND-001,VS-05,DATA/DOMAIN-CONTRACT,DAT-05,MIG-FND-001/002,J04,UI-FND-01,T-FND-001,AEG-VS-05-01..AEG-VS-05-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-COST-001,VS-06,DATA/DOMAIN-CONTRACT,COST-01/02,MIG-COST-001,J04C,UI-COST-01,T-COST-001,AEG-VS-06-01..AEG-VS-06-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CLI-001,VS-07,DATA/DOMAIN-CONTRACT,CLI-01/02/03,MIG-CLI-001,-,UI-CLI-01,T-CLI-001,AEG-VS-07-01..AEG-VS-07-07,MVP-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-LED-001,VS-08,DATA/DOMAIN-CONTRACT,POR-01,MIG-LED-001/002,J12L,UI-POR-01,T-LED-001,AEG-VS-08-01..AEG-VS-08-07,G1,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-EVD-001,VS-09,DATA/DOMAIN-CONTRACT,EVD-01,MIG-EVD-001,J06,UI-EVD-01,T-EVD-001,AEG-VS-09-01..AEG-VS-09-07,G2-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-SELL-001,VS-10,"ALG-SELL-001~005,ALG-SELL-PORT-001",SIG-SELL-01,MIG-SIG-001,J08S,UI-SELL-01,T-SELL-001,AEG-VS-10-01..AEG-VS-10-07,G2-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RE-001,VS-11,ALG-REENTRY-001,RE-01/02,MIG-RE-001,J09,UI-RE-01,T-RE-001,AEG-VS-11-01..AEG-VS-11-07,G2,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-BUY-001,VS-12,ALG-BUY-001,BUY-01,MIG-BUY-001,J08B,UI-BUY-01,T-BUY-001,AEG-VS-12-01..AEG-VS-12-07,Portfolio Gate,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RISK-001,VS-13,ALG-PORT-001,POR-02,MIG-RISK-001,J07,UI-RISK-01,T-RISK-001,AEG-VS-13-01..AEG-VS-13-07,Portfolio-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REC-001,VS-14,DATA/DOMAIN-CONTRACT,SIG-01/02/03,MIG-REC-001/002,J08,UI-REC-01,T-REC-001,AEG-VS-14-01..AEG-VS-14-07,MVP-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REV-001,VS-15,DATA/DOMAIN-CONTRACT,SIG-04,MIG-REV-001,-,UI-REV-01,T-REV-001,AEG-VS-15-01..AEG-VS-15-07,MVP-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-PUB-001,VS-16,DATA/DOMAIN-CONTRACT,SIG-05,MIG-PUB-001,J-PUB,UI-ADV-01,T-PUB-001,AEG-VS-16-01..AEG-VS-16-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-CLD-001,VS-17,DATA/DOMAIN-CONTRACT,SIG-06,MIG-CLD-001,-,UI-CLD-01,T-CLD-001,AEG-VS-17-01..AEG-VS-17-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-EVA-001,VS-18,DATA/DOMAIN-CONTRACT,EVA-01/02,MIG-EVA-001/002,J10/J11,UI-EVA-01,T-EVA-001,AEG-VS-18-01..AEG-VS-18-07,G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-BKT-001,VS-19,DATA/DOMAIN-CONTRACT,BKT-01/02,MIG-BKT-001,J-BKT,UI-BKT-01,T-BKT-001,AEG-VS-19-01..AEG-VS-19-07,G2,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-MOD-001,VS-20,DATA/DOMAIN-CONTRACT,MOD-01/02,MIG-MOD-001,J-MOD,UI-MOD-01,T-MOD-001,AEG-VS-20-01..AEG-VS-20-07,G4-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REB-001,VS-21,DATA/DOMAIN-CONTRACT,REB-01/02,MIG-REB-001,J-REB,UI-REB-01,T-REB-001,AEG-VS-21-01..AEG-VS-21-07,Portfolio-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RPL-001,VS-22,DATA/DOMAIN-CONTRACT,RPL-01,MIG-RPL-001,J-RPL,UI-RPL-01,T-RPL-001,AEG-VS-22-01..AEG-VS-22-07,Portfolio Gate,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RECON-001,VS-23,DATA/DOMAIN-CONTRACT,"EXE-01/02,REC-01/02",MIG-EXE-001/002,J12,UI-RECON-01,T-RECON-001,AEG-VS-23-01..AEG-VS-23-07,Pilot-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-RPT-001,VS-24,DATA/DOMAIN-CONTRACT,RPT-01,MIG-RPT-001,J11R,UI-RPT-01,T-RPT-001,AEG-VS-24-01..AEG-VS-24-07,G4-A,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-GOV-001,VS-25,DATA/DOMAIN-CONTRACT,GOV-01/02,MIG-GOV-001,J-GOV,UI-GOV-01,T-GOV-001,AEG-VS-25-01..AEG-VS-25-07,G5,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-SIG-WEIGHT-022,VS-10,ALG-SELL-002~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-LOT-001,AEG22-VS10-001~004,G2-A,SOURCE+INFERENCE
|
||||
REQ-SIG-TRACE-022,VS-10,ALG-SELL-001~005,SIG-01,MIG-0014,SignalDecisionCreated:v2,UI-SIG-01,T-SIG-TRACE-001,AEG22-VS10-002,G2-A,DESIGN_PROPOSAL
|
||||
REQ-DAT-LIC-022,VS-03,DQ-01~08,DAT-01,MIG-DAT-001,J02,UI-DAT-01,T-DAT-LIC-022,AEG22-VS03-002,G1-B,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-REL-022,Cross,DOC-NR-03/06,Cross,Cross,Cross,Cross,T-REL-022,AEG22-X-012,G6,DESIGN_PROPOSAL
|
||||
REQ-CONTRACT-001,Cross/VS-10/VS-18,sell-policy.v1/outcome-metrics.v1,SIG-01/02,MIG-0015,EVT-SIG-001/J10,UI-SIG-TRACE/UI-EVAL-01,T-CONTRACT-001/T-EVAL-METRIC-001,"AEG-X-034,AEG-VS-10-08..12,AEG-VS-18-08",G2-A/G3,SOURCE+DESIGN_PROPOSAL
|
||||
REQ-ARCH-SCAFFOLD,Cross,AGENTS/SLICE_SPEC,Cross,Cross,Cross,Cross,T-SCAFFOLD-001,AEG-X-033,G0,DESIGN_PROPOSAL
|
||||
REQ-SOURCE-123,Cross,DOC-NR-01~08,Cross,Cross,Cross,Cross,T-SOURCE-003,"AEG-X-031,AEG-X-043",G0/G6,SOURCE
|
||||
|
@@ -0,0 +1,22 @@
|
||||
Decision_ID,Status,Decision_or_Question,Basis,Owner,Gate,Approved_or_Due
|
||||
DEC-001,APPROVED,투자자문형→Shadow→Pilot; 자동주문 OFF,v10.0·v12.2,운영사/준법,ALL,2026-08-01
|
||||
DEC-002,APPROVED,알고리즘 상태 RESEARCH_CANDIDATE_NOT_PRODUCTION,v10.0·v12.2,투자위/리스크,G4,2026-08-01
|
||||
DEC-003,APPROVED,Modular Monolith+Vertical Slice; 조기 microservice 금지,v10.0,Architect,G0,2026-08-01
|
||||
DEC-004,APPROVED,PIT/revision/hash/lineage와 immutable Evidence 우선,v10.0·v12.2,Data/Quant,G1,2026-08-01
|
||||
DEC-005,APPROVED,매도 우선순위: impairment→survival→floor→concentration→opportunity→reentry,v12.2,투자위/Quant,G2,2026-08-01
|
||||
DEC-006,APPROVED,SellRatioOfLot와 portfolio weight/core floor 단위 분리,v12.0 Delta,Quant/Architect,G2-A,2026-08-02
|
||||
DEC-007,DECISION_REQUIRED,생산 OIDC/JWT 공급자와 claims mapping,자료 미지원,Security/PM,G5,미정
|
||||
DEC-008,DECISION_REQUIRED,PIT 총수익·상폐·컨센서스 공급원/라이선스,자료 미지원,Data Governance/Legal,G1,미정
|
||||
DEC-009,DECISION_REQUIRED,계좌·시장·venue별 Fee/Tax/FX schedule,자료 미지원,Ops/Tax/Quant,G1,미정
|
||||
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-017,DECISION_REQUIRED,Approve .NET/PostgreSQL/pnpm runner image digests,Real build and migration evidence prerequisite,DevOps/Security,G0,Before coding start
|
||||
DEC-013,DECISION_REQUIRED,자본바닥/생존 매도가 same-direction cooldown을 우회하는가,v10 우선순위는 명확하나 cooldown 예외는 첨부 근거에 명시되지 않음,투자위/리스크/Quant,G2,Before VS-10 production path
|
||||
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
|
||||
|
@@ -0,0 +1,7 @@
|
||||
# 바이브코딩·홀루시네이션 통제
|
||||
|
||||
모든 작업을 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 없이 도입하지 않는다.
|
||||
@@ -0,0 +1,10 @@
|
||||
# Gate와 20영업일 재착수
|
||||
|
||||
- D1~D3: Source Coverage, Version Matrix, Decision Log, 자동주문 OFF.
|
||||
- D4~D6: .NET/Node/pnpm lock, secret/env, Gitea CI.
|
||||
- D7~D10: DbUp fresh/upgrade/re-run/failure, Auth, Outbox/Inbox, Architecture.
|
||||
- D11~D14: SecurityMaster·MarketData·PIT·기업행사·DQ, semantics v2 rebuild.
|
||||
- D15~D17: Evidence·6 Sell Policy·Reentry Golden·C#↔Python.
|
||||
- D18~D20: Research/Production Decision API·FE contract·OTel E2E.
|
||||
|
||||
G0는 실빌드·lockfile·migration rehearsal 전 통과하지 않는다. G2는 policy/config/data/code hash와 Golden/OOS, G3는 maker-checker·Outbox/Inbox chaos·immutable publish, G4는 252거래일 Shadow/PBO/DSR, G5는 OIDC/JWT·DR·SLO/RPO/RTO를 요구한다.
|
||||
@@ -0,0 +1,5 @@
|
||||
# 프로세스 단순화
|
||||
|
||||
단일 흐름은 `Idea → Decision Required 해소 → Slice Ready → Walking Skeleton → Contract/Golden → Implement → Review → Release Evidence → Observe → Debt/Outcome`이다.
|
||||
|
||||
작업 완료는 코드 작성이 아니라 Requirement/Policy/Data/API/DB/Job/UI/Test/Metric/Runbook이 연결된 상태다. 문서를 늘리기보다 9개 Source of Truth, Slice Spec, Traceability, Release Evidence를 갱신한다.
|
||||
@@ -0,0 +1,9 @@
|
||||
# 패키지 구성
|
||||
|
||||
- v10/v11/v11.1/v12.1/v12.2 및 연구 원본 첨부 7개 원본 보존.
|
||||
- .NET 10 / ASP.NET Core 10 Modular Monolith·Vertical Slice 템플릿.
|
||||
- Vue 3/Vite 8 기능 템플릿과 Zod runtime contract.
|
||||
- DbUp migration 0015, 정책/이벤트/성과지표 machine-readable contracts.
|
||||
- 26 Slice, 250 WBS, 40 기술부채, Traceability, Decision Log.
|
||||
- 정적검증·연구정책·스캐폴더 테스트와 DOCX 제안서.
|
||||
- PACKAGE_MANIFEST.json 및 SHA256SUMS.txt.
|
||||
@@ -0,0 +1,9 @@
|
||||
Validation,Environment,Status,Required_Action,Gate
|
||||
Static package validation,Current container,PASS 17 / WARN 4 / FAIL 0,Run scripts/validate_v123.py,G0
|
||||
Python research hardening tests,Current container,PASS 4 / FAIL 0,Run python -m unittest -v in research/hardening,G2
|
||||
Python scaffolder tests,Current container,PASS 2 / FAIL 0,Run python -m unittest -v scripts.tests.test_scaffold_slice,G0
|
||||
DOCX render and visual QA,LibreOffice renderer,PASS 6 pages / no layout defects,Render and inspect every page,G0
|
||||
.NET 10 restore/build/test,SDK unavailable in current container,NOT_EXECUTED,Approved .NET 10 runner,G0
|
||||
pnpm frozen typecheck/test/build/e2e,pnpm/lockfile unavailable,NOT_EXECUTED,Generate reviewed lockfile and run approved connected runner,G0/G3
|
||||
PostgreSQL DbUp rehearsal,psql/docker unavailable,NOT_EXECUTED,fresh/upgrade/re-run/failure rehearsal on approved PostgreSQL,G0
|
||||
252-session Shadow/PBO/DSR,Evidence period unavailable,NOT_EXECUTED,Accumulate multi-regime Shadow and independent validation,G4
|
||||
|
Binary file not shown.
@@ -0,0 +1,43 @@
|
||||
# K-ArtSell Aegis v12.4 지속 모델 운영·개선 통합 고도화 제안
|
||||
|
||||
상태: **IMPLEMENTATION_TEMPLATE / STATIC_VALIDATION_REQUIRED / BUILD_AND_DB_REHEARSAL_REQUIRED**
|
||||
운영 경계: **RESEARCH_CANDIDATE_NOT_PRODUCTION · 투자자문형 우선 · 자동주문/KIS 제출 OFF**
|
||||
|
||||
## 경영진 결론
|
||||
|
||||
v12.4는 기존 패키지를 다시 쓰거나 요약본으로 대체하지 않는다. v10.0의 `Baseline Preservation + Delta + Supersession + Traceability`, v12.1의 실행준비 기준, v12.3의 정책·데이터 의미 버전을 그대로 보존한다. 이번 Delta는 **모델이 시간이 지나면서 스스로 생산 설정을 바꾸는 자동학습 체계가 아니라, 동결된 증거를 정기적으로 수집·평가하고 개선 제안을 생성하여 사람이 승인하도록 하는 지속 모델 운영 체계**다.
|
||||
|
||||
제품의 핵심 흐름은 다음과 같다.
|
||||
|
||||
`Source/License → Raw/PIT/Revision/DQ → Frozen Evidence/VersionSet → Decision → Outcome → Daily Scorecard → Drift → Champion/Challenger → Frozen OOS/PBO/DSR → Improvement Proposal → Independent Validation → Maker-Checker Review → Shadow/Pilot`
|
||||
|
||||
이 흐름 어디에도 자동 모델 승격, 자동 임계값 수정, 자동 롤백, 자동 주문 또는 KIS 제출은 없다.
|
||||
|
||||
## v12.4 전략적 Delta
|
||||
|
||||
1. **지속 평가 스케줄러**: 15분 Dispatcher가 DB schedule을 lease하여 일·주·월·분기 작업을 동적으로 queue에 배치한다. 각 요청은 `Dataset/Model/Config/Code/Contract VersionSet`을 동결한다.
|
||||
2. **평가 주기 표준화**: J10/J11/J17은 일, J18/J24는 주, J19/J21/J22는 월, J20/J23은 분기 cadence를 기본으로 한다.
|
||||
3. **개선과 승격 분리**: J21은 개선 제안만 만들고 J22는 승격 증거 패킷만 만든다. 실제 변경은 Model Change, Golden, Frozen OOS, 독립검증, maker-checker 승인 후 별도 Release다.
|
||||
4. **성과지표 계약 v2**: false-exit, reentry capture, net expected utility, calibration, PBO, DSR의 분자·분모·평가창·집계·PIT·revision을 버전 관리한다.
|
||||
5. **데이터 정정 재평가**: revision 발생 시 과거 결과를 overwrite하지 않고 영향 결정을 찾아 새 Outcome/Evaluation/Correction evidence를 생성한다.
|
||||
6. **운영 복원력**: schedule lease, dynamic queue, idempotency, Outbox, BusinessHold, dead-letter, rollback drill, OTel 추적을 단일 운영계약으로 연결한다.
|
||||
7. **FE 운영 화면**: 모델 운영 계획, 자동화 경계, drift, champion/challenger, OOS, 개선 제안, 승격 Gate를 역할별 읽기·검토 화면으로 분리한다.
|
||||
|
||||
## 과유불급 통제
|
||||
|
||||
- 26개 Vertical Slice는 확대하지 않는다. 지속 모델 운영은 VS-18, VS-19, VS-20, VS-23, VS-25에 귀속한다.
|
||||
- 전면 Event Sourcing, 조기 Microservice, 범용 Workflow Engine, AutoML, 실시간 온라인 학습을 도입하지 않는다.
|
||||
- 모든 테이블을 불변으로 만들지 않는다. Evidence/Observation/Review는 append-only, schedule lease와 운영 상태는 명시적 mutable state로 분리한다.
|
||||
- Drift 임계값, false-exit 정의, 보존기간처럼 첨부 근거가 부족한 항목은 `DECISION_REQUIRED`로 남긴다.
|
||||
|
||||
## 완료 정의
|
||||
|
||||
v12.4의 완료는 파일 존재가 아니다. 다음 증거가 연결되어야 한다.
|
||||
|
||||
`Source → Requirement → Schedule/Metric Contract → API/DB/Job/UI → Test → PR → Release Evidence → Operating Evidence`
|
||||
|
||||
현재 패키지는 정적 검증과 템플릿 제공 단계이며, .NET 10 실빌드·PostgreSQL migration rehearsal·pnpm frozen build·252거래일 Shadow는 별도 승인 환경에서 수행해야 한다.
|
||||
|
||||
|
||||
### v12.4 request lifecycle audit clarification
|
||||
`evaluation.model_operation_request`는 실행 상태와 시각을 트랜잭션으로 갱신할 수 있는 lifecycle aggregate다. 모든 상태 전이는 `evaluation.model_operation_status_event`에 append-only로 기록하여 실행 이력과 재처리 증거를 보존한다.
|
||||
@@ -0,0 +1,9 @@
|
||||
Attachment,Bytes,SHA256,Role,V12_4_Status,V12_4_Use,Mutation
|
||||
K-ArtSell_12_2_complete_package(1).zip,2513047,1e9df605a91f227fb5ff4ea057e55f4319e62060fbaf8e64551756ee2931c5ea,연구 코드·CSV·정량 감사·구성안 기준선,RETAINED_AS_ORIGINAL,기준선 보존; 지속 모델 운영 Delta만 추가,NONE
|
||||
K-ArtSell_Aegis_v12_1_실행준비_통합고도화_제안서(1).docx,64063,eab0c2866b6c3d5d1f2fd8b9fbb33443e010e1adc2cfe612f27a98f97845e8b3,v12.1 실행준비·202 WBS·기술부채 기준,RETAINED_AS_ORIGINAL,기준선 보존; 지속 모델 운영 Delta만 추가,NONE
|
||||
K-ArtSell_퀀트투자자문_SI_본프로그램착수_누적고도화_통합실행기준서_v10.0(1).docx,402134,d86795186ec5f578741d64618eb53278a1c3a55795e73307e5bee245980a83a6,최상위 비회귀·26 Slice·J01~J12·36개월 운영 기준,RETAINED_AS_ORIGINAL,기준선 보존; 지속 모델 운영 Delta만 추가,NONE
|
||||
KArtSell_Aegis_v11_1_hardening(1).zip,89397,01b3d3025dfb3a6cafcff4d751851240a6087c2329e5c1472ec31703f209ccbd,보안·불변성·기술부채 하드닝 Delta,RETAINED_AS_ORIGINAL,기준선 보존; 지속 모델 운영 Delta만 추가,NONE
|
||||
KArtSell_Aegis_v12_1_execution_ready_complete(1).zip,28233180,e5f9896474f32706d28df29cbdb5e3e74dbcc983e74c73f7067c377ee7aea260,실행준비 누적 구현 패키지,RETAINED_AS_ORIGINAL,기준선 보존; 지속 모델 운영 Delta만 추가,NONE
|
||||
KArtSell_Aegis_v12_2_strategic_complete(1).zip,34363575,482cf8caf9fd37c54cfc99797b450d7b7c334df7d5c982e6d391f9b5e9994d74,전략적 통합 고도화·231 WBS 기준,RETAINED_AS_ORIGINAL,기준선 보존; 지속 모델 운영 Delta만 추가,NONE
|
||||
KArtSell_Aegis_v12_3_delivery_hardening_complete(1).zip,68284150,f03c4372507d658bc7e621acf3a7ad13af29428a701226e5ea572290424420a9,의미 버전·정책계약·250 WBS 기준선,RETAINED_AS_ORIGINAL,기준선 보존; 지속 모델 운영 Delta만 추가,NONE
|
||||
KArtSell_v11_implementation_acceleration(1).zip,56738,2bd5713b98104bf7ac45362105d9b3175d5ca818c06753e572aaf79a936658a2,최초 .NET/Vue walking skeleton,RETAINED_AS_ORIGINAL,기준선 보존; 지속 모델 운영 Delta만 추가,NONE
|
||||
|
@@ -0,0 +1,53 @@
|
||||
# 지속 모델 평가·개선 생명주기
|
||||
|
||||
## 1. 상태기계
|
||||
|
||||
`RESEARCH → CHALLENGER → SHADOW → CANDIDATE → APPROVED → RETIRED/ROLLED_BACK`
|
||||
|
||||
상태 변경은 이벤트와 승인 기록으로만 수행한다. 스케줄러는 상태를 변경하지 않는다. 스케줄러가 생성할 수 있는 것은 평가 요청, 관측값, 평가 스냅샷, 개선 제안, 검토 패킷, 롤백 훈련 증거뿐이다.
|
||||
|
||||
## 2. 일일 루프
|
||||
|
||||
1. J10이 만기가 도래한 1/5/20/63/126/252 거래일 Outcome을 계산한다.
|
||||
2. J11이 운영 무결성, calibration, 매수·매도·재진입, 비용후 기대효용을 cohort별로 집계한다.
|
||||
3. J17이 승인 baseline 대비 Data/Feature/Prediction/Calibration drift를 평가한다.
|
||||
4. 결측·지연·정의 불일치가 있으면 `BUSINESS_HOLD`; 계산 오류나 무결성 위반은 `FAIL/QUARANTINED`로 분리한다.
|
||||
|
||||
## 3. 주간 루프
|
||||
|
||||
- J18은 Champion과 Challenger를 동일 Dataset, Cost, Cohort, Window로 비교한다.
|
||||
- J24는 source revision이 영향을 주는 Decision/Outcome을 찾아 재평가 제안을 만든다.
|
||||
- 비교 표본이 다르거나 VersionSet이 불일치하면 결과를 승격 근거로 사용하지 않는다.
|
||||
|
||||
## 4. 월간 루프
|
||||
|
||||
- J19는 동결 manifest로 Walk-forward OOS를 재현한다.
|
||||
- J21은 Scorecard, Drift, Attribution, Data Gap, 기술부채를 근거로 개선 제안을 만든다.
|
||||
- J22는 승격 후보가 있을 때 Gate 증거 패킷을 만든다.
|
||||
- 개선 제안은 `DATA_REMEDIATION`, `FEATURE_REVIEW`, `THRESHOLD_REVIEW`, `POLICY_REFACTORING`, `CALIBRATION_REVIEW`, `RISK_LIMIT_REVIEW`, `TECH_DEBT_REPAYMENT`으로 분류한다.
|
||||
|
||||
## 5. 분기 루프
|
||||
|
||||
- J20은 전체 실험 원장에 대해 CSCV/PBO/DSR, parameter stability, block bootstrap, 비용 2배 stress를 수행한다.
|
||||
- J23은 승인 Champion과 fallback manifest를 사용해 rollback drill을 수행한다.
|
||||
- 독립 검증자와 운영 Secondary가 실제로 수행한 evidence가 없으면 Gate는 통과하지 않는다.
|
||||
|
||||
## 6. 개선 제안 처리
|
||||
|
||||
`DRAFT → REVIEW_REQUIRED → APPROVED_FOR_RESEARCH / REJECTED / EXPIRED`
|
||||
|
||||
`APPROVED_FOR_RESEARCH`는 생산 승격이 아니다. 연구 branch에서만 변경을 허용하며, Model Change 문서, Golden, OOS, 보안·데이터 영향, rollback을 다시 작성한다.
|
||||
|
||||
## 7. 승격 Gate
|
||||
|
||||
필수 최소조건은 첨부 기준을 보존한다.
|
||||
|
||||
- Shadow 252거래일 이상, 서로 다른 시장국면 2개 이상
|
||||
- 운영 무결성 오류 0
|
||||
- 비용후 기대효용 양수와 calibration 안정
|
||||
- false-exit 연 2% 이하와 reentry capture 65% 이상
|
||||
- PBO 20% 이하, DSR 95% 이상
|
||||
- 비용 2배에서도 기대효용 양수
|
||||
- 독립검증, 투자위, 리스크, 준법, 보안, 운영 승인
|
||||
|
||||
지표 정의가 미승인인 경우 수치가 좋아도 Gate는 `HOLD`다.
|
||||
@@ -0,0 +1,36 @@
|
||||
# Scheduler·시장캘린더·재처리 계약
|
||||
|
||||
## Dispatcher 패턴
|
||||
|
||||
Hangfire Recurring Job은 `model-operations-dispatcher-v1` 하나만 15분마다 실행한다. Dispatcher는 `evaluation.model_operation_schedule`에서 due row를 `FOR UPDATE SKIP LOCKED`로 lease하고 작업별 queue에 enqueue한다.
|
||||
|
||||
- lease: 14분
|
||||
- batch limit: 50
|
||||
- schedule key: `operationCode + scopeKey + scheduleVersion`
|
||||
- request idempotency: `operationCode + scopeKey + scheduleVersion + due timestamp`
|
||||
- queue: q-evaluation, q-research, q-control, q-backfill
|
||||
|
||||
이 구조는 시장별·모델별 recurring job 난립을 막고 schedule 변경 이력을 DB와 계약 파일에서 추적한다.
|
||||
|
||||
## 거래일·DST 처리
|
||||
|
||||
v12.4 코드 템플릿은 단순 cadence를 제공하지만 생산 구현은 `MarketCalendar`가 다음 조건을 판정해야 한다.
|
||||
|
||||
- KRX, NYSE, NASDAQ의 휴장·반일장·DST
|
||||
- 시장 종가와 source data completeness
|
||||
- `published_at` 이후 최초 tradable session
|
||||
- 동일 session 재실행 idempotency
|
||||
- 장기 장애 후 catch-up 한도와 우선순위
|
||||
|
||||
시장 캘린더 구현 전에는 시간대 hard-code를 생산 기준으로 사용하지 않는다. 이는 TD-042로 차단한다.
|
||||
|
||||
## 오류 분류
|
||||
|
||||
- `TRANSIENT`: 네트워크·DB 일시 오류. 승인 backoff로 제한 재시도.
|
||||
- `BUSINESS_HOLD`: 승인 Dataset/Model/Metric Definition 또는 표본 미충족. 재시도 폭주 금지.
|
||||
- `QUARANTINED`: PIT/DQ/VersionSet/무결성 위반. 수동 승인 전 후속작업 차단.
|
||||
- `POISON`: 동일 입력 반복 실패. dead-letter와 Runbook 실행.
|
||||
|
||||
## 재처리
|
||||
|
||||
재처리는 현재 row overwrite가 아니다. 새 request, observation, snapshot, proposal을 생성하고 before/after DatasetId와 content hash를 연결한다. 대량 backfill은 승인된 scope, through-watermark, dry-run diff가 있어야 한다.
|
||||
@@ -0,0 +1,43 @@
|
||||
# 알고리즘 지속 개선·보완·고도화 거버넌스
|
||||
|
||||
## 고정 불변조건
|
||||
|
||||
매도 우선순위는 다음을 유지한다.
|
||||
|
||||
`HARD_IMPAIRMENT → PORTFOLIO_SURVIVAL → DYNAMIC_PROFIT_FLOOR → CONCENTRATION/LIQUIDITY → OPPORTUNITY_COST → REENTRY_OPTION`
|
||||
|
||||
상위 위험은 하위 점수로 상쇄하지 않는다. Hard impairment는 자동 재진입 금지다. 비가치훼손 매도는 ReentryWatch, 새 CycleId·Lot, 단계 간 10거래일, 126거래일 만료를 유지한다.
|
||||
|
||||
## 개선 후보 생성 기준
|
||||
|
||||
J21은 다음 근거가 있을 때만 제안을 만든다.
|
||||
|
||||
- Data gap 또는 source revision이 성과 왜곡을 유발
|
||||
- calibration, drift, false-exit, reentry delay가 승인 baseline에서 악화
|
||||
- 동일 비용·cohort에서 Challenger가 일관된 우위
|
||||
- OOS/PBO/DSR/cost stress가 취약점을 확인
|
||||
- 반복 운영 오류나 기술부채가 모델 품질을 방해
|
||||
|
||||
제안에는 문제, 원인 가설, 근거, 반대증거, 기대효과, 위험, 필요한 데이터, 필수 테스트, Owner, 만료일이 포함되어야 한다.
|
||||
|
||||
## 금지
|
||||
|
||||
- 한 번의 월간 성과나 단일 종목 승자를 근거로 임계값 변경
|
||||
- 적중률만 최적화
|
||||
- 전체 실험 시도를 숨긴 채 최고 결과만 제출
|
||||
- 최신 revision을 과거 시점에 소급 적용
|
||||
- AI가 source 없이 팩터·수식·threshold를 생성
|
||||
- 자동 코드 PR, 자동 merge, 자동 model/config activation
|
||||
|
||||
## 정공법 변경 절차
|
||||
|
||||
1. `DECISION_REQUIRED` 해소
|
||||
2. Model Change 문서와 정책/지표 계약 버전 증가
|
||||
3. Characterization/Golden 작성
|
||||
4. 연구 branch 구현
|
||||
5. Frozen OOS, cost2x, missing/delisting/CA/FX stress
|
||||
6. Champion/Challenger Shadow
|
||||
7. 독립검증
|
||||
8. maker-checker 승인
|
||||
9. 제한적 Shadow/Pilot Release
|
||||
10. Outcome 관측과 rollback 준비
|
||||
@@ -0,0 +1,31 @@
|
||||
# 데이터 정합성·증거·이력 실행계약
|
||||
|
||||
## 계층
|
||||
|
||||
- L0 Source Catalog/License/SLA
|
||||
- L1 Raw payload/event/published/ingested/hash
|
||||
- L2 Canonical PIT/revision/valid time/tradable session
|
||||
- L3 DQ/Quarantine/Lineage/Dataset Manifest
|
||||
- L4 Feature/Forecast/Risk/Evidence VersionSet
|
||||
- L5 Decision/Review/Publish/Outcome/Evaluation
|
||||
- L6 Read Model/Projection Version/Watermark/Staleness
|
||||
- L7 Backtest/ModelCard/Promotion/Release Evidence
|
||||
|
||||
## 정규화
|
||||
|
||||
Dataset Manifest, Model Version, Metric Definition, Schedule, Request, Observation, Proposal, Review를 분리한다. 동일 의미를 여러 JSON blob에 중복 저장하지 않고 FK와 hash로 연결한다. 금융 원장과 평가 관측은 source key와 version key를 가진다.
|
||||
|
||||
## 역정규화
|
||||
|
||||
운영 대시보드용 cohort scorecard와 model health view만 역정규화한다. ProjectionVersion, SourceWatermark, BuiltAt, StaleAt, Rebuild 명령, diff 검증이 필수다.
|
||||
|
||||
## 불변성과 mutable state 구분
|
||||
|
||||
- append-only: ModelOperationRequest, MetricObservation, EvaluationSnapshot, ImprovementProposal 원문, Promotion Review 결정, Rollback Drill evidence
|
||||
- mutable: schedule `next_due_at`, lease, enabled, dashboard projection checkpoint
|
||||
|
||||
정정은 원문 삭제가 아니라 새 observation/snapshot과 correction/supersession link로 처리한다.
|
||||
|
||||
|
||||
### v12.4 request lifecycle audit clarification
|
||||
`evaluation.model_operation_request`는 실행 상태와 시각을 트랜잭션으로 갱신할 수 있는 lifecycle aggregate다. 모든 상태 전이는 `evaluation.model_operation_status_event`에 append-only로 기록하여 실행 이력과 재처리 증거를 보존한다.
|
||||
@@ -0,0 +1,51 @@
|
||||
# BE·FE·Hangfire 구현 표준
|
||||
|
||||
## Backend
|
||||
|
||||
새 `KArtSell.Modules.ModelOperations` 모듈은 다음 책임만 가진다.
|
||||
|
||||
- Domain: cadence, automation mode, promotion evidence gate
|
||||
- Application: 승인 VersionSet 조회, 평가 request 생성
|
||||
- Infrastructure: Dapper schedule lease, request+Outbox transaction
|
||||
- Scheduling: 15분 dispatcher와 queue dispatch
|
||||
- Feature: 운영 계획 조회 API
|
||||
|
||||
실제 Outcome, Drift, OOS, PBO/DSR 계산은 VS-18/19/20의 별도 handler로 구현한다. Scheduler 내부에 퀀트 수식을 넣지 않는다.
|
||||
|
||||
## SOLID 적용
|
||||
|
||||
- SRP: Dispatcher는 due job 배치만, evaluator는 계산만, reviewer는 승인만 수행한다.
|
||||
- OCP: `ModelOperationRegistry`와 operation handler 계약으로 작업 추가. reflection plugin framework는 금지한다.
|
||||
- LSP: evaluator 교체 시 PIT, 단위, window, idempotency contract test를 통과한다.
|
||||
- ISP: ContextReader, ScheduleRepository, RequestRepository를 좁은 port로 유지한다.
|
||||
- DIP: Domain은 Hangfire, Dapper, Npgsql, FastEndpoints를 참조하지 않는다.
|
||||
|
||||
## Frontend
|
||||
|
||||
`/ops/model-operations`는 운영 계획과 자동화 경계를 먼저 제공한다. 후속 화면은 다음 단위로 컴포넌트화한다.
|
||||
|
||||
- AutomationBoundaryPanel
|
||||
- ModelOperationTable
|
||||
- MetricDefinitionBadge
|
||||
- DriftObservationPanel
|
||||
- ChampionChallengerComparison
|
||||
- FrozenEvidenceVersionSet
|
||||
- ImprovementProposalReview
|
||||
- PromotionGatePanel
|
||||
- RollbackDrillEvidence
|
||||
|
||||
TanStack Query는 서버 상태, Pinia는 세션·권한·UI 선호, vue-router는 scope/cohort/window/filter를 소유한다. 모든 response는 Zod runtime validation 후 사용한다.
|
||||
|
||||
## Hangfire
|
||||
|
||||
- Dispatcher: q-control, 15분, 동시실행 금지
|
||||
- Evaluation: q-evaluation
|
||||
- Frozen research: q-research
|
||||
- Governance packet/drill: q-control
|
||||
- Revision replay: q-backfill
|
||||
|
||||
연구 queue가 고객 추천 SLA를 침범하지 않도록 worker/connection/resource quota를 분리한다.
|
||||
|
||||
|
||||
### v12.4 request lifecycle audit clarification
|
||||
`evaluation.model_operation_request`는 실행 상태와 시각을 트랜잭션으로 갱신할 수 있는 lifecycle aggregate다. 모든 상태 전이는 `evaluation.model_operation_status_event`에 append-only로 기록하여 실행 이력과 재처리 증거를 보존한다.
|
||||
@@ -0,0 +1,10 @@
|
||||
Metric_Code,Definition_Version,Purpose,Numerator,Denominator,Window,Aggregation,Threshold_or_Gate,PIT_Revision_Rule,Decision_Status
|
||||
OPERATIONAL_INTEGRITY_ERRORS,2,운영 무결성,duplicate+lookahead+unauthorized publish+critical reconciliation+immutable violation,evaluation run,daily,sum,=0,original event time and correction lineage,APPROVED_BASELINE
|
||||
PREDICTION_CALIBRATION,2,P10/P50/P90 보정,observed coverage or probabilistic loss,eligible predictions,20/63/126/252 trading days,cohort with CI,approved baseline 대비 안정,frozen prediction and revised outcome separated,DESIGN_PROPOSAL
|
||||
NET_EXPECTED_UTILITY,2,비용후 의사결정 효용,return/carry/risk/impairment/portfolio risk/liquidity net of fee/tax/FX/slippage/reentry loss,decision or cohort,20/63/126/252 trading days,mean and lower CI,>0; opportunity lower bound >0,valid-time cost schedules,SOURCE_BASELINE
|
||||
FALSE_EXIT_ANNUAL_RATE,2,비가치훼손 매도 후 후회 비용,adverse-regret exits under approved rule,eligible soft exits with complete data,"versioned, proposed 63/126 days",annualized cohort ratio,<=2%,no overwrite; delisting and missing rules versioned,DECISION_REQUIRED
|
||||
REENTRY_CAPTURE_RATE,2,재진입 옵션 포착,valid stage-ready within 126 trading days,eligible non-impairment exits,126 trading days,cohort ratio,>=65%,new Cycle/Lot and unique stage,SOURCE_BASELINE
|
||||
PBO,1,과최적화 위험,CSCV IS winners that fail OOS,all approved CSCV combinations,quarterly/promotion,probability,<=20%,complete experiment registry required,SOURCE_BASELINE
|
||||
DSR,1,다중검정 조정 성과,deflated performance evidence,approved experiment registry,quarterly/promotion,probability/confidence,>=95%,frozen return/cost series,SOURCE_BASELINE
|
||||
DOUBLE_COST_UTILITY,1,비용 민감도,net utility under 2x fee/tax/FX/slippage scenario,same OOS cohort,monthly/quarterly,cohort mean and lower CI,>0,same dataset/model/config/code,SOURCE_BASELINE
|
||||
DRIFT_DATA_FEATURE_PREDICTION,1,drift 조기 경보,approved drift statistics,approved baseline and current sample,daily/weekly,by market/asset/cohort,DECISION_REQUIRED,baseline/content hash mandatory,DECISION_REQUIRED
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user