# 2026-07-07 ## Version retention rollout — deploy repo merged Closed the retention plan's rollout leg. Chain of merges today/yesterday: monorepo #236 (store core) → #237 (gate binary) → #238 (auto pin bump) → #239 (guidance + tools 0.8.1 repin) → #240 (agent publishes /graph.md and hash indexes with retention=20 — the gap found during rollout prep: the cluster's graph publisher is the crawl agent, not the MCP tools, so #236 alone would never have cleared the backlog). Deploy repo PR bumps worlds to server 0.20.0 (retention core), broker to 0.9.0 (retention tool surface; broker versions now track tools releases), agent to 0.19.0 (agent versions now track client releases — jumped from 0.13.1). Also: em dashes removed from all retention user-facing strings and the rule recorded in /conventions.md (no em dashes in CLI help, errors, prompts, tool descriptions). CodeRabbit round on #240 fixed -publish-retention silently swallowing values below -1 (now fails loudly). Verification baseline before the roll: mark://root/graph.md at 554 versions (agent publishes hourly at :53), chain-valid: true. Expected after ArgoCD syncs and the agent pod rolls: the first hourly publish prunes 534 versions in one write (the designed unbounded backlog prune), VERSIONS shows 21 (newest 20 + the new one), the root world logs a msg=prune audit line with pruned_from=1, and chain-valid stays true for the retained suffix. Check with mark_versions on the knowledge system.