Replace closed-unmerged issue-scoped director PR with a landing fix #1007

Closed
opened 2026-07-10 10:09:29 +00:00 by coilyco-ops · 6 comments
Member

Problem

The ward#988 engineer run attempted to implement real issue-scoped director behavior, but its PR closed without merging and the carried issue is still open.

Current evidence from the director surface on 2026-07-10 UTC:

  • ward#988 is still open and still has only the reservation comment for engineer-codex-ward-988.
  • engineer-codex-ward-988 is no longer listed by warded list, but no WARD-OUTCOME or failure comment was posted to the issue.
  • PR ward#1003 was opened for closes #988, then closed at 2026-07-10T10:07:22Z with no merge.
  • Because PR ward#1003 did not merge, it does not satisfy the ward#988 acceptance criteria and infrastructure#520 still lacks reliable issue-scoped director behavior.

This leaves the exact required #520 invocation unproven:

warded director coilysiren/inbox#123 \
  --harness goose \
  --engineer-harness goose \
  --max-parallel 1 \
  --no-triage \
  --poll-interval 5s

Do

  • Inspect why the issue-988 run produced PR ward#1003 and then closed it without merging.
  • Produce a replacement fix for ward#988 that actually lands through the configured Ward workflow.
  • Implement real fail-closed issue-scoped director behavior, not parse-only acceptance.
  • Ensure full Forgejo issue URLs follow the same exact-issue path.
  • Ensure closed, ineligible, unresolved, and already-reserved issue refs dispatch nothing and do not fetch or expose the repository backlog.
  • Ensure a closed-unmerged PR path is reported clearly instead of leaving the carried issue silently reserved.

Acceptance

  • ward#988 can close only after a merged or landed fix reaches main.
  • Tests prove exact issue refs and full issue URLs expose only the referenced issue to the director decision payload.
  • Tests prove failure cases do not fetch or dispatch the repository backlog.
  • The old "single issue support is not yet fully implemented" behavior is gone.
  • ward exec test passes, or the issue comment names the exact failing check.

Related: coilyco-flight-deck/ward#988, coilyco-flight-deck/ward#1003, and coilyco-flight-deck/infrastructure#520.

## Problem The `ward#988` engineer run attempted to implement real issue-scoped director behavior, but its PR closed without merging and the carried issue is still open. Current evidence from the director surface on 2026-07-10 UTC: * `ward#988` is still open and still has only the reservation comment for `engineer-codex-ward-988`. * `engineer-codex-ward-988` is no longer listed by `warded list`, but no `WARD-OUTCOME` or failure comment was posted to the issue. * PR `ward#1003` was opened for `closes #988`, then closed at `2026-07-10T10:07:22Z` with no merge. * Because PR `ward#1003` did not merge, it does not satisfy the `ward#988` acceptance criteria and infrastructure#520 still lacks reliable issue-scoped director behavior. This leaves the exact required #520 invocation unproven: ```bash warded director coilysiren/inbox#123 \ --harness goose \ --engineer-harness goose \ --max-parallel 1 \ --no-triage \ --poll-interval 5s ``` ## Do * Inspect why the `issue-988` run produced PR `ward#1003` and then closed it without merging. * Produce a replacement fix for `ward#988` that actually lands through the configured Ward workflow. * Implement real fail-closed issue-scoped director behavior, not parse-only acceptance. * Ensure full Forgejo issue URLs follow the same exact-issue path. * Ensure closed, ineligible, unresolved, and already-reserved issue refs dispatch nothing and do not fetch or expose the repository backlog. * Ensure a closed-unmerged PR path is reported clearly instead of leaving the carried issue silently reserved. ## Acceptance * `ward#988` can close only after a merged or landed fix reaches `main`. * Tests prove exact issue refs and full issue URLs expose only the referenced issue to the director decision payload. * Tests prove failure cases do not fetch or dispatch the repository backlog. * The old "single issue support is not yet fully implemented" behavior is gone. * `ward exec test` passes, or the issue comment names the exact failing check. Related: coilyco-flight-deck/ward#988, coilyco-flight-deck/ward#1003, and coilyco-flight-deck/infrastructure#520.
Author
Member

WARD-RESERVATION: held 🔒

reservation details

Holder: container engineer-codex-ward-1007 on host kais-macbook-pro-2.local.

Reserved by ward agent --harness codex (reserved 2026-07-10T10:10:15Z). 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/ward#1007 · branch issue-1007 · harness codex · workflow pull-requests-and-merge
  • Run: engineer-codex-ward-1007 · ward v0.573.0 · dispatched 2026-07-10T10:10:15Z
  • Comment thread: 1 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.573.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARD-RESERVATION: held 🔒 <details><summary>reservation details</summary> Holder: container `engineer-codex-ward-1007` on host `kais-macbook-pro-2.local`. Reserved by `ward agent --harness codex` (reserved 2026-07-10T10:10:15Z). 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/ward#1007` · branch `issue-1007` · harness `codex` · workflow `pull-requests-and-merge` - **Run:** `engineer-codex-ward-1007` · ward `v0.573.0` · dispatched `2026-07-10T10:10:15Z` - **Comment thread:** 1 included in the pre-flight read, 0 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T10:09:36Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.573.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

Post-mortem (director surface): PR #1017 for this issue was closed. It reintroduced .ward/ward-kdl/ specgen bundle files, which ward#1009 deleted and forbids restoring. This issue stays open. When the ward open-PR queue is under the backpressure threshold (6), re-cut a clean fix off current main that touches CONSUMER CODE ONLY and never restores .ward/ward-kdl/.

Post-mortem (director surface): PR #1017 for this issue was closed. It reintroduced `.ward/ward-kdl/` specgen bundle files, which ward#1009 deleted and forbids restoring. This issue stays open. When the ward open-PR queue is under the backpressure threshold (6), re-cut a clean fix off current main that touches CONSUMER CODE ONLY and never restores `.ward/ward-kdl/`.
Author
Member

WARD-RESERVATION: held 🔒

reservation details

Holder: container engineer-codex-ward-1007 on host KAI-DESKTOP-TOWER.

Reserved by ward agent --harness codex (reserved 2026-07-10T23:50: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/ward#1007 · branch issue-1007 · harness codex · workflow pull-requests-and-merge
  • Run: engineer-codex-ward-1007 · ward v0.605.0 · dispatched 2026-07-10T23:50:29Z
  • Comment thread: 2 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.605.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARD-RESERVATION: held 🔒 <details><summary>reservation details</summary> Holder: container `engineer-codex-ward-1007` on host `KAI-DESKTOP-TOWER`. Reserved by `ward agent --harness codex` (reserved 2026-07-10T23:50: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/ward#1007` · branch `issue-1007` · harness `codex` · workflow `pull-requests-and-merge` - **Run:** `engineer-codex-ward-1007` · ward `v0.605.0` · dispatched `2026-07-10T23:50:29Z` - **Comment thread:** 2 included in the pre-flight read, 1 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T10:09:36Z), @coilyco-ops (2026-07-10T19:30:47Z) - stripped: @coilyco-ops (2026-07-10T10:10:16Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.605.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
coilyco-ops added
P2
and removed
P1
labels 2026-07-14 06:50:18 +00:00
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-ward-1007 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-14T18:49:09Z). Concurrent ward agent runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). --override-reservation 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/ward#1007 · branch issue-1007 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1007 · ward v0.689.0 · dispatched 2026-07-14T18:48:58Z
  • Comment thread: 1 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.689.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-ward-1007` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-14T18:49:09Z). Concurrent `ward agent` runs are blocked until this intent becomes visible or the intent is released. The stale-intent fallback is still TTL-bounded (3h TTL). `--override-reservation` 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/ward#1007` · branch `issue-1007` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1007` · ward `v0.689.0` · dispatched `2026-07-14T18:48:58Z` - **Comment thread:** 1 included in the pre-flight read, 2 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T19:30:47Z) - stripped: @coilyco-ops (2026-07-10T10:10:16Z), @coilyco-ops (2026-07-10T23:50:30Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.689.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

PR #1292 failed in Forgejo Actions at golangci-lint after go vet and go test passed. The same scratch-space limit also showed up locally while reproducing the lint stage. Please rerun after the runner scratch cache has room again.

PR #1292 failed in Forgejo Actions at `golangci-lint` after `go vet` and `go test` passed. The same scratch-space limit also showed up locally while reproducing the lint stage. Please rerun after the runner scratch cache has room again.
Author
Member

WARDED_WORKFLOW: #1292

details

workflow: pull-request-and-merge; review summary: skipped because the in-container review gate is intentionally skipped while temporary ward default pending brokered QA.

The fix felt mechanical once the lint surface was isolated. The only surprise was the host cache pressure, not the issue logic.

confidence: high. follow-ups: none.

WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1292 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped because the in-container review gate is intentionally skipped while temporary ward default pending brokered QA. The fix felt mechanical once the lint surface was isolated. The only surprise was the host cache pressure, not the issue logic. confidence: high. 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/ward#1007
No description provided.