Converge required PR status contexts for PR-gated Forgejo repos #532
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/infrastructure#532
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
coilyco-flight-deck/agentic-os#421added a live pull-request CI workflow that now reportsci / gate (pull_request)=successon PRagentic-os#423, but older PR-gated repos are still not consistently unblocked because Forgejo branch protection does not declare required status contexts.Current evidence from the director surface on 2026-07-10:
Forgejo branch API for
agentic-osandwardmainreports:The existing infrastructure branch-protection converge intentionally only denies force-push and branch deletion while keeping direct fast-forward pushes working. That was correct for direct-main repos, but
agentic-os,ward, andcli-guardare now declared aspull-requests-and-mergein the coilyco ward config bundle, so the merge lane needs a converged required-context policy for those repos.Related work:
agentic-os#421/ PR#423- adds theci / gateworkflow for agentic-os.ward#994- director currently reads the Forgejo status row's emptystatefield instead of the populatedstatusfield.infrastructure/scripts/forgejo-branch-protection.py- current owner of branch-protection convergence.Acceptance criteria
coilyco-flight-deck/agentic-osmainrequiresci / gateonce its workflow PR lands.coilyco-flight-deck/wardmainkeeps or requires its livetest / testPR context through the same tracked converge path.coilyco-flight-deck/cli-guardis either configured with its correct live PR context or explicitly documented as waiting on a workflow prerequisite.execute=1.WARD-DISPATCH: deferred ⏸
deferred details
This forwarded dispatch was deferred after the issue was already reserved.
Attempted harness:
codexAttempted run:
ward agent engineer coilyco-flight-deck/infrastructure#532 --harness codex --ward-version v0.573.0 --details Fix infrastructure#532. Extend the Forgejo branch-protection converge so PR-gated repos can declare required status contexts without changing direct-main repos. Use the existing branch-protection script/runbook, make dry-run output show status-context changes, cover agentic-os ci / gate and ward test / test, document cli-guard if it needs a prerequisite, add tests/docs, and close infrastructure#532 when landed.Container:
engineer-codex-infrastructure-532Container created: no running engineer was observed.
Host log:
/Users/kai/.ward/agent-logs/dispatch/20260710T095844Z-director-codex-zv99-coilyco-flight-deck-infrastructure-532.logCapacity:
ward agent engineer --harness codex: global engineer limit is reached: 12 running (limit 12); wait for a run to finish or runward agent reapfor stale engineersRetry: the issue stays queued and the director will try again when a slot opens.
— Codex, via
ward agentWARD-RESERVATION: held 🔒
reservation details
Holder: container
engineer-codex-infrastructure-532on hostkais-macbook-pro-2.local.Reserved by
ward agent --harness codex(reserved 2026-07-10T10:39:25Z). 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/infrastructure#532· branchissue-532· harnesscodex· workflowdirect-mainengineer-codex-infrastructure-532· wardv0.580.0· dispatched2026-07-10T10:39:25ZStatic container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.580.0).
— Codex, via
ward agentWARD-OUTCOME: done
details
workflow: direct-main; review summary: skipped (review gate skipped by ~/.ward/config.yaml default)
retrospective: the change was mostly plumbing, with a small policy split for PR-gated repos.
confidence: high.
surprises: the repo-wide pre-commit gate needed UV cache overrides in this container.
follow-ups: none.