1.1 KiB
ADR-0034: Retention and dependency-aware cleanup
Status
Accepted in M12 on 2026-08-26.
Context
Unused-looking model bytes may still back a deployment, rollback, evaluation, project, migration or another node. Immediate deletion after promotion destroys recoverability and provenance.
Decision
RetentionPolicy is revisioned; prior stable targets receive a minimum rollback window. Deprecation, archive and physical removal are separate. Cleanup always begins with a dependency-digest dry-run, requires explicit operator execution and rechecks dependencies transactionally. Location removal is node-specific and records prior facts; metadata/provenance remain.
Consequences
Storage recovery may be delayed by valid dependencies or retention. Cleanup races return stale/409 instead of deleting. Multiple node copies are reconciled independently and audit remains queryable.
Rejected alternatives
- Age-only automatic cleanup: cannot see active or rollback dependencies.
- Cascading deletes: erases evidence and makes blast radius implicit.
- Treating one removed location as global deletion: is incorrect in a multi-node registry.