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
