# 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로 결정한다.
