# Documentation Link Not-Covered Analysis **Generated:** 2026-06-13 ## Summary - Total references checked: 148 - Broken markdown links: 2 - Missing file targets: 9 (2 LICENSE + 5 hypothetical + 2 code path mismatches) - Orphaned docs: 18 - Suspicious external URLs: 3 ## Broken Markdown Links | File | Line | Link Text | Target | Issue | |------|------|-----------|--------|-------| | README.md | 428 | `LICENSE-APACHE` | `LICENSE-APACHE` | File does not exist at repo root | | README.md | 431 | `LICENSE-MIT` | `LICENSE-MIT` | File does not exist at repo root | **Impact:** Users clicking the license links in the README will get a 404 on GitHub. These are referenced in the License section as the dual-license model files (DEC-020). ## Missing File Targets ### Missing LICENSE Files (High Impact) | File | Line | Referenced Path | Issue | |------|------|----------------|-------| | README.md | 428 | `LICENSE-APACHE` | File does not exist at repo root | | README.md | 431 | `LICENSE-MIT` | File does not exist at repo root | | docs/security/license-inventory.md | 9 | `../../LICENSE-APACHE` | Resolves to missing `LICENSE-APACHE` at repo root | | docs/security/license-inventory.md | 10 | `../../LICENSE-MIT` | Resolves to missing `LICENSE-MIT` at repo root | | docs/security/flutter-license-inventory.md | 11 | `../../LICENSE-APACHE` | Resolves to missing `LICENSE-APACHE` at repo root | | docs/security/flutter-license-inventory.md | 11 | `../../LICENSE-MIT` | Resolves to missing `LICENSE-MIT` at repo root | **Impact:** The dual-license model (DEC-020) requires these files to exist for proper attribution. All 4 references across 3 files are broken. ### Hypothetical File Names (Low Impact) | File | Line | Referenced Path | Issue | |------|------|----------------|-------| | docs/sysrs.md | 126 | `docs/chanora_SysDes.md` | Listed as "Potential downstream file name" — does not exist | | docs/sysrs.md | 127 | `docs/chanora_SRS.md` | Listed as "Potential downstream file name" — does not exist | | docs/sysrs.md | 128 | `docs/chanora_SAD.md` | Listed as "Potential downstream file name" — does not exist | | docs/sysrs.md | 129 | `docs/chanora_SDD.md` | Listed as "Potential downstream file name" — does not exist | | docs/sysrs.md | 130 | `docs/chanora_Verification.md` | Listed as "Potential downstream file name" — does not exist | **Note:** These are documented as "Potential downstream file names" in a table and are aspirational/historical. They are presented as plain text in a table, not as navigable links. Low severity. ## Missing Code References | File | Line | Reference | Expected Location | Issue | |------|------|-----------|-------------------|-------| | docs/architecture/sdd.md | 19 | `snapshot_state_mapper.dart` | Listed under "Snapshot and channel UI" widgets section | File actually exists in `apps/chanora_flutter/lib/services/`, not `apps/chanora_flutter/lib/widgets/` — directory mismatch in docs | | docs/architecture/sdd.md | 21 | `voice_settings*.dart` | Listed under Voice UI widgets | Files are `voice_settings.dart` and `voice_settings_controls.dart` — glob reference is ambiguous (two files match) | **Note:** The `snapshot_state_mapper.dart` directory mismatch is a minor documentation inaccuracy — the file exists but is categorized differently than documented. ## Broken Anchor Links No broken anchor links found. All `#section` references within documents resolve to existing headers. ## Orphaned Documents (Not referenced by any other document in the main doc tree) | File | Last Modified | Should Be Referenced From | |------|---------------|--------------------------| | docs/offline-knowledge/README.md | 2026-06-13 | Could be referenced from a top-level docs index | | docs/offline-knowledge/function-inventory.md | 2026-06-13 | Could be referenced from docs/architecture/sdd.md | | docs/offline-knowledge/coverage-analysis.md | 2026-06-13 | Could be referenced from docs/verification/ plans | | docs/offline-knowledge/doc-quality-analysis.md | 2026-06-13 | Could be referenced from docs/governance/document-review-report.md | | docs/offline-knowledge/link-coverage-report.md | 2026-06-13 | Could be referenced from docs/governance/ | | docs/offline-knowledge/external/teaspeak-overview.md | 2026-06-13 | Could be referenced from docs/references/external-references.md | | docs/offline-knowledge/external/respeak-overview.md | 2026-06-13 | Could be referenced from docs/references/external-references.md | | docs/offline-knowledge/external/yatqa-en.md | 2026-06-13 | Could be referenced from docs/references/external-references.md | | docs/offline-knowledge/external/yatqa-de.md | 2026-06-13 | Could be referenced from docs/references/external-references.md | | docs/offline-knowledge/reviews/coverage-analysis-review.md | 2026-06-13 | Could be referenced from docs/offline-knowledge/README.md (already is) | | docs/offline-knowledge/reviews/doc-quality-review.md | 2026-06-13 | Could be referenced from docs/offline-knowledge/README.md (already is) | | docs/offline-knowledge/reviews/link-coverage-review.md | 2026-06-13 | Could be referenced from docs/offline-knowledge/README.md (already is) | | docs/offline-knowledge/reviews/external-docs-review.md | 2026-06-13 | Could be referenced from docs/offline-knowledge/README.md (already is) | | docs/superpowers/specs/*.md (6 files) | 2026-05-28 to 2026-06-09 | Internal planning docs; not expected in DV tree | | docs/superpowers/plans/*.md (8 files) | 2026-05-28 to 2026-06-08 | Internal planning docs; not expected in DV tree | **Note:** The offline-knowledge files are self-referencing within their own README but are not linked from the main documentation tree. The superpowers files are internal planning documents and are intentionally separate from the DV document set. ## Suspicious External URLs | File | Line | URL | Issue | |------|------|-----|-------| | docs/architecture/file-transfer-research.md | 406 | `https://git.did.science/TeaSpeak/Server/Server` | Self-hosted GitLab instance; may become unavailable. Specific branch `new-groups` commit `b54c6d4e` referenced. | | docs/security/license-inventory.md | 96 | `http://github.com/ejmahler/strength_reduce` | Uses HTTP instead of HTTPS for GitHub URL | | docs/security/flutter-license-inventory.md | various | `http://www.apache.org/licenses/` and `http://mozilla.org/MPL/2.0/` | HTTP URLs in license text bodies (not navigational links) | **Note:** The file-transfer research links point to specific GitHub commit SHAs which may become stale over time if force-pushes occur. The HTTP-vs-HTTPS issue on the strength_reduce URL is cosmetic but should be corrected. ## Cross-Reference Chain Issues | Chain | Issue | |-------|-------| | None found | All doc-to-doc cross-references in prose text resolve correctly | All cross-reference chains verified: - `docs/architecture/sad.md` → `docs/srs.md` ✓ - `docs/architecture/sad.md` → `docs/sysdes.md` ✓ - `docs/architecture/sdd.md` → `docs/architecture/sad.md` ✓ - `docs/architecture/sdd.md` → `docs/srs.md` ✓ - `docs/architecture/sysdes.md` → `docs/sysdes.md` ✓ - `docs/architecture/file-transfer-design.md` → `docs/architecture/sad.md` ✓ - `docs/architecture/file-transfer-research.md` → `docs/architecture/file-transfer-design.md` ✓ - `docs/architecture/file-transfer-implementation-plan.md` → both upstream docs ✓ - `docs/architecture/desktop-ptt-architecture.md` → sad, sdd, dv-waiver-register ✓ - `docs/requirements/sysrs.md` → `../sysrs.md` ✓ - `docs/requirements/srs.md` → `../srs.md` ✓ - `docs/ui-ux/material3-guideline.md` → `docs/material3-guideline.md` ✓ ## Missing Image/Asset References No image references (`![alt](path)`) found in any documentation files. All docs are text-only. ## Include/Import References No include directives or template references found in documentation files. --- ## Per-File Link Inventory ### README.md | Line | Link | Status | |------|------|--------| | 130 | `docs/architecture/desktop-ptt-architecture.md` | ✓ Valid (markdown link) | | 144 | `docs/governance/product-decision-register.md` | ✓ Valid (inline ref) | | 261 | `docs/requirements/sysrs.md` | ✓ Valid (inline ref) | | 262 | `docs/requirements/srs.md` | ✓ Valid (inline ref) | | 263 | `docs/architecture/sysdes.md` | ✓ Valid (inline ref) | | 264 | `docs/architecture/sad.md` | ✓ Valid (inline ref) | | 265 | `docs/architecture/sdd.md` | ✓ Valid (inline ref) | | 266 | `docs/verification/verification-master-plan.md` | ✓ Valid (inline ref) | | 267 | `docs/release/release-readiness-go-nogo-record.md` | ✓ Valid (inline ref) | | 268 | `docs/release/platform-release-policy.md` | ✓ Valid (inline ref) | | 269 | `docs/governance/product-decision-register.md` | ✓ Valid (inline ref) | | 270 | `docs/governance/traceability-matrix.md` | ✓ Valid (inline ref) | | 271 | `docs/security/security-privacy-legal-guideline.md` | ✓ Valid (inline ref) | | 312 | `docs/release/release-readiness-go-nogo-record.md` | ✓ Valid (inline ref) | | 349-355 | 6 security/privacy/legal doc paths | ✓ Valid (inline refs) | | 391 | `docs/governance/git-commit-message-convention.md` | ✓ Valid (inline ref) | | 428 | `LICENSE-APACHE` | ✗ **BROKEN** — file does not exist | | 431 | `LICENSE-MIT` | ✗ **BROKEN** — file does not exist | | 436 | `docs/governance/product-decision-register.md` | ✓ Valid (markdown link) | | 444 | `NOTICE` | ✓ Valid (markdown link) | | 449-451 | 3 doc paths | ✓ Valid (inline refs) | ### CONTRIBUTING.md | Line | Link | Status | |------|------|--------| | 25 | `docs/governance/git-commit-message-convention.md` | ✓ Valid (inline ref) | ### SECURITY.md | Line | Link | Status | |------|------|--------| | 33-38 | 6 security/privacy/legal doc paths | ✓ Valid (inline refs) | ### docs/architecture/sad.md | Line | Link | Status | |------|------|--------| | 6 | `docs/srs.md` | ✓ Valid (inline ref) | | 7 | `docs/sysdes.md` | ✓ Valid (inline ref) | | 41-52 | 12 component source paths | ✓ Valid (code refs) | | 176 | `docs/governance/traceability-matrix.md` | ✓ Valid (inline ref) | ### docs/architecture/sdd.md | Line | Link | Status | |------|------|--------| | 6 | `docs/architecture/sad.md` | ✓ Valid (inline ref) | | 7 | `docs/srs.md` | ✓ Valid (inline ref) | | 17-31 | Module source paths | ✓ Valid (code refs), except `snapshot_state_mapper.dart` listed under wrong section | | 35 | `crates/chanora_bridge/src/api.rs` | ✓ Valid (code ref) | ### docs/architecture/sysdes.md | Line | Link | Status | |------|------|--------| | 6 | `docs/sysdes.md` | ✓ Valid (canonical pointer) | ### docs/architecture/desktop-ptt-architecture.md | Line | Link | Status | |------|------|--------| | 5 | `docs/architecture/sad.md`, `docs/architecture/sdd.md`, `docs/release/dv-waiver-register.md` | ✓ Valid (inline refs) | ### docs/architecture/file-transfer-design.md | Line | Link | Status | |------|------|--------| | 6 | `docs/architecture/sad.md` | ✓ Valid (inline ref) | | 118-137 | `tsclientlib/src/lib.rs` code references | ✓ Valid (external code refs — not locally verifiable) | | 737 | `crates/chanora_protocol/src/adapter.rs` | ✓ Valid (code ref) | ### docs/architecture/file-transfer-research.md | Line | Link | Status | |------|------|--------| | 5 | `docs/architecture/file-transfer-design.md` | ✓ Valid (inline ref) | | 29-31 | GitHub commit URLs | ⚠ External — may become stale | | 406 | `https://git.did.science/TeaSpeak/Server/Server` | ⚠ Self-hosted GitLab — may become unavailable | ### docs/architecture/file-transfer-implementation-plan.md | Line | Link | Status | |------|------|--------| | 6 | `docs/architecture/file-transfer-design.md`, `docs/architecture/file-transfer-research.md` | ✓ Valid (inline refs) | ### docs/governance/document-index.md | Line | Link | Status | |------|------|--------| | 14-32 | All 18 listed document paths | ✓ Valid (inline refs) | ### docs/governance/traceability-matrix.md | Line | Link | Status | |------|------|--------| | 5 | 5 primary upstream doc paths | ✓ Valid (inline refs) | | 25-31 | 7 source doc paths | ✓ Valid (inline refs) | ### docs/governance/path-migration-map.md | Line | Link | Status | |------|------|--------| | 10-14 | 5 README path mappings | ✓ Valid (inline refs) | ### docs/verification/verification-master-plan.md | Line | Link | Status | |------|------|--------| | 6 | 6 primary upstream doc paths | ✓ Valid (inline refs) | | 18-21 | 4 verification plan paths | ✓ Valid (inline refs) | | 47 | `tools/windows-smoke.md` | ✓ Valid (code ref) | | 48 | `docs/release/ios-build.md` | ✓ Valid (inline ref) | ### docs/security/license-inventory.md | Line | Link | Status | |------|------|--------| | 9 | `../../LICENSE-APACHE` | ✗ **BROKEN** — file does not exist | | 10 | `../../LICENSE-MIT` | ✗ **BROKEN** — file does not exist | | 11 | `docs/governance/product-decision-register.md` | ✓ Valid (inline ref) | ### docs/security/flutter-license-inventory.md | Line | Link | Status | |------|------|--------| | 11 | `../../LICENSE-APACHE` | ✗ **BROKEN** — file does not exist | | 12 | `../../LICENSE-MIT` | ✗ **BROKEN** — file does not exist | ### docs/security/dependency-and-supply-chain-report.md | Line | Link | Status | |------|------|--------| | 29 | `https://github.com/EdisonJwa/oboe-rs` | ✓ Valid (external GitHub URL) | ### docs/privacy/privacy-policy.md | Line | Link | Status | |------|------|--------| | (none) | No links or references | N/A | ### docs/legal/trademark-and-attribution-review.md | Line | Link | Status | |------|------|--------| | (none) | No links or references | N/A | ### docs/release/release-readiness-go-nogo-record.md | Line | Link | Status | |------|------|--------| | 37 | `docs/implementation-status-2026-05-28.md` | ✓ Valid (inline ref) | | 26 | `apps/chanora_flutter/pubspec.yaml` | ✓ Valid (code ref) | ### docs/release/dv-waiver-register.md | Line | Link | Status | |------|------|--------| | 15-23 | Various `docs/` paths in Source evidence column | ✓ Valid (inline refs) | ### docs/requirements/sysrs.md | Line | Link | Status | |------|------|--------| | 4 | `../sysrs.md` | ✓ Valid (canonical pointer) | ### docs/requirements/srs.md | Line | Link | Status | |------|------|--------| | 4 | `../srs.md` | ✓ Valid (canonical pointer) | ### docs/ui-ux/material3-guideline.md | Line | Link | Status | |------|------|--------| | 6 | `docs/material3-guideline.md` | ✓ Valid (canonical pointer) | ### docs/material3-guideline.md | Line | Link | Status | |------|------|--------| | 10 | `docs/ui-ux/material3-guideline.md` | ✓ Valid (self-referencing path record) | ### docs/sysrs.md | Line | Link | Status | |------|------|--------| | 126 | `docs/chanora_SysDes.md` | ⚠ Hypothetical — does not exist (aspirational name) | | 127 | `docs/chanora_SRS.md` | ⚠ Hypothetical — does not exist (aspirational name) | | 128 | `docs/chanora_SAD.md` | ⚠ Hypothetical — does not exist (aspirational name) | | 129 | `docs/chanora_SDD.md` | ⚠ Hypothetical — does not exist (aspirational name) | | 130 | `docs/chanora_Verification.md` | ⚠ Hypothetical — does not exist (aspirational name) | ### apps/chanora_flutter/README.md | Line | Link | Status | |------|------|--------| | 11 | `https://docs.flutter.dev/get-started/learn-flutter` | ✓ Valid (external) | | 12 | `https://docs.flutter.dev/get-started/codelab` | ✓ Valid (external) | | 13 | `https://docs.flutter.dev/reference/learning-resources` | ✓ Valid (external) | | 16 | `https://docs.flutter.dev/` | ✓ Valid (external) | --- ## Action Items (Priority Order) ### P0 — Must Fix Before Any Release 1. **Create `LICENSE-APACHE` and `LICENSE-MIT` files** at repo root. These are required by DEC-020 (dual-license model) and referenced by README.md, docs/security/license-inventory.md, and docs/security/flutter-license-inventory.md. ### P1 — Should Fix for DV Quality 2. **Fix `snapshot_state_mapper.dart` categorization** in docs/architecture/sdd.md:19 — move from "Snapshot and channel UI" widgets section to service layer section, or add a note clarifying the actual location. ### P2 — Nice to Have 3. **Add offline-knowledge docs to document index** or references section so they are discoverable. 4. **Fix HTTP URL** in docs/security/license-inventory.md:96 (`http://github.com/ejmahler/strength_reduce` → `https://...`). 5. **Clean up hypothetical file names** in docs/sysrs.md:124-131 — either remove the table or clearly mark as historical/aspirational.