AGENTS.md instructs verifying CI with coily ops, a tool the same doc says is retiring in favor of ward ci watch #462

Closed
opened 2026-07-01 22:19:23 +00:00 by coilyco-ops · 9 comments
Member

Why

Persona: vibe-coder, angle jargon-audit - specifically the "delegates setup to their agent" half of this persona: their coding agent reads AGENTS.md as the operating manual for this repo, and follows it literally.

AGENTS.md states its own architecture clearly: "ward also carries the operator surface from the retiring coily... Composite control flow stays hand-written Go in cmd/ward - ward ci watch (ward#88, docs/ci-watch.md)." That is: ward already ships a native CI-watch command, explicitly positioned as the replacement for coilys operator verbs.

Yet the very same file, four paragraphs later under "## Release": "Post-push: verify CI at +120s (coily ops gh run list --repo coilyco-flight-deck/ward --limit 1)." A newcomers agent following AGENTS.md as its rulebook hits an instruction that (a) invokes coily, a tool the doc itself just called "retiring," not ward ci watch, the tool the doc just said replaces it, and (b) assumes coily is installed at all - it is a separate, internal-only sibling project a stranger would have no reason to have set up. ward ci watchs own doc (docs/ci-watch.md) exists specifically to do this job.

Deliverable

Update AGENTS.mds "Release" section to use ward ci watch coilyco-flight-deck/ward (or whatever the current native equivalent is) instead of coily ops gh run list, consistent with the "retiring coily -> ward ci watch" framing stated earlier in the same document.

Done condition

AGENTS.md contains no instruction that requires an agent to install or invoke coily to complete a documented workflow.


Severity: major-friction · persona: vibe-coder · angle: jargon-audit
Filed by Claude Code during a cold-read release pressure test (run 13).

## Why Persona: `vibe-coder`, angle `jargon-audit` - specifically the "delegates setup to their agent" half of this persona: their coding agent reads `AGENTS.md` as the operating manual for this repo, and follows it literally. `AGENTS.md` states its own architecture clearly: "ward also carries the operator surface from the **retiring** coily... Composite control flow stays hand-written Go in `cmd/ward` - `ward ci watch` (ward#88, docs/ci-watch.md)." That is: ward already ships a native CI-watch command, explicitly positioned as the replacement for coilys operator verbs. Yet the very same file, four paragraphs later under "## Release": "Post-push: verify CI at +120s (`coily ops gh run list --repo coilyco-flight-deck/ward --limit 1`)." A newcomers agent following AGENTS.md as its rulebook hits an instruction that (a) invokes `coily`, a tool the doc itself just called "retiring," not `ward ci watch`, the tool the doc just said replaces it, and (b) assumes `coily` is installed at all - it is a separate, internal-only sibling project a stranger would have no reason to have set up. `ward ci watch`s own doc (`docs/ci-watch.md`) exists specifically to do this job. ## Deliverable Update `AGENTS.md`s "Release" section to use `ward ci watch coilyco-flight-deck/ward` (or whatever the current native equivalent is) instead of `coily ops gh run list`, consistent with the "retiring coily -> ward ci watch" framing stated earlier in the same document. ## Done condition `AGENTS.md` contains no instruction that requires an agent to install or invoke `coily` to complete a documented workflow. --- **Severity: major-friction** · persona: vibe-coder · angle: jargon-audit Filed by Claude Code during a cold-read release pressure test (run 13).
Author
Member

+1 — independently hit via security-skeptic/docs-ia, this run. AGENTS.md still tells contributors to verify CI with coily ops, which the same doc says is retiring in favor of ward ci watch.

+1 — independently hit via security-skeptic/docs-ia, this run. AGENTS.md still tells contributors to verify CI with coily ops, which the same doc says is retiring in favor of ward ci watch.
Author
Member

+1 — independently hit via vibe-coder/agent-legibility, run 31: the delegated setup agent following AGENTS.md § Release would attempt the coily verification path verbatim.

+1 — independently hit via vibe-coder/agent-legibility, run 31: the delegated setup agent following AGENTS.md § Release would attempt the coily verification path verbatim.
coilyco-ops added this to the ward launch milestone 2026-07-01 23:29:32 +00:00
Author
Member

Triage note: the fix changed shape - ward ci watch is being REMOVED entirely (#491), so the AGENTS.md release-verification instruction should be rewritten to reference neither coily ops nor ward ci watch. Fold into #491 or land as its own doc fix sequenced after it. Recorded by Claude Code (Fable) during the 2026-07-01 ward launch triage session with Kai.

Triage note: the fix changed shape - ward ci watch is being REMOVED entirely (#491), so the AGENTS.md release-verification instruction should be rewritten to reference neither coily ops nor ward ci watch. Fold into #491 or land as its own doc fix sequenced after it. Recorded by Claude Code (Fable) during the 2026-07-01 ward launch triage session with Kai.
Author
Member

🔒 Reserved by ward agent --driver claude — container engineer-claude-ward-462 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T02:33:59Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Claude (she/her), via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver claude` — container `engineer-claude-ward-462` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T02:33:59Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Claude (she/her), via `ward agent`
Owner

WARD-OUTCOME: done - AGENTS.md Release section already uses the native ward ops forgejo tasks list verb with no coily invocation, verified on main.

Honest retrospective: this one was effectively already fixed by the time I picked it up. Commit 37bc074 - the same change that removed the ward ci watch surface for #491 - rewrote the Release line from coily ops gh run list to ward ops forgejo tasks list coilyco-flight-deck ward --limit 1, and dropped the stale ward ci watch mention from the Scope section too. So the done-condition was already met on main before I touched anything.

My contribution was verification, not editing. I grepped AGENTS.md and the rest of the agent-facing docs for any coily <verb> command-form instruction, confirmed the remaining coily references are all descriptive - retiring sibling, shared audit log, the oracle ward is proven against - not workflow steps, and confirmed ward ops forgejo tasks list is a real generated verb (the can list tasks read-only CI-run listing surface), not a hallucinated stand-in.

What surprised me: the triage note in comment 3 had already anticipated the shape change - reference neither coily nor ward ci watch - and the landed commit followed it exactly, so there was genuinely nothing left to write. I deliberately did not push an empty commit just to carry a closes trailer, since that would bump a release for a no-op. Closing via the issue API instead.

Confidence: high. One rough edge worth noting, not fixing here: line 42 in the Safety section still names coily as a binary the PreToolUse hook resolves. Accurate today, but a candidate to revisit whenever coily is fully decommissioned - possible small follow-up issue.

WARD-OUTCOME: done - AGENTS.md Release section already uses the native `ward ops forgejo tasks list` verb with no coily invocation, verified on `main`. Honest retrospective: this one was effectively already fixed by the time I picked it up. Commit `37bc074` - the same change that removed the `ward ci watch` surface for #491 - rewrote the Release line from `coily ops gh run list` to `ward ops forgejo tasks list coilyco-flight-deck ward --limit 1`, and dropped the stale `ward ci watch` mention from the Scope section too. So the done-condition was already met on `main` before I touched anything. My contribution was verification, not editing. I grepped AGENTS.md and the rest of the agent-facing docs for any `coily <verb>` command-form instruction, confirmed the remaining coily references are all descriptive - retiring sibling, shared audit log, the oracle ward is proven against - not workflow steps, and confirmed `ward ops forgejo tasks list` is a real generated verb (the `can list tasks` read-only CI-run listing surface), not a hallucinated stand-in. What surprised me: the triage note in comment 3 had already anticipated the shape change - reference neither coily nor `ward ci watch` - and the landed commit followed it exactly, so there was genuinely nothing left to write. I deliberately did not push an empty commit just to carry a `closes` trailer, since that would bump a release for a no-op. Closing via the issue API instead. Confidence: high. One rough edge worth noting, not fixing here: line 42 in the Safety section still names `coily` as a binary the PreToolUse hook resolves. Accurate today, but a candidate to revisit whenever coily is fully decommissioned - possible small follow-up issue.
Author
Member

🔒 Reserved by ward agent --driver claude — container engineer-claude-ward-462 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T08:05:11Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Claude (she/her), via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver claude` — container `engineer-claude-ward-462` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T08:05:11Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Claude (she/her), via `ward agent`
Author
Member

🔒 Reserved by ward agent --driver claude — container engineer-claude-ward-462 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T08:05:11Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Claude (she/her), via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver claude` — container `engineer-claude-ward-462` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T08:05:11Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Claude (she/her), via `ward agent`
Author
Member

🔒 Reserved by ward agent --driver claude — container engineer-claude-ward-462 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-02T08:05:11Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); --force overrides.

— Claude (she/her), via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --driver claude` — container `engineer-claude-ward-462` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-02T08:05:11Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (2h0m0s TTL); `--force` overrides. <!-- ward-agent-signature --> — Claude (she/her), via `ward agent`
Owner

WARD-OUTCOME: done - AGENTS.md Release section already uses the native ward ops forgejo tasks list verb, no coily invocation, verified clean on main.

Second look at an already-landed fix. Commit 37bc074 - the same #491 change that removed the ward ci watch surface - had already rewritten the Release verify line from coily ops gh run list to ward ops forgejo tasks list coilyco-flight-deck ward --limit 1, and dropped the stale ward ci watch mention from Scope. The done-condition was met on main before this container started.

So my contribution was verification only, not editing. I grepped AGENTS.md and the agent-facing docs for any coily command-form instruction, confirmed the three remaining coily references are purely descriptive - retiring sibling, the binary the PreToolUse hook still resolves - not workflow steps, and confirmed ward ops forgejo tasks list is a real generated read-only verb. I did not push an empty commit to carry a closes trailer, since that would bump a release for a no-op. The issue is already closed, so I am leaving it closed rather than reopening.

What fought back: nothing, which is its own small trap - the honest move here was to resist manufacturing a diff. Confidence: high. One standing rough edge, same one the prior run flagged: the Safety section still names coily as a binary the hook resolves. Accurate today, worth a small follow-up whenever coily is fully decommissioned.

WARD-OUTCOME: done - AGENTS.md Release section already uses the native ward ops forgejo tasks list verb, no coily invocation, verified clean on main. Second look at an already-landed fix. Commit 37bc074 - the same #491 change that removed the ward ci watch surface - had already rewritten the Release verify line from coily ops gh run list to ward ops forgejo tasks list coilyco-flight-deck ward --limit 1, and dropped the stale ward ci watch mention from Scope. The done-condition was met on main before this container started. So my contribution was verification only, not editing. I grepped AGENTS.md and the agent-facing docs for any coily command-form instruction, confirmed the three remaining coily references are purely descriptive - retiring sibling, the binary the PreToolUse hook still resolves - not workflow steps, and confirmed ward ops forgejo tasks list is a real generated read-only verb. I did not push an empty commit to carry a closes trailer, since that would bump a release for a no-op. The issue is already closed, so I am leaving it closed rather than reopening. What fought back: nothing, which is its own small trap - the honest move here was to resist manufacturing a diff. Confidence: high. One standing rough edge, same one the prior run flagged: the Safety section still names coily as a binary the hook resolves. Accurate today, worth a small follow-up whenever coily is fully decommissioned.
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
coilyco-flight-deck/ward#462
No description provided.