docs(cr-2026-04-22): add release-blocker issue tracker at docs/issues/
Captures the 12 items from docs/code-review-2026-04-22.md that must land before v0.1 ships. One markdown file per issue with: severity, path:line, problem description, acceptance criteria, fix scope, and dependency graph. Split by severity: - 3 CRITICAL: live-session race, migration atomicity, transcript- profile FK - 9 MAJOR: monolith refactor, channel-fatality, capture worker join, runtime capabilities, macOS App Nap, decoder error prop, LLM prompt preflight, keystore thread-safety, hotkey device filter README.md indexes them with a fix-order dependency graph and a fish-shell script for bulk-converting to GitHub issues once `gh` CLI is installed and authed. Deferred step by user decision — markdown tracker is authoritative until then.
This commit is contained in:
27
docs/issues/run-live-session-monolith.md
Normal file
27
docs/issues/run-live-session-monolith.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# RB-04 MAJOR: run_live_session is a 200+ line multi-responsibility monolith
|
||||
|
||||
**Severity:** MAJOR
|
||||
**Path:** `src-tauri/src/commands/live.rs:349-579`
|
||||
**Source:** [2026-04-22 code review](../code-review-2026-04-22.md)
|
||||
**Labels:** release-blocker, major, refactor, concurrency
|
||||
|
||||
## Problem
|
||||
|
||||
`run_live_session` owns mic startup, runtime error draining, resampling, progressive WAV persistence, overload dropping, inference scheduling, and shutdown/finalisation in one 200-line function. The state machine is spread across mutable locals — hard to audit, hard to reason about under concurrency, and already contributing to lifecycle bugs nearby (RB-01, RB-05, RB-06).
|
||||
|
||||
## Acceptance
|
||||
|
||||
- Split into focused types / functions: capture setup, streaming state, inference scheduler, WAV writer lifecycle, shutdown handler.
|
||||
- Each function ≤ 30 lines, single responsibility.
|
||||
- State machine explicit — not implicit in the interleaved mutable locals.
|
||||
- Lock discipline documented: what must be held when, across what `await` boundaries.
|
||||
- Existing behaviour preserved — 193 workspace lib tests still green; manual dogfood smoke test of a 30-second live dictation.
|
||||
|
||||
## Fix scope
|
||||
|
||||
Large. Probably one dedicated session.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- **Unblocks:** RB-01 (live session race fix becomes tractable once the state machine is small).
|
||||
- **Related:** RB-05, RB-06 (both lifecycle bugs in the same function).
|
||||
Reference in New Issue
Block a user