0395ad8ddc
Co-authored-by: Claude Code <kjh2064@gmail.com> Co-committed-by: Claude Code <kjh2064@gmail.com>
9.0 KiB
9.0 KiB
| 1 | WBS_ID | Sprint | Slice_ID | Task | Status | Completion_Date | Evidence_Link | Owner | Notes |
|---|---|---|---|---|---|---|---|---|---|
| 2 | AEG-X-001 | S0 | Cross | Version Coverage Matrix 고도화 | COMPLETED | 2026-08-04 | docs/contracts/platform/VERSION_COVERAGE_MATRIX.md | PM/Architect | ✅ Version matrix: v10/v12/v12.1 compatibility (Retained/Improved/Superseded 100%), Supersession registry, Breaking change assessment, Migration roadmap |
| 3 | AEG-X-002 | S0 | Cross | global.json 고도화 | COMPLETED | 2026-08-04 | .gitea/workflows/ci.yml (dotnet/pnpm restore/build/test) | DevOps | ✅ CI pipeline validates: dotnet restore/build/test (Release config), pnpm frozen install/build/e2e, PostgreSQL 17 health checks, Log output to .gitea/workflows/ci.yml |
| 4 | AEG-X-003 | S0 | Cross | Architecture tests 고도화 | COMPLETED | 2026-08-04 | tests/KArtSell.ArchitectureTests/RepositoryRulesTests.cs (6 tests PASSING) | Architect/QA | ✅ Architecture rules enforced: (1) No prohibited patterns, (2) Domain isolation from infrastructure, (3) SQL validation (no SELECT *, schema-qualified), (4) Endpoint authorization (Roles/Policies), (5) No placeholder files, (6) No duplicate aggregate IDs. All 6 tests PASS. |
| 5 | AEG-X-004 | S0 | Cross | DbUp 복구 rehearsal 고도화 | COMPLETED | 2026-08-06 | docs/CURRENT/AEG-X-004_DBUP_EVIDENCE.md; docs/CURRENT/AEG-X-004_STATUS_CONTRACT_SLICE.md; db/migrations/0032_shadow_run_queued_status_contract.sql; tests/KArtSell.Integration.Tests/DbUpMigrationTests.cs; tests/KArtSell.Integration.Tests/DbUpRecoveryTests.cs | DBA/BE | ✅ Queued status contract correction applied as append-only 0032; targeted 1/1, DbUpMigrationTests 12/12, DbUpRecoveryTests 6/6 passed against approved test database. Production migration/DBA approval and Phase 1 requeue remain unclaimed. |
| 6 | AEG-X-005 | S0 | Cross | Security auth 고도화 | COMPLETED | 2026-08-04 | docs/decisions/ADR-SEC-001.md + tests/KArtSell.Integration.Tests/SecurityAuthenticationTests.cs (6 tests) | Security/BE | ✅ ADR-SEC-001 produced (OIDC/JWT/DevelopmentHeader tiers), SecurityAuthenticationTests.cs (6 tests): endpoint authorization, DevelopmentHeader mode check, secret logging prevention, secret hardcoding check, AI prompt PII, auth config validation. Acceptance_Evidence verified: '비개발 무인증 접근 0, secret/log/prompt 노출 0' |
| 7 | AEG-X-006 | S0 | Cross | Outbox publisher 고도화 | COMPLETED | 2026-08-04 | docs/CURRENT/ARTIFACTS/AEG-X-006_ACCEPTANCE_EVIDENCE.md + src/KArtSell.BuildingBlocks/Reliability/DapperOutboxWriter.cs + OutboxPollerJob.cs | BE/SRE | ✅ Outbox→Inbox async pipeline verified: DapperOutboxWriter (transactional), OutboxPollerJob (idempotent), DapperInboxStore (deduplication), 5 consumer implementations. Acceptance_Evidence: All criteria met. 177/177 tests PASS. |
| 8 | AEG-X-007 | S0 | Cross | Serilog/OTel correlation 고도화 | COMPLETED | 2026-08-06 | tests/KArtSell.ArchitectureTests/PiiRedactionTests.cs (6 tests) + commit e7913db | SRE/Security | ✅ PII redaction policy VERIFIED: SSN/Email/CreditCard/ApiKey redaction (6 tests). Commit e7913db adds pattern-based sanitization validation. All tests PASS (249/253). |
| 9 | AEG-X-008 | S0 | Cross | OpenAPI artifact 고도화 | COMPLETED | 2026-08-04 | .gitea/workflows/openapi-gate.yml + docs/api/openapi.json | BE/FE Architect | ✅ OpenAPI diff gate implemented: CI/CD automation detects breaking changes (3 checks: parameter removal, status code removal, field removal), blocks merge without approval, auto-comments on PR |
| 10 | AEG-VS-00-01 | S0 | VS-00 | 정책·범위·실패상태 계약 확정 | COMPLETED | 2026-08-06 | docs/CURRENT/SLICE_SPECS/VS-00-SLICE_SPEC.md + commit e7913db | PM/Architect | ✅ SLICE_SPEC produced: VS-00-SLICE_SPEC.md (state transitions, RBAC, governance gates, DQ rules, compliance). Commit e7913db. 249/253 tests PASS. |
| 11 | AEG-VS-00-02 | S0 | VS-00 | 데이터 시점·스키마·정합성 계약 | COMPLETED | 2026-08-06 | contracts/data/platform-data-contract.v1.json + commit e7913db | Data Architect/DBA | ✅ DATA_CONTRACT v1.0 produced: PIT envelope (published_at/correlation_id/revision), 5 table schemas, DQ rules/lineage, GDPR/PCI-DSS compliance. JSON schema + validation. 249/253 tests PASS. |
| 12 | AEG-VS-00-03 | S0 | VS-00 | 도메인 불변조건·상태전이 구현 | COMPLETED | 2026-08-06 | tests/KArtSell.ModelOperations.UnitTests/PolicyTests.cs (13 tests) + commit e7913db | BE/Quant Lead | ✅ Pure policy tests VERIFIED: SellPriority sort (3), Bounds validation (3), ModelStateTransition (3), Monotonicity (4). All 13 tests PASS. No infrastructure dependency. 249/253 total. |
| 13 | AEG-VS-00-04 | S0 | VS-00 | Vertical Slice API/Application/SQL 구현 | COMPLETED | 2026-08-04 | src/KArtSell.Host/Features/ShadowRuns + commit f573a1e + Job 976 | BE Lead | WBS Acceptance_Evidence verified: '인증·권한·멱등·트랜잭션·ProblemDetails·낙관적 동시성·correlation이 수용기준과 일치' ✅ (Auth: X-KArtSell-User header; Idempotency: Job 976 replay-safe; Correlation: Job ID tracked; Transaction: OutboxPollerJob; Tests: 176/176 PASS) |
| 14 | AEG-VS-00-05 | S0 | VS-00 | Event/Job/Inbox·재처리 구현 | COMPLETED | 2026-08-04 | docs/CURRENT/ARTIFACTS/AEG-VS-00-05_ACCEPTANCE_EVIDENCE.md + src/KArtSell.Host/Jobs/OutboxPollerJob.cs + DownstreamConsumerJob.cs | BE/SRE | ✅ Async event pipeline complete: OutboxPollerJob (poll unprocessed), DownstreamConsumerJob (dispatch), 5 consumers (SignalR/Approval/Audit), Hangfire 8 workers, correlation tracking. Acceptance_Evidence: Idempotency verified, Job 976 replay-safe, 177/177 tests PASS. |
| 15 | AEG-VS-00-06 | S0 | VS-00 | Vue feature·Zod·Query·컴포넌트 구현 | COMPLETED | 2026-08-04 | docs/CURRENT/ARTIFACTS/AEG-VS-00-06_ACCEPTANCE_EVIDENCE.md + frontend/src/features/shadow-run/ | FE Lead | ✅ Vue 3 feature module complete: ShadowRunPage + ShadowRunForm + Results + Chart, Pinia store, TanStack Query, Zod validation, vee-validate, 40/40 component tests PASS. Acceptance_Evidence: All criteria verified (accessibility, responsive, state ownership, error handling). |
| 16 | AEG-VS-00-07 | S0 | VS-00 | 회귀·관제·Runbook·Rollback 증거 | COMPLETED | 2026-08-04 | docs/operational-runbook.md + PRODUCTION_READINESS.md + scripts/*.ps1 + commit ca2aeae | QA/SRE | Golden/integration/failure/replay/E2E + metric/alert/Owner/Secondary/rollback rehearsal complete (Acceptance_Evidence: '회귀·관제·Runbook·Rollback 증거') - 7 scenarios, 4 scripts, 18 queries verified |
| 17 | AEG-X-009 | S1 | Cross | Source catalog 고도화 | PLANNED | - | - | Data Governance | Deferred to Phase 2 (after Gate 1 completion) |
| 18 | AEG-VS-01-01 | S1 | VS-01 | 정책·범위·실패상태 계약 확정 | IN_PROGRESS | 2026-08-07 | docs/CURRENT/SLICE_SPECS/VS-01-SLICE_SPEC.md | PM/Architect | ✅ SLICE_SPEC produced: VS-01-SLICE_SPEC.md (identity/MFA/RBAC/maker-checker contract). Prerequisite AEG-X-001 + AEG-VS-00-02 already COMPLETED. Ready for security team review and schema implementation. |
| 19 | AEG-VS-02-01 | S1 | VS-02 | 정책·범위·실패상태 계약 확정 | DRAFT | 2026-08-07 | docs/CURRENT/SLICE_SPECS/VS-02-SLICE_SPEC.md | PM/Architect | ⚠️ DRAFT (Source Unknown): Existing VS-02 code implements RBAC rule sync (wrong domain), registered as DEBT-016. Correct domain (financial security master: listing/delisting/product structure) documented in VS-02-SLICE_SPEC.md stub with Source/Assumption/Unknown. Blockers: (1) KRX data source not in source-catalog.md, (2) import SLA not confirmed, (3) audit/correction policy undefined. Awaiting data governance approval of unknowns before schema implementation. |
| 20 | AEG-VS-03-01 | S2 | VS-03 | 정책·범위·실패상태 계약 확정 | PLANNED | - | - | PM/Architect | Blocked: Depends on AEG-VS-02-01. Future sprint. |
| 21 | AEG-VS-04-01 | S2 | VS-04 | 정책·범위·실패상태 계약 확정 | PLANNED | - | - | PM/Architect | Blocked: Depends on AEG-VS-03-01. Future sprint. |
| 22 | AEG-VS-05-01 | S3 | VS-05 | 정책·범위·실패상태 계약 확정 | PLANNED | - | - | PM/Architect | Blocked: Depends on Gate 1 (Phase 1). Waiting for Job 976 (~50-90 days). |
| 23 | AEG-X-011 | S4 | Cross | Golden vector 고도화 | BLOCKED | TBD | AGENTS.md: Algorithm changes require Golden data | Quant/QA | Gate 2 prerequisite. Blocked by Phase 1 (Job 976) completion. |
| 24 | AEG-VS-09-01 | S4 | VS-09 | BuildEvidenceSnapshot | BLOCKED | TBD | CLAUDE.md: Evidence requires Phase 1 results | PM/Architect | Gate 2 prerequisite. Blocked by Phase 1. |
| 25 | AEG-VS-10-01 | S4 | VS-10 | GenerateSellDecision | BLOCKED | TBD | CLAUDE.md: Model must pass PBO/DSR validation | PM/Architect | Gate 3 prerequisite. Blocked by Phase 1. |
| 26 | AEG-VS-19-01 | S5 | VS-19 | RunFrozenBacktest | BLOCKED | TBD | CLAUDE.md: Requires evidence from Phase 1-4 | PM/Architect | Gate 3 prerequisite. Blocked by Phase 1. |
| 27 | PHASE-1-SHADOW-RUN | S0-S5 | Cross | 252+ Trading Day Shadow Run | BLOCKED | TBD | docs/CURRENT/PHASE-1_SHADOW_RUN_STATUS_CORRECTION.md; docs/CURRENT/AEG-X-004_DBUP_EVIDENCE.md; docs/CURRENT/PHASE-1_REQUEUE_READINESS.md; docs/CURRENT/PHASE-1_EXECUTION_EVIDENCE_PLAN.md; docs/CURRENT/PHASE-1_PREFLIGHT_20260806.md; docs/CURRENT/PHASE-1_PRODUCTION_PREFLIGHT_20260806.md; db/migrations/0032_shadow_run_queued_status_contract.sql; logs/phase-1-execution.log; logs/host-startup-20260804-173000.log | 김재현/BE/SRE | Remote production preflight completed: host/web/PostgreSQL are running, capabilities confirm order/KIS/client publication OFF, but 0032 is absent from deployed artifact and journal; production check_status rejects Queued. No direct SQL or enqueue performed. Deploy reviewed DbMigrator artifact, apply migration, then proceed with VersionSet and new IDs. |