Files
chanora/dev-docs/offline-knowledge/docs-link-not-covered.md
T
Edison Jwa bba6273af7 refactor: restructure docs as submodule, add dev-docs/ and AGENTS.md
- Move ASPICE docs to chanoraapp/docs submodule at docs/
- Move development docs to dev-docs/ (superpowers, offline-knowledge, impl-mapping)
- Add AGENTS.md with project conventions for AI agents
- Add impl-mapping.md (SAD component → source file mapping)
- Archive completed plans to dev-docs/superpowers/plans/_archived/
- Remove AGENTS.md from .gitignore (now tracked)
2026-06-13 03:32:33 +09:00

348 lines
16 KiB
Markdown

# 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.