Expose guarded Forgejo Actions task rerun command #434
Labels
No labels
burndown-2026-06
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
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#434
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Problem
The current coilyco Forgejo ops bundle exposes enough Actions state to find failed CI tasks, but not enough authority to re-run one through a guarded
ward opscommand.Observed from a read-only director surface on 2026-07-10 UTC:
There is no
tasks rerun,runs rerun, or equivalent command. A livetasks listcall againstcoilyco-flight-deck/agentic-osshows failed PR tasks foragentic-os#433andagentic-os#420, so the missing verb is blocking the current green-CI rescue loop rather than being theoretical.The committed local OpenAPI lockfile currently contains
ListActionRuns,ActionRun,ListActionTasks, andDispatchWorkflow, but no rerun operation:Public Forgejo docs document
workflow_dispatchviaPOST /repos/{owner}/{repo}/actions/workflows/{workflowname}/dispatches, but do not document a task rerun endpoint. If the running Forgejo instance supports rerun through a route that is absent from the pinned swagger, the bundle needs an explicit supported overlay or ward needs a guarded custom call shape.Do
ward ops forgejocommand for re-running a specific failed Actions task/run without exposing a broad raw HTTP escape hatch.Acceptance
ward ops forgejo tasks --helpor a clearly named sibling command exposes a rerun operation for an existing Actions task/run.coilyco-flight-deck/agentic-oswithout using rawcurl.docs/ward-ops-forgejo-reference.mdincludes the new command.Related: coilyco-flight-deck/ward#1009, coilyco-flight-deck/agentic-os#431, and the current director CI rescue loop.
WARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-agentic-os-434on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-10T10:50:18Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.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)
coilyco-flight-deck/agentic-os#434· branchissue-434· harnesscodex· workflowpull-requests-and-mergeengineer-codex-agentic-os-434· wardv0.580.0· dispatched2026-07-10T10:50:18ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.580.0).
— Codex, via
ward agentThe rerun bridge is blocked by the current ward DSL surface. The overlay parses in isolation, but the live
ward ops forgejo actionshelp still exposes onlylogs, so the rerun verbs never surface as a usable command. I stopped before broadening the surface further.WARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-agentic-os-434on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-10T16:21:11Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.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)
coilyco-flight-deck/agentic-os#434· branchissue-434· harnesscodex· workflowpull-requests-and-mergeengineer-codex-agentic-os-434· wardv0.583.0· dispatched2026-07-10T16:21:11ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.583.0).
— Codex, via
ward agentWARD-OUTCOME: merge-ready
details
workflow: pull-requests-and-merge; review summary: review gate skipped by ~/.ward/config.yaml default
The rerun bridge landed cleanly after a CI-path fix in shell bootstrap. Confidence: high. Surprise: Forgejo CI used a different checkout path than the local surface, so the shell helpers and entrypoint had to derive the repo root from their own source locations. Follow-up: merge PR #436 when the director lane picks it up.
WARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-agentic-os-434on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-10T16:46:08Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.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)
coilyco-flight-deck/agentic-os#434· branchissue-434· harnesscodex· workflowpull-requests-and-mergeengineer-codex-agentic-os-434· wardv0.584.0· dispatched2026-07-10T16:46:08ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.584.0).
— Codex, via
ward agentWARD-OUTCOME: merge-ready
details
workflow: pull-requests-and-merge; review summary: skipped because review gate skipped by ~/.ward/config.yaml default
implemented the guarded Forgejo Actions rerun command, kept the list bridge intact, and merged the branch onto current main.
confidence: high
surprises: the bundle rename split in flight, so the merge had to reconcile mainline bundle files with the rerun overlay.
follow-ups: none.
WARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-agentic-os-434on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-10T18:04:09Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (1h TTL).--forceoverrides.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)
coilyco-flight-deck/agentic-os#434· branchissue-434· harnesscodex· workflowpull-requests-and-mergeengineer-codex-agentic-os-434· wardv0.584.0· dispatched2026-07-10T18:04:09ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.584.0).
— Codex, via
ward agentWARD-OUTCOME: merge-ready
details
workflow: pull-requests-and-merge; review summary: skip - review gate skipped by
~/.ward/config.yamldefaultsummary: merged current
mainintoissue-434, kept the guarded rerun bridge, updated the release tar list and docs, and dropped the retired bundle validator/test.felt: mostly mechanical, with two environment detours.
confidence: high
surprises: pre-commit cache exhaustion and a stale git ref cache in the hook env.
follow-ups: none.