James Rich
4bf8aaf0a9
docs(spec): update discovery spec to reflect implementation state
...
- Update status from 'Not Started' to 'Implementation Complete'
- Add Implementation Status section documenting per-user-story completion
- Add data model divergences (simplified schema, RF health fields, neighborType)
- Add Cross-Platform Alignment section comparing with meshtastic-apple
- Document intentional differences (2-level state machine, production nav location)
- Document known divergences and their priority (radar sweep, icon classification)
- Reference design repo audit confirmation (50/51 tasks, D048 remaining)
- Add implementation note to data-model.md about actual vs proposed schema
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-20 17:09:50 -05:00
James Rich
2d1fc984bb
[Spec Kit] Implementation progress: D044 accessibility polish
...
- Added semantics annotations for screen readers
- Added progress announcements for dwell indicator
- Added disabled-preset explanations
- Migrated string resources to strings.xml
- Added DiscoveryMigrationTest for string resource migration
- Marked D000, D011, D044 as complete in tasks.md
2026-05-20 17:09:29 -05:00
James Rich
d6f44f2d0b
fix(discovery): resolve all detekt and lint issues across discovery modules (D048)
...
- Fix copyright headers (2025-2026 → 2026) in ~30 files across feature/discovery, core/database, core/repository, core/data, core/prefs
- Fix detekt compose issues: add modifier params to all public composable functions, fix parameter ordering in PresetResultCard, rename onMinutesSelected → onMinuteSelect (past tense), suppress LongMethod for DiscoverySummaryContent
- Fix detekt suppressions: CompositionLocalAllowlist in LocalDiscoveryMapProvider, MagicNumber/ReturnCount in DeepLinkRouter.routeSettings
- Mark D048 complete in tasks.md
All verification passes: spotlessCheck ✓, detekt ✓, tests ✓, kmpSmokeCompile ✓
2026-05-20 17:09:29 -05:00
James Rich
349094e9e3
feat(discovery): replace hardcoded UI strings with string resources (D047)
2026-05-20 17:09:08 -05:00
James Rich
ee91bcd2f7
test(discovery): add map preset filter and topology toggle tests (D028)
2026-05-20 17:09:08 -05:00
James Rich
d3eccf1892
feat(discovery): add neighbor info requests at dwell boundaries and map filter state (D020, D024, D032)
2026-05-20 17:09:08 -05:00
James Rich
d1c50336e7
test(discovery): add DAO, packet collection, history, and deep-link tests (D010, D023, D042)
2026-05-20 17:09:08 -05:00
James Rich
e2e8483de6
feat(discovery): add 2.4 GHz hardware gating and AI provider tests (D045, D037)
2026-05-20 17:09:08 -05:00
James Rich
8be3c8a874
docs(discovery): mark D012 complete
2026-05-20 17:09:08 -05:00
James Rich
f8d98f1667
docs(discovery): mark D030 complete in tasks.md
2026-05-20 17:09:08 -05:00
James Rich
a90a6a5448
docs(discovery): update tasks.md to reflect actual implementation status
...
Mark 30 of 49 tasks as complete based on code review of the
feat/discovery branch. Key phases completed: setup (P1), data model
(P2 partial), scan engine (P3), packet collection (P4 partial),
map (P5 partial), summary (P6 partial), AI (P7 partial), history (P8).
Remaining: D010-D011 (DAO/migration tests), D012 (prefs), D020
(neighbor info trigger), D023-D024 (tests + map filter), D028
(map UI tests), D030/D032 (summary models + tests), D037 (AI tests),
D042 (history tests), D044-D045/D047-D048 (polish).
2026-05-20 17:09:08 -05:00
James Rich
b918a91acc
feat(discovery): add DiscoveryRankingEngine with 6-level deterministic heuristic (D029)
...
Implement the spec's ranking and recommendation heuristic:
1. Highest unique discovered node count
2. Highest neighbor-report diversity (direct + mesh)
3. Highest non-duplicate packet count
4. Best median link quality (SNR first, then RSSI)
5. Greatest best known distance
6. Lowest failure/reconnect penalty
Presets tied after all 6 criteria share the same rank with isTied=true.
Includes RankingScoreBreakdown for transparent per-criterion scoring.
11 unit tests covering each criterion as tiebreaker, full ties,
edge cases (empty/single preset, no nodes, failed presets).
Validated: spotlessApply, allTests, kmpSmokeCompile
2026-05-20 17:09:08 -05:00
James Rich
5792e09989
feat(discovery): align state machine with spec, add deep links, fix tests
...
- Add Preparing, Cancelling, Failed states to DiscoveryScanState (FR-008)
- Change Complete to data class with CompletionOutcome enum
- Add local-mesh-discovery deep link routes to DeepLinkRouter (FR-031)
- Compute packetSuccessRate/packetFailureRate in scan engine (FR-012)
- Fix DiscoveryScanEngineTest compilation and restructure with shared scheduler
- All 8 tests pass, kmpSmokeCompile clean
2026-05-20 17:09:08 -05:00
James Rich
4c588b73f8
fix(settings): rename UDP toggle label for cross-platform audit alignment ( #5549 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-20 21:51:29 +00:00
James Rich
676be26460
Remove admin_channel_enabled toggle from Security Config screen ( #5547 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-20 21:14:45 +00:00
James Rich
fc0df1a79a
feat(docs): In-app documentation browser with Jekyll site and Docusaurus sync ( #5445 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 04:00:22 +00:00
James Rich
f5128798a8
feat: adopt Material 3 Expressive design system (M3-native APIs only) ( #5479 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-19 01:10:47 +00:00
James Rich
f4b6b02ace
refactor(build): rename entry modules and remove DESKTOP_ONLY mode ( #5476 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-18 12:44:12 +00:00
Ben Meadors
a04a261b80
feat: TAK v2 protocol integration with zstd compression and full CoT type support ( #5434 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: jamesarich <2199651+jamesarich@users.noreply.github.com >
Co-authored-by: James Rich <james.a.rich@gmail.com >
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-14 12:50:01 +00:00
James Rich
73469b415e
chore: clean up brownfield specs and migrate to timestamp naming ( #5432 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-12 14:22:13 -05:00
James Rich
85c840de32
feat: add Compose Preview Screenshot Testing infrastructure ( #5410 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-12 02:18:23 +00:00
James Rich
95c3bc0bce
Brownfield gap remediation: 28 tasks + intro commonMain migration ( #5401 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-11 20:10:23 +00:00
James Rich
0d195ead53
docs: Update specs and governance for Android M3 accessibility ( #5392 )
2026-05-09 15:13:51 -05:00
James Rich
c0d95d6ac4
docs(specs): add feature specs for discovery, node-list-layout, and app-docs ( #5388 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-07 16:16:58 -05:00