Files
chanora/dev-docs/offline-knowledge/reviews/link-reports-review.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

9.4 KiB

Review: Link Coverage Reports

Reviewer: opencode (automated) Date: 2026-06-13 Files reviewed:

  • docs/offline-knowledge/link-coverage-report.md
  • docs/offline-knowledge/docs-link-not-covered.md

# Claimed Link Actual Status
1 README.md:130 → docs/architecture/desktop-ptt-architecture.md File exists
2 README.md:436 → docs/governance/product-decision-register.md File exists
3 README.md:444 → NOTICE File exists
4 spec:266 → ../ui-ux/adaptive-layout-platform-guide.md File exists

Note: Only 4 valid internal links are listed in the table (lines 44-50), though the summary claims "4 markdown links." This is consistent.

Claimed Broken Actual Status
LICENSE-APACHE at repo root Confirmed missing — only silero-coreml/LICENSE exists
LICENSE-MIT at repo root Confirmed missing

The "Also affected" table correctly identifies 4 additional references in docs/security/license-inventory.md and docs/security/flutter-license-inventory.md. Line numbers verified:

  • license-inventory.md:9../../LICENSE-APACHE
  • license-inventory.md:10../../LICENSE-MIT
  • flutter-license-inventory.md:11../../LICENSE-APACHE

Check 3: Verify 3 claimed inline doc-path references — PASS (with 1 minor error)

Claimed Reference Actual Status
license-inventory.md:9../../LICENSE-APACHE Line 9 confirmed
license-inventory.md:10../../LICENSE-MIT Line 10 confirmed
flutter-license-inventory.md:11../../LICENSE-APACHE Line 11 confirmed

Error found: The report's "Also affected" table (line 37-38) claims flutter-license-inventory.md:12 references ../../LICENSE-MIT. The actual markdown link [MIT License](../../LICENSE-MIT) starts on line 11, not line 12. Line 12 is a continuation of the sentence. The docs-link-not-covered.md file correctly says line 11.

Check 4: External URLs — PASS (with 1 omission)

No obviously malformed URLs found in the external links table. All URLs use proper https:// format with one exception that the report fails to flag:

  • docs/security/license-inventory.md:96 uses http://github.com/ejmahler/strength_reduce (HTTP, not HTTPS)

This HTTP-vs-HTTPS issue is correctly flagged in docs-link-not-covered.md but is missing from the link-coverage-report.md external links section.

Check 5: Summary counts match table entries — PASS (with ambiguity)

Summary Claim Verification
Total links: 148 Arithmetic checks: 12 + 2 + 94 + 5 + 62 + 2 + 48 + 0 = 148 (includes 5 broken inline counted separately) — but note 12 + 94 double-counts the 8 inline refs in the "Valid Internal Links" table
Broken internal links: 2 Table has 2 entries
Valid inline doc-path refs: 94 Table entries sum to ~94
Broken inline doc-path refs: 5 Table has 5 entries
Valid code refs: 62 ⚠️ Not individually verified; table has many entries
Broken code refs: 2 Table has 2 entries
External links: 48 ⚠️ Not individually counted; list is extensive
Cross-refs broken: 0 Verified — all doc-to-doc chains resolve

Ambiguity: The summary says "Valid internal links: 12 (4 markdown links + 8 inline doc-path references)" but the "Valid Internal Links" table only shows 4 entries. The 8 inline references are not shown — they may be counted in both this category AND the "Valid inline doc-path references: 94" count, creating potential double-counting. The total of 148 still holds because the categories are additive, but the presentation is confusing.

Quality Score: 8/10

Strengths: Thorough coverage, correct identification of all broken links, good cross-reference chain verification, helpful notes about severity.

Errors:

  1. flutter-license-inventory.md:12 LICENSE-MIT reference — should be line 11 (minor line-number error)
  2. Missing flag for HTTP URL at license-inventory.md:96 (inconsistency with sister report)
  3. Ambiguous "Valid internal links: 12" — 8 inline refs not shown in table

Check 1: Verify 3 claimed "missing file targets" — PASS

Claimed Missing Actual Status
LICENSE-APACHE at repo root Confirmed missing
LICENSE-MIT at repo root Confirmed missing
docs/chanora_SysDes.md (and 4 siblings) Confirmed missing — verified at docs/sysrs.md:126-130

The sysrs.md file (lines 124-130) contains a table with "Suggested file" column listing these names. They are aspirational, not actual files. Correctly classified as "Low Impact."

Check 2: Verify 3 claimed "orphaned docs" — PASS (with count error)

Spot-checked orphaned claims:

Claimed Orphaned Truly Unreferenced?
docs/offline-knowledge/function-inventory.md Only referenced within docs/offline-knowledge/README.md — not from main doc tree
docs/offline-knowledge/coverage-analysis.md Same situation
docs/offline-knowledge/doc-quality-analysis.md Same situation
docs/offline-knowledge/external/teaspeak-overview.md Not referenced from outside offline-knowledge
Review files (4) marked "already is" Self-referencing within README only

Count error found: The report's orphaned table (lines 80-81) claims:

  • docs/superpowers/specs/*.md (6 files) Confirmed: 6 files exist
  • docs/superpowers/plans/*.md (8 files) Wrong count: 9 files exist

Actual plans files:

  1. 2026-05-28-server-resolution-prefetch.md
  2. 2026-05-28-chanora-server-prefetch-crate.md
  3. 2026-05-29-finish-dv-document-tree.md
  4. 2026-05-29-swe2-swe3-baselines.md
  5. 2026-05-29-state-sync-ui-settings-validation.md
  6. 2026-05-29-dv-evidence-pack.md
  7. 2026-06-06-chat-panel-switching.md
  8. 2026-06-08-core-internal-split.md
  9. 2026-06-08-maintainability-continuation.md

The summary says "Orphaned docs: 18" but the table accounts for 9 + 2 + 6 + 9 = 26 files (or 9 individual + 2 grouped = 11 table rows). The "18" count is inconsistent with the actual file inventory.

Check 3: Verify 3 suspicious URLs — PASS

URL Verification
https://git.did.science/TeaSpeak/Server/Server Self-hosted GitLab, confirmed in external/teaspeak-overview.md. Fragility risk is real.
http://github.com/ejmahler/strength_reduce Uses HTTP instead of HTTPS. Confirmed at license-inventory.md:96.
http://www.apache.org/licenses/ and http://mozilla.org/MPL/2.0/ HTTP URLs in license text bodies, confirmed present.

No additional broken links found beyond those already documented. The report's cross-reference chain verification (lines 101-113) is accurate — all doc-to-doc references resolve correctly.

One missed inconsistency: the snapshot_state_mapper.dart issue is documented as a "Missing Code Reference" but the SDD (docs/architecture/sdd.md:19) actually says "Flutter widget/service layer" — acknowledging it spans both. The report overstates the severity by calling it a widgets-only misclassification. This was already flagged in reviews/docs-code-mismatch-review.md as a severity overclaim.

Quality Score: 7/10

Strengths: Comprehensive per-file inventory, correct identification of broken links and suspicious URLs, good action items section.

Errors:

  1. Plans file count wrong: says 8, actual is 9
  2. Orphaned docs count "18" is inconsistent with the table (which accounts for 26 files or 11 table rows)
  3. snapshot_state_mapper.dart severity overstated (SDD already says "widget/service layer")

Corrections Needed

  1. Line 38: Change flutter-license-inventory.md | 12 to flutter-license-inventory.md | 11 for the LICENSE-MIT reference
  2. External links section: Add http://github.com/ejmahler/strength_reduce from license-inventory.md:96 to be consistent with the sister report
  3. Summary (line 9): Clarify "Valid internal links: 12" — either show the 8 inline refs in the table or reword to avoid implying they are separate from the 94 inline doc-path references
  1. Line 81: Change docs/superpowers/plans/*.md (8 files) to (9 files)
  2. Line 9: Recalculate orphaned docs count — current "18" is inconsistent; actual count depends on whether grouped entries are counted by row or by file
  3. Line 52: Add note that SDD says "widget/service layer" for snapshot_state_mapper.dart, not purely "widgets"

Overall Assessment

File Quality Score Verdict
link-coverage-report.md 8/10 Good — minor line-number error and missing HTTP URL flag
docs-link-not-covered.md 7/10 Good — file count error and orphaned docs count inconsistency

Both reports are thorough and mostly accurate. The broken link identification is correct across both files. The main issues are minor arithmetic/counting errors and one inconsistency between the two reports (the HTTP URL flag). No critical errors found.