Skip to content
Merged
8 changes: 7 additions & 1 deletion docs/generated/repository-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -1766,6 +1766,7 @@ Meridian-main
│ │ ├── waves-2-4-operator-readiness-addendum.md
│ │ └── web-ui-development-pivot.md
│ ├── product
│ │ ├── data-provider-accounting-brainstorm-2026-07.md
│ │ ├── deferred-expansion-boundaries.md
│ │ ├── high-value-code-brainstorm-2026-07.md
│ │ ├── implementation-todo-list.md
Expand Down Expand Up @@ -6766,7 +6767,9 @@ Meridian-main
│ │ ├── Commodities
│ │ │ └── CommodityProjectionServiceTests.cs
│ │ ├── Compliance
│ │ │ └── CompliancePolicyEngineTests.cs
│ │ │ ├── AccessReviewServiceTests.cs
│ │ │ ├── CompliancePolicyEngineTests.cs
│ │ │ └── ImmutableAuditLogServiceTests.cs
│ │ ├── Contracts
│ │ │ ├── Api
│ │ │ │ └── UiApiClientTests.cs
Expand Down Expand Up @@ -6887,7 +6890,10 @@ Meridian-main
│ │ │ │ └── TaxLotAccountingTests.cs
│ │ │ ├── BrokerageExecutionReconciliationServiceTests.cs
│ │ │ ├── BrokerageGatewayAdapterTests.cs
│ │ │ ├── BrokerageOrderPlacementGateTests.cs
│ │ │ ├── BrokerageValidationEvaluatorTests.cs
│ │ │ ├── ExecutionAuditTrailServiceTests.cs
│ │ │ ├── ExecutionOrderMetadataPolicyTests.cs
│ │ │ ├── HostedBrokerageGatewayRegistrationTests.cs
│ │ │ ├── MultiAccountPaperTradingPortfolioTests.cs
│ │ │ ├── OrderManagementSystemGovernanceTests.cs
Expand Down
392 changes: 392 additions & 0 deletions docs/product/data-provider-accounting-brainstorm-2026-07.md

Large diffs are not rendered by default.

26 changes: 13 additions & 13 deletions docs/status/TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ Total items: **212**
| `src/Meridian.Ui.Services/Services/ProviderHealthService.cs` | 530 | `NOTE` | ❌ | // NOTE: ProviderComparison is defined in AdvancedAnalyticsModels.cs for cross-provider comparison |
| `src/Meridian.Ui.Shared/Endpoints/ArchiveMaintenanceEndpoints.cs` | 32 | `NOTE` | ❌ | // NOTE: GET /schedules, GET /schedules/{id}, POST /schedules, POST /schedules/{id}/enable, |
| `src/Meridian.Ui.Shared/Endpoints/ArchiveMaintenanceEndpoints.cs` | 117 | `NOTE` | ❌ | // NOTE: POST /schedules/{id}/enable and POST /schedules/{id}/disable are registered |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4334 | `NOTE` | ❌ | note: "Paper adapter routing is available.", |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4346 | `NOTE` | ❌ | note: "Realtime subscriptions are steady.", |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4358 | `NOTE` | ❌ | note: "Replay queue is elevated but within tolerance.", |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4470 | `NOTE` | ❌ | Note: note, |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4553 | `NOTE` | ❌ | Note: note, |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4343 | `NOTE` | ❌ | note: "Paper adapter routing is available.", |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4355 | `NOTE` | ❌ | note: "Realtime subscriptions are steady.", |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4367 | `NOTE` | ❌ | note: "Replay queue is elevated but within tolerance.", |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4479 | `NOTE` | ❌ | Note: note, |
| `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | 4562 | `NOTE` | ❌ | Note: note, |
| `src/Meridian.Ui.Shared/Services/ProviderLedgerReconciliationService.cs` | 1974 | `NOTE` | ❌ | Note: "Provider-ledger reconciliation break signed off.", |
| `src/Meridian.Ui.Shared/Services/ReportPackDeliveryService.cs` | 240 | `NOTE` | ❌ | Note: NormalizeNullable(target.Note) ?? $"Scheduled delivery for {normalizedTemplateId}.", |
| `src/Meridian.Ui.Shared/Services/ReportPackRunReadService.cs` | 2047 | `NOTE` | ❌ | Note: NormalizeOptional(target.Note), |
Expand Down Expand Up @@ -103,14 +103,14 @@ Total items: **212**
| `src/Meridian.Ui/dashboard/src/screens/accounting-screen.view-model.ts` | 6070 | `NOTE` | ❌ | note: event.sourceReason ?? (event.isCurrentProjection ? "Current schedule projection." : null) |
| `src/Meridian.Ui/dashboard/src/screens/covered-call-screen.view-model.ts` | 287 | `NOTE` | ❌ | note: string; |
| `src/Meridian.Ui/dashboard/src/screens/covered-call-screen.view-model.ts` | 990 | `NOTE` | ❌ | note: "Covered-call net curve requires the underlying cost basis which is not yet threaded through the API. The chart shows the short-call leg only." |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 127 | `NOTE` | ❌ | note: string; |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 140 | `NOTE` | ❌ | note: string; |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 436 | `NOTE` | ❌ | note: "Matches issuer relations and SEC 8-K references. Amount amended from $2.75 at board confirmation.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 458 | `NOTE` | ❌ | note: "Awaiting final packet annotation from treasury.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 479 | `NOTE` | ❌ | note: "Retained for longitudinal identifier reconciliation.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 500 | `NOTE` | ❌ | note: "Issuer withdrew the distribution before record date; retained for audit evidence.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 712 | `NOTE` | ❌ | note: "Matches paying agent notice and treasury schedule.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 735 | `NOTE` | ❌ | note: "Historical programme amendment retained for evidence.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 128 | `NOTE` | ❌ | note: string; |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 141 | `NOTE` | ❌ | note: string; |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 437 | `NOTE` | ❌ | note: "Matches issuer relations and SEC 8-K references. Amount amended from $2.75 at board confirmation.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 459 | `NOTE` | ❌ | note: "Awaiting final packet annotation from treasury.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 480 | `NOTE` | ❌ | note: "Retained for longitudinal identifier reconciliation.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 501 | `NOTE` | ❌ | note: "Issuer withdrew the distribution before record date; retained for audit evidence.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 713 | `NOTE` | ❌ | note: "Matches paying agent notice and treasury schedule.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 736 | `NOTE` | ❌ | note: "Historical programme amendment retained for evidence.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.security-master.ts` | 883 | `NOTE` | ❌ | note: seed.note, |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.test.tsx` | 40 | `NOTE` | ❌ | note: "Realtime subscriptions are stable.", |
| `src/Meridian.Ui/dashboard/src/screens/data-screen.test.tsx` | 439 | `NOTE` | ❌ | note: "Backfill pressure is elevated.", |
Expand Down
4 changes: 2 additions & 2 deletions docs/status/api-contract-coverage-dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -3575,13 +3575,13 @@
{
"method": "GET",
"path": "/api/strategies/{strategyId}/runs",
"source": "src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:2578",
"source": "src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:2579",
"documented": true
},
{
"method": "GET",
"path": "/api/strategies/runs/compare",
"source": "src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:2699",
"source": "src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:2700",
"documented": true
}
],
Expand Down
4 changes: 2 additions & 2 deletions docs/status/api-contract-coverage-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -586,8 +586,8 @@ Tracks whether mapped API routes and workstation DTO contracts are visible in th
| `POST` | `/api/strategies/covered-call/runs/{runId}/cancel` | Documented | `src/Meridian.Ui.Shared/Endpoints/CoveredCallEndpoints.cs:135` |
| `GET` | `/api/strategies/covered-call/runs/{runId}/result` | Documented | `src/Meridian.Ui.Shared/Endpoints/CoveredCallEndpoints.cs:93` |
| `GET` | `/api/strategies/covered-call/runs/{runId}/status` | Documented | `src/Meridian.Ui.Shared/Endpoints/CoveredCallEndpoints.cs:70` |
| `GET` | `/api/strategies/runs/compare` | Documented | `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:2699` |
| `GET` | `/api/strategies/{strategyId}/runs` | Documented | `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:2578` |
| `GET` | `/api/strategies/runs/compare` | Documented | `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:2700` |
| `GET` | `/api/strategies/{strategyId}/runs` | Documented | `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:2579` |
| `GET` | `/api/subscriptions/active` | Documented | `src/Meridian.Ui.Shared/Endpoints/SubscriptionEndpoints.cs:21` |
| `POST` | `/api/subscriptions/subscribe` | Documented | `src/Meridian.Ui.Shared/Endpoints/SubscriptionEndpoints.cs:43` |
| `POST` | `/api/subscriptions/unsubscribe/{symbol}` | Documented | `src/Meridian.Ui.Shared/Endpoints/SubscriptionEndpoints.cs:72` |
Expand Down
20 changes: 10 additions & 10 deletions docs/status/coverage-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,25 @@

## Overall Coverage

**2687 / 7425** items documented (**36.2%**) — Grade: **F**
**2687 / 7351** items documented (**36.6%**) — Grade: **F**

```text
[=======-------------] 36.2%
[=======-------------] 36.6%
```

## Coverage by Category

| Category | Documented | Total | Coverage | Grade |
| ---------- | ----------- | ------- | ---------- | ------- |
| Public Classes / Interfaces | 2566 | 6929 | 37.0% | F |
| API Endpoints | 107 | 349 | 30.7% | F |
| Public Classes / Interfaces | 2568 | 6929 | 37.1% | F |
| API Endpoints | 105 | 275 | 38.2% | F |
| Configuration Options | 3 | 136 | 2.2% | F |
| Provider Implementations | 0 | 0 | 100.0% | A |
| ADR Implementations | 11 | 11 | 100.0% | A |

## Undocumented Items

### Public Classes / Interfaces (4363 undocumented)
### Public Classes / Interfaces (4361 undocumented)

| Item | Location |
| ------ | ---------- |
Expand Down Expand Up @@ -77,9 +77,9 @@
| `SecurityMasterRestatementDecision` | `src/Meridian.Application/SecurityMaster/IPeriodAwareRestatementResolver.cs:32` |
| `RestatementCandidateResult` | `src/Meridian.Application/SecurityMaster/IPeriodAwareRestatementResolver.cs:44` |
| `SecurityMasterRevisionRecord` | `src/Meridian.Application/SecurityMaster/ISecurityMasterRevisionStore.cs:52` |
| ... and 4313 more | |
| ... and 4311 more | |

### API Endpoints (242 undocumented)
### API Endpoints (170 undocumented)

| Item | Location |
| ------ | ---------- |
Expand Down Expand Up @@ -133,7 +133,7 @@
| `/{loanId:guid}/status-transitions` | `src/Meridian.Ui.Shared/Endpoints/DirectLendingEndpoints.cs:685` |
| `/{loanId:guid}/pik` | `src/Meridian.Ui.Shared/Endpoints/DirectLendingEndpoints.cs:715` |
| `/{loanId:guid}/restructures` | `src/Meridian.Ui.Shared/Endpoints/DirectLendingEndpoints.cs:745` |
| ... and 192 more | |
| ... and 120 more | |

### Configuration Options (133 undocumented)

Expand Down Expand Up @@ -193,8 +193,8 @@

## Recommendations

1. **Public Classes / Interfaces**: 4363 undocumented types. Consider generating API docs with DocFX (`docfx docfx.json`) to cover the long tail of public types automatically.
2. **API Endpoints**: 242 endpoint(s) missing from `docs/reference/api-reference.md`. Run the endpoint audit and update the API reference table.
1. **Public Classes / Interfaces**: 4361 undocumented types. Consider generating API docs with DocFX (`docfx docfx.json`) to cover the long tail of public types automatically.
2. **API Endpoints**: 170 endpoint(s) missing from `docs/reference/api-reference.md`. Run the endpoint audit and update the API reference table.
3. **Configuration Options**: 133 config key(s) not found in `docs/generated/configuration-schema.md`. Re-run the configuration schema generator to synchronise.

---
Expand Down
19 changes: 14 additions & 5 deletions docs/status/doc-health-dashboard.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"total_files": 540,
"total_lines": 90073,
"orphaned_count": 206,
"total_files": 541,
"total_lines": 90471,
"orphaned_count": 207,
"no_heading_count": 38,
"stale_count": 0,
"todo_count": 204,
"average_lines": 166.8,
"average_lines": 167.2,
"health_score": 83,
"orphaned_files": [
".agents/skills/meridian-archive-organizer/SKILL.md",
Expand Down Expand Up @@ -172,6 +172,7 @@
"docs/plans/ufl-warrant-target-state-v2.md",
"docs/plans/wave-implementation-checklists.md",
"docs/plans/web-ui-development-pivot.md",
"docs/product/data-provider-accounting-brainstorm-2026-07.md",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Link the new brainstorm from the product index

The generated health dashboard now classifies the added docs/product/data-provider-accounting-brainstorm-2026-07.md as an orphan, and docs/product/README.md is the canonical stakeholder-facing entrypoint that already links the other July brainstorms. In the stakeholder/docs-health workflow, this means the new product guidance is effectively undiscoverable and intentionally increases the orphan count; add it to the product README or another indexed product page so the generated report no longer flags it as orphaned.

Useful? React with 👍 / 👎.

"docs/product/deferred-expansion-boundaries.md",
"docs/reference/governance-report-packs.md",
"docs/reference/research-briefing-workflow.md",
Expand Down Expand Up @@ -2139,7 +2140,7 @@
},
{
"path": "docs/generated/repository-structure.md",
"line_count": 7903,
"line_count": 7909,
"has_heading": true,
"todo_count": 9,
"last_modified_utc": "1970-01-01T00:00:00+00:00",
Expand Down Expand Up @@ -3057,6 +3058,14 @@
"last_modified_utc": "1970-01-01T00:00:00+00:00",
"stale": false
},
{
"path": "docs/product/data-provider-accounting-brainstorm-2026-07.md",
"line_count": 392,
"has_heading": true,
"todo_count": 0,
"last_modified_utc": "1970-01-01T00:00:00+00:00",
"stale": false
},
{
"path": "docs/product/deferred-expansion-boundaries.md",
"line_count": 60,
Expand Down
12 changes: 6 additions & 6 deletions docs/status/doc-health-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ Data sources: `repo markdown (*.md)`, `file modification metadata`

| Metric | Value |
| -------- | ------- |
| Total documentation files | 540 |
| Total lines | 90,073 |
| Average file size (lines) | 166.8 |
| Orphaned files | 206 |
| Total documentation files | 541 |
| Total lines | 90,471 |
| Average file size (lines) | 167.2 |
| Orphaned files | 207 |
| Files without headings | 38 |
| Stale files (>90 days) | 0 |
| TODO/FIXME markers | 204 |
Expand Down Expand Up @@ -85,15 +85,15 @@ These files are not linked from any other Markdown file in the repository:
- `Meridian Design System/VISUAL_FOUNDATIONS.md`
- `Meridian Design System/components/charts/CandleChart.prompt.md`
- `Meridian Design System/components/charts/ChartCard.prompt.md`
- ... and 186 more
- ... and 187 more

## Trend

<!-- Trend data will be appended by CI when historical snapshots are available. -->

| Date | Score | Files | Orphans | Stale |
| ------ | ------- | ------- | --------- | ------- |
| 1970-01-01 | 83 | 540 | 206 | 0 |
| 1970-01-01 | 83 | 541 | 207 | 0 |

---

Expand Down
2 changes: 1 addition & 1 deletion docs/status/example-validation.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

> Auto-generated by `validate-examples.py`. Do not edit manually.
> Scan time: 1970-01-01T00:00:00+00:00
> Files scanned: 424
> Files scanned: 425

## Overall Summary

Expand Down
19 changes: 10 additions & 9 deletions docs/status/governance-readiness-dashboard.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@
"description": "Tracks whether DK2 governance, reconciliation, and shared-contract controls have current status evidence, route support, and validation coverage.",
"generated_at": "1970-01-01T00:00:00+00:00",
"root": "Meridian-main",
"score_percent": 46.7,
"passed_weight": 7,
"score_percent": 26.7,
"passed_weight": 4,
"total_weight": 15,
"summary": {
"check_count": 6,
"passed_checks": 3,
"gap_checks": 3,
"passed_checks": 2,
"gap_checks": 4,
"missing_source_count": 0,
"missing_term_count": 9
"missing_term_count": 10
},
"checks": [
{
Expand Down Expand Up @@ -109,9 +109,9 @@
"id": "governance-endpoints",
"category": "Governance Operations",
"label": "Workstation endpoints expose governance break queue and calibration routes",
"status": "pass",
"status": "gap",
"weight": 3,
"score": 3,
"score": 0,
"path_mode": "all",
"term_mode": "all",
"patterns": [
Expand All @@ -128,10 +128,11 @@
],
"found_terms": [
"break-queue",
"calibration-summary",
"sign-off"
],
"missing_terms": [],
"missing_terms": [
"calibration-summary"
],
"detail": "",
"remediation": "Keep governance readiness tied to workstation endpoints and documented route evidence."
},
Expand Down
11 changes: 6 additions & 5 deletions docs/status/governance-readiness-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ Tracks whether DK2 governance, reconciliation, and shared-contract controls have

| Metric | Value |
| --- | ---: |
| Score | 46.7% |
| Passed checks | 3 |
| Gap checks | 3 |
| Score | 26.7% |
| Passed checks | 2 |
| Gap checks | 4 |
| Missing evidence sources | 0 |
| Missing expected terms | 9 |
| Missing expected terms | 10 |

## Evidence Checks

Expand All @@ -24,7 +24,7 @@ Tracks whether DK2 governance, reconciliation, and shared-contract controls have
| Readiness Board | Kernel dashboard tracks reconciliation and governance DK2 readiness | Gap | 0/3 | `docs/status/kernel-readiness-dashboard.md` | terms: `Reconciliation + governance`, `Governance/Fund Ops owner`, `Operator Sign-off` |
| Shared Contracts | Contract compatibility matrix requires review packets and owner decisions | Gap | 0/3 | `docs/status/contract-compatibility-matrix.md` | terms: `Contract review packet`, `Owner decision`, `migration notes` |
| Governance Operations | Feature inventory describes reconciliation calibration and sign-off posture | Gap | 0/2 | `docs/status/FEATURE_INVENTORY.md` | terms: `calibration-summary`, `tolerance-profile posture`, `required sign-off role` |
| Governance Operations | Workstation endpoints expose governance break queue and calibration routes | Pass | 3/3 | `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | - |
| Governance Operations | Workstation endpoints expose governance break queue and calibration routes | Gap | 0/3 | `src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs` | terms: `calibration-summary` |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Restore the calibration endpoint readiness pass

This generated readiness row is now a false gap: the endpoint is still registered in src/Meridian.Ui.Shared/Endpoints/WorkstationEndpoints.cs:1790 via UiApiRoutes.ReconciliationCalibrationSummary, and endpoint coverage remains in tests/Meridian.Tests/Ui/WorkstationEndpointsTests.cs. Leaving the dashboard at 0/3 makes governance readiness look regressed even though the route is present; update the generated .md/.json evidence to recognize the constant-backed route instead of requiring the literal calibration-summary text.

Useful? React with 👍 / 👎.

| Validation | Endpoint tests cover governance break queue and calibration readiness | Pass | 2/2 | `tests/Meridian.Tests/Ui/WorkstationEndpointsTests.cs` | - |
| Status | Provider and contract status dashboards remain present for governance reviews | Pass | 2/2 | `docs/status/provider-validation-matrix.md`, `docs/status/contract-compatibility-matrix.md`, `docs/status/kernel-readiness-dashboard.md` | - |

Expand All @@ -33,6 +33,7 @@ Tracks whether DK2 governance, reconciliation, and shared-contract controls have
- **Kernel dashboard tracks reconciliation and governance DK2 readiness**: Refresh the kernel dashboard governance row before claiming DK2 readiness.
- **Contract compatibility matrix requires review packets and owner decisions**: Record contract-review packet evidence and owner decisions in the matrix.
- **Feature inventory describes reconciliation calibration and sign-off posture**: Update the feature inventory with the current reconciliation governance scope.
- **Workstation endpoints expose governance break queue and calibration routes**: Keep governance readiness tied to workstation endpoints and documented route evidence.

---

Expand Down
Loading