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

5.2 KiB

Final Fixes Review — Offline Knowledge Library

Reviewer: opencode (automated) Date: 2026-06-13 Method: Direct source code verification against each claimed fix


Summary

Result Count
PASS 13
FAIL 4
PARTIAL 0

Detailed Results

function-inventory.md

# Claim Verdict Evidence
1 OwnClientSnapshotState at services/snapshot_state_mapper.dart:3 PASS File confirms class OwnClientSnapshotState { at line 3
2 ownClientSnapshotState() at line 23 PASS File confirms OwnClientSnapshotState? ownClientSnapshotState(...) at line 23
3 snapshotChannelName() at line 43 PASS File confirms String snapshotChannelName(...) at line 43
4 snapshotNeededTalkPower() at line 48 PASS File confirms int? snapshotNeededTalkPower(...) at line 48
5 CoreError says 12 variants PASS core/chanora_core/src/lib.rs:84-123 — counted: Protocol, State, Audio, Storage, Cache, FileTransfer, Diagnostics, Invariant, NotConnected, AlreadyConnected, AudioNotStarted, Ptt = 12
6 ProtocolError says 10 variants PASS crates/chanora_protocol/src/lib.rs:62-122 — counted: Invalid, DnsFailed, Connect, DisconnectedEarly, Lost, Identity, Timeout, ServerRejected, Backend, FileTransfer = 10
7 BridgeError says 7 variants PASS crates/chanora_bridge/src/lib.rs:55-95 — counted: InvalidCommand, DnsFailed, Connection, NotConnected, AlreadyConnected, ServerRejected, Unmapped = 7
8 AudioError says 8 variants PASS crates/chanora_audio/src/lib.rs:100-127 — counted: NoInputDevice, NoOutputDevice, StreamConfig, Opus, Backend, PlatformNotReady, InvalidAudioProcessingConfig, UnsupportedAudioProcessingConfig = 8

coverage-analysis.md

# Claim Verdict Evidence
9 Total Dart tests = 233 FAIL Actual count via rg "^\s*(test|testWidgets)\(" across all test files = 221 (155 test() + 66 testWidgets()). Breakdown: 116 service tests + 96 widget tests + 9 e2e/template tests = 221. The number 233 is overstated by 12.
10 chat_views_test.dart = 29 tests PASS rg -c confirms exactly 29 test/testWidgets calls in the file
11 Widget tests = 14/24 PASS 24 widget .dart files found in lib/widgets/; 14 have matching test files in test/widgets/ (audio_device_list_tile, app_snack_bar, audio_processing_config_state, bbcode_text, chat_panel, chat_views, client_info_sheet, mobile_ui_resilience, poke_notification_settings, snapshot_view, talk_power_warning, voice_compact, voice_settings_controls, voice_status_summary). 10 untested.
12 audio_device_list_tile.dart marked as tested PASS test/widgets/audio_device_list_tile_test.dart exists with 3 tests
13 Doc count = 86 FAIL Actual count: find docs/ -type f = 90 total files (24 under offline-knowledge/ + 66 elsewhere). If excluding offline-knowledge/ it's 66, not 86. The claimed 86 matches neither total.

doc-quality-analysis.md

# Claim Verdict Evidence
14 "Useless Content" relabeled to "Path Record Files (DV Navigation Aids)" PASS Lines 52-54: section header reads ## Path Record Files (DV Navigation Aids) with correct description
15 Commit examples say "overlapping" not "identical" PASS Line 105: Overlapping commit message examples (different subsets in each file)

README.md

# Claim Verdict Evidence
16 Dart tests = 233 (consistent with coverage-analysis.md) FAIL README line 55 says 233, coverage-analysis.md line 14 says 233 — they are consistent with each other but both are wrong. Actual count is 221.
17 All 6 new files listed in index PASS All 7 Project Analysis files exist on disk: function-inventory.md, coverage-analysis.md, doc-quality-analysis.md, link-coverage-report.md, docs-code-mismatch.md, docs-out-of-date.md, docs-link-not-covered.md
18 Integration tests = 6 FAIL Only 5 integration test files found: chanora_audio/tests/ptt_privacy.rs, chanora_audio/tests/linux_portal_smoke.rs, chanora_core/tests/alpha_smoke.rs, chanora_core/tests/avatar_cache.rs, chanora_core/tests/mvp_storage.rs

Remaining Issues

  1. Dart test count is 221, not 233 — Both coverage-analysis.md and README.md overstate by 12 tests. Needs correction in both files.

  2. Rust integration test count is 5, not 6 — Both coverage-analysis.md ("Total Rust integration tests: 6") and README.md ("6 integration tests") are wrong. Only 5 integration test files exist under tests/ directories.

  3. Doc file count is 90, not 86coverage-analysis.md claims 86 total doc files under docs/. The actual count is 90 (24 offline-knowledge + 66 other). The 86 figure doesn't match any meaningful subset.

  4. coverage-analysis.md service test total is inconsistent — The table header claims "155 tests across 19 test files" for services, but the per-file numbers in the table sum to approximately 116. The remaining ~39 may be in files not individually listed.