Functional Requirement Traceability Report
Auto-generated by
hwledger-traceability. To refresh, run:bashcargo run -p hwledger-traceability -- --markdown-out docs-site/quality/traceability.md
Summary
- Total FRs/NFRs: 43
- Fully Traced (test + impl + docs): 0 (0.0%)
- Traced (test + partial): 43 (100.0%)
- Doc-Only (docs but no test): 0 (0.0%)
- Zero Coverage: 0 (0.0%)
- Total Tests: 3270
Cross-Dimensional Traceability Matrix
| FR | Tests | Source | ADRs | Docs | Journeys | Level |
|---|---|---|---|---|---|---|
| FR-PLAN-001 | 318 | 0 | 0 | 12 | 0 | PART |
| FR-PLAN-002 | 186 | 0 | 6 | 12 | 0 | PART |
| FR-PLAN-003 | 318 | 0 | 6 | 12 | 0 | PART |
| FR-PLAN-004 | 42 | 0 | 0 | 12 | 0 | PART |
| FR-PLAN-005 | 60 | 0 | 0 | 12 | 0 | PART |
| FR-PLAN-006 | 12 | 0 | 0 | 12 | 0 | PART |
| FR-PLAN-007 | 48 | 0 | 0 | 12 | 0 | PART |
| FR-TEL-001 | 54 | 0 | 6 | 6 | 0 | PART |
| FR-TEL-002 | 162 | 0 | 0 | 6 | 0 | PART |
| FR-TEL-003 | 6 | 0 | 0 | 6 | 0 | PART |
| FR-TEL-004 | 18 | 0 | 0 | 6 | 0 | PART |
| FR-INF-001 | 18 | 0 | 6 | 6 | 0 | PART |
| FR-INF-002 | 36 | 0 | 6 | 6 | 0 | PART |
| FR-INF-003 | 432 | 0 | 6 | 6 | 0 | PART |
| FR-INF-004 | 90 | 0 | 6 | 6 | 0 | PART |
| FR-INF-005 | 6 | 0 | 0 | 6 | 0 | PART |
| FR-FLEET-001 | 174 | 0 | 6 | 6 | 0 | PART |
| FR-FLEET-002 | 42 | 0 | 6 | 6 | 0 | PART |
| FR-FLEET-003 | 60 | 0 | 6 | 6 | 0 | PART |
| FR-FLEET-004 | 18 | 0 | 6 | 6 | 0 | PART |
| FR-FLEET-005 | 72 | 0 | 6 | 6 | 0 | PART |
| FR-FLEET-006 | 72 | 0 | 6 | 6 | 0 | PART |
| FR-FLEET-007 | 66 | 0 | 0 | 6 | 0 | PART |
| FR-FLEET-008 | 36 | 0 | 0 | 6 | 0 | PART |
| FR-UI-001 | 42 | 0 | 6 | 6 | 0 | PART |
| FR-UI-002 | 84 | 0 | 6 | 6 | 0 | PART |
| FR-UI-003 | 18 | 0 | 6 | 6 | 0 | PART |
| FR-UI-004 | 6 | 0 | 0 | 6 | 0 | PART |
| FR-UX-VERIFY-001 | 96 | 0 | 0 | 6 | 0 | PART |
| FR-UX-VERIFY-002 | 36 | 0 | 0 | 6 | 0 | PART |
| FR-UX-VERIFY-003 | 36 | 0 | 0 | 6 | 0 | PART |
| FR-TRACE-001 | 2 | 0 | 0 | 1 | 0 | PART |
| FR-TRACE-002 | 1 | 0 | 0 | 1 | 0 | PART |
| FR-TRACE-003 | 4 | 0 | 0 | 1 | 0 | PART |
| FR-TRACE-004 | 1 | 0 | 0 | 1 | 0 | PART |
| NFR-001 | 6 | 0 | 0 | 6 | 0 | PART |
| NFR-002 | 6 | 0 | 0 | 6 | 0 | PART |
| NFR-003 | 6 | 0 | 0 | 6 | 0 | PART |
| NFR-004 | 18 | 0 | 0 | 6 | 0 | PART |
| NFR-005 | 6 | 0 | 0 | 6 | 0 | PART |
| NFR-006 | 156 | 0 | 0 | 6 | 0 | PART |
| NFR-007 | 6 | 0 | 0 | 6 | 0 | PART |
| NFR-VERIFY-001 | 18 | 0 | 0 | 6 | 0 | PART |
Best Covered (Top 5)
- FR-INF-003 (tests: 432, impl: 0, docs: 6): Reuse oMlx's SSD-paged KV cache for agent-loop TTFT wins.
- FR-PLAN-001 (tests: 318, impl: 0, docs: 12): Ingest model metadata from HF Hub, local GGUF, local safetensors, local MLX (.npz + config), Ollama, LM Studio catalog.
- FR-PLAN-003 (tests: 318, impl: 0, docs: 12): Compute
VRAM ≈ W + O + KV(seq, users) + Prefill(batch, seq)per §5 of PLAN.md. Formulas per architecture. - FR-PLAN-002 (tests: 186, impl: 0, docs: 12): Classify architecture into an
AttentionKindvariant:Mha,Gqa,Mqa,Mla,SlidingWindow,Ssm,Hybrid(Vec<Kind>),AttentionSink. - FR-FLEET-001 (tests: 174, impl: 0, docs: 6): Central
hwledger-serverdaemon with mTLS, SQLite-backed ledger, axum routes.
Worst Covered (Bottom 5)
- FR-TRACE-002 [PART] (tests: 1, impl: 0, docs: 1): Journey manifest scanner must walk
docs-site/public/{cli,gui,streamlit}-journeys/**/manifest.verified.json, skipping missing directories with a warning rather than panicking. - FR-TRACE-004 [PART] (tests: 1, impl: 0, docs: 1): Traceability markdown report must emit a
## Journey coveragesection with a tableFR | kind | journey id | score | passed. - FR-TRACE-001 [PART] (tests: 2, impl: 0, docs: 1): PRD parser must accept inline
[journey_kind: cli|gui|web]tags (comma-separated) on FR header lines and expose the parsed kinds on the FR record. - FR-TRACE-003 [PART] (tests: 4, impl: 0, docs: 1): Traceability gate must FAIL (non-zero exit) when an FR tagged with a
journey_kindhas no verified journey whosetraces_tocites it, or when a journey cites a non-existent FR (orphan), or when a journey'sverification.passed == false/overall_score < 0.7. - FR-TEL-003 [PART] (tests: 6, impl: 0, docs: 6): Predicted-vs-actual reconciliation panel on the Planner screen.
Coverage by Section
2.5 Desktop GUI (macOS MVP) (0/4)
- [PART] FR-UI-001 (T:42, I:0, D:6)
- [PART] FR-UI-002 (T:84, I:0, D:6)
- [PART] FR-UI-003 (T:18, I:0, D:6)
- [PART] FR-UI-004 (T:6, I:0, D:6)
2.1 Capacity planner (0/7)
- [PART] FR-PLAN-001 (T:318, I:0, D:12)
- [PART] FR-PLAN-002 (T:186, I:0, D:12)
- [PART] FR-PLAN-003 (T:318, I:0, D:12)
- [PART] FR-PLAN-004 (T:42, I:0, D:12)
- [PART] FR-PLAN-005 (T:60, I:0, D:12)
- [PART] FR-PLAN-006 (T:12, I:0, D:12)
- [PART] FR-PLAN-007 (T:48, I:0, D:12)
2.4 Fleet ledger (0/8)
- [PART] FR-FLEET-001 (T:174, I:0, D:6)
- [PART] FR-FLEET-002 (T:42, I:0, D:6)
- [PART] FR-FLEET-003 (T:60, I:0, D:6)
- [PART] FR-FLEET-004 (T:18, I:0, D:6)
- [PART] FR-FLEET-005 (T:72, I:0, D:6)
- [PART] FR-FLEET-006 (T:72, I:0, D:6)
- [PART] FR-FLEET-007 (T:66, I:0, D:6)
- [PART] FR-FLEET-008 (T:36, I:0, D:6)
2.3 Inference runtime (MVP: macOS only) (0/5)
- [PART] FR-INF-001 (T:18, I:0, D:6)
- [PART] FR-INF-002 (T:36, I:0, D:6)
- [PART] FR-INF-003 (T:432, I:0, D:6)
- [PART] FR-INF-004 (T:90, I:0, D:6)
- [PART] FR-INF-005 (T:6, I:0, D:6)
2.6 User-journey verification (WP27: Blackbox screenshot verification) (0/3)
- [PART] FR-UX-VERIFY-001 (T:96, I:0, D:6)
- [PART] FR-UX-VERIFY-002 (T:36, I:0, D:6)
- [PART] FR-UX-VERIFY-003 (T:36, I:0, D:6)
2.2 Live telemetry (0/4)
- [PART] FR-TEL-001 (T:54, I:0, D:6)
- [PART] FR-TEL-002 (T:162, I:0, D:6)
- [PART] FR-TEL-003 (T:6, I:0, D:6)
- [PART] FR-TEL-004 (T:18, I:0, D:6)
2.7 Traceability extensions (journey coverage) (0/4)
- [PART] FR-TRACE-001 (T:2, I:0, D:1)
- [PART] FR-TRACE-002 (T:1, I:0, D:1)
- [PART] FR-TRACE-003 (T:4, I:0, D:1)
- [PART] FR-TRACE-004 (T:1, I:0, D:1)
3. Non-functional requirements (0/8)
- [PART] NFR-001 (T:6, I:0, D:6)
- [PART] NFR-002 (T:6, I:0, D:6)
- [PART] NFR-003 (T:6, I:0, D:6)
- [PART] NFR-004 (T:18, I:0, D:6)
- [PART] NFR-005 (T:6, I:0, D:6)
- [PART] NFR-006 (T:156, I:0, D:6)
- [PART] NFR-007 (T:6, I:0, D:6)
- [PART] NFR-VERIFY-001 (T:18, I:0, D:6)
Journey coverage
| FR | kind | journey id | score | passed | status |
|---|---|---|---|---|---|
| FR-PLAN-001 | cli | cli-ingest-error | 0.92 | yes | OK |
| FR-PLAN-003 | cli | cli-plan-help | 0.92 | yes | OK |
| FR-TEL-001 | cli | cli-probe-list | 0.92 | yes | OK |
| FR-TEL-002 | cli | cli-probe-list | 0.92 | yes | OK |
| FR-UI-001 | gui | planner-gui-launch | 0.90 | yes | OK |