Skip to main content
← 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 when autoDefinitions is set.
  • reference/operational-commands.md, swamp run gc: --older-than is described as overriding the .swamp.yaml defaults, but it never applies to autoDefinitions. The JSON output table also lacks autoDefinitionsDeleted and autoDefinitions ([{name, type}]), and the preview lacks autoDefinitionsToDelete and autoDefinitions.
  • 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.autoDefinitions section in repository-configuration.md, beside data, audit and bookkeeping:
    • 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 (modelIdOrName or modelName), 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 data retention 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.
  • 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○TRIAGED○IN PROGRESS○SHIPPED

Open

11/10/2026, 3:19:30 AM

No activity in this phase yet.

03Sludge Pulse

Sign in to post a ripple.