# Link Coverage Report **Generated:** 2026-06-13 **Scope:** All `.md` files in repository root and `docs/` tree ## Summary - Total links checked: 148 - Valid internal links: 12 (4 markdown links + 8 inline doc-path references) - Broken internal links: 2 - Valid inline doc-path references: 94 - Broken inline doc-path references: 5 - Valid code references: 62 - Broken code references: 2 - External links (manual review): 48 - Cross-references (doc→doc in prose): 0 broken --- ## Broken Internal Links Markdown `[text](path)` style links that resolve to missing files. | 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. **Also affected by missing LICENSE files:** | File | Line | Reference | Issue | |------|------|-----------|-------| | 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 | --- ## Valid Internal Links | File | Line | Target | |------|------|--------| | README.md | 130 | `docs/architecture/desktop-ptt-architecture.md` | | README.md | 436 | `docs/governance/product-decision-register.md` | | README.md | 444 | `NOTICE` | | docs/superpowers/specs/2026-06-05-adaptive-3-panel-layout-design.md | 266 | `../ui-ux/adaptive-layout-platform-guide.md` | --- ## Inline Doc-Path References References to documentation files using backtick-quoted paths (not markdown links). ### Valid | File | Line | Reference | |------|------|-----------| | CONTRIBUTING.md | 25 | `docs/governance/git-commit-message-convention.md` | | README.md | 144 | `docs/governance/product-decision-register.md` | | README.md | 261–271 | `docs/requirements/sysrs.md`, `docs/requirements/srs.md`, `docs/architecture/sysdes.md`, `docs/architecture/sad.md`, `docs/architecture/sdd.md`, `docs/verification/verification-master-plan.md`, `docs/release/release-readiness-go-nogo-record.md`, `docs/release/platform-release-policy.md`, `docs/governance/product-decision-register.md`, `docs/governance/traceability-matrix.md`, `docs/security/security-privacy-legal-guideline.md` | | README.md | 312 | `docs/release/release-readiness-go-nogo-record.md` | | README.md | 349–355 | `docs/security/threat-model.md`, `docs/security/secure-storage-audit-report.md`, `docs/security/diagnostic-redaction-audit-report.md`, `docs/security/dependency-and-supply-chain-report.md`, `docs/privacy/privacy-policy.md`, `docs/legal/trademark-and-attribution-review.md` | | README.md | 391 | `docs/governance/git-commit-message-convention.md` | | README.md | 449–451 | `docs/governance/product-decision-register.md`, `docs/security/dependency-and-supply-chain-report.md`, `docs/legal/trademark-and-attribution-review.md` | | docs/architecture/sad.md | 6 | `docs/srs.md` | | docs/architecture/sad.md | 7 | `docs/sysdes.md` | | docs/architecture/sad.md | 176 | `docs/governance/traceability-matrix.md` | | docs/architecture/sdd.md | 6 | `docs/architecture/sad.md` | | docs/architecture/sdd.md | 7 | `docs/srs.md` | | docs/architecture/sysdes.md | 6 | `docs/sysdes.md` (canonical pointer) | | docs/architecture/desktop-ptt-architecture.md | 5 | `docs/architecture/sad.md`, `docs/architecture/sdd.md`, `docs/release/dv-waiver-register.md` | | docs/architecture/file-transfer-design.md | 6 | `docs/architecture/sad.md` | | docs/architecture/file-transfer-research.md | 5 | `docs/architecture/file-transfer-design.md` | | docs/architecture/file-transfer-implementation-plan.md | 6 | `docs/architecture/file-transfer-design.md`, `docs/architecture/file-transfer-research.md` | | docs/requirements/sysrs.md | 4 | `../sysrs.md` (canonical pointer) | | docs/requirements/srs.md | 4 | `../srs.md` (canonical pointer) | | docs/governance/document-index.md | 14–32 | All listed document paths | | docs/material3-guideline.md | 10 | `docs/ui-ux/material3-guideline.md` (self-referencing path record) | | docs/ui-ux/material3-guideline.md | 6 | `docs/material3-guideline.md` (canonical pointer) | | docs/superpowers/specs/2026-06-08-maintainability-continuation-design.md | 125–141 | Multiple `docs/` paths | | docs/superpowers/specs/2026-05-29-state-sync-ui-settings-validation-design.md | 51–55 | Multiple `docs/` paths | | docs/superpowers/plans/2026-05-29-finish-dv-document-tree.md | 16–54 | Multiple `docs/` paths | | docs/superpowers/plans/2026-05-29-swe2-swe3-baselines.md | 16–35 | Multiple `docs/` paths | | docs/superpowers/plans/2026-05-29-state-sync-ui-settings-validation.md | 84–88 | Multiple `docs/` paths | | docs/superpowers/plans/2026-05-29-dv-evidence-pack.md | 16–54 | Multiple `docs/` paths | | docs/superpowers/plans/2026-05-28-server-resolution-prefetch.md | 31–836 | Multiple source file paths | | docs/superpowers/plans/2026-05-28-chanora-server-prefetch-crate.md | 15–541 | Multiple source file paths | | docs/superpowers/plans/2026-06-06-chat-panel-switching.md | 58–507 | Multiple source file paths | | docs/superpowers/plans/2026-06-08-core-internal-split.md | 16–91 | Multiple source file paths | ### Broken | File | Line | Reference | Issue | |------|------|-----------|-------| | docs/sysrs.md | 126 | `docs/chanora_SysDes.md` | Does not exist (listed as "potential downstream file name") | | docs/sysrs.md | 127 | `docs/chanora_SRS.md` | Does not exist (listed as "potential downstream file name") | | docs/sysrs.md | 128 | `docs/chanora_SAD.md` | Does not exist (listed as "potential downstream file name") | | docs/sysrs.md | 129 | `docs/chanora_SDD.md` | Does not exist (listed as "potential downstream file name") | | docs/sysrs.md | 130 | `docs/chanora_Verification.md` | Does not exist (listed as "potential downstream file name") | **Note:** These five are documented as "Potential downstream file names" in a table and are aspirational/historical. They are presented as code blocks in the original, so they function as suggestions rather than navigable links. Low severity. --- ## Code References ### Valid | File | Line | Reference | Found At | |------|------|-----------|----------| | docs/architecture/sad.md | 41 | `apps/chanora_flutter/lib/main.dart` | EXISTS | | docs/architecture/sad.md | 42 | `apps/chanora_flutter/lib/services/` | EXISTS | | docs/architecture/sad.md | 43 | `apps/chanora_flutter/lib/widgets/` | EXISTS | | docs/architecture/sad.md | 44 | `crates/chanora_bridge`, `apps/chanora_flutter/lib/src/rust/` | EXISTS | | docs/architecture/sad.md | 45 | `core/chanora_core` | EXISTS | | docs/architecture/sad.md | 46 | `crates/chanora_protocol` | EXISTS | | docs/architecture/sad.md | 47 | `crates/chanora_state` | EXISTS | | docs/architecture/sad.md | 48 | `crates/chanora_audio` | EXISTS | | docs/architecture/sad.md | 49 | `crates/chanora_storage` | EXISTS | | docs/architecture/sad.md | 50 | `crates/chanora_diagnostics` | EXISTS | | docs/architecture/sad.md | 51 | `crates/chanora_resolver` | EXISTS | | docs/architecture/sad.md | 52 | `crates/chanora_prefetch`, Flutter `prefetch_debouncer.dart` | EXISTS | | docs/architecture/sdd.md | 17 | `apps/chanora_flutter/lib/services/app_bootstrap.dart`, `main.dart` | EXISTS | | docs/architecture/sdd.md | 18 | `apps/chanora_flutter/lib/widgets/connect_widgets.dart` | EXISTS | | docs/architecture/sdd.md | 19 | `snapshot_view.dart`, `snapshot_state_mapper.dart`, `channel_spacer.dart` | EXISTS (in services/) | | docs/architecture/sdd.md | 20 | `chat_views.dart`, `bbcode_text.dart` | EXISTS | | docs/architecture/sdd.md | 21 | `voice_bar.dart`, `voice_compact.dart`, `voice_settings*.dart`, `voice_level_meter.dart`, `ptt_capability_badge.dart` | EXISTS | | docs/architecture/sdd.md | 22 | `android_permissions_service.dart`, `ios_permissions_service.dart`, `audio_lifecycle_service.dart`, `back_intent_*`, `link_trust_service.dart` | EXISTS | | docs/architecture/sdd.md | 23 | `crates/chanora_bridge/src/api.rs` | EXISTS | | docs/architecture/sdd.md | 24 | `core/chanora_core/src/lib.rs`, `events.rs`, `network_diagnostics.rs`, `ptt.rs` | EXISTS | | docs/architecture/sdd.md | 25 | `crates/chanora_protocol/src/` | EXISTS | | docs/architecture/sdd.md | 26 | `crates/chanora_state/src/lib.rs`, `channel_join.rs` | EXISTS | | docs/architecture/sdd.md | 27 | `crates/chanora_audio/src/` | EXISTS | | docs/architecture/sdd.md | 28 | `crates/chanora_storage/src/lib.rs` | EXISTS | | docs/architecture/sdd.md | 29 | `crates/chanora_diagnostics/src/lib.rs` | EXISTS | | docs/architecture/sdd.md | 30 | `crates/chanora_resolver/src/lib.rs`, `crates/chanora_prefetch/src/lib.rs`, `prefetch_debouncer.dart` | EXISTS | | docs/architecture/sdd.md | 31 | `.github/workflows/`, `tools/` | EXISTS | | docs/architecture/sdd.md | 35 | `crates/chanora_bridge/src/api.rs`, `apps/chanora_flutter/lib/src/rust/` | EXISTS | | docs/release/release-readiness-go-nogo-record.md | 26 | `apps/chanora_flutter/pubspec.yaml` | EXISTS | | docs/implementation-status-2026-05-28.md | 69 | `apps/chanora_flutter/ios/Runner/AppDelegate.swift` | EXISTS | | docs/sysrs.md | 503 | `apps/chanora_flutter/ios/Runner/AppDelegate.swift` | EXISTS | | docs/sysrs.md | 1962 | `apps/chanora_flutter/macos/chanora_bridge.podspec` | EXISTS | | README.md | 236–249 | `apps/chanora_flutter/`, `core/chanora_core/`, `crates/chanora_protocol/`, `crates/chanora_audio/`, `crates/chanora_state/`, `crates/chanora_storage/`, `crates/chanora_diagnostics/`, `crates/chanora_bridge/` | EXISTS | ### Broken | File | Line | Reference | Issue | |------|------|-----------|-------| | docs/architecture/sdd.md | 19 | `snapshot_state_mapper.dart` (listed under "Snapshot and channel UI" widgets) | File is in `apps/chanora_flutter/lib/services/`, not `apps/chanora_flutter/lib/widgets/` — directory mismatch | | docs/architecture/sdd.md | 21 | `voice_settings*.dart` (listed under Voice UI widgets) | Files are `voice_settings.dart` and `voice_settings_controls.dart` in `widgets/` — EXISTS but 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 listed under the wrong component section (widget layer vs service layer). --- ## External Links (Manual Review) These URLs should be checked manually for validity. | File | Line | URL | |------|------|-----| | README.md | 429 | `https://www.apache.org/licenses/LICENSE-2.0` | | README.md | 432 | `https://opensource.org/licenses/MIT` | | apps/chanora_flutter/README.md | 11 | `https://docs.flutter.dev/get-started/learn-flutter` | | apps/chanora_flutter/README.md | 12 | `https://docs.flutter.dev/get-started/codelab` | | apps/chanora_flutter/README.md | 13 | `https://docs.flutter.dev/reference/learning-resources` | | apps/chanora_flutter/README.md | 16 | `https://docs.flutter.dev/` | | silero-coreml/README.md | 343 | `https://apple.github.io/coremltools/docs-guides/source/introductory-quickstart.html` | | silero-coreml/README.md | 350 | `https://apple.github.io/coremltools/docs-guides/source/convert-pytorch.html` | | silero-coreml/Docs/CoreMLConversion.md | 244 | `https://apple.github.io/coremltools/docs-guides/source/convert-pytorch.html` | | silero-coreml/Docs/CoreMLConversion.md | 252 | `https://apple.github.io/coremltools/docs-guides/source/introductory-quickstart.html` | | docs/security/dependency-and-supply-chain-report.md | 29 | `https://github.com/EdisonJwa/oboe-rs` | | docs/superpowers/specs/2026-06-05-adaptive-3-panel-layout-design.md | 261 | `https://github.com/asportnoy/compact-discord` | | docs/superpowers/specs/2026-06-05-adaptive-3-panel-layout-design.md | 262 | `https://github.com/mattermost/mattermost/blob/...` | | docs/superpowers/specs/2026-06-05-adaptive-3-panel-layout-design.md | 263 | `https://github.com/RocketChat/fuselage/blob/...` | | docs/superpowers/specs/2026-06-05-adaptive-3-panel-layout-design.md | 264 | `https://github.com/flutter/flutter/issues/162965` | | docs/superpowers/specs/2026-06-05-adaptive-3-panel-layout-design.md | 265 | `https://m3.material.io/foundations/layout/breakpoints/overview` | | docs/architecture/file-transfer-research.md | 29 | `https://github.com/Splamy/TS3AudioBot/blob/...` | | docs/architecture/file-transfer-research.md | 30 | `https://github.com/Multivit4min/TS3-NodeJS-Library/blob/...` | | docs/architecture/file-transfer-research.md | 31 | `https://github.com/planetteamspeak/ts3phpframework/blob/...` | | docs/architecture/file-transfer-research.md | 49 | `https://github.com/Multivit4min/TS3-NodeJS-Library/blob/...` | | docs/architecture/file-transfer-research.md | 50 | `https://github.com/planetteamspeak/ts3phpframework/blob/...` | | docs/architecture/file-transfer-research.md | 123 | `https://github.com/ReSpeak/Qint/blob/...` | | docs/architecture/file-transfer-research.md | 124 | `https://github.com/ReSpeak/Qint/blob/...` | | docs/architecture/file-transfer-research.md | 125 | `https://github.com/ReSpeak/Qint/blob/...` | | docs/architecture/file-transfer-research.md | 140 | `https://github.com/teamspeak/ts3client-pluginsdk/blob/...` | | docs/architecture/file-transfer-research.md | 141 | `https://github.com/teamspeak/ts3client-pluginsdk/blob/...` | | docs/architecture/file-transfer-research.md | 142 | `https://community.teamspeak.com/t/clear-cache/41511` | | docs/architecture/file-transfer-research.md | 142 | `https://community.teamspeak.com/t/server-icons-are-displaying-a-broken-image-issues-with-local-cache/58680` | | docs/architecture/file-transfer-research.md | 208 | `https://github.com/Splamy/TS3AudioBot/blob/...` | | docs/architecture/file-transfer-research.md | 209 | `https://github.com/Splamy/TS3AudioBot/blob/...` | | docs/architecture/file-transfer-research.md | 220 | `https://github.com/Multivit4min/TS3-NodeJS-Library/blob/...` | | docs/architecture/file-transfer-research.md | 221 | `https://github.com/Multivit4min/TS3-NodeJS-Library/blob/...` | | docs/architecture/file-transfer-research.md | 320 | `https://github.com/rust-lang/rust/blob/...` | | docs/architecture/file-transfer-research.md | 321 | `https://source.android.com/docs/core/storage/scoped` | | docs/architecture/file-transfer-research.md | 322 | `https://developer.apple.com/library/archive/documentation/FileManagement/...` | | docs/architecture/file-transfer-research.md | 334 | `https://github.com/zkat/cacache-rs/blob/...` | | docs/architecture/file-transfer-research.md | 335 | `https://github.com/zkat/cacache-rs/blob/...` | | docs/architecture/file-transfer-research.md | 336 | `https://github.com/zkat/cacache-rs/blob/...` | | docs/architecture/file-transfer-research.md | 345 | `https://pub.dev/packages/flutter_cache_manager` | | docs/architecture/file-transfer-research.md | 346 | `https://pub.dev/packages/super_cache_disk/versions/1.0.0` | | docs/architecture/file-transfer-research.md | 406 | `https://git.did.science/TeaSpeak/Server/Server` | | docs/security/license-inventory.md | 31–80 | ~50 URLs to GitHub repos for dependency licenses | | docs/security/flutter-license-inventory.md | 624–4209 | Multiple `http://www.apache.org/licenses/` and `http://mozilla.org/MPL/2.0/` (in license text bodies) | --- ## Cross-References ### Valid All doc-to-doc cross-references found in prose text resolve to existing files. Key verified chains: | Source | Reference | Target Exists | |--------|-----------|---------------| | docs/architecture/sad.md:6 | `docs/srs.md` | YES | | docs/architecture/sad.md:7 | `docs/sysdes.md` | YES | | docs/architecture/sdd.md:6 | `docs/architecture/sad.md` | YES | | docs/architecture/sdd.md:7 | `docs/srs.md` | YES | | docs/architecture/sysdes.md:6 | `docs/sysdes.md` | YES | | docs/architecture/file-transfer-design.md:6 | `docs/architecture/sad.md` | YES | | docs/architecture/file-transfer-research.md:5 | `docs/architecture/file-transfer-design.md` | YES | | docs/architecture/file-transfer-implementation-plan.md:6 | `docs/architecture/file-transfer-design.md` | YES | | docs/architecture/file-transfer-implementation-plan.md:6 | `docs/architecture/file-transfer-research.md` | YES | | docs/architecture/desktop-ptt-architecture.md:5 | `docs/architecture/sad.md` | YES | | docs/architecture/desktop-ptt-architecture.md:5 | `docs/architecture/sdd.md` | YES | | docs/architecture/desktop-ptt-architecture.md:5 | `docs/release/dv-waiver-register.md` | YES | | docs/requirements/sysrs.md:4 | `../sysrs.md` | YES | | docs/requirements/srs.md:4 | `../srs.md` | YES | | docs/governance/document-index.md | All 18 listed paths | YES | | docs/ui-ux/material3-guideline.md:6 | `docs/material3-guideline.md` | YES | ### Broken None found — all doc-to-doc cross-references in prose text resolve correctly. --- ## Notes 1. **Path-record files**: Several docs exist as stubs pointing to canonical locations (`docs/requirements/sysrs.md` → `docs/sysrs.md`, `docs/requirements/srs.md` → `docs/srs.md`, `docs/architecture/sysdes.md` → `docs/sysdes.md`, `docs/ui-ux/material3-guideline.md` → `docs/material3-guideline.md`). These are intentional DV navigation aids, not broken links. 2. **Hypothetical file names in sysrs.md**: The table at lines 124–131 lists `docs/chanora_SysDes.md` etc. as "Potential downstream file names." These are aspirational names from an earlier draft, not current files. They are presented as plain text in a table, not as navigable links. 3. **LICENSE-APACHE and LICENSE-MIT**: These are the most impactful broken references. The README's License section links to them, and the security license inventory files reference them. The dual-license model (DEC-020) requires these files to exist for proper attribution. 4. **snapshot_state_mapper.dart location**: The SDD lists this under "Snapshot and channel UI" (widget layer), but the file is actually in `services/`. This is a minor organizational mismatch — the file exists but is categorized differently than documented. 5. **External links**: Concentrated in `docs/architecture/file-transfer-research.md` (protocol research sources) and `docs/security/license-inventory.md` (dependency homepages). The file-transfer research links point to specific GitHub commit SHAs which may become stale over time.