{ "schema_version": 1, "rules": [ { "glob": "docs/orchestration-audit/auditor-reports/S*-report.md", "lifetime": "delete-once-served", "served_when": "The run's synthesis findings doc (docs/orchestration-audit/-findings.md) has been written and verified; these per-session reports are the raw inputs it condenses.", "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "calibration pass #2 (2026-07-15)", "note": "Per-session raw auditor reports condensed by the run's synthesis findings doc; delete-once-served is always confirm-tier (ADR-0039)." }, { "glob": "plugins/*/HANDOFF-*.md", "lifetime": "delete-once-served", "served_when": "The handoff it describes has been picked up and its follow-on work completed in a later session.", "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "calibration pass #1 (lifecycle-aware-doc-hygiene)", "note": "Classifier-judged served_when \u2014 always confirm-tier by ADR-0039; never auto-deleted." }, { "glob": "autoresearch/classic-*/", "lifetime": "temporary", "retain_recent": 3, "max_age_days": 30, "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "calibration pass #1 (lifecycle-aware-doc-hygiene); narrowed from autoresearch/*/ 2026-07-15", "note": "Autoresearch run directories are disposable run output; keep the 3 newest, age out the rest. Narrowed to conventional prefixes so autoresearch/ can hold keep-worthy content." }, { "glob": "autoresearch/improve-*/", "lifetime": "temporary", "retain_recent": 3, "max_age_days": 30, "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "calibration pass #1 (lifecycle-aware-doc-hygiene); narrowed from autoresearch/*/ 2026-07-15", "note": "Autoresearch run directories are disposable run output; keep the 3 newest, age out the rest. Narrowed to conventional prefixes so autoresearch/ can hold keep-worthy content." }, { "glob": "docs/orchestration-audit/factsheets/*.md", "lifetime": "temporary", "retain_recent": 10, "max_age_days": 90, "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "calibration pass #1 (lifecycle-aware-doc-hygiene)", "note": "Regenerable precompute for the orchestration IRL audit; the audit skill rebuilds them on each run." }, { "glob": "openspec/changes/archive/*/", "lifetime": "temporary", "retain_recent": 3, "max_age_days": 90, "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "conversation 2026-07-15 (openspec lifecycle rules)", "note": "Archived change dirs are redundant once synced into specs/ and stay recoverable from git history; age out after a quarter." }, { "glob": "plugins/*/.pytest_cache/", "lifetime": "temporary", "retain_recent": 0, "max_age_days": 7, "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "calibration pass #1 (lifecycle-aware-doc-hygiene)", "note": "Regenerable pytest cache. Judge noted a .gitignore entry may be preferable long-term." }, { "glob": "plugins/*/openspec/changes/archive/*/", "lifetime": "temporary", "retain_recent": 3, "max_age_days": 90, "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "conversation 2026-07-15 (openspec lifecycle rules)", "note": "Archived change dirs are redundant once synced into specs/ and stay recoverable from git history; age out after a quarter." }, { "glob": "openspec/specs/**", "lifetime": "keep", "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "conversation 2026-07-15 (openspec lifecycle rules)", "note": "Live OpenSpec capability specs \u2014 source of truth future changes diff against; never age out." }, { "glob": "plugins/*/openspec/specs/**", "lifetime": "keep", "confirmed_by": "human", "confirmed_on": "2026-07-15", "source": "conversation 2026-07-15 (openspec lifecycle rules)", "note": "Live OpenSpec capability specs \u2014 source of truth future changes diff against; never age out." } ] }