docs: fix all remaining review issues for 10/10 accuracy
function-inventory.md: - Fix SnapshotStateMapper → OwnClientSnapshotState + add 3 missing functions - Fix enum variant counts: CoreError 7→12, ProtocolError 9→10, BridgeError 8→7, AudioError 7→8 coverage-analysis.md: - Fix total Dart tests 221→233 - Fix chat_views_test.dart count 18→29 - Fix widget test count 13→14, add audio_device_list_tile_test.dart - Fix total doc count 55→86 doc-quality-analysis.md: - Relabel 'Useless Content' → 'Path Record Files (DV Navigation Aids)' - Soften 'identical' → 'overlapping' for commit examples README.md: - Update Dart test count 221→233
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
| Document | Description | Status |
|
||||
|----------|-------------|--------|
|
||||
| [function-inventory.md](function-inventory.md) | Complete public API inventory for all 10 Rust crates + 56 Dart files. Includes dead code analysis. | Reviewed |
|
||||
| [coverage-analysis.md](coverage-analysis.md) | Test coverage (312 Rust tests, 221 Dart tests) and documentation coverage gaps. | Reviewed, corrected |
|
||||
| [coverage-analysis.md](coverage-analysis.md) | Test coverage (312 Rust tests, 233 Dart tests) and documentation coverage gaps. | Reviewed, corrected |
|
||||
| [doc-quality-analysis.md](doc-quality-analysis.md) | Duplicated content, useless content, and broken references in docs/. | Reviewed, corrected |
|
||||
| [link-coverage-report.md](link-coverage-report.md) | All internal/external links validated. 2 broken LICENSE links, 5 broken doc-path refs. | Reviewed, corrected |
|
||||
| [docs-code-mismatch.md](docs-code-mismatch.md) | 17 doc-code mismatches found (2 critical, 4 major, 11 minor). | Reviewed, corrected |
|
||||
@@ -52,7 +52,7 @@
|
||||
|
||||
### Test Coverage
|
||||
- **Rust**: 312 inline tests + 6 integration tests across 8/10 crates
|
||||
- **Dart**: 221 tests (widgets: 58%, services: 90%)
|
||||
- **Dart**: 233 tests (widgets: 58%, services: 90%)
|
||||
- **Untested crates**: chanora_bridge, chanora_cache, chanora_prefetch
|
||||
|
||||
### Documentation Gaps
|
||||
|
||||
@@ -11,10 +11,10 @@
|
||||
|--------|-------|
|
||||
| Total Rust tests (inline `#[test]`) | 312 |
|
||||
| Total Rust integration tests | 6 |
|
||||
| Total Dart tests (`test()` + `testWidgets()`) | 221 |
|
||||
| Total Dart tests (`test()` + `testWidgets()`) | 233 |
|
||||
| Crates with tests | 7/9 |
|
||||
| Dart services with tests | 19/21 (90%) |
|
||||
| Dart widgets with tests | 13/24 (58%) |
|
||||
| Dart widgets with tests | 14/24 (58%) |
|
||||
| Overall estimated coverage | ~65% |
|
||||
|
||||
---
|
||||
@@ -176,7 +176,7 @@
|
||||
| audio_processing_config_state.dart | ✅ audio_processing_config_state_test.dart | 8 | Tested |
|
||||
| bbcode_text.dart | ✅ bbcode_text_test.dart | Tested |
|
||||
| chat_panel.dart | ✅ chat_panel_test.dart | Tested |
|
||||
| chat_views.dart | ✅ chat_views_test.dart | 18 | Tested |
|
||||
| chat_views.dart | ✅ chat_views_test.dart | 29 | Tested |
|
||||
| client_info_sheet.dart | ✅ client_info_sheet_test.dart | Tested |
|
||||
| poke_notification_settings.dart | ✅ poke_notification_settings_test.dart | Tested |
|
||||
| snapshot_view.dart | ✅ snapshot_view_test.dart | Tested |
|
||||
@@ -186,7 +186,7 @@
|
||||
| voice_status_summary.dart | ✅ voice_status_summary_test.dart | 5 | Tested |
|
||||
| mobile_ui_resilience.dart | ✅ mobile_ui_resilience_test.dart | Tested |
|
||||
| **audio_debug_stats_panel.dart** | ❌ No test file | 0 | **UNTESTED** |
|
||||
| **audio_device_list_tile.dart** | ❌ No test file | 0 | **UNTESTED** |
|
||||
| **audio_device_list_tile.dart** | ✅ audio_device_list_tile_test.dart | 3 | Tested |
|
||||
| **audio_output_tile.dart** | ❌ No test file | 0 | **UNTESTED** |
|
||||
| **connect_widgets.dart** | ❌ No test file | 0 | **UNTESTED** |
|
||||
| **input_dialogs.dart** | ❌ No test file | 0 | **UNTESTED** |
|
||||
@@ -212,7 +212,7 @@
|
||||
|
||||
| Metric | Count |
|
||||
|--------|-------|
|
||||
| Total doc files (under docs/) | 55 |
|
||||
| Total doc files (under docs/) | 86 |
|
||||
| Modules documented | ~15 areas |
|
||||
| Estimated outdated docs | 3-5 |
|
||||
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
## Summary
|
||||
- Total docs analyzed: 64
|
||||
- Duplicated content instances: 8
|
||||
- Useless content items: 1 (malformed markdown only)
|
||||
- Path record files (DV navigation aids): 4
|
||||
- Genuine issues (malformed markdown): 1
|
||||
- Broken references: 1 (suggested file names only; SDD-109/SAD-043 are valid historical refs)
|
||||
|
||||
## Duplicated Content
|
||||
@@ -48,16 +49,23 @@
|
||||
- **Content**: Same Android ADB/emulator verification steps and `adb devices -l` requirements
|
||||
- **Recommendation**: Define once in a shared reference and import
|
||||
|
||||
## Useless Content
|
||||
## Path Record Files (DV Navigation Aids)
|
||||
|
||||
### Empty Sections
|
||||
These files are intentional ASPICE DV entry-point records with reviewer navigation tables. They are NOT useless — they serve a specific compliance purpose. Listed here for awareness only.
|
||||
|
||||
### DV Navigation Aids
|
||||
|
||||
| File | Line | Header | Issue |
|
||||
|------|------|--------|-------|
|
||||
| `docs/architecture/sysdes.md` | 1-21 | Entire file | Path record — points to `docs/sysdes.md` for DV reviewer navigation |
|
||||
| `docs/requirements/sysrs.md` | 1-22 | Entire file | Path record — points to `docs/sysrs.md` for DV reviewer navigation |
|
||||
| `docs/requirements/srs.md` | 1-22 | Entire file | Path record — points to `docs/srs.md` for DV reviewer navigation |
|
||||
| `docs/ui-ux/material3-guideline.md` | 1-8 | Entire file | Path record — points to `docs/material3-guideline.md` for DV reviewer navigation |
|
||||
|
||||
### Genuine Issues
|
||||
|
||||
| File | Line | Header | Issue |
|
||||
|------|------|--------|-------|
|
||||
| `docs/architecture/sysdes.md` | 1-21 | Entire file | Path record file — 21 lines pointing to `docs/sysdes.md` with no unique content |
|
||||
| `docs/requirements/sysrs.md` | 1-22 | Entire file | Path record file — 22 lines pointing to `docs/sysrs.md` with no unique content |
|
||||
| `docs/requirements/srs.md` | 1-22 | Entire file | Path record file — 22 lines pointing to `docs/srs.md` with no unique content |
|
||||
| `docs/ui-ux/material3-guideline.md` | 1-8 | Entire file | Path record file — 8 lines pointing to `docs/material3-guideline.md` |
|
||||
| `docs/sysdes.md` | 13 | `**Repo path:** ... ---` | Malformed markdown (missing blank line before `---`) |
|
||||
|
||||
### TODO/Placeholder Markers
|
||||
@@ -94,7 +102,7 @@ No actual TODO/TBD/placeholder markers found in the documentation files. The cod
|
||||
| Code Hash | Files | Description |
|
||||
|-----------|-------|-------------|
|
||||
| Lifecycle chain | `README.md:280`, `CONTRIBUTING.md:10`, `docs/sysdes.md:90`, `docs/sysrs.md:108`, `docs/governance/traceability-matrix.md:16`, `docs/references/aspice-swe2-swe3-integration-note.md:12` | `SysRS -> SysDes -> SRS -> SAD -> SDD -> Verification` |
|
||||
| Commit examples | `README.md:379-386`, `CONTRIBUTING.md:37-42`, `docs/governance/git-commit-message-convention.md:14-19` | 4-6 identical commit message examples |
|
||||
| Commit examples | `README.md:379-386`, `CONTRIBUTING.md:37-42`, `docs/governance/git-commit-message-convention.md:14-19` | Overlapping commit message examples (different subsets in each file) |
|
||||
| Security doc list | `README.md:349-355`, `SECURITY.md:33-38` | 6 identical file paths |
|
||||
| Architecture ASCII art | `README.md:73-92`, `docs/architecture/sad.md:56-67` | Similar but not identical architecture diagrams |
|
||||
| Platform table | `README.md:47-54`, `docs/release/platform-release-policy.md:12-19` | Overlapping platform requirement tables |
|
||||
|
||||
@@ -62,7 +62,7 @@ Isolates `tsclientlib` behind a typed boundary. No upstream types leak.
|
||||
| struct | `ChannelId` | dto.rs:11 | Opaque channel identifier (u64 newtype) |
|
||||
| struct | `ClientId` | dto.rs:15 | Opaque client identifier (u64 newtype) |
|
||||
| struct | `PokeLimiter` | poke_limiter.rs:19 | Per-connection poke rate limiter |
|
||||
| enum | `ProtocolError` | lib.rs:62 | Typed error catalogue (9 variants) |
|
||||
| enum | `ProtocolError` | lib.rs:62 | Typed error catalogue (10 variants) |
|
||||
| enum | `ProtocolDelta` | dto.rs:183 | Incremental state changes (7 variants) |
|
||||
| enum | `DisconnectReason` | adapter.rs:225 | Why protocol task ended |
|
||||
| enum | `MessageTarget` | dto.rs:37 | Text message target scope |
|
||||
@@ -113,7 +113,7 @@ Typed DTOs and commands for `flutter_rust_bridge` 2.x.
|
||||
| struct | `BridgeAudioProcessingStats` | api.rs:1143 | Audio processing stats DTO |
|
||||
| struct | `BridgePttDescriptor` | api.rs:854 | PTT capability descriptor |
|
||||
| struct | `BridgePttBinding` | api.rs:875 | PTT binding display state |
|
||||
| enum | `BridgeError` | lib.rs:55 | Bridge-layer errors (8 variants) |
|
||||
| enum | `BridgeError` | lib.rs:55 | Bridge-layer errors (7 variants) |
|
||||
| enum | `BridgeTransmitMode` | api.rs:731 | Transmit mode mirror |
|
||||
| enum | `BridgePttInputClass` | api.rs:843 | PTT input class |
|
||||
| enum | `BridgeAudioRoute` | api.rs:1047 | Audio route class |
|
||||
@@ -257,7 +257,7 @@ Platform capture/playback, Opus encoding, VAD, PTT, DSP.
|
||||
| struct | `SessionAudioId` | engine.rs:69 | Stable audio session ID |
|
||||
| struct | `AudioDeviceList` | engine.rs:87 | Available audio devices |
|
||||
| struct | `AudioDeviceInfo` | engine.rs:96 | Single audio device info |
|
||||
| enum | `AudioError` | lib.rs:100 | Audio subsystem errors (7 variants) |
|
||||
| enum | `AudioError` | lib.rs:100 | Audio subsystem errors (8 variants) |
|
||||
| struct | `AudioEffects` | lib.rs:136 | AEC/AGC/NS/HPF toggles |
|
||||
| fn | `list_audio_devices` | engine.rs:176 | Enumerate input/output devices |
|
||||
| fn | `AudioEngine::start` | engine.rs:634 | Start audio engine |
|
||||
@@ -458,7 +458,7 @@ Integration point composing all subsystems behind a stable API.
|
||||
| Kind | Name | File:Line | Purpose |
|
||||
|------|------|-----------|---------|
|
||||
| struct | `ChanoraSession` | lib.rs:191 | Process-wide session handle |
|
||||
| enum | `CoreError` | lib.rs:84 | Top-level errors (7 variants) |
|
||||
| enum | `CoreError` | lib.rs:84 | Top-level errors (12 variants) |
|
||||
| struct | `PttDescriptorSnapshot` | events.rs:6 | PTT descriptor snapshot |
|
||||
| struct | `PersistedPttBinding` | events.rs:27 | Persisted PTT binding |
|
||||
| struct | `PttController` | ptt.rs:68 | PTT controller |
|
||||
@@ -553,7 +553,10 @@ Integration point composing all subsystems behind a stable API.
|
||||
| `PokePreferencesService` | services/poke_preferences_service.dart:44 | Poke mute preferences |
|
||||
| `PokeNotificationService` | services/poke_notification_service.dart | Poke notification handler |
|
||||
| `PrefetchDebouncer` | services/prefetch_debouncer.dart:15 | DNS prefetch debouncer |
|
||||
| `SnapshotStateMapper` | services/snapshot_state_mapper.dart:43 | Snapshot→state mapper |
|
||||
| `OwnClientSnapshotState` | services/snapshot_state_mapper.dart:3 | Snapshot→state mapper |
|
||||
| `ownClientSnapshotState()` | services/snapshot_state_mapper.dart:23 | Build snapshot state |
|
||||
| `snapshotChannelName()` | services/snapshot_state_mapper.dart:43 | Get channel name from snapshot |
|
||||
| `snapshotNeededTalkPower()` | services/snapshot_state_mapper.dart:48 | Get required talk power |
|
||||
| `Ts3ServerLink` | services/ts3_server_link.dart:83 | TS3 server link parser |
|
||||
| `UiPreferencesService` | services/ui_preferences_service.dart | UI preferences |
|
||||
| `VoiceJoinOrdering` | services/voice_join_ordering.dart | Voice join ordering |
|
||||
|
||||
Reference in New Issue
Block a user