fix(promote): align repo gate with ci #569

Merged
coilyco-ops merged 1 commit from issue-568 into main 2026-07-15 08:24:07 +00:00
Owner

Promote was branching onto ward exec test in the release container, which diverged from the passing ci.yml gate. This change makes promote run the same direct repo gate as CI and pins the workflow shape with a regression test.

  • Replaced the ward-conditional gate in .forgejo/workflows/promote.yml with uv run pytest and pre-commit run --all-files.
  • Added a workflow-content test so the promote gate stays aligned with CI.
  • Validation: ward exec test, ward exec pre-commit-all.

closes #568
ward.workflow: pull-request-and-merge

Promote was branching onto `ward exec test` in the release container, which diverged from the passing `ci.yml` gate. This change makes promote run the same direct repo gate as CI and pins the workflow shape with a regression test. - Replaced the ward-conditional gate in `.forgejo/workflows/promote.yml` with `uv run pytest` and `pre-commit run --all-files`. - Added a workflow-content test so the promote gate stays aligned with CI. - Validation: `ward exec test`, `ward exec pre-commit-all`. closes #568 ward.workflow: pull-request-and-merge
fix: align promote gate with ci
All checks were successful
ci / gate (pull_request) Successful in 2m4s
ci / ward-doctor (pull_request) Successful in 2m40s
07cbe1d2c4
Author
Owner

WARDED_WORKFLOW: #569

details workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because temporary ward default pending brokered QA) felt: small and mechanical. The fix was workflow parity, not a code-path chase. confidence: high surprises: the PR CI settled cleanly once promote stopped preferring ward. follow-ups: none
WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/pulls/569 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because temporary ward default pending brokered QA) felt: small and mechanical. The fix was workflow parity, not a code-path chase. confidence: high surprises: the PR CI settled cleanly once promote stopped preferring ward. follow-ups: none </details>
Author
Owner
{
  "verdict": "pass",
  "summary": "The PR aligns promote with ci and the head SHA passed local validation and Forgejo CI.",
  "evidence": [
    "`promote.yml` now runs `uv run pytest` and `pre-commit run --all-files` directly.",
    "`tests/test_pull_request_ci_workflow.py` pins the gate shape.",
    "Local `ward exec test` and `ward exec pre-commit-all` passed.",
    "Forgejo PR #569 ci.yml completed successfully for commit `07cbe1d2c47bf46c6dfb5dc06e8387811c2c66f5`."
  ],
  "risks": [],
  "next_steps": []
}
```json { "verdict": "pass", "summary": "The PR aligns promote with ci and the head SHA passed local validation and Forgejo CI.", "evidence": [ "`promote.yml` now runs `uv run pytest` and `pre-commit run --all-files` directly.", "`tests/test_pull_request_ci_workflow.py` pins the gate shape.", "Local `ward exec test` and `ward exec pre-commit-all` passed.", "Forgejo PR #569 ci.yml completed successfully for commit `07cbe1d2c47bf46c6dfb5dc06e8387811c2c66f5`." ], "risks": [], "next_steps": [] } ```
Author
Owner

WARDED_WORKFLOW: #569

details workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because temporary ward default pending brokered QA) felt: small and mechanical. The fix was workflow parity, not a code-path chase. confidence: high surprises: the PR CI settled cleanly once promote stopped preferring ward. follow-ups: none
{
  "verdict": "pass",
  "summary": "The PR aligns promote with ci and the head SHA passed local validation and Forgejo CI.",
  "evidence": [
    "`promote.yml` now runs `uv run pytest` and `pre-commit run --all-files` directly.",
    "`tests/test_pull_request_ci_workflow.py` pins the gate shape.",
    "Local `ward exec test` and `ward exec pre-commit-all` passed.",
    "Forgejo PR #569 ci.yml completed successfully for commit `07cbe1d2c47bf46c6dfb5dc06e8387811c2c66f5`."
  ],
  "risks": [],
  "next_steps": []
}
WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/pulls/569 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped because temporary ward default pending brokered QA) felt: small and mechanical. The fix was workflow parity, not a code-path chase. confidence: high surprises: the PR CI settled cleanly once promote stopped preferring ward. follow-ups: none </details> ```json { "verdict": "pass", "summary": "The PR aligns promote with ci and the head SHA passed local validation and Forgejo CI.", "evidence": [ "`promote.yml` now runs `uv run pytest` and `pre-commit run --all-files` directly.", "`tests/test_pull_request_ci_workflow.py` pins the gate shape.", "Local `ward exec test` and `ward exec pre-commit-all` passed.", "Forgejo PR #569 ci.yml completed successfully for commit `07cbe1d2c47bf46c6dfb5dc06e8387811c2c66f5`." ], "risks": [], "next_steps": [] } ```
coilyco-ops deleted branch issue-568 2026-07-15 08:24:08 +00:00
Author
Owner

WARDED_WORKFLOW: #569

details workflow: pull-request-and-merge; review summary: passed felt: small and mechanical. The fix was workflow parity, not a code-path chase. confidence: high surprises: the PR CI settled cleanly once promote stopped preferring ward. follow-ups: none
{
  "verdict": "pass",
  "summary": "The PR aligns promote with ci and the head SHA passed local validation and Forgejo CI.",
  "evidence": [
    "`promote.yml` now runs `uv run pytest` and `pre-commit run --all-files` directly.",
    "`tests/test_pull_request_ci_workflow.py` pins the gate shape.",
    "Local `ward exec test` and `ward exec pre-commit-all` passed.",
    "Forgejo PR #569 ci.yml completed successfully for commit `07cbe1d2c47bf46c6dfb5dc06e8387811c2c66f5`."
  ],
  "risks": [],
  "next_steps": []
}
WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/pulls/569 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: passed felt: small and mechanical. The fix was workflow parity, not a code-path chase. confidence: high surprises: the PR CI settled cleanly once promote stopped preferring ward. follow-ups: none </details> ```json { "verdict": "pass", "summary": "The PR aligns promote with ci and the head SHA passed local validation and Forgejo CI.", "evidence": [ "`promote.yml` now runs `uv run pytest` and `pre-commit run --all-files` directly.", "`tests/test_pull_request_ci_workflow.py` pins the gate shape.", "Local `ward exec test` and `ward exec pre-commit-all` passed.", "Forgejo PR #569 ci.yml completed successfully for commit `07cbe1d2c47bf46c6dfb5dc06e8387811c2c66f5`." ], "risks": [], "next_steps": [] } ```
Sign in to join this conversation.
No reviewers
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!569
No description provided.