Move remaining Forgejo utility workflows to aos dev-base #483

Closed
opened 2026-07-09 03:51:59 +00:00 by coilyco-ops · 3 comments
Member

The dev-base scan found infrastructure workflows still installing common tools at runtime or using minimal docker jobs without dev-base.

Findings:

  • .forgejo/workflows/build-runner-deploy.yml downloads Docker CLI from download.docker.com.
  • .forgejo/workflows/mirror-sync.yml downloads jq from GitHub releases.
  • .forgejo/workflows/caddy-shortcuts.yml already uses dev-base but still downloads yq, which should be handled by central dev-base tool expansion or a bounded fallback.

Acceptance criteria:

  • Run compatible utility/build jobs in the pinned aos dev-base image.
  • Remove Docker CLI and jq downloads where dev-base supplies those tools.
  • Keep yq either as a bounded fallback or remove it after dev-base owns yq.
  • Preserve deploy-runner and mirror-sync behavior.
The dev-base scan found infrastructure workflows still installing common tools at runtime or using minimal `docker` jobs without dev-base. Findings: * `.forgejo/workflows/build-runner-deploy.yml` downloads Docker CLI from `download.docker.com`. * `.forgejo/workflows/mirror-sync.yml` downloads jq from GitHub releases. * `.forgejo/workflows/caddy-shortcuts.yml` already uses dev-base but still downloads yq, which should be handled by central dev-base tool expansion or a bounded fallback. Acceptance criteria: * Run compatible utility/build jobs in the pinned aos dev-base image. * Remove Docker CLI and jq downloads where dev-base supplies those tools. * Keep yq either as a bounded fallback or remove it after dev-base owns yq. * Preserve deploy-runner and mirror-sync behavior.
Author
Member

🔒 Reserved by ward agent --harness codex — container engineer-codex-infrastructure-483 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-09T03:54:20Z). 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/infrastructure#483 · branch issue-483 · harness codex · workflow pr
  • Run: engineer-codex-infrastructure-483 · ward v0.470.0 · dispatched 2026-07-09T03:54:20Z
  • Comment thread: 0 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.470.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> 🔒 Reserved by `ward agent --harness codex` — container `engineer-codex-infrastructure-483` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-09T03:54:20Z). 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/infrastructure#483` · branch `issue-483` · harness `codex` · workflow `pr` - **Run:** `engineer-codex-infrastructure-483` · ward `v0.470.0` · dispatched `2026-07-09T03:54:20Z` - **Comment thread:** 0 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.470.0). </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARD-OUTCOME: done - moved build-runner-deploy and mirror-sync into pinned aos dev-base, with bounded yq fallback in caddy-shortcuts
Review gate skipped because --skip-preflight / --no-preflight also skips review.

The work went cleanly once the repo validation ran in a writable HOME and uv cache directory. The only thing that fought back was the container environment, not the workflows themselves. Confidence is high, and the remaining rough edge is the yq fallback until dev-base owns it.

WARD-OUTCOME: done - moved build-runner-deploy and mirror-sync into pinned aos dev-base, with bounded yq fallback in caddy-shortcuts Review gate skipped because --skip-preflight / --no-preflight also skips review. The work went cleanly once the repo validation ran in a writable HOME and uv cache directory. The only thing that fought back was the container environment, not the workflows themselves. Confidence is high, and the remaining rough edge is the yq fallback until dev-base owns it.
Author
Member

⚠️ Reopened: this run's work did not land on main

An ephemeral ward container (codex mode) dispatched for this issue finished but its work was not merged to main, so the reaper preserved it on a branch before teardown and reopened the issue (a closing reference for #483 never reached main). Recover from the salvage branch below.

  • Repo: coilyco-flight-deck/infrastructure
  • Salvage branch: ward-salvage/infrastructure-966642e7
  • Pull request: not opened - PR creation failed: forgejo: parse created pull request: unexpected end of JSON input
  • Reason: run workflow does not land on main (--workflow pr/patch-only)
  • Container uptime at reap: 5m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token)

Reap diagnostics

--- reap diagnostics ---
ward version:      v0.470.0
version source:    pinned via WARD_VERSION/--ward-version (v0.470.0)
HEAD:              4e14cd2001bf
origin/main:       1e88a57fe177
ancestry:          HEAD is NOT yet on origin/main - residual work remains to land
decision gate:     workflow does not land on main (--workflow pr/patch-only)
reason:            run workflow does not land on main (--workflow pr/patch-only)
provenance:        not read (workflow hold)
run-owned landed:  no
working tree:      clean
container uptime:  5m (baked Forgejo PAT age proxy)
--- end reap diagnostics ---

Recover

git fetch https://forgejo.coilysiren.me/coilyco-flight-deck/infrastructure.git ward-salvage/infrastructure-966642e7
git checkout -b ward-salvage/infrastructure-966642e7 FETCH_HEAD

— Codex, via ward agent

## ⚠️ Reopened: this run's work did not land on `main` An ephemeral `ward container` (codex mode) dispatched for this issue finished but its work was **not merged to `main`**, so the reaper preserved it on a branch before teardown and reopened the issue (a closing reference for #483 never reached `main`). Recover from the salvage branch below. - **Repo:** `coilyco-flight-deck/infrastructure` - **Salvage branch:** `ward-salvage/infrastructure-966642e7` - **Pull request:** not opened - PR creation failed: forgejo: parse created pull request: unexpected end of JSON input - **Reason:** run workflow does not land on main (--workflow pr/patch-only) - **Container uptime at reap:** 5m (age of the baked Forgejo PAT snapshot; a long-lived container is likelier to carry a rotated token) ## Reap diagnostics ``` --- reap diagnostics --- ward version: v0.470.0 version source: pinned via WARD_VERSION/--ward-version (v0.470.0) HEAD: 4e14cd2001bf origin/main: 1e88a57fe177 ancestry: HEAD is NOT yet on origin/main - residual work remains to land decision gate: workflow does not land on main (--workflow pr/patch-only) reason: run workflow does not land on main (--workflow pr/patch-only) provenance: not read (workflow hold) run-owned landed: no working tree: clean container uptime: 5m (baked Forgejo PAT age proxy) --- end reap diagnostics --- ``` ## Recover ```bash git fetch https://forgejo.coilysiren.me/coilyco-flight-deck/infrastructure.git ward-salvage/infrastructure-966642e7 git checkout -b ward-salvage/infrastructure-966642e7 FETCH_HEAD ``` <!-- ward-agent-signature --> — Codex, via `ward agent`
Sign in to join this conversation.
No description provided.