From the 2026-07-24 fleet spec (memory/specs/2026-07-24-fleet-repo-migration-credential-resilience.md, H1), after the NimbleCoAI→NimbleCoOrg transfers broke the nimbleco agent for a week.
Problem
"Where does repo X live" is currently encoded in dozens of places — container git remotes, egregore.json entries, skills, compose files. A transfer means hunting all of them; missing one means silent breakage discovered mid-conversation.
Proposal
One HSM-owned table: logical name → {owner, repo, visibility, moved_from[]}. Agents' egregore.json / skills reference logical names where possible; boot provisioning resolves through the registry. A transfer becomes: edit one row → fleet converges on next boot (the runtime side is hermes-agent-mt R1 converge-on-boot + R2 redirect-following, filed as NimbleCoOrg/hermes-agent-mt#115 and #116).
Acceptance
- Registry table with owner/repo/visibility/moved_from, editable via HSM.
- Boot provisioning (fleet re-provision path) resolves repo locations through it.
moved_from[] preserved so the docs/skills cleanup sweep (spec H3) can grep for stale refs.
From the 2026-07-24 fleet spec (
memory/specs/2026-07-24-fleet-repo-migration-credential-resilience.md, H1), after the NimbleCoAI→NimbleCoOrg transfers broke the nimbleco agent for a week.Problem
"Where does repo X live" is currently encoded in dozens of places — container git remotes, egregore.json entries, skills, compose files. A transfer means hunting all of them; missing one means silent breakage discovered mid-conversation.
Proposal
One HSM-owned table: logical name →
{owner, repo, visibility, moved_from[]}. Agents' egregore.json / skills reference logical names where possible; boot provisioning resolves through the registry. A transfer becomes: edit one row → fleet converges on next boot (the runtime side is hermes-agent-mt R1 converge-on-boot + R2 redirect-following, filed as NimbleCoOrg/hermes-agent-mt#115 and #116).Acceptance
moved_from[]preserved so the docs/skills cleanup sweep (spec H3) can grep for stale refs.