feat(just): carry every ward exec verb in a repo-owned justfile #1048
No reviewers
Labels
No labels
burndown-2026-06
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/agentic-os!1048
Loading…
Reference in a new issue
No description provided.
Delete branch "aos/claude/mg96"
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?
Spike for coilysiren/inbox#365. Additive, nothing removed, no CI switched.
Why
ward exechas good ergonomics, but routing a repo's whole build through itmakes the repo depend on out-of-band flight control. Clone this repo without
ward on
PATHtoday and 69 verbs stop working. Ward should be mentioned inpassing, not be the build system.
What landed
justfile- all 69 verbs from.ward/ward.yaml, identical names and command lines.docs/just-task-runner.md- usage, parity evidence, known gaps.Generated once by a throwaway script that is deliberately not committed. No new
owned code, which was the point.
Verified on this branch
.ward/ward.yaml.just agent-idruns, and resolves to the repo root when invoked fromdocs/, matchingward execcwd normalization.just agent-id -n 3passes flags through with no--separator, which is a strict ergonomic gain overward exec agent-id -- -n 3.just agent-terminal-testandjust aos-lintpass.just pre-commit-allis green, which also dogfoods the runner against the repo's own gate.Notable findings
ward execinvocations arescripts/run-workflow-ward.sh,scripts/ci/aos-cli-release.sh, and the release workflow script asserted bytests/test_aos_cli_release.py. The other ~97 mentions are prose..pre-commit-config.yamlhas none, the two hits there are hook names.--audit-override-dirtyor the clean-tree gate exist, soward execcan be deleted later rather than reimplemented against justfiles.justreads only the last comment line above a recipe. My first pass wrapped long descriptions and silently truncatedagent-id's doc to a tail fragment. Descriptions now stay on one line.--passthrough syntax. Real flags such as--dry-runand--seedwere preserved, which is why this was not a blanket substitution.Known gaps, stated rather than hidden
justis absent fromdocker/dev-base/install-common.sh, the Homebrew formulae, and the Scoop bucket. It has to land in the dev-base image before any CI switches.@-prefixed, so the echoed-command trail is gone. just would otherwise print an unexpanded"$@"that misrepresents the real argv.One thing I could not do
docs/FEATURES.mdsits at 3968 characters against its own 4000-character cap,leaving 32 characters of headroom. A new inventory entry does not fit, so this
feature is undocumented there and the
documentation-layouthook blocks anyaddition. That collides with the "Keep FEATURES.md current" rule in AGENTS.md.
Splitting FEATURES.md is out of scope here and wants its own issue.
Open question
Whether the follow-up deletes
commands:from.ward/ward.yamland movesagent:pluscatalog:to.aos/aos.yaml, which is the direction inbox#365points, or whether coexistence holds longer.