chore: close out P1 findings

Resolve all three P1 items: per-operation DB sessions, ServiceError
user-facing failures, and user_version schema migrations. Add the
implementation plan doc.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-06-10 19:31:58 -04:00
parent 98ea8a1a5c
commit c29d862774
2 changed files with 1248 additions and 3 deletions
-3
View File
@@ -1,6 +1,3 @@
P1: One long-lived SQLAlchemy session is shared across Textual workers and the 3-second poller, creating concurrency and stale-state risk.
P1: Missing session rows or stale harness rows can crash service methods instead of returning user-facing errors.
P1: Database setup uses `Base.metadata.create_all` only, so existing user databases will not be migrated when schema changes.
P2: Codex session-id capture is heuristic and can store the wrong rollout if another Codex session starts in the same project during the retry window.
P2: tmux behavior is mostly tested with mocks; add isolated real-tmux smoke tests for theming, new windows, respawn, and labels.
P2: Project paths are accepted without existence validation, so bad paths become dead sessions later instead of being rejected early.
File diff suppressed because it is too large Load Diff