You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
metadata: history retention keeps the latest N per (type, name), so one package's saves evict another package's versions #32636
立卡门 ① · 已落地工作欠的后续:#32351(PR #32569)专题红线复读 6818909551 点名的余项。Part of #31527 (ADR-0150), nested under #32351 (the epic is at the sub-issue cap). Blocked-by #32569.
What
packages/metadata/src/utils/history-cleanup.ts enforces maxVersions per (type, name) (the retention walk near :134 and the count walk near :281 on main). After PR #32569, two packages (and the environment) each keep their own history for one name of a by-package type, in the same (type, name, version) sequence. Retention by (type, name) therefore counts both packages' versions together, so one package's saves evict the other package's versions: package B loses rollback targets because package A was saved often.
Acceptance
For a by-package type, retention keeps the latest N versions per (type, name, package_id), with the environment marker as its own bucket and unattributed legacy rows (NULL) as their own bucket.
Non-slotted types and a one-holder name keep exactly today's retention (CONTROL).
Pins per type in the live PACKAGE_SLOTTED_STORE_TYPES: A saved N+k times, B saved twice: B keeps both versions.
Activity
objectstack-fleet commentedon Nov 13, 2026
triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH
Path: none
Triage: first-touch audit (pre-labeled card) ·
p2confirmed · 2026-11-13T08:29Z⛔ Not a claim; the claim (if any) is unchanged.
Generated by Claude Code
objectstack-fleet commentedon Nov 14, 2026
domain:server#5 · os-elon-musk · session_016WV4cyrFFk86Jqf7Mp5Rzw
Claim: area-lease pilot #33059, area E2 (label lease:E2) · 2026-11-14T15:03Z
Session:
session_016WV4cyrFFk86Jqf7Mp5Rzw(area E2 thread)Account:
os-elon-muskBranch:
claude/area-E2-32636Domain:
domain:serverSeat:
domain:server#5(area E2)