feat(lib): SQLite DB normalization (FW-L3) & stop semantics simplification (FW-L2)

This commit is contained in:
2026-06-21 09:05:15 +00:00
parent 478be56679
commit 8097df0cbe
11 changed files with 324 additions and 200 deletions
@@ -31,12 +31,12 @@ Three cases this skill handles:
### Resuming a `stopped` session (`stopped → running`)
When a session was ended via `tmux-agent-orchestrate-stop --capture-id` (STOP
mode), its row is `status: stopped` with `resumable: true` and the conversation id
When a session was ended via `tmux-agent-orchestrate-stop` (which captures the ID and gracefully stops by default),
its row is `status: stopped` with `resumable: true` and the conversation id
already recorded in `claude_session_id_own` / `agy_conversation_id_own`. This is the
ideal resume path:
- **tier-1, race-free**: because `--capture-id` wrote the id into the row at stop
- **tier-1, race-free**: because the stop command wrote the id into the row at stop
time, `resolve_session_id.sh` resolves it via `find_workspace_uuid` tier-1 (the
per-row own id) — no reliance on the mtime-based disk scan, so a concurrent
session in another workspace can never shadow it.