Refresh agent prose for ward PR workflow modes #362

Closed
opened 2026-07-09 04:54:35 +00:00 by coilyco-ops · 11 comments
Member

Ward 7e095cf / ac2fbd6 added the controlled director merge lane and changed the agent workflow default to pr.

AGENTS.md in agentic-os still says headless ward agent work lands by pushing straight to canonical Forgejo main, never opens a Forgejo pull request, and that operators should not hunt for a Forgejo PR. That prose is now incomplete.

Update the instruction prose so it distinguishes:

  • direct-main - engineer lands by merging/pushing to Forgejo main.
  • pr / pull-requests - engineer pushes a branch and opens a human-gated Forgejo PR.
  • pull-requests-and-merge - engineer opens a PR marked for the director merge lane, and director may merge it only after the issue thread has workflow: pull-requests-and-merge, WARD-OUTCOME: done, and a passed review summary.
  • patch-only - no landing authority.

Check at least AGENTS.md, any composed instruction source that repeats this release/landing rule, and docs references if needed. Keep the prose public-safe and preserve the read-only surface rule that this clone cannot push itself.

Reference docs in ward: /substrate/ward/docs/agent-workflow.md and /substrate/ward/docs/agent-director-merge.md.

Closes no issue until the prose update lands.

Ward `7e095cf` / `ac2fbd6` added the controlled director merge lane and changed the agent workflow default to `pr`. `AGENTS.md` in `agentic-os` still says headless `ward agent` work lands by pushing straight to canonical Forgejo `main`, never opens a Forgejo pull request, and that operators should not hunt for a Forgejo PR. That prose is now incomplete. Update the instruction prose so it distinguishes: * `direct-main` - engineer lands by merging/pushing to Forgejo `main`. * `pr` / `pull-requests` - engineer pushes a branch and opens a human-gated Forgejo PR. * `pull-requests-and-merge` - engineer opens a PR marked for the director merge lane, and director may merge it only after the issue thread has `workflow: pull-requests-and-merge`, `WARD-OUTCOME: done`, and a passed review summary. * `patch-only` - no landing authority. Check at least `AGENTS.md`, any composed instruction source that repeats this release/landing rule, and docs references if needed. Keep the prose public-safe and preserve the read-only surface rule that this clone cannot push itself. Reference docs in ward: `/substrate/ward/docs/agent-workflow.md` and `/substrate/ward/docs/agent-director-merge.md`. Closes no issue until the prose update lands.
Author
Member

🔒 Reserved by ward agent --harness codex — container engineer-codex-agentic-os-362 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-09T04:54:47Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (1h TTL); --force overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/agentic-os#362 · branch issue-362 · harness codex · workflow pr
  • Run: engineer-codex-agentic-os-362 · ward v0.473.0 · dispatched 2026-07-09T04:54:47Z
  • Comment thread: 0 included in the pre-flight read, 0 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.473.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --harness codex` — container `engineer-codex-agentic-os-362` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-09T04:54:47Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (1h TTL); `--force` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh** — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/agentic-os#362` · branch `issue-362` · harness `codex` · workflow `pr` - **Run:** `engineer-codex-agentic-os-362` · ward `v0.473.0` · dispatched `2026-07-09T04:54:47Z` - **Comment thread:** 0 included in the pre-flight read, 0 stripped (ward's own automated comments). Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.473.0). </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: blocked - review summary: blocked: codex: exit status 1

Review panel verdicts:

  • codex: ERROR: codex: exit status 1 (conf 0.00)
  • claude: ERROR: claude: exit status 1 (conf 0.00)
  • goose: ERROR: goose: exit status 1 (conf 0.00)

— Codex, via ward agent

WARD-OUTCOME: blocked - review summary: blocked: codex: exit status 1 Review panel verdicts: - codex: ERROR: codex: exit status 1 (conf 0.00) - claude: ERROR: claude: exit status 1 (conf 0.00) - goose: ERROR: goose: exit status 1 (conf 0.00) <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: blocked - review gate could not authenticate to the model endpoint
workflow: pr; review summary: blocked: codex: exit status 1
The prose edit itself was small and direct. The review panel failed closed on its own auth path, so landing is paused even though the branch is pushed and PR 363 was closed.

WARD-OUTCOME: blocked - review gate could not authenticate to the model endpoint workflow: pr; review summary: blocked: codex: exit status 1 The prose edit itself was small and direct. The review panel failed closed on its own auth path, so landing is paused even though the branch is pushed and PR 363 was closed.
Author
Member

WARD-REAP: this run's work did not land on main

An ephemeral ward container (codex mode) dispatched for this issue finished but its work was not merged to main, so cleanup preserved it on a branch before teardown and reopened the issue (a closing reference for #362 never reached main). Recover from the salvage branch below.

  • Repo: coilyco-flight-deck/agentic-os
  • Salvage branch: ward-salvage/agentic-os-a8daccd8
  • Pull request: not opened - PR creation failed: forgejo: parse created pull request: unexpected end of JSON input
  • Reason: diff flagged by the junk scan
  • Container uptime at reap: 8m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token)

Cleanup diagnostics

--- reap diagnostics ---
ward version:      v0.473.0
version source:    pinned via WARD_VERSION/--ward-version (v0.473.0)
HEAD:              8edc0c4e0273
origin/main:       fe2b9bdf8b46
ancestry:          HEAD is NOT yet on origin/main - residual work remains to land
decision gate:     junk scan flagged the workflow-boundary diff
reason:            diff flagged by the junk scan
provenance:        not read (workflow hold)
run-owned landed:  no
working tree:      2 dirty path(s)
container uptime:  8m (baked Forgejo PAT age proxy)
--- end reap diagnostics ---

Recover

git fetch https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os.git ward-salvage/agentic-os-a8daccd8
git checkout -b ward-salvage/agentic-os-a8daccd8 FETCH_HEAD

Junk-scan findings

These paths kept the diff off main. Review before merging:

  • .tmp-home/go/pkg/mod/modernc.org/sqlite@v1.53.0/lib/sqlite_windows.go - oversized file (5.2 MiB)
  • .tmp-home/go/pkg/mod/modernc.org/sqlite@v1.53.0/lib/sqlite_windows_386.go - oversized file (5.2 MiB)

Working tree at reap time

 M AGENTS.md
?? .tmp-home/

— Codex, via ward agent

WARD-REAP: this run's work did not land on `main` An ephemeral `ward container` (codex mode) dispatched for this issue finished but its work was **not merged to `main`**, so cleanup preserved it on a branch before teardown and reopened the issue (a closing reference for #362 never reached `main`). Recover from the salvage branch below. - **Repo:** `coilyco-flight-deck/agentic-os` - **Salvage branch:** `ward-salvage/agentic-os-a8daccd8` - **Pull request:** not opened - PR creation failed: forgejo: parse created pull request: unexpected end of JSON input - **Reason:** diff flagged by the junk scan - **Container uptime at reap:** 8m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token) ## Cleanup diagnostics ``` --- reap diagnostics --- ward version: v0.473.0 version source: pinned via WARD_VERSION/--ward-version (v0.473.0) HEAD: 8edc0c4e0273 origin/main: fe2b9bdf8b46 ancestry: HEAD is NOT yet on origin/main - residual work remains to land decision gate: junk scan flagged the workflow-boundary diff reason: diff flagged by the junk scan provenance: not read (workflow hold) run-owned landed: no working tree: 2 dirty path(s) container uptime: 8m (baked Forgejo PAT age proxy) --- end reap diagnostics --- ``` ## Recover ```bash git fetch https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os.git ward-salvage/agentic-os-a8daccd8 git checkout -b ward-salvage/agentic-os-a8daccd8 FETCH_HEAD ``` ## Junk-scan findings These paths kept the diff off `main`. Review before merging: - `.tmp-home/go/pkg/mod/modernc.org/sqlite@v1.53.0/lib/sqlite_windows.go` - oversized file (5.2 MiB) - `.tmp-home/go/pkg/mod/modernc.org/sqlite@v1.53.0/lib/sqlite_windows_386.go` - oversized file (5.2 MiB) ## Working tree at reap time ``` M AGENTS.md ?? .tmp-home/ ``` <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

🔒 Reserved by ward agent --harness codex — container engineer-codex-agentic-os-362 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-09T05:03:29Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (1h TTL); --force overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/agentic-os#362 · branch issue-362 · harness codex · workflow pr
  • Run: engineer-codex-agentic-os-362 · ward v0.473.0 · dispatched 2026-07-09T05:03:29Z
  • Comment thread: 3 included in the pre-flight read, 1 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.473.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --harness codex` — container `engineer-codex-agentic-os-362` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-09T05:03:29Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (1h TTL); `--force` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh** — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/agentic-os#362` · branch `issue-362` · harness `codex` · workflow `pr` - **Run:** `engineer-codex-agentic-os-362` · ward `v0.473.0` · dispatched `2026-07-09T05:03:29Z` - **Comment thread:** 3 included in the pre-flight read, 1 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-09T05:02:10Z), @coilyco-ops (2026-07-09T05:02:55Z), @coilyco-ops (2026-07-09T05:03:28Z) - stripped: @coilyco-ops (2026-07-09T04:54:49Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.473.0). </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

🔒 Reserved by ward agent --harness codex — container engineer-codex-agentic-os-362 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-09T05:13:43Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (1h TTL); --force overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/agentic-os#362 · branch issue-362 · harness codex · workflow pr
  • Run: engineer-codex-agentic-os-362 · ward v0.473.0 · dispatched 2026-07-09T05:13:43Z
  • Comment thread: 3 included in the pre-flight read, 2 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.473.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --harness codex` — container `engineer-codex-agentic-os-362` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-09T05:13:43Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (1h TTL); `--force` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh** — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/agentic-os#362` · branch `issue-362` · harness `codex` · workflow `pr` - **Run:** `engineer-codex-agentic-os-362` · ward `v0.473.0` · dispatched `2026-07-09T05:13:43Z` - **Comment thread:** 3 included in the pre-flight read, 2 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-09T05:02:10Z), @coilyco-ops (2026-07-09T05:02:55Z), @coilyco-ops (2026-07-09T05:03:28Z) - stripped: @coilyco-ops (2026-07-09T04:54:49Z), @coilyco-ops (2026-07-09T05:03:31Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.473.0). </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

⚠️ Run never started — this issue needs re-dispatch. ward container reap released container engineer-codex-agentic-os-362 (--harness codex): it exited without launching the agent (smoke-test death, ward#222/#264/#595), so it did no work and the hold it took is retracted. Nothing is running on this issue. A ward agent director re-queues it automatically; a manual ward agent retry no longer needs --force.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> <!-- ward-needs-redispatch --> ⚠️ **Run never started — this issue needs re-dispatch.** `ward container reap` released container `engineer-codex-agentic-os-362` (`--harness codex`): it exited without launching the agent (smoke-test death, ward#222/#264/#595), so it did no work and the hold it took is retracted. Nothing is running on this issue. A `ward agent director` re-queues it automatically; a manual `ward agent` retry no longer needs `--force`. <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: blocked - review summary: blocked: codex: exit status 1

Review panel verdicts:

  • codex: ERROR: codex: exit status 1 (conf 0.00)
  • claude: ERROR: claude: exit status 1 (conf 0.00)
  • goose: ERROR: goose: exit status 1 (conf 0.00)

— Codex, via ward agent

WARD-OUTCOME: blocked - review summary: blocked: codex: exit status 1 Review panel verdicts: - codex: ERROR: codex: exit status 1 (conf 0.00) - claude: ERROR: claude: exit status 1 (conf 0.00) - goose: ERROR: goose: exit status 1 (conf 0.00) <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: blocked - review gate failed and the accidental merge was reverted
workflow: pr; review summary: blocked: codex: exit status 1

The prose edit itself was small and behaved as expected. The surprise was the review tool failure path, which still let the PR close as merged, so the run had to be backed out before leaving the thread.

WARD-OUTCOME: blocked - review gate failed and the accidental merge was reverted workflow: pr; review summary: blocked: codex: exit status 1 The prose edit itself was small and behaved as expected. The surprise was the review tool failure path, which still let the PR close as merged, so the run had to be backed out before leaving the thread.
Author
Member

WARD-RESERVATION: held 🔒

reservation details

Holder: container engineer-codex-agentic-os-362 on host kais-macbook-pro-2.local.

Reserved by ward agent --harness codex (reserved 2026-07-09T15:41:01Z). Concurrent ward agent runs are blocked until it finishes or the reservation goes stale (1h TTL). --force overrides.

Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).

run seed context — what this run is carrying (ward#609)
  • Resolved: coilyco-flight-deck/agentic-os#362 · branch issue-362 · harness codex · workflow direct-to-main
  • Run: engineer-codex-agentic-os-362 · ward v0.493.0 · dispatched 2026-07-09T15:41:01Z
  • Comment thread: 6 included in the pre-flight read, 3 stripped (ward's own automated comments).

Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.493.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARD-RESERVATION: held 🔒 <details><summary>reservation details</summary> Holder: container `engineer-codex-agentic-os-362` on host `kais-macbook-pro-2.local`. Reserved by `ward agent --harness codex` (reserved 2026-07-09T15:41:01Z). Concurrent `ward agent` runs are blocked until it finishes or the reservation goes stale (1h TTL). `--force` overrides. **Do not comment on or edit this issue to steer the run while it is reserved.** The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a **new issue, dispatched fresh**. That is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494). <details><summary>run seed context — what this run is carrying (ward#609)</summary> - **Resolved:** `coilyco-flight-deck/agentic-os#362` · branch `issue-362` · harness `codex` · workflow `direct-to-main` - **Run:** `engineer-codex-agentic-os-362` · ward `v0.493.0` · dispatched `2026-07-09T15:41:01Z` - **Comment thread:** 6 included in the pre-flight read, 3 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-09T05:02:10Z), @coilyco-ops (2026-07-09T05:02:55Z), @coilyco-ops (2026-07-09T05:03:28Z), @coilyco-ops (2026-07-09T05:13:49Z), @coilyco-ops (2026-07-09T05:14:36Z), @coilyco-ops (2026-07-09T05:16:35Z) - stripped: @coilyco-ops (2026-07-09T04:54:49Z), @coilyco-ops (2026-07-09T05:03:31Z), @coilyco-ops (2026-07-09T05:13:44Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.493.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: done

details

workflow: direct-to-main; review summary: skipped - review gate skipped by ~/.ward/config.yaml default
felt: tight, mostly doc sync and cap trimming
confidence: high
surprises: AGENTS needed a second trim to fit the cap
follow-ups: none

WARD-OUTCOME: done ✅ <details><summary>details</summary> workflow: direct-to-main; review summary: skipped - review gate skipped by ~/.ward/config.yaml default felt: tight, mostly doc sync and cap trimming confidence: high surprises: AGENTS needed a second trim to fit the cap follow-ups: none </details>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
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/agentic-os#362
No description provided.