Guard Forgejo Actions list pagination against full-history API pulls #419

Closed
opened 2026-07-10 08:40:59 +00:00 by coilyco-ops · 11 comments
Member

Forgejo performance triage found that Actions API pagination is expensive when callers send limit without page.

Observed 2026-07-10 from a director surface:

  • GET /api/v1/repos/coilyco-flight-deck/infrastructure/actions/runs?limit=1 returned 841 runs, 10.7 MB, and took about 2.1s median.
  • GET /api/v1/repos/coilyco-flight-deck/infrastructure/actions/runs?page=1&limit=1 returned 1 run, 4.1 KB, and took about 0.2s median.
  • GET /api/v1/repos/coilyco-flight-deck/infrastructure/actions/tasks?limit=1 returned 596 tasks, 279 KB, and took about 0.8s median.
  • GET /api/v1/repos/coilyco-flight-deck/infrastructure/actions/tasks?page=1&limit=1 returned 1 task, 472 bytes, and took about 0.16s median.

The Swagger lock advertises page and limit, but Forgejo 15.0.2 appears to ignore limit unless page is also present. Local docs and generated repo digests include examples like actions/runs?limit=1, so agents checking CI can accidentally pull the whole Actions history. That creates avoidable load and visible latency on repos with hundreds of runs.

Scope to investigate and fix:

  • Add or adjust the ward Forgejo Actions read surface so callers get a safe first page by default for CI verification.
  • Update docs/examples in this repo that point agents at Actions run/task listing so they include page=1 whenever they include limit.
  • Add a regression test around the generated ward ops bundle or docs if the repo has a nearby pattern.

This issue came from a live Forgejo performance triage, not a theoretical cleanup.

Forgejo performance triage found that Actions API pagination is expensive when callers send `limit` without `page`. Observed 2026-07-10 from a director surface: * `GET /api/v1/repos/coilyco-flight-deck/infrastructure/actions/runs?limit=1` returned 841 runs, 10.7 MB, and took about 2.1s median. * `GET /api/v1/repos/coilyco-flight-deck/infrastructure/actions/runs?page=1&limit=1` returned 1 run, 4.1 KB, and took about 0.2s median. * `GET /api/v1/repos/coilyco-flight-deck/infrastructure/actions/tasks?limit=1` returned 596 tasks, 279 KB, and took about 0.8s median. * `GET /api/v1/repos/coilyco-flight-deck/infrastructure/actions/tasks?page=1&limit=1` returned 1 task, 472 bytes, and took about 0.16s median. The Swagger lock advertises `page` and `limit`, but Forgejo 15.0.2 appears to ignore `limit` unless `page` is also present. Local docs and generated repo digests include examples like `actions/runs?limit=1`, so agents checking CI can accidentally pull the whole Actions history. That creates avoidable load and visible latency on repos with hundreds of runs. Scope to investigate and fix: * Add or adjust the ward Forgejo Actions read surface so callers get a safe first page by default for CI verification. * Update docs/examples in this repo that point agents at Actions run/task listing so they include `page=1` whenever they include `limit`. * Add a regression test around the generated ward ops bundle or docs if the repo has a nearby pattern. This issue came from a live Forgejo performance triage, not a theoretical cleanup.
Author
Member

WARD-DISPATCH: failed

failure details

This forwarded dispatch failed after the issue was already reserved.

Attempted harness: codex
Attempted run: ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --details Live triage found Forgejo 15.0.2 ignores Actions list limit unless page is also present. Implement a conservative agentic-os fix: make the ward Forgejo Actions listing surface safe by default where possible, update local docs/examples to include page=1 with limit, and add focused tests for the generated bundle/docs behavior. Keep scope to agentic-os.
Container: engineer-codex-agentic-os-419
Container created: no running engineer was observed.
Host log: /Users/kai/.ward/agent-logs/dispatch/20260710T084143Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log
Failure: ward container: download Go bootstrap binary https://forgejo.coilysiren.me/coilyco-flight-deck/ward/releases/download/v0.570.0/ward-linux-arm64: unexpected status 404 Not Found: Not Found

Retry: choose another harness if the first one is down, or rerun with --force if the reservation is stale.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> <!-- ward-needs-redispatch --> WARD-DISPATCH: failed ❌ <details><summary>failure details</summary> This forwarded dispatch failed after the issue was already reserved. Attempted harness: `codex` Attempted run: `ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --details Live triage found Forgejo 15.0.2 ignores Actions list limit unless page is also present. Implement a conservative agentic-os fix: make the ward Forgejo Actions listing surface safe by default where possible, update local docs/examples to include page=1 with limit, and add focused tests for the generated bundle/docs behavior. Keep scope to agentic-os.` Container: `engineer-codex-agentic-os-419` Container created: no running engineer was observed. Host log: `/Users/kai/.ward/agent-logs/dispatch/20260710T084143Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log` Failure: `ward container: download Go bootstrap binary https://forgejo.coilysiren.me/coilyco-flight-deck/ward/releases/download/v0.570.0/ward-linux-arm64: unexpected status 404 Not Found: Not Found` Retry: choose another harness if the first one is down, or rerun with `--force` if the reservation is stale. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-DISPATCH: failed

failure details

This forwarded dispatch failed after the issue was already reserved.

Attempted harness: codex
Attempted run: ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --print
Container: engineer-codex-agentic-os-419
Container created: no running engineer was observed.
Host log: /Users/kai/.ward/agent-logs/dispatch/20260710T085538Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log
Failure: ward container: download Go bootstrap binary https://forgejo.coilysiren.me/coilyco-flight-deck/ward/releases/download/v0.573.0/ward-linux-arm64: unexpected status 404 Not Found: Not Found

Retry: choose another harness if the first one is down, or rerun with --force if the reservation is stale.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> <!-- ward-needs-redispatch --> WARD-DISPATCH: failed ❌ <details><summary>failure details</summary> This forwarded dispatch failed after the issue was already reserved. Attempted harness: `codex` Attempted run: `ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --print` Container: `engineer-codex-agentic-os-419` Container created: no running engineer was observed. Host log: `/Users/kai/.ward/agent-logs/dispatch/20260710T085538Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log` Failure: `ward container: download Go bootstrap binary https://forgejo.coilysiren.me/coilyco-flight-deck/ward/releases/download/v0.573.0/ward-linux-arm64: unexpected status 404 Not Found: Not Found` Retry: choose another harness if the first one is down, or rerun with `--force` if the reservation is stale. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-RESERVATION: held 🔒

reservation details

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

Reserved by ward agent --harness codex (reserved 2026-07-10T08:56:38Z). 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#419 · branch issue-419 · harness codex · workflow pull-requests-and-merge
  • Run: engineer-codex-agentic-os-419 · ward v0.569.0 · dispatched 2026-07-10T08:56:38Z
  • Comment thread: 2 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.569.0).

— Codex, via ward agent

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

WARD-OUTCOME: merge-ready

detailsworkflow: pull-requests-and-merge; review summary: skipped (review gate skipped by ~/.ward/config.yaml default) implementation felt narrow and mechanical. The bridge script, ward surface, docs, and tests lined up without engine changes. confidence: high surprise: Forgejo PR workflows in this repo are push-only, so no PR CI runs appeared to watch follow-ups: none
WARD-OUTCOME: merge-ready <details><summary>details</summary>workflow: pull-requests-and-merge; review summary: skipped (review gate skipped by ~/.ward/config.yaml default) implementation felt narrow and mechanical. The bridge script, ward surface, docs, and tests lined up without engine changes. confidence: high surprise: Forgejo PR workflows in this repo are push-only, so no PR CI runs appeared to watch follow-ups: none </details>
Author
Member

WARD-DISPATCH: deferred ⏸

deferred details

This forwarded dispatch was deferred after the issue was already reserved.

Attempted harness: codex
Attempted run: ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --details Address the blocking review on PR #420. The safe Actions list bridge is useful, but the existing documented ward ops forgejo tasks list --limit Nsurface remains exposed via.ward/ward-kdl.forgejo.guardfile.kdlanddocs/ward-ops-forgejo-reference.md, so agents can still trigger the full-history task pull. Amend the existing PR branch if possible so the existing task listing surface is adjusted, fenced, or clearly guarded, with tests/docs covering the hazardous limitwithoutpage shape.
Container: engineer-codex-agentic-os-419
Container created: no running engineer was observed.
Host log: /Users/kai/.ward/agent-logs/dispatch/20260710T091748Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log
Capacity: ward agent engineer --harness codex: global engineer limit is reached: 12 running (limit 12); wait for a run to finish or run ward agent reap for stale engineers

Retry: the issue stays queued and the director will try again when a slot opens.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> <!-- ward-needs-redispatch --> WARD-DISPATCH: deferred ⏸ <details><summary>deferred details</summary> This forwarded dispatch was deferred after the issue was already reserved. Attempted harness: `codex` Attempted run: `ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --details Address the blocking review on PR #420. The safe Actions list bridge is useful, but the existing documented `ward ops forgejo tasks list --limit N` surface remains exposed via `.ward/ward-kdl.forgejo.guardfile.kdl` and `docs/ward-ops-forgejo-reference.md`, so agents can still trigger the full-history task pull. Amend the existing PR branch if possible so the existing task listing surface is adjusted, fenced, or clearly guarded, with tests/docs covering the hazardous `limit` without `page` shape.` Container: `engineer-codex-agentic-os-419` Container created: no running engineer was observed. Host log: `/Users/kai/.ward/agent-logs/dispatch/20260710T091748Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log` Capacity: `ward agent engineer --harness codex: global engineer limit is reached: 12 running (limit 12); wait for a run to finish or run `ward agent reap` for stale engineers` Retry: the issue stays queued and the director will try again when a slot opens. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-DISPATCH: deferred ⏸

deferred details

This forwarded dispatch was deferred after the issue was already reserved.

Attempted harness: codex
Attempted run: ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --details Repair agentic-os#419 after the PR #420 review. The patch added a safe bridge but left the existing documented ward ops forgejo tasks list --limit N surface able to full-history pull. Fix or fence the existing tasks list path, update docs/tests, and close agentic-os#419 only when the original performance trap is no longer reachable.
Container: engineer-codex-agentic-os-419
Container created: no running engineer was observed.
Host log: /Users/kai/.ward/agent-logs/dispatch/20260710T094025Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log
Capacity: ward agent engineer --harness codex: global engineer limit is reached: 12 running (limit 12); wait for a run to finish or run ward agent reap for stale engineers

Retry: the issue stays queued and the director will try again when a slot opens.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> <!-- ward-needs-redispatch --> WARD-DISPATCH: deferred ⏸ <details><summary>deferred details</summary> This forwarded dispatch was deferred after the issue was already reserved. Attempted harness: `codex` Attempted run: `ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --details Repair agentic-os#419 after the PR #420 review. The patch added a safe bridge but left the existing documented ward ops forgejo tasks list --limit N surface able to full-history pull. Fix or fence the existing tasks list path, update docs/tests, and close agentic-os#419 only when the original performance trap is no longer reachable.` Container: `engineer-codex-agentic-os-419` Container created: no running engineer was observed. Host log: `/Users/kai/.ward/agent-logs/dispatch/20260710T094025Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log` Capacity: `ward agent engineer --harness codex: global engineer limit is reached: 12 running (limit 12); wait for a run to finish or run `ward agent reap` for stale engineers` Retry: the issue stays queued and the director will try again when a slot opens. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-DISPATCH: failed

failure details

This forwarded dispatch failed after the issue was already reserved.

Attempted harness: codex
Attempted run: ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --details Repair agentic-os#419 after the PR #420 review. The patch must make the original full-history Actions task listing trap unreachable, not just add a parallel safe bridge. Update or fence the existing tasks list path in the .ward bundle and generated docs, include page=1 whenever limit is used, and close #419 only when director review no longer finds a raw limit-only Actions listing path.
Container: engineer-codex-agentic-os-419
Container created: no running engineer was observed.
Host log: /Users/kai/.ward/agent-logs/dispatch/20260710T101854Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log
Failure: ward container: download Go bootstrap binary https://forgejo.coilysiren.me/coilyco-flight-deck/ward/releases/download/v0.580.0/ward-linux-arm64: unexpected status 404 Not Found: Not Found

Retry: choose another harness if the first one is down, or rerun with --force if the reservation is stale.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> <!-- ward-needs-redispatch --> WARD-DISPATCH: failed ❌ <details><summary>failure details</summary> This forwarded dispatch failed after the issue was already reserved. Attempted harness: `codex` Attempted run: `ward agent engineer coilyco-flight-deck/agentic-os#419 --harness codex --details Repair agentic-os#419 after the PR #420 review. The patch must make the original full-history Actions task listing trap unreachable, not just add a parallel safe bridge. Update or fence the existing tasks list path in the .ward bundle and generated docs, include page=1 whenever limit is used, and close #419 only when director review no longer finds a raw limit-only Actions listing path.` Container: `engineer-codex-agentic-os-419` Container created: no running engineer was observed. Host log: `/Users/kai/.ward/agent-logs/dispatch/20260710T101854Z-director-codex-zv99-coilyco-flight-deck-agentic-os-419.log` Failure: `ward container: download Go bootstrap binary https://forgejo.coilysiren.me/coilyco-flight-deck/ward/releases/download/v0.580.0/ward-linux-arm64: unexpected status 404 Not Found: Not Found` Retry: choose another harness if the first one is down, or rerun with `--force` if the reservation is stale. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-RESERVATION: held 🔒

reservation details

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

Reserved by ward agent --harness codex (reserved 2026-07-10T10:20:35Z). 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#419 · branch issue-419 · harness codex · workflow pull-requests-and-merge
  • Run: engineer-codex-agentic-os-419 · ward v0.579.0 · dispatched 2026-07-10T10:20:35Z
  • Comment thread: 6 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.579.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARD-RESERVATION: held 🔒 <details><summary>reservation details</summary> Holder: container `engineer-codex-agentic-os-419` on host `kais-macbook-pro-2.local`. Reserved by `ward agent --harness codex` (reserved 2026-07-10T10:20:35Z). 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#419` · branch `issue-419` · harness `codex` · workflow `pull-requests-and-merge` - **Run:** `engineer-codex-agentic-os-419` · ward `v0.579.0` · dispatched `2026-07-10T10:20:35Z` - **Comment thread:** 6 included in the pre-flight read, 1 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T08:41:48Z), @coilyco-ops (2026-07-10T08:55:40Z), @coilyco-ops (2026-07-10T09:11:50Z), @coilyco-ops (2026-07-10T09:17:50Z), @coilyco-ops (2026-07-10T09:40:27Z), @coilyco-ops (2026-07-10T10:19:04Z) - stripped: @coilyco-ops (2026-07-10T08:56:38Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.579.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: merge-ready

details workflow: pull-requests-and-merge; review summary: skipped (review gate skipped by ~/.ward/config.yaml default) The agent made the original Actions pagination path safe, then fixed the CI path assumption that surfaced in verification. Confidence is high. The only surprise was the hidden repo-root split between local shell use and Forgejo Actions checkout paths. Follow-ups are not needed.
WARD-OUTCOME: merge-ready <details><summary>details</summary> workflow: pull-requests-and-merge; review summary: skipped (review gate skipped by ~/.ward/config.yaml default) The agent made the original Actions pagination path safe, then fixed the CI path assumption that surfaced in verification. Confidence is high. The only surprise was the hidden repo-root split between local shell use and Forgejo Actions checkout paths. Follow-ups are not needed. </details>
Author
Member

WARD-RESERVATION: held 🔒

reservation details

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

Reserved by ward agent --harness codex (reserved 2026-07-10T16:22:27Z). 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#419 · branch issue-419 · harness codex · workflow pull-requests-and-merge
  • Run: engineer-codex-agentic-os-419 · ward v0.583.0 · dispatched 2026-07-10T16:22:27Z
  • Comment thread: 7 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.583.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARD-RESERVATION: held 🔒 <details><summary>reservation details</summary> Holder: container `engineer-codex-agentic-os-419` on host `kais-macbook-pro-2.local`. Reserved by `ward agent --harness codex` (reserved 2026-07-10T16:22:27Z). 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#419` · branch `issue-419` · harness `codex` · workflow `pull-requests-and-merge` - **Run:** `engineer-codex-agentic-os-419` · ward `v0.583.0` · dispatched `2026-07-10T16:22:27Z` - **Comment thread:** 7 included in the pre-flight read, 2 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-10T08:41:48Z), @coilyco-ops (2026-07-10T08:55:40Z), @coilyco-ops (2026-07-10T09:11:50Z), @coilyco-ops (2026-07-10T09:17:50Z), @coilyco-ops (2026-07-10T09:40:27Z), @coilyco-ops (2026-07-10T10:19:04Z), @coilyco-ops (2026-07-10T11:06:00Z) - stripped: @coilyco-ops (2026-07-10T08:56:38Z), @coilyco-ops (2026-07-10T10:20:36Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.583.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: merge-ready

details workflow: pull-requests-and-merge; review summary: skipped (review gate skipped by ~/.ward/config.yaml default) implementation felt narrow and mechanical. confidence: high. surprises: Forgejo kept the PR state open after the branch had already been included in main, so the branch had to be landed first and the UI/API lagged behind. follow-ups: none
WARD-OUTCOME: merge-ready <details><summary>details</summary> workflow: pull-requests-and-merge; review summary: skipped (review gate skipped by ~/.ward/config.yaml default) implementation felt narrow and mechanical. confidence: high. surprises: Forgejo kept the PR state open after the branch had already been included in main, so the branch had to be landed first and the UI/API lagged behind. 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#419
No description provided.