Make release Scoop asset helper available to bump-scoop job #1412

Closed
opened 2026-07-15 11:41:14 +00:00 by coilyco-ops · 5 comments
Member

Problem

PR #1410 fixed the previous Scoop sidecar digest metadata bug and merged for #1403, but the post-merge release run still failed.

Run evidence:

run 8511 (#2240) failure release.yml push release "Fix release Scoop manifest digest lookup after draft asset promotion (#1410)"
job bump-scoop-manifest, step Write ward.json to the scoop bucket and push
bash: scripts/forgejo-release-asset.sh: No such file or directory
exitcode 127

The release job, promote-draft-assets job, and bump-tap-formula job succeeded. The remaining failure is that the Scoop job invokes the new helper path but the helper is not available in that job working directory on the release workflow.

This is a missed acceptance follow-up for #1403. The original #1403 acceptance required release.yml to succeed for the current release branch SHA including bump-scoop-manifest.

Acceptance

  • Ensure bump-scoop-manifest can resolve and run the sidecar asset helper, or replace the helper call with an inline/API path available in that job.
  • Preserve the #1410 behavior: read the raw .sha256 asset body, not release asset metadata JSON.
  • Add or update workflow/contract coverage so a missing helper path in release.yml is caught before merge.
  • Confirm release.yml succeeds for the current release branch SHA, including bump-scoop-manifest, or leave exact blocker evidence.

Related: #1403, #1410, run 8511 / #2240.

## Problem PR #1410 fixed the previous Scoop sidecar digest metadata bug and merged for #1403, but the post-merge release run still failed. Run evidence: ```text run 8511 (#2240) failure release.yml push release "Fix release Scoop manifest digest lookup after draft asset promotion (#1410)" job bump-scoop-manifest, step Write ward.json to the scoop bucket and push bash: scripts/forgejo-release-asset.sh: No such file or directory exitcode 127 ``` The release job, promote-draft-assets job, and bump-tap-formula job succeeded. The remaining failure is that the Scoop job invokes the new helper path but the helper is not available in that job working directory on the release workflow. This is a missed acceptance follow-up for #1403. The original #1403 acceptance required release.yml to succeed for the current release branch SHA including bump-scoop-manifest. ## Acceptance - Ensure bump-scoop-manifest can resolve and run the sidecar asset helper, or replace the helper call with an inline/API path available in that job. - Preserve the #1410 behavior: read the raw .sha256 asset body, not release asset metadata JSON. - Add or update workflow/contract coverage so a missing helper path in release.yml is caught before merge. - Confirm release.yml succeeds for the current release branch SHA, including bump-scoop-manifest, or leave exact blocker evidence. Related: #1403, #1410, run 8511 / #2240.
Author
Member

DISPATCH-DEFERRED: capacity blocked. Attempted warded engineer coilyco-flight-deck/ward#1412 --harness codex --workflow pull-request-and-merge at 2026-07-15T11:41Z. Ward rejected the launch because coilyco-flight-deck/ward already had 3 active engineers at the repo limit. Broker evidence: repo engineer limit is reached for coilyco-flight-deck/ward: 3 active engineer(s) (limit 3). Dispatch log: /Users/kai/.ward/agent-logs/dispatch/20260715T114121Z-director-codex-jp85-coilyco-flight-deck-ward-1412.log. Retry this #1403 missed-acceptance follow-up as soon as a slot opens.

DISPATCH-DEFERRED: capacity blocked. Attempted warded engineer coilyco-flight-deck/ward#1412 --harness codex --workflow pull-request-and-merge at 2026-07-15T11:41Z. Ward rejected the launch because coilyco-flight-deck/ward already had 3 active engineers at the repo limit. Broker evidence: repo engineer limit is reached for coilyco-flight-deck/ward: 3 active engineer(s) (limit 3). Dispatch log: /Users/kai/.ward/agent-logs/dispatch/20260715T114121Z-director-codex-jp85-coilyco-flight-deck-ward-1412.log. Retry this #1403 missed-acceptance follow-up as soon as a slot opens.
Author
Member

DISPATCH-DEFERRED: capacity blocked on retry. Attempted warded engineer coilyco-flight-deck/ward#1412 --harness codex --workflow pull-request-and-merge again at 2026-07-15T11:48Z after capacity briefly opened. Ward rejected the launch because coilyco-flight-deck/ward already had 3 active engineers at the repo limit. Broker evidence: repo engineer limit is reached for coilyco-flight-deck/ward: 3 active engineer(s) (limit 3). Dispatch log: /Users/kai/.ward/agent-logs/dispatch/20260715T114832Z-director-codex-jp85-coilyco-flight-deck-ward-1412.log. Retry this release blocker at the next available slot.

DISPATCH-DEFERRED: capacity blocked on retry. Attempted warded engineer coilyco-flight-deck/ward#1412 --harness codex --workflow pull-request-and-merge again at 2026-07-15T11:48Z after capacity briefly opened. Ward rejected the launch because coilyco-flight-deck/ward already had 3 active engineers at the repo limit. Broker evidence: repo engineer limit is reached for coilyco-flight-deck/ward: 3 active engineer(s) (limit 3). Dispatch log: /Users/kai/.ward/agent-logs/dispatch/20260715T114832Z-director-codex-jp85-coilyco-flight-deck-ward-1412.log. Retry this release blocker at the next available slot.
Author
Member

WARDED_WORKFLOW: reservation-held

reservation details

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

Accepted by ward agent --harness codex (reserved 2026-07-15T11:50:59Z). 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#1412 · branch issue-1412 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-ward-1412 · ward v0.710.0 · dispatched 2026-07-15T11:50:52Z
  • 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.710.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-1412` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T11:50:59Z). 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#1412` · branch `issue-1412` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-ward-1412` · ward `v0.710.0` · dispatched `2026-07-15T11:50:52Z` - **Comment thread:** 2 included in the pre-flight read, 0 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-15T11:41:39Z), @coilyco-ops (2026-07-15T11:49:49Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.710.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: #1416

details

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

felt: straightforward once the missing checkout was traced
confidence: high
surprises: none
follow-ups: director merge after green checks

WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/ward/pulls/1416 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: review gate intentionally skipped because the temporary ward default pending brokered QA felt: straightforward once the missing checkout was traced confidence: high surprises: none follow-ups: director merge after green checks </details>
Author
Member

QA FAIL after PR #1416 / merge commit 4b7a9ffd5d.

Release run 8524 / repo run #2248 failed in bump-scoop-manifest. PR #1416 fixed the missing checkout/helper path, but the job still receives release asset metadata JSON instead of a raw 64-hex .sha256 body:

::error::sidecar digest '{"id":4253,"name":"ward-windows-amd64.exe.sha256",...}' is not a 64-hex sha256; refusing to write manifest

That misses #1412's acceptance item to preserve the #1410 behavior: read the raw .sha256 asset body, not release asset metadata JSON. Filed follow-up #1420 with identical labels for the remaining blocker.

QA FAIL after PR #1416 / merge commit 4b7a9ffd5db7d08a08236762616a1f95ae18745d. Release run 8524 / repo run #2248 failed in bump-scoop-manifest. PR #1416 fixed the missing checkout/helper path, but the job still receives release asset metadata JSON instead of a raw 64-hex .sha256 body: `::error::sidecar digest '{"id":4253,"name":"ward-windows-amd64.exe.sha256",...}' is not a 64-hex sha256; refusing to write manifest` That misses #1412's acceptance item to preserve the #1410 behavior: read the raw .sha256 asset body, not release asset metadata JSON. Filed follow-up #1420 with identical labels for the remaining blocker.
Sign in to join this conversation.
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#1412
No description provided.