Rename the specgen binary to umbra-shroud, and migrate both package managers so hosts actually move #295
Labels
No labels
burndown-2026-06
sunday-sprint
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
coherence-core
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
qa-fixture
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilyco-flight-deck/umbra#295
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Filed by Darren (director seat) at Kai's direction, 2026-08-16. Her name choice, my inventory.
The name
specgenbecomesumbra-shroud. Theumbra-prefix makes the relationship discoverable without a footnote: this binary ships fromumbra/cmd/, and nothing in the current name says so.Two problems the current name has beyond that:
specis overloaded four ways.spec(the swagger input),specgen(this binary),specverb(the lock and half the docs), and.specgen/(the guardfile project root) all mean different things. Working out whetherspecverb.lockpinned the spec or the engine cost real time tonight. Any replacement keepingspeckeeps that collision.genundersells it. The binary doesgen,lock,skew,buildandrun. Drift detection is arguably its best feature and the name hides it.This is a binary rename, not a repo rename
Worth stating up front because it changes the cost. Umbra keeps its name and its URL. There is no repo transfer, no redirect, and no mark to redraw, so this does not belong in
coilysiren/inbox#351's blocked-on-renames list the waycli-guardandward-mcpdid.Inventory, checked rather than estimated
cmd/specgen, sixdocs/specgen-*.md, README, FEATURESSPECGEN_BINenv, three ward verbs (aosguard-lock,aosguard-build,aosguard-run), and the.specgen/directory nameFormula/specgen.rbbucket/specgen.jsonThe part that will bite: it is shipped on two package managers
A formula rename with no migration path means
brew upgrademoves nobody. Every host keeps a binary calledspecgen, stops receiving updates, and nothing says so. The standing rule is to wait for the release pipeline on every host, and a rename without migration quietly makes that rule unsatisfiable.So the rename is not done when the code renames:
oldnameor alias so an installedspecgenmigrates on upgrade rather than being orphaned.bucket/specgen.json.specgenshould end up withumbra-shroudwithout a human uninstalling anything.Fix the residue from the last rename in the same pass
specverb.lockcurrently carries:That field holds the umbra version, under the name the project had two renames ago.
cli-guardno longer exists as a repo. If this rename lands without touching that field, the lock misdescribes itself in two directions at once.That is also the lesson this rename should learn from: the previous one moved the repo and left its old name in a schema, where it has been quietly wrong ever since. Renames here leave residue, so the inventory is part of the work rather than a follow-up.
Do
cmd/specgentocmd/umbra-shroud, and the sixdocs/specgen-*.mdpages with it.specverb.lockfromcliGuardto something naming umbra, with whatever compatibility the loader needs to read an existing lock.SPECGEN_BIN, the three ward verbs, and a decision on whether.specgen/moves too. It is a directory name in a tracked path, so moving it is a wider diff than the rest combined and might reasonably stay.coilysiren/lore, 2 files.Acceptance
umbra-shroud --versionworks on a host that previously hadspecgen, reached by an ordinarybrew upgradewith no manual uninstall.specgenbinary except a deliberate compatibility shim.specverb.locknames umbra rather than cli-guard, and an existing lock still loads.ward exec aosguard-lock,aosguard-buildandaosguard-runall work unchanged from a caller's point of view.Not decided here
Whether
.specgen/follows. It is the guardfile project root discovered by--project-root, so renaming it touches every path reference in agentic-os for a directory nobody types by hand. Worth a deliberate yes or no rather than sweeping it in.