Validate affected dev-base image builds on pull requests #541

Merged
coilyco-ops merged 17 commits from issue-454 into main 2026-07-29 13:52:26 +00:00
Owner

Summary

  • add a credential-free ci / build-dev-base pull-request status
  • derive affected tiers and the full source closure from the canonical tier specification
  • share Dockerfiles, build arguments, bootstrap scripts, in-image Ward checks, and full verification with publication
  • load one local architecture and cap the persistent Buildx cache without registry export

Validation

  • 585 tests passed, 1 skipped
  • full pre-commit run --all-files passed

closes coilyco-flight-deck/agentic-os#454

## Summary - add a credential-free `ci / build-dev-base` pull-request status - derive affected tiers and the full source closure from the canonical tier specification - share Dockerfiles, build arguments, bootstrap scripts, in-image Ward checks, and full verification with publication - load one local architecture and cap the persistent Buildx cache without registry export ## Validation - 585 tests passed, 1 skipped - full `pre-commit run --all-files` passed closes coilyco-flight-deck/agentic-os#454
ci: run the dev-base build + main-only validations on PRs as build-only checks
Some checks failed
ci / gate (pull_request) Successful in 11s
ci / build-dev-base (pull_request) Failing after 2m20s
7c51971514
Factor the build/verify half of release.yml's publish-dev-base into the
shared ./actions/dev-base-build composite so PR validation and the main
publish run one definition and cannot drift apart. ci.yml gains a
pull_request-only build-dev-base job that builds every tier (exercising
the in-image CLIGUARD_NO_SANDBOX=1 ward doctor gate) with no push, no
tag, and no registry auth, plus a compute-only tag-bump step in gate so
release planning is validated pre-merge. Publish, tag, and the GitHub
mirror stay main-only. The manifest verify loop now derives its tier
refs from the build plan instead of a hand-maintained suffix list.

This is the prevention for the aos#452 class: main going red on a merge
because PRs never exercised what main does.

closes #454
Merge remote-tracking branch 'origin/main' into issue-454
Some checks failed
ci / gate (pull_request) Successful in 11s
ci / build-dev-base (pull_request) Failing after 2m24s
bb4d2ede0a
docs: update PR CI feature inventory
Some checks failed
ci / gate (pull_request) Successful in 13s
ci / build-dev-base (pull_request) Failing after 4m39s
65c8612943
Author
Owner

WARDED_WORKFLOW: blocked 🛑

details

workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA)

ci / gate passed on PR #541. ci / build-dev-base failed after 4m39s on the same PR. I could not recover a repo-local fix from this run, and the failure still matches the dev-base build/doctor blocker seen before.

felt: clean until the shared dev-base path tripped again.
confidence: high that this is still external to this repo.
surprises: the fresh PR on the current branch did not change the outcome.
follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541.

WARDED_WORKFLOW: blocked 🛑 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA) ci / gate passed on PR #541. ci / build-dev-base failed after 4m39s on the same PR. I could not recover a repo-local fix from this run, and the failure still matches the dev-base build/doctor blocker seen before. felt: clean until the shared dev-base path tripped again. confidence: high that this is still external to this repo. surprises: the fresh PR on the current branch did not change the outcome. follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541. </details>
ci: refresh dev-base PR validation
Some checks failed
ci / ward-doctor (pull_request) Failing after 12s
ci / gate (pull_request) Failing after 11s
ci / build-dev-base (pull_request) Failing after 3m37s
84e861dd84
Author
Owner

WARDED_WORKFLOW: blocked 🛑

details

workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA)

ci / ward-doctor failed after 12s, ci / gate failed after 11s, and ci / build-dev-base failed after 3m37s on PR #541.
felt: the PR wiring was straightforward, but the same external dev-base blocker still won.
confidence: high that the remaining failure is external to this repo.
surprises: the build-only job stayed red on the refreshed head even after the branch was rebased onto current main.
follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541.

WARDED_WORKFLOW: blocked 🛑 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA) ci / ward-doctor failed after 12s, ci / gate failed after 11s, and ci / build-dev-base failed after 3m37s on PR #541. felt: the PR wiring was straightforward, but the same external dev-base blocker still won. confidence: high that the remaining failure is external to this repo. surprises: the build-only job stayed red on the refreshed head even after the branch was rebased onto current main. follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541. </details> <!-- ward-agent-signature -->
Author
Owner

WARDED_WORKFLOW: blocked 🛑

details

workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA)

ci / ward-doctor failed after 12s, ci / gate failed after 11s, and ci / build-dev-base failed after 3m37s on PR #541.
I could not recover a repo-local fix from this run.
felt: the PR wiring was straightforward, but the shared dev-base blocker still won.
confidence: high that the remaining failure is external to this repo.
follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541.

WARDED_WORKFLOW: blocked 🛑 <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA) ci / ward-doctor failed after 12s, ci / gate failed after 11s, and ci / build-dev-base failed after 3m37s on PR #541. I could not recover a repo-local fix from this run. felt: the PR wiring was straightforward, but the shared dev-base blocker still won. confidence: high that the remaining failure is external to this repo. follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541. </details> <!-- ward-agent-signature -->
merge: reconcile issue-454 with main
Some checks failed
ci / ward-doctor (pull_request) Successful in 19s
ci / gate (pull_request) Successful in 1m26s
ci / build-dev-base (pull_request) Failing after 7m50s
4e2e802748
Author
Owner

WARDED_WORKFLOW: failed

details

workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA)

ci / ward-doctor passed, ci / gate passed, and ci / build-dev-base failed after 7m50s on PR #541.
felt: the merge held, but the shared dev-base build/doctor path still tripped.
confidence: high the blocker is external to this repo.
surprises: the refreshed head kept the same failure.
follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541.

WARDED_WORKFLOW: failed ❌ <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA) ci / ward-doctor passed, ci / gate passed, and ci / build-dev-base failed after 7m50s on PR #541. felt: the merge held, but the shared dev-base build/doctor path still tripped. confidence: high the blocker is external to this repo. surprises: the refreshed head kept the same failure. follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541. </details> <!-- ward-agent-signature -->
Author
Owner

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-agentic-os-541 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-15T05:22:00Z). 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/agentic-os#541 · branch issue-541 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-agentic-os-541 · ward v0.697.0 · dispatched 2026-07-15T05:21:48Z
  • Comment thread: 4 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.697.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-agentic-os-541` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T05:22:00Z). 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/agentic-os#541` · branch `issue-541` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-agentic-os-541` · ward `v0.697.0` · dispatched `2026-07-15T05:21:48Z` - **Comment thread:** 4 included in the pre-flight read, 0 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-15T01:12:21Z), @coilyco-ops (2026-07-15T01:35:42Z), @coilyco-ops (2026-07-15T03:11:16Z), @coilyco-ops (2026-07-15T03:42:02Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.697.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
fix(dev-base): retry dotnet installer fetch
Some checks failed
ci / ward-doctor (pull_request) Successful in 18s
ci / gate (pull_request) Successful in 1m45s
ci / build-dev-base (pull_request) Failing after 7m2s
6d369856bb
fix(ci): retry PR build bootstrap downloads
Some checks failed
ci / ward-doctor (pull_request) Successful in 15s
ci / gate (pull_request) Successful in 1m17s
ci / build-dev-base (pull_request) Failing after 11m29s
e48d08d209
fix(dev-base): use redirected dotnet script host
Some checks failed
ci / ward-doctor (pull_request) Successful in 27s
ci / gate (pull_request) Successful in 2m19s
ci / build-dev-base (pull_request) Failing after 19m23s
88d94c5df5
fix(dev-base): use cache-only build validation
Some checks failed
ci / gate (pull_request) Successful in 1m25s
ci / ward-doctor (pull_request) Successful in 2m20s
ci / build-dev-base (pull_request) Failing after 4m44s
2e041cb7ae
fix(dev-base): restore loaded tier builds
Some checks failed
ci / ward-doctor (pull_request) Successful in 35s
ci / gate (pull_request) Successful in 7m31s
ci / build-dev-base (pull_request) Has been cancelled
7d1c27d5f8
Author
Owner

WARDED_WORKFLOW: reservation-held

reservation details

Holder: launch intent for container engineer-codex-agentic-os-541 on host kais-macbook-pro-2.local.

Accepted by ward agent --harness codex (reserved 2026-07-15T06:53:48Z). 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/agentic-os#541 · branch issue-541 · harness codex · workflow pull-request-and-merge
  • Run: engineer-codex-agentic-os-541 · ward v0.697.0 · dispatched 2026-07-15T06:53:36Z
  • Comment thread: 4 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.697.0).

— Codex, via ward agent

<!-- ward-agent-reservation --> WARDED_WORKFLOW: reservation-held <details><summary>reservation details</summary> Holder: launch intent for container `engineer-codex-agentic-os-541` on host `kais-macbook-pro-2.local`. Accepted by `ward agent --harness codex` (reserved 2026-07-15T06:53:48Z). 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/agentic-os#541` · branch `issue-541` · harness `codex` · workflow `pull-request-and-merge` - **Run:** `engineer-codex-agentic-os-541` · ward `v0.697.0` · dispatched `2026-07-15T06:53:36Z` - **Comment thread:** 4 included in the pre-flight read, 1 stripped (ward's own automated comments). - included: @coilyco-ops (2026-07-15T01:12:21Z), @coilyco-ops (2026-07-15T01:35:42Z), @coilyco-ops (2026-07-15T03:11:16Z), @coilyco-ops (2026-07-15T03:42:02Z) - stripped: @coilyco-ops (2026-07-15T05:22:01Z) Static container doctrine and seed boilerplate are identical every run and omitted here (they ride ward v0.697.0). </details> </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
merge: refresh issue-454 onto current main
Some checks failed
ci / ward-doctor (pull_request) Successful in 29s
ci / gate (pull_request) Successful in 1m4s
ci / build-dev-base (pull_request) Has been cancelled
468f007300
chore: retrigger PR ci
Some checks failed
ci / ward-doctor (pull_request) Successful in 1m20s
ci / gate (pull_request) Successful in 59s
ci / build-dev-base (pull_request) Failing after 14m43s
c3563abf8a
Author
Owner

WARDED_WORKFLOW: failed

details

workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA)

ci / ward-doctor passed, ci / gate passed, and ci / build-dev-base failed after 14m43s on PR #541.
felt: the branch refresh held, then the shared dev-base build fell over.
confidence: high the blocker is still external to this repo.
follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541.

WARDED_WORKFLOW: failed ❌ <details><summary>details</summary> workflow: pull-request-and-merge; review summary: skipped (in-container review gate intentionally skipped, the temporary ward default pending brokered QA) ci / ward-doctor passed, ci / gate passed, and ci / build-dev-base failed after 14m43s on PR #541. felt: the branch refresh held, then the shared dev-base build fell over. confidence: high the blocker is still external to this repo. follow-ups: wait for the ward-side build/doctor compatibility fix, then rerun PR #541. </details> <!-- ward-agent-signature -->
coilysiren closed this pull request 2026-07-15 14:01:25 +00:00
coilyco-ops changed title from Run the dev-base docker build + main-only validations on PRs as build-only checks to Validate affected dev-base image builds on pull requests 2026-07-29 12:53:36 +00:00
coilyco-ops reopened this pull request 2026-07-29 12:53:37 +00:00
Merge branch 'main' of https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os into issue-454
Some checks failed
ci / ward-doctor (pull_request) Successful in 40s
ci / gate (pull_request) Successful in 1m29s
ci / build-dev-base (pull_request) Has been cancelled
9ceced3932
Keep the production docker-container driver unchanged while the single-architecture PR build uses Docker's local driver for credential-free full-image composition.

closes coilyco-flight-deck/agentic-os#454

Co-authored-by: Codex <noreply@openai.com>
Merge branch 'main' of https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os into issue-454
Some checks failed
ci / ward-doctor (pull_request) Successful in 2m3s
ci / gate (pull_request) Successful in 3m7s
ci / build-dev-base (pull_request) Failing after 17m38s
79c965268b
fix(ci): link local image targets with Buildx Bake
All checks were successful
ci / ward-doctor (pull_request) Successful in 16s
ci / gate (pull_request) Successful in 3m27s
ci / build-dev-base (pull_request) Successful in 13m3s
f9f16cce88
Keep specialist results inside the isolated BuildKit cache, compose full through target contexts, and load only the final smoke-test image.

closes coilyco-flight-deck/agentic-os#454

Co-authored-by: Codex <noreply@openai.com>
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!541
No description provided.