docs: resolve VS-03/04/12/14 numbering collision (renumber to VS-26/27/28/29)

Renumbers the four 2026-08-07 slices (ApprovalWorkflow, AuditTrail,
TradeExecution, PortfolioReconciliation) to previously-unused VS-26..29,
leaving WBS_MASTER.csv's original VS-03/04/12/14 definitions (IngestMarketDataPIT,
ApplyCorporateActions, RankBuyCandidates, GenerateDailyRecommendations) untouched,
per docs/DECISIONS/ADR-WBS-001-slice-renumbering.md.

While investigating, found two things not yet resolved by this commit:
- DEBT-017 (duplicate ApprovalWorkflow implementation): the tested backend
  (ApprovalWorkflow/) is [DontRegister]'d dead code; the live one
  (Features/ApprovalWorkflow/, wired in Program.cs) has no dedicated tests.
  AEG-VS-26-01 downgraded from COMPLETED to BLOCKED in the tracker pending an
  architect decision on which implementation is canonical.
- Features/MarketData and Features/Portfolio (VS-03/04/05/08 Market Data
  Ingestion Dashboard, Portfolio Rebalance, Risk Metrics, Dashboard) are a
  third, already-implemented-and-tested body of work entirely absent from
  WBS_PROGRESS_TRACKER.csv. Flagged in CURRENT_ROADMAP.md as a follow-up.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-08 12:36:00 +09:00
parent 53be11673c
commit cedc8d79ee
10 changed files with 159 additions and 61 deletions
@@ -1,6 +1,6 @@
# VS-03: Model Approval Workflow (Maker-Checker Governance)
# VS-26: Model Approval Workflow (Maker-Checker Governance)
**Vertical Slice:** VS-03 (Model Approval & Activation Gateway)
**Vertical Slice:** VS-26 (Model Approval & Activation Gateway)
**Version:** 1.0 COMPLETE
**Date:** 2026-08-07
**Owner:** Platform Lead + Compliance
@@ -228,11 +228,11 @@ CREATE TABLE model_operations.approval_events (
- **VS-00:** PIT envelope (published_at, correlation_id, revision)
- **VS-02:** Financial security master (governance foundation)
- **VS-04:** Audit trail (event logging)
- **VS-27:** Audit trail (event logging)
- **VS-10:** Sell decision (uses approved models)
---
**Co-Authored-By:** Claude Haiku 4.5 <noreply@anthropic.com>
**Status:** ✅ READY FOR IMPLEMENTATION
**Next:** VS-04 (audit trail), then Phase 2 implementation
**Next:** VS-27 (audit trail), then Phase 2 implementation
@@ -1,6 +1,6 @@
# VS-04: Immutable Audit Trail (GDPR/Compliance)
# VS-27: Immutable Audit Trail (GDPR/Compliance)
**Vertical Slice:** VS-04 (Audit Log & Compliance Trail)
**Vertical Slice:** VS-27 (Audit Log & Compliance Trail)
**Version:** 1.0 COMPLETE
**Date:** 2026-08-07
**Owner:** Compliance + Security
@@ -245,7 +245,7 @@ WHERE entity_id IN (SELECT id FROM ... WHERE customer_id = $1);
- **VS-00:** PIT envelope (published_at, correlation_id, revision)
- **VS-02:** Governance foundation (data sources, policies)
- **VS-03:** Approval workflow (events logged by VS-04)
- **VS-26:** Approval workflow (events logged by VS-27)
- **Compliance:** GDPR, FSS, PCI-DSS requirements
---
@@ -1,11 +1,11 @@
# VS-12: Trade Execution System (KIS Integration)
# VS-28: Trade Execution System (KIS Integration)
**Vertical Slice:** VS-12 (Trade Execution)
**Vertical Slice:** VS-28 (Trade Execution)
**Version:** 1.0 COMPLETE
**Date:** 2026-08-07
**Owner:** Backend Lead + Trading Ops
**Status:** ✅ READY FOR IMPLEMENTATION
**Depends On:** VS-10 (sell decisions), VS-03 (approval), VS-04 (audit)
**Depends On:** VS-10 (sell decisions), VS-26 (approval), VS-27 (audit)
---
@@ -16,12 +16,12 @@
**So that** portfolios are rebalanced automatically with full audit trail
**Acceptance Criteria:**
- ✅ Execute trade only after VS-03 approval
- ✅ Execute trade only after VS-26 approval
- ✅ Submit order to KIS, track order status
- ✅ Handle partial fills and slippage
- ✅ Confirm settlement and update cost basis
- ✅ Classify errors (transient/permanent/liquidity)
- ✅ All state changes logged (VS-04 audit)
- ✅ All state changes logged (VS-27 audit)
---
@@ -47,7 +47,7 @@ PARTIAL_FILLED / FULLY_FILLED (execution progress)
CONFIRMED (settlement confirmed)
RECONCILED (cost basis updated by VS-14)
RECONCILED (cost basis updated by VS-29)
```
---
@@ -87,7 +87,7 @@ CREATE INDEX idx_trades_correlation_id ON trades(correlation_id);
### POST /trades (Create Trade)
**Role:** System (after VS-03 approval)
**Role:** System (after VS-26 approval)
**Request:**
```json
{
@@ -164,12 +164,12 @@ ConfirmSettlementAsync(kisOrderId, correlationId)
- Wait 1 business day after FILLED
- Confirm settlement with KIS
- Update status=CONFIRMED
- Emit event to VS-14 (reconciliation)
- Emit event to VS-29 (reconciliation)
### ReconcileTradeHandler
- Receive settlement event
- Update status=RECONCILED
- Mark ready for VS-14 processing
- Mark ready for VS-29 processing
---
@@ -204,7 +204,7 @@ ConfirmSettlementAsync(kisOrderId, correlationId)
- Liquidity: Partial fills, slippage
**RBAC:**
- System role: Submit trades (via VS-03 approval)
- System role: Submit trades (via VS-26 approval)
- Operations: View & monitor execution
- Audit: Query immutable trail
@@ -213,9 +213,9 @@ ConfirmSettlementAsync(kisOrderId, correlationId)
## 📋 Related Specifications
- **VS-10:** Sell Decision (generates trades)
- **VS-03:** Approval Workflow (prerequisite)
- **VS-04:** Audit Trail (logs all state changes)
- **VS-14:** Portfolio Reconciliation (consumes trade settlement)
- **VS-26:** Approval Workflow (prerequisite)
- **VS-27:** Audit Trail (logs all state changes)
- **VS-29:** Portfolio Reconciliation (consumes trade settlement)
---
@@ -1,11 +1,11 @@
# VS-14: Portfolio Reconciliation (Sell Decision → Trade → Holdings)
# VS-29: Portfolio Reconciliation (Sell Decision → Trade → Holdings)
**Vertical Slice:** VS-14 (Portfolio Reconciliation)
**Vertical Slice:** VS-29 (Portfolio Reconciliation)
**Version:** 1.0 COMPLETE
**Date:** 2026-08-07
**Owner:** Data Architecture + Finance
**Status:** ✅ READY FOR IMPLEMENTATION
**Depends On:** K (trade execution), uses VS-03 (approval) + VS-04 (audit)
**Depends On:** K (trade execution), uses VS-26 (approval) + VS-27 (audit)
---
@@ -38,11 +38,11 @@
## 📊 Reconciliation Flow
```
Trade Executed (from VS-12)
Trade Executed (from VS-28)
Extract trade details: quantity, price, settlement date
Validate against approval (from VS-03)
Validate against approval (from VS-26)
Update holdings: quantity ± executed
@@ -237,9 +237,9 @@ CREATE TABLE lots (
## 📋 Related Specifications
- **VS-03:** Approval workflow (approval_proposals, evidence linkage)
- **VS-04:** Audit trail (reconciliation events logged)
- **K (VS-12):** Trade execution (provides trade_id, quantity, price)
- **VS-26:** Approval workflow (approval_proposals, evidence linkage)
- **VS-27:** Audit trail (reconciliation events logged)
- **K (VS-28):** Trade execution (provides trade_id, quantity, price)
- **VS-00:** PIT envelope (published_at, correlation_id, revision)
---