Initial commit: Add project files
This commit is contained in:
@@ -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
|
||||
|
Reference in New Issue
Block a user