{ "_comment": [ "THE retention number for published agent artifacts. One file, read by everything that", "depends on it, because a check and the policy it enforces must read the same number from the", "same place or they drift — and the drift looks like a defect in something else.", "", "WHAT WENT WRONG WITHOUT IT (2026-08-08/09). The registry stopped serving felhom-agent", "0.120.0 and older, while scripts/check-published-versions.py demanded that EVERY git tag", "still be downloadable. Both rules are individually sensible; together they are impossible.", "CI went red at a commit whose own run had been green the day before, on a true finding that", "no one could act on. The red will return at the next publish unless the two read one number.", "", "HOW THE NUMBER WAS ARRIVED AT — stated honestly, because it is weaker than it looks.", "generic_versions_kept is 10 because that is what the registry demonstrably holds today", "(felhom-agent 0.121.0..0.128.0 = 10 versions, queried 2026-08-09). It is an OBSERVED state,", "NOT a ruling anyone has been able to locate: no register row records a package prune, R-210", "is WAITING-ON-OPERATOR and says 'Nothing was deleted; this is a list, not an action', and it", "concerns local Docker images rather than this registry. Container packages currently hold 19", "each, so there is no uniform ten-per-package cap visible either. See R-287.", "", "SO THIS FILE IS A FLOOR, NOT A LICENCE. It says: CI may assume nothing older than the newest", "N generic versions is still downloadable. It does NOT authorise deleting anything, and the", "operator should confirm or replace the number — at which point this file changes and both", "readers follow it in the same commit.", "", "THE DEEPER BOUND, recorded so a future session does not have to re-derive it: the principled", "limit is the hub's vouched min_agent floor (0.127.0 on 2026-08-09). Nothing can install an", "agent below it — the hub refuses to vouch one and boxes update to the floor — so a released", "version below the floor being un-downloadable costs nothing real. Bounding on the floor would", "be better than bounding on a count, and it needs the gate to read the hub, which is network", "the gate does not have today. Filed as the follow-up in R-287.", "", "NEVER retire a git TAG to satisfy this. felhom-host-install.sh fetches an agent's config", "files from raw/tag/v/configs/, so deleting a tag retires the ability to install that", "version at all — a strictly worse act than an un-downloadable binary." ], "generic_versions_kept": 10, "readers": [ "scripts/check-published-versions.py — bounds its assertion to the newest N versions", "documentation/runbooks/registry-retention.md (felhom.eu) — the prune procedure" ], "recorded": "2026-08-09", "recorded_by": "CC, from the registry's observed state; NOT from a located operator ruling" }