Skip to content

Retention 0.1.0 (community) - #13

Closed
connorjfarrell wants to merge 1 commit into
TrunkRecorder:mainfrom
connorjfarrell:retention-0.1.0
Closed

connorjfarrell wants to merge 1 commit into
TrunkRecorder:mainfrom
connorjfarrell:retention-0.1.0

Conversation

@connorjfarrell

Copy link
Copy Markdown

Adds Retention 0.1.0: it deletes the oldest calls from the recordings folder once they are older than a set age, the folder is bigger than a set size, or it is more than a set share of its disk. It replaces the built-in retention I proposed in TrunkRecorder/trunk-recorder-pro#26, as a plugin instead of core code.

  • What it touches: only a call's own files (.wav, .m4a, .json, .frames.jsonl, .sdr) under the recordings folder the recorder gives it, all of a call's files together, oldest first. A call changed in the last ten minutes is never deleted. It refuses a root or missing folder and doesn't follow links. It sends no data anywhere.
  • Safe to try: a Dry run setting reports what it would delete without deleting. With no limit set, it deletes nothing and says so.
  • Subscribes to call.concluded only to run a pass early on a busy recorder.
  • Checked: ./check plugins/retention.json passes; the release workflow built all four platforms with attestations. 16 tests, clippy -D warnings and fmt are clean. I have run it on a live recorder with a real recordings folder, including a dry run over about 208,000 calls.

Draft until I've had a chance to run an automated review.

🤖 Generated with Claude Code

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@connorjfarrell

Copy link
Copy Markdown
Author

Closing: rebuilt from a rewritten release; a new PR follows.

@connorjfarrell
connorjfarrell deleted the retention-0.1.0 branch October 28, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant