An expired transcript goes to the bin first, with a grace period, a warning and Restore (#680) #1005
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/680-transcript-bin"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #680. The warning before saving a shorter window was already built; this is the safety net behind it.
What changes
Until now the nightly sweep destroyed an expired transcript outright. Now:
sessions.transcript_trashed_atis stamped; the words stay where they are.audio_trash_retention_days, one number for both). Only after that is it destroyed, exactly as before: the text, its segment rows and the extract cache. Summaries, highlights and wiki pages are untouched.POST /api/sessions/{id}/transcript/restore, audited).While a transcript is in the bin
retention.readable_transcript()is the one check. A binned transcript is withheld from the session payload (a GM is told it is in the bin and until when), both transcript searches, the transcript tools, every model prompt, and the campaign export; an import of a session marked binned brings no transcript. An approved summary stays as written.tests/test_transcript_bin_readers.pyis an allowlist in the style of the wiki's: a new raw read of a transcript underapp/fails until it is classified.Member erasure reads the raw column on purpose: it scrubs a binned transcript exactly like a live one, and moves no clock (#798's lesson).
Migration
b680d1e2f3a4ona798c0d1e2f3: two nullable timestamps,transcript_trashed_atandtranscript_deletion_warned_at. No backfill. Downgrade drops both. Single head.Screens
Decisions taken in the build
Checked
CampaignSettingsRecording.test.jsx.coverage/lane*.pypass. No bot API change.Left for later
The prototype pages still draw the old "no bin" wording (
lane1c,lane2b,lane7,lane8), andwebapp/CLAUDE.mdstill says the sweep has three passes; it has four.🤖 Generated with Claude Code