Release 2.1.260 (2026-10-23)¶
Features¶
- add intake and planning standing epics, queue homes, and the legitimate-top-level predicate (#3476)
-
drain closed intake and planning children into per-quarter archives (#3477) Parameterize the archive-and-drain helpers by StandingKind, keyed by (home, name): archive_title, ensure_standing_archive, the per-kind archive recognizer, segment discovery, the write head, and the batch and single-child drains. Closed children of the intake and planning epics now drain into 'Archive (intake|planning):
— YYYY-Qn' (labels archive + intake/planning) under the existing 95-child segment cap, both on the rollup event path (drain_standing_child) and in vrg-epic-audit --close and its preview (drain_standing_org, covering .github and every private self-home). Ad-hoc titles, labels, bodies and home resolution are unchanged; the ad-hoc entry points are now thin wrappers. Ref #3469 -
retire packages from the index by name ([retention].retire) (#3483)
- feat(package-index): retire packages from the index by name ([retention].retire)
Add an optional [retention].retire list of exact package names to packages.toml. Retired packages are dropped for every format and arch before the dependency closure, and a kept artifact that still depends on a retired name fails the index build. Ref #3479
-
test(package-index): wrap the long retire fixture line in the site test
-
purge obsolete vergil-python runtimes on vrg-vm update (#3485)
- feat(vm): purge obsolete vergil-python runtimes on packaged install
After a successful packaged install, purge the vergil-python* runtimes that are auto-installed and that apt itself would autoremove (apt-get -s autoremove), with one explicit apt-get purge. Never a blanket autoremove. A purge failure is fatal; a failed install purges nothing. Ref #3480
- test(vm): wrap long purge assertion to satisfy ruff
CI Evidence: All gates passed — full audit bundle available. Download →