55 lines
4.1 KiB
Markdown
55 lines
4.1 KiB
Markdown
# 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의 차단 조건으로 남긴다.
|