You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The conversion reaper (PR #38) only deletes pristine (never-resumed) convert_session artifacts. The growth guard deliberately protects any fork that was resumed — growth_exceeded() is true the moment new turns are appended — and the reaper inherits that protection. Both delete_conversions and the reaper refuse grown forks.
Consequence: a fork that was resumed once and then abandoned is protected permanently. There is no path, manual-tool or automatic, that ever removes a grown conversion artifact. They accumulate without bound.
Why this is harder than the pristine case
A pristine fork is a pure copy of an untouched source — deleting it loses nothing (regenerable). A grown fork contains a unique tail of turns that were appended only there (the source is never modified). Deleting one destroys conversation that exists nowhere else. So this isn't garbage collection — it's a retention/pruning decision with real data-loss stakes.
Observed today
5 grown conversion artifacts on disk under bluetaka, all currently recent. The growth guard correctly keeps them while they're active; the gap is what happens when they go cold and stay cold.
Breadcrumbs (not a prescription)
growth_exceeded() answers "was it ever resumed," not "is it still alive."
Possible liveness signals to consider: last-activity age (the file stopped growing), and whether the parent session the fork lives under still exists on disk.
Problem
The conversion reaper (PR #38) only deletes pristine (never-resumed)
convert_sessionartifacts. The growth guard deliberately protects any fork that was resumed —growth_exceeded()is true the moment new turns are appended — and the reaper inherits that protection. Bothdelete_conversionsand the reaper refuse grown forks.Consequence: a fork that was resumed once and then abandoned is protected permanently. There is no path, manual-tool or automatic, that ever removes a grown conversion artifact. They accumulate without bound.
Why this is harder than the pristine case
A pristine fork is a pure copy of an untouched source — deleting it loses nothing (regenerable). A grown fork contains a unique tail of turns that were appended only there (the source is never modified). Deleting one destroys conversation that exists nowhere else. So this isn't garbage collection — it's a retention/pruning decision with real data-loss stakes.
Observed today
5 grown conversion artifacts on disk under
bluetaka, all currently recent. The growth guard correctly keeps them while they're active; the gap is what happens when they go cold and stay cold.Breadcrumbs (not a prescription)
growth_exceeded()answers "was it ever resumed," not "is it still alive."conversion_age_seconds()(PR feat(cc-explorer): lifespan reaper for pristine conversion artifacts #38) readsconverted_at; a last-activity variant would read the final body timestamp / mtime.Deferred from PR #38.