docs: Add post-implementation review fixes section to roadmap
Systematic review found 7 bugs across 7 repos: 1. LysnrAI Android: SettingsStore.kt incorrectly deleted (ada3d43) 2. Android kill switch: result.killed → result.disabled (3 repos) 3. Auth App iOS: BLKillSwitchClient.check() returns Void (215e7c9) 4. ChronoMind iOS: nonexistent BLKillSwitchResult (d3c3aff) 5. MindLyst iOS: KillSwitch + CrashReporter wrong API (cd78597) 6. JarvisJr iOS: KillSwitchResponse decoded 'killed' not 'disabled' (2a3cc7e) 7. NoteLett Mobile: createDiagnosticsClient doesn't exist (0b5c224)
This commit is contained in:
parent
76e05f836a
commit
2eadf480dc
@ -1,9 +1,9 @@
|
||||
Last refresh: 2026-03-21T00:06:30Z (2026-03-20 17:06:30 PDT)
|
||||
Cascade conversations: 50 (409M)
|
||||
Last refresh: 2026-03-21T06:00:10Z (2026-03-20 23:00:10 PDT)
|
||||
Cascade conversations: 50 (411M)
|
||||
Memories: 91
|
||||
Implicit context: 20
|
||||
Code tracker dirs: 100
|
||||
File edit history: 3324 entries
|
||||
Workspace storage: 36 workspaces
|
||||
Code tracker dirs: 132
|
||||
File edit history: 3365 entries
|
||||
Workspace storage: 35 workspaces
|
||||
Repo docs: 7 files across 2 repos
|
||||
Repo workflows: 43 files across 10 repos
|
||||
|
||||
@ -452,3 +452,50 @@ Week 4 (LOW priority + cleanup):
|
||||
- **TextCleanupService** (LysnrAI) and other LLM-specific services that use URLSession for OpenAI/Azure calls are intentionally product-specific and should NOT be migrated to platform SDK.
|
||||
- **CertificatePinning** is a security feature that may need to stay product-specific. Evaluate during Phase 4/6 whether it's worth adding to the SDK.
|
||||
- **LysnrAI Android `AuthViewModel`** is intentionally kept hand-rolled (DataStore, keyboard bridging, CloudSync integration are too LysnrAI-specific for `BLAuthClient`). This is a conscious design decision, not a gap.
|
||||
|
||||
---
|
||||
|
||||
## Post-Implementation Review Fixes (2026-03-21)
|
||||
|
||||
Systematic review of all 9 phases found **7 bugs** across 7 repos. All fixed and pushed.
|
||||
|
||||
### Bug 1: LysnrAI Android — SettingsStore.kt incorrectly deleted
|
||||
|
||||
- **Root cause:** Phase 4 grep for callers searched by class name `SettingsStore`, but callers import `SettingsKeys` and `settingsStore` (top-level extension property).
|
||||
- **Impact:** 5 files with broken imports (SettingsScreen, RecordViewModel, RecordScreen, AuthViewModel, SessionDetailScreen).
|
||||
- **Fix:** [`ada3d43`](https://github.com/saravanakumardb1/learning_voice_ai_agent/commit/ada3d43) — restored SettingsStore.kt.
|
||||
|
||||
### Bug 2: Android kill switch — `result.killed` should be `result.disabled`
|
||||
|
||||
- **Root cause:** `BLKillSwitchClient.KillSwitchResult` uses `disabled: Boolean`, not `killed`. Code was written without verifying SDK API.
|
||||
- **Impact:** Kill switch never triggered on Auth App, JarvisJr, ChronoMind Android.
|
||||
- **Fix:**
|
||||
- Auth App: [`bf518fd`](https://github.com/saravanakumardb1/learning_ai_auth_app/commit/bf518fd)
|
||||
- JarvisJr: [`dddb11c`](https://github.com/saravanakumardb1/learning_ai_jarvis_jr/commit/dddb11c)
|
||||
- ChronoMind: [`151d836`](https://github.com/saravanakumardb1/learning_ai_clock/commit/151d836)
|
||||
|
||||
### Bug 3: Auth App iOS — BLKillSwitchClient.check() returns Void
|
||||
|
||||
- **Root cause:** Swift `BLKillSwitchClient.check()` sets `isDisabled`/`maintenanceMessage` as instance properties. Code treated it as returning a result struct.
|
||||
- **Also:** `BLFeatureFlagClient` uses `start()` not `poll()`.
|
||||
- **Fix:** [`215e7c9`](https://github.com/saravanakumardb1/learning_ai_auth_app/commit/215e7c9)
|
||||
|
||||
### Bug 4: ChronoMind iOS — KillSwitchService returned nonexistent BLKillSwitchResult
|
||||
|
||||
- **Root cause:** Same as Bug 3. `BLKillSwitchResult` type doesn't exist in the Swift SDK.
|
||||
- **Fix:** [`d3c3aff`](https://github.com/saravanakumardb1/learning_ai_clock/commit/d3c3aff) — expose `isDisabled`/`maintenanceMessage` as computed properties.
|
||||
|
||||
### Bug 5: MindLyst iOS — KillSwitchService + CrashReporterService wrong API
|
||||
|
||||
- **Root cause:** KillSwitchService same as Bug 4. CrashReporter takes `productId: String`, not `config: BLPlatformConfig`. Also `@MainActor` + `NSObject` subclass needs lazy init.
|
||||
- **Fix:** [`cd78597`](https://github.com/saravanakumardb1/learning_multimodal_memory_agents/commit/cd78597)
|
||||
|
||||
### Bug 6: JarvisJr iOS — KillSwitchResponse decoded `killed` (doesn't exist in server response)
|
||||
|
||||
- **Root cause:** Pre-existing bug. Platform-service returns `{ disabled: Bool }` but hand-rolled `KillSwitchResponse` decoded `killed`, which is always nil/false.
|
||||
- **Fix:** [`2a3cc7e`](https://github.com/saravanakumardb1/learning_ai_jarvis_jr/commit/2a3cc7e)
|
||||
|
||||
### Bug 7: NoteLett Mobile — `createDiagnosticsClient` doesn't exist
|
||||
|
||||
- **Root cause:** `@bytelyst/diagnostics-client` exports `DiagnosticsClient` class with `getInstance()` singleton, not a factory function.
|
||||
- **Fix:** [`0b5c224`](https://github.com/saravanakumardb1/learning_ai_notes/commit/0b5c224)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user