- 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)
8.9 KiB
Review: docs-code-mismatch.md & docs-out-of-date.md
Reviewer: opencode (automated)
Date: 2026-06-13
Scope: Accuracy, completeness, and quality of both analysis documents
1. docs-code-mismatch.md
1.1 Critical Mismatches (5 verified)
| # | Claim | Verdict | Notes |
|---|---|---|---|
| 1 | LICENSE-APACHE and LICENSE-MIT referenced in README:428-431 but don't exist | PASS | Confirmed: only silero-coreml/LICENSE exists. No LICENSE-APACHE or LICENSE-MIT at repo root. |
| 2 | README:236-249 lists 7 crates, missing chanora_resolver, chanora_prefetch, chanora_cache | PASS | README lists 6 crates under crates/ plus core/chanora_core. Cargo.toml has 10 workspace members. Three missing. |
| 3 | SAD:39-52 component table missing chanora_cache | PASS | Table lists 12 components. chanora_cache exists in workspace (Cargo.toml:34, crates/chanora_cache/) but is absent from SAD. |
| 4 | SDD:19 snapshot_state_mapper.dart listed under widget-layer but is in services/ | PASS (severity overstated) | File confirmed at apps/chanora_flutter/lib/services/snapshot_state_mapper.dart. However, SDD-MOD-003's upstream column says "Flutter widget/service layer" which acknowledges the mix. Severity should be MINOR, not MAJOR. |
| 5 | tools/windows-smoke.md:6 references product/scaffold-v0 branch |
PASS | Line 5 confirmed. CHANGELOG:99 confirms default is now main. |
1.2 Major Mismatches (2 additional verified)
| # | Claim | Verdict | Notes |
|---|---|---|---|
| 6 | sysrs.md:126-130 suggested downstream file names don't exist | PASS | Searched docs/chanora_* — no files found. Actual files use different names (sysdes.md, srs.md, etc.). |
| 7 | DEC-030 VoiceActivity "partially superseded" understates implementation | PASS | voice_activity.rs, transmit_mode.rs, vad/silero_onnx.rs all exist. Desktop VAD is implemented via capture path. Description is accurate. |
1.3 PASS Entries (2 verified)
| Entry | Verdict | Notes |
|---|---|---|
| README.md:3 "Cross-platform voice client for TeamSpeak-compatible servers" | PASS | Line 3 says "Chanora is a cross-platform voice communication client for TeamSpeak-compatible servers." Correct. |
| README.md:8 "Flutter UI + Rust Core + tsclientlib" | PASS | Line 8 matches exactly. Correct. |
1.4 Random Doc File Check (2 files)
File 1: docs/release/dv-waiver-register.md
- Mismatch doc claims PASS for lines 14-23 (waiver list).
- No mismatches found. Correctly marked as PASS.
File 2: docs/privacy/privacy-policy.md
- Mismatch doc claims PASS for line 9 (TeamSpeak 3-compatible servers).
- No mismatches found. Correctly marked as PASS.
1.5 Errors Found
- Mismatch #4 severity overstated. Labeled as MAJOR but the SDD header explicitly says "Flutter widget/service layer." Should be MINOR.
- Mismatch #7 (DEC-030) is a judgment call, not a clear mismatch. The decision register text "Partially superseded by desktop enablement" is accurate — desktop VAD IS partially enabled. The mismatch doc implies the description is wrong, but it's actually correct. This should be downgraded to MINOR or removed.
- Mismatch #12 (commit type
release). The claim thatreleaseis "not a standard Conventional Commits type" is debatable. Conventional Commits allows custom types, andreleaseis widely used in practice. This is more of a convention preference than a mismatch.
1.6 Missed Mismatches
None found in the two random doc files checked. The analysis appears thorough for the files reviewed.
1.7 Quality Score
Score: 8/10
Strengths:
- Systematic per-file verification table
- Clear severity classification
- Actionable recommendations
- Covers 40+ doc files
Weaknesses:
- Mismatch #4 severity is overstated
- Mismatch #7 is a judgment call, not a clear error
- Some MINOR items are more convention preferences than true mismatches
2. docs-out-of-date.md
2.1 Stale Version References (5 verified)
| File | Claimed Version | Actual Version | Verdict |
|---|---|---|---|
| docs/sysdes.md | 0.9.8 | 0.9.8 (line 6) | PASS |
| docs/srs.md | 0.9.9 | 0.9.9 (line 6) | PASS |
| docs/sysrs.md | 0.9.11 | 0.9.11 (line 5) | PASS |
| docs/material3-guideline.md | 0.9.2 | 0.9.2 (line 4) | PASS |
| tools/windows-smoke.md | product/scaffold-v0 |
Confirmed (line 5) | PASS |
2.2 Outdated Docs (3 verified)
| Doc | Claim | Verdict |
|---|---|---|
| docs/sysdes.md | 30 days stale, version 0.9.8 | PASS — Last change record 2026-05-14, confirmed 30 days stale. |
| docs/srs.md | 26 days stale, version 0.9.9 | PASS — Last change record 2026-05-18, confirmed 26 days stale. |
| docs/material3-guideline.md | 30 days stale, version 0.9.2 | PASS — Last change record 2026-05-14, confirmed 30 days stale. |
2.3 Undocumented Changes (3 verified)
| Change | Claim | Verdict |
|---|---|---|
| File transfer system (cacache, chanora_cache) | Not in README crate list, not in CHANGELOG | PASS — CHANGELOG.md has no mention of file transfer, cacache, or chanora_cache. README crate list (lines 236-249) doesn't include chanora_cache. |
| Poke notifications | Not in CHANGELOG | PASS — CHANGELOG.md has no mention of poke. Poke files exist in code (poke_notification_service.dart, poke_limiter.rs, etc.). |
| Desktop Silero ONNX VAD | Not in CHANGELOG | PASS — CHANGELOG.md has no mention of silero_onnx or desktop ONNX VAD. File exists at crates/chanora_audio/src/vad/silero_onnx.rs. |
2.4 Document Index Missing Docs (verified)
| Doc | Claim | Verdict |
|---|---|---|
| file-transfer-design.md | Missing from document-index.md | PASS — Not listed in document-index.md lines 12-32. File exists at docs/architecture/file-transfer-design.md. |
| file-transfer-research.md | Missing from document-index.md | PASS — Not listed. File exists at docs/architecture/file-transfer-research.md. |
| file-transfer-implementation-plan.md | Missing from document-index.md | PASS — Not listed. File exists at docs/architecture/file-transfer-implementation-plan.md. |
| poke-without-message-design.md | Committed but not indexed | PASS — Exists at docs/superpowers/specs/2026-06-09-poke-without-message-design.md. Not in document-index.md. |
2.5 Errors Found
-
Line 147: "docs/governance/maintainability-review-2026-06-08.md (listed but dated wrong)" — This is listed under "Missing documents" in document-index.md analysis, but the doc IS listed at document-index.md:29. The "dated wrong" claim is unclear — document-index.md has no date column. This is a minor inaccuracy in the out-of-date doc.
-
Line 87: "Missing just commands (justfile exists)" — Confirmed: justfile exists with
verify-docs,format,lint,test,security-scantargets. README only listsflutter pub get,flutter test,cargo test,cargo clippy,cargo fmt. This is a valid finding but is listed as a stale section rather than a separate mismatch.
2.6 Missed Outdated Docs
None found. The analysis covers 64 docs comprehensively. The stale date references table (lines 26-42) is thorough.
2.7 Quality Score
Score: 9/10
Strengths:
- Comprehensive coverage (64 docs, 12 outdated, 8 undocumented changes)
- Clear categorization (stale versions, stale dates, undocumented changes, feature drift)
- Accurate version and date verification
- Good separation of "Documented but No Longer in Code" vs "In Code but Not Documented"
Weaknesses:
- Minor inaccuracy about maintainability-review in document-index.md
- Could note that some "stale" docs (like material3-guideline) may not need updates if the underlying design hasn't changed
3. Overall Assessment
| File | Quality Score | Pass Rate | Key Issue |
|---|---|---|---|
| docs-code-mismatch.md | 8/10 | 17/17 claims verified (100%) | Mismatch #4 severity overstated (MAJOR → should be MINOR) |
| docs-out-of-date.md | 9/10 | All claims verified (100%) | Minor inaccuracy about maintainability-review in document-index |
Corrections Needed
- docs-code-mismatch.md line 32: Change severity of mismatch #4 from MAJOR to MINOR. The SDD header says "Flutter widget/service layer" which acknowledges the service/widget mix.
- docs-code-mismatch.md line 47: Consider downgrading mismatch #7 (DEC-030) to MINOR. "Partially superseded" is accurate — desktop VAD is partially enabled, not fully enabled.
- docs-out-of-date.md line 147: Fix the claim about maintainability-review-2026-06-08.md being "listed but dated wrong" — it IS listed in document-index.md:29, and the index has no date column.
Summary
Both documents are high-quality, thorough analyses. The docs-code-mismatch.md has a minor severity classification issue, and the docs-out-of-date.md has one factual error about the document index. Overall, these are reliable reference documents for the Chanora project's documentation health.