← Back to list
01Issue
FeatureOpenSwamp ClubPublic
AssigneesNone
Relationships
#4572 Docs: document garbageCollection.autoDefinitions and the run gc changes from swamp-club#4299
Opened by stack72 · 11/10/2026
swamp-club#4299 (PR swamp-club/swamp#3703) added an opt-in garbageCollection.autoDefinitions: <duration> key. It removes idle auto-definitions in the automatic retention passes and in swamp run gc. The manual doesn't cover it, and three passages are now inaccurate.
Now inaccurate:
reference/repository-configuration.md,garbageCollection→ "Never removed" lists "Definitions, vaults and.swamp.yaml". Auto-definitions are removed whenautoDefinitionsis set.reference/operational-commands.md,swamp run gc:--older-thanis described as overriding the.swamp.yamldefaults, but it never applies toautoDefinitions. The JSON output table also lacksautoDefinitionsDeletedandautoDefinitions([{name, type}]), and the preview lacksautoDefinitionsToDeleteandautoDefinitions.reference/behavior-definitions.md,.swamp/auto-definitions/: it implies these files are kept for good. It should say they can be removed by retention.
To add:
- A
#### garbageCollection.autoDefinitionssection inrepository-configuration.md, besidedata,auditandbookkeeping:- It is opt-in only and never set by the shared
retention. - It removes an auto-definition only when its type is not exempt, it has no data versions and no method outputs, no workflow names it literally (
modelIdOrNameormodelName), and its file is older than the cutoff. - Data and outputs are the real idle signal, so a definition's data and outputs must expire first. Usually that means
dataretention is set as well. - Removing one discards global arguments set with
swamp behavior edit, and the next run by name creates a new definition with a new id. - Workflow steps named by an expression, and per-worker lane definitions, are not protected by the reference check.
- A run that looked a definition up before retention removed it fails with
definition_changed_under_lock; running it again succeeds.
- It is opt-in only and never set by the shared
how-to/operational-tasks/configure-retention.md: a short opt-in step after "Opt in to data retention", for repositories where each workflow run gets its own behavior name.explanation/data-lifetimes.md, "Repository retention": one line on why auto-definition removal is opt-in.
In-repo reference: design/surfaces/repo.md (Retention, "Auto-definitions").
02Bog Flow
Open
No activity in this phase yet.
03Sludge Pulse
Sign in to post a ripple.