title: SQLite session and transcript durability scenario: id: session-transcript-sqlite-durability surface: runtime category: session-memory.transcript-persistence coverage: primary: - session-memory.transcript-persistence - session-memory.durability objective: Prove canonical SQLite session and transcript state survives migration, rollback restore, restart, contention, concurrent clients, and destructive lifecycle operations. successCriteria: - Startup import and doctor inspect, validate, rollback restore, and idempotence checkpoints preserve canonical SQLite state. - Gateway restart and post-restart append retain the expected transcript history. - SQLite busy contention and concurrent clients commit consistent session and transcript events. - Cleanup, reset, and delete checkpoints remove targeted state while required transcript archives remain preserved. docsRefs: - docs/concepts/session.md - docs/reference/session-management-compaction.md codeRefs: - src/config/sessions/session-accessor.ts - src/config/sessions/cleanup-service.ts - test/helpers/sqlite-sessions-transcripts-flip-proof.ts - test/scripts/sqlite-sessions-transcripts-flip-proof.e2e.test.ts execution: kind: vitest path: test/scripts/sqlite-sessions-transcripts-flip-proof.e2e.test.ts summary: Run the existing isolated Gateway lifecycle proof across migration, restart, append, contention, cleanup, reset, delete, archive, and concurrent-client checkpoints.