Files
chanora/dev-docs/offline-knowledge/reviews/coverage-docquality-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

7.4 KiB

Review: coverage-analysis.md & doc-quality-analysis.md

Reviewer: opencode (automated verification)
Date: 2026-06-13
Method: Random sampling + targeted claim verification against actual codebase


coverage-analysis.md Review

Check 1: Random Test File Counts (5 files sampled)

File Claimed Actual Verdict
android_permissions_service_test.dart 14 14 PASS
macos_permissions_service_test.dart 20 20 PASS
chat_views_test.dart 18 29 FAIL (off by 11)
back_intent_policy_test.dart 9 9 PASS
channel_spacer_test.dart 9 9 PASS

Score: 4/5 correct

Check 2: Source Files Claimed Untested (3 files verified)

File Claimed Actual Verdict
ios_permissions_service.dart UNTESTED No test file exists PASS
link_trust_service.dart UNTESTED No test file exists PASS
audio_device_list_tile.dart (widget) UNTESTED Test file EXISTS (audio_device_list_tile_test.dart, 3 tests) FAIL

Score: 2/3 correct

Check 3: Orphaned Test Claim

  • Claim: poke_active_chat_test.dart is orphaned (no matching source)
  • Actual: poke_active_chat_test.dart EXISTS in test/services/, but poke_active_chat.dart does NOT exist in lib/services/
  • Verdict: PASS — claim is accurate

Check 4: Missed Test Files

Missed Item Impact
audio_device_list_tile_test.dart Widget test coverage is 14/24 (58%), not 13/24 (54%)
chanora_core integration tests (3 files: alpha_smoke.rs, avatar_cache.rs, mvp_storage.rs) Analysis claims 2 integration tests total; actual is 6 (2 chanora_audio + 4 chanora_core)

Check 5: Aggregate Count Errors

Metric Claimed Actual Error
chanora_audio inline tests 221 333 +112 (51% undercount)
chanora_core tests (inline + integration) 11 38 +27 (71% undercount)
Total Dart tests 221 233 +12 (5% undercount)
Total doc files (docs/) 55 86 +31 (56% undercount)
Widget test files 13 14 +1 missed file
Total Rust integration tests 2 6 +4 missed

Check 6: Documentation Gap Claims

The documentation gap table (lines 336-354) lists 15 modules with no dedicated docs. Spot-checking confirms these modules确实 lack dedicated documentation files. Verdict: PASS — gaps are accurately identified.


doc-quality-analysis.md Review

Check 1: Claimed Duplications (3 verified)

# Claim Files Verdict
1 Lifecycle chain (SysRS -> SysDes -> SRS -> SAD -> SDD) README.md:280, CONTRIBUTING.md:10 PASS — identical text confirmed
2 Commit examples README.md:379-386, CONTRIBUTING.md:37-42, git-commit-message-convention.md:14-18 ⚠️ PARTIAL — README has 6 examples, CONTRIBUTING has 4, convention file has 4. Not "identical" but overlapping.
3 Security doc list README.md:349-355, SECURITY.md:33-38 PASS — identical 6-file list confirmed

Check 2: Useless Content Items

Claim Verdict Notes
docs/architecture/sysdes.md is "path record — no unique content" ⚠️ MISLEADING It's a DV entry-point record with review summary table. Intentional for ASPICE compliance, not "useless."
docs/requirements/sysrs.md is "path record — no unique content" ⚠️ MISLEADING Same as above — intentional DV navigation aid.
docs/requirements/srs.md is "path record — no unique content" ⚠️ MISLEADING Same pattern.
docs/ui-ux/material3-guideline.md is "path record — no unique content" ⚠️ MISLEADING Same pattern.
docs/sysdes.md:13 malformed markdown PASS Line 13: **Repo path:** ... --- missing blank line before ---. Confirmed.

Check 3: Broken References

Claim Verdict
docs/sysrs.md:126-130 references non-existent docs/chanora_SysDes.md etc. PASS — confirmed. Actual files are docs/sysdes.md, docs/srs.md, etc.
docs/implementation-status-2026-05-28.md:103 references SDD-109 PASS — SDD baseline explicitly notes SDD-109 is "not itemized in this baseline"
docs/implementation-status-2026-05-28.md:105 references SAD-043 PASS — SAD baseline explicitly notes SAD-043 is "not itemized in this baseline"

Check 4: Additional Issues Missed

Issue Location Description
chanora_core test count wildly wrong coverage-analysis.md:107-113 Claims 11 tests; actual is 34 inline + 4 integration = 38
chanora_audio test count wrong coverage-analysis.md:24 Claims 221 inline tests; actual is 333
Total doc count wrong coverage-analysis.md:215 Claims 55; actual is 86 under docs/
Widget test file missed coverage-analysis.md:188 audio_device_list_tile_test.dart exists but listed as UNTESTED
release(android) commit type doc-quality-analysis.md:90 Analysis correctly flags this as non-standard Conventional Commits type, but doesn't note it appears in the canonical git-commit-message-convention.md itself

Summary of Errors

coverage-analysis.md — Errors Found

  1. chanora_audio test count: 221 claimed → 333 actual (112 test undercount)
  2. chanora_core test count: 11 claimed → 38 actual (27 test undercount)
  3. Total Dart test count: 221 claimed → 233 actual (12 test undercount)
  4. chat_views_test.dart count: 18 claimed → 29 actual
  5. Widget test file count: 13 claimed → 14 actual (missed audio_device_list_tile_test.dart)
  6. Total integration tests: 2 claimed → 6 actual (missed chanora_core's 3 files / 4 tests)
  7. Total doc file count: 55 claimed → 86 actual

doc-quality-analysis.md — Errors Found

  1. "Useless content" characterization: Path record files are intentional DV navigation aids, not useless. The label is misleading.
  2. Commit examples "identical" claim: They overlap but are not identical (different files have different subsets).

Quality Scores

File Score Rationale
coverage-analysis.md 4/10 Structure and methodology are sound, but 7 factual errors in counts undermine reliability. The chanora_audio undercount (112 tests) and chanora_core undercount (27 tests) are severe. Missed widget test file is a moderate error.
doc-quality-analysis.md 7/10 Duplications and broken references are accurately identified. The "useless content" label is misleading but not factually wrong. Minor inaccuracy on "identical" claim for commit examples.

Corrections Needed

coverage-analysis.md

  1. Update chanora_audio inline test count: 221 → 333
  2. Update chanora_core test count: 11 → 38 (34 inline + 4 integration)
  3. Update total Dart test count: 221 → 233
  4. Update chat_views_test.dart count: 18 → 29
  5. Add audio_device_list_tile_test.dart to widget test list (3 tests)
  6. Update widget test file count: 13 → 14; untested widgets: 11 → 10
  7. Update total integration tests: 2 → 6
  8. Update total doc file count: 55 → 86
  9. Add chanora_core integration test files to the integration tests section

doc-quality-analysis.md

  1. Relabel "Useless Content" → "Path Record Files" or "DV Navigation Aids" with explanation that these are intentional
  2. Soften "identical" to "overlapping" for commit examples (Instance 2)