Finish dev-base adoption for frontend and publish jobs #106

Open
opened 2026-07-09 03:52:01 +00:00 by coilyco-ops · 3 comments
Member

The dev-base scan found eco-app already running its Python and C# gates in the pinned aos dev-base image, but the frontend and publish jobs still run on the minimal docker image. The publish job downloads Docker CLI from download.docker.com; the frontend job relies on the runner image's Node/corepack.

Acceptance criteria:

  • Move the publish job to the pinned aos dev-base image and remove the Docker CLI tarball install.
  • Evaluate moving the frontend job to dev-base as well, using dev-base's Node/npm/corepack if compatible with pnpm.
  • Preserve the current publish dependency graph: publish depends on test/frontend, not mods.
  • Keep Docker host probing and in-cluster registry push behavior unchanged.
The dev-base scan found eco-app already running its Python and C# gates in the pinned aos dev-base image, but the frontend and publish jobs still run on the minimal `docker` image. The publish job downloads Docker CLI from `download.docker.com`; the frontend job relies on the runner image's Node/corepack. Acceptance criteria: * Move the publish job to the pinned aos dev-base image and remove the Docker CLI tarball install. * Evaluate moving the frontend job to dev-base as well, using dev-base's Node/npm/corepack if compatible with pnpm. * Preserve the current publish dependency graph: publish depends on test/frontend, not mods. * Keep Docker host probing and in-cluster registry push behavior unchanged.
Author
Member

🔒 Reserved by ward agent --harness codex — container engineer-codex-eco-app-106 on host kais-macbook-pro-2.local is carrying this issue (reserved 2026-07-09T03:56:18Z). 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-gaming/eco-app#106 · branch issue-106 · harness codex · workflow pr
  • Run: engineer-codex-eco-app-106 · ward v0.470.0 · dispatched 2026-07-09T03:56:18Z
  • 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-eco-app-106` on host `kais-macbook-pro-2.local` is carrying this issue (reserved 2026-07-09T03:56:18Z). 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-gaming/eco-app#106` · branch `issue-106` · harness `codex` · workflow `pr` - **Run:** `engineer-codex-eco-app-106` · ward `v0.470.0` · dispatched `2026-07-09T03:56:18Z` - **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 publish/frontend onto pinned dev-base and removed the Docker CLI bootstrap
Review gate: skipped because --skip-preflight / --no-preflight also skips review.

The workflow change was small once the image contract was checked. The only thing that fought back was ward wanting a writable home for its audit dir, so I had to rerun the repo gate with a temp HOME. Confidence is good, but the frontend job should still be watched once CI runs on the PR.

WARD-OUTCOME: done - moved publish/frontend onto pinned dev-base and removed the Docker CLI bootstrap Review gate: skipped because --skip-preflight / --no-preflight also skips review. The workflow change was small once the image contract was checked. The only thing that fought back was ward wanting a writable home for its audit dir, so I had to rerun the repo gate with a temp HOME. Confidence is good, but the frontend job should still be watched once CI runs on the PR.
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 #106 never reached main). Recover from the salvage branch below.

  • Repo: coilyco-gaming/eco-app
  • Salvage branch: ward-salvage/eco-app-a58b14ad
  • Pull request: not opened - PR creation failed: forgejo: parse created pull request: invalid character ' ' in literal false (expecting 'l')
  • 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:              f10a2f2490ab
origin/main:       fd6720d092a6
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-gaming/eco-app.git ward-salvage/eco-app-a58b14ad
git checkout -b ward-salvage/eco-app-a58b14ad 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 #106 never reached `main`). Recover from the salvage branch below. - **Repo:** `coilyco-gaming/eco-app` - **Salvage branch:** `ward-salvage/eco-app-a58b14ad` - **Pull request:** not opened - PR creation failed: forgejo: parse created pull request: invalid character ' ' in literal false (expecting 'l') - **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: f10a2f2490ab origin/main: fd6720d092a6 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-gaming/eco-app.git ward-salvage/eco-app-a58b14ad git checkout -b ward-salvage/eco-app-a58b14ad FETCH_HEAD ``` <!-- ward-agent-signature --> — Codex, via `ward agent`
Sign in to join this conversation.
No description provided.