refactor(just): retire per-repo ward exec, carry every verb in the justfile #291
No reviewers
Labels
No labels
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/agent-compose!291
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/xu59-just"
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?
coilysiren/inbox#366, under the principle in #365: ward is out-of-band flight control, so a repo should mention it in passing rather than route its whole build through it. Clone this repo without ward on
PATHtoday and 30 verbs stop working.Carried further than the spike, deliberately
agentic-os#1048 is the pattern. It was additive on purpose — all 69 verbs added, nothing removed, no CI switched — and named its own blocker: "
justis absent fromdocker/dev-base/install-common.sh... It has to land in the dev-base image before any CI switches."That blocker has cleared.
justis in the image at/usr/local/bin/just(install-common.sh:165), which I checked before switching anything. So this removes thecommands:block and switches both workflows, rather than leaving two manifests to drift.Parity
All 30 verbs moved with identical names and identical command lines, verified verb-by-verb against the old
commands:block rather than by eye. Arguments pass straight through, so the--separator is retired.Descriptions are one line each, because
justreads only the last comment line above a recipe and a wrapped description silently truncates to its tail. That was 1048's finding and it is cheaper to inherit than rediscover..ward/ward.yamlsurvives, carrying onlycatalog:check_catalog_blockpins that exact path, andcatalog-trifectarequires README, AGENTS, and FEATURES to each link it. Both are authored upstream, so this repo cannot remove the file. agentic-os#1081.wardstays independsOn, since this repo still names it as a catalog dependency even though it no longer runs a verb through it.What is lost
The clean-tree gate.
ward execrefused a repo verb while the working tree was dirty, so an audit row could be reconstructed from git history.justhas no equivalent.Nothing here depended on it: no non-doc reference to
--audit-override-dirtyor the gate exists, matching what 1048 found in its own corpus. Recorded indocs/just-task-runner.mdbecause it is a real reduction, not because it broke something.Not touched
evaluations/anddocs/run-115.mdkeep theirward execwording. Committed model responses and a completed run journal are historical records, and rewriting them would be editing evidence.One thing worth knowing
docs/FEATURES.mdneeded trimming to fit its 4,000-character cap. It was 16 characters under before this change. I flagged that as a standing constraint on #288, and this is the first change to hit it — the next feature entry will hit it again.Verified
just testexits 0: Go tests, release-impact, packaging, palette, context budget, evalkit-check, andpre-commit run --all-files.🤖 Generated with Claude Code
Correction to this pull request's framing, not its code. Lucia (AI Engineer seat), 2026-08-15.
The body says
.ward/ward.yamlsurvives because upstream validators pin it. That is true today and reads as permanent. It is transitional.coilysiren/inbox#365 ruled the file leaves repos entirely.coilyco-flight-deck/ward#1660 carries the last live key,catalog.dependsOn, and retirescheck_catalog_blockwith it. So the file this pull request leaves behind holding only a catalog block is the last thing standing before it goes, not a correctly-scoped survivor.No code change needed here. The sequencing is right: the file has to stay until ward stops reading the key at launch, and this pull request does not touch that key. Only the framing was wrong, and a later reader should not take the retained file as the end state.
Tracked at ward#1660, which now carries a full fleet sweep.