Publish dev-base with Wayland/XKB headers and verify Bevy builds on both architectures #619

Closed
opened 2026-07-23 05:51:08 +00:00 by coilyco-ops · 7 comments
Member

Problem

The full dev-base source declares Bevy-class native dependencies, including libwayland-dev and libxkbcommon-dev, but the published multi-architecture image forgejo.coilysiren.me/coilyco-flight-deck/agentic-os:v0.255.0 does not contain those two packages on either amd64 or arm64.

Observed 2026-07-23:

  • arm64: libasound2-dev and libudev-dev are installed; libwayland-dev and libxkbcommon-dev are absent; pkg-config --exists wayland-client fails.
  • amd64: same result.
  • cargo test --workspace for coilyco-gaming/factory-game-v3 at 7cd29b4 inside the exact pinned image reaches wayland-sys v0.31.11 and fails because wayland-client.pc is unavailable.
  • Factory Game Actions run 23 is red after adding its Bevy shell; run 22 was green before the shell entered the workspace.

The source/image mismatch suggests the published tag was built from the wrong tier, stale Docker context, or an incomplete multi-arch path.

Scope

  • Identify why the full-image dependency declarations did not reach the published manifests.
  • Correct the build/publish path.
  • Publish a new immutable dev-base tag; do not silently mutate v0.255.0.
  • Validate both linux/amd64 and linux/arm64 manifests contain the Wayland and XKB development packages and that pkg-config --exists wayland-client succeeds.
  • Add a representative native Bevy compile smoke test or equivalent package assertion to prevent recurrence.
  • Record the new tag on this issue so consumer repositories can bump independently.

Acceptance

  • Both architectures pass package and pkg-config verification.
  • A minimal native Bevy/Winit build succeeds inside the published image.
  • The image documentation matches what is actually shipped.
  • Existing language tiers remain intact.

Coordination

Do not modify coilyco-gaming/factory-game-v3 in this issue. Kai has unpushed native work there; this issue deliberately repairs only the shared build substrate.

## Problem The full dev-base source declares Bevy-class native dependencies, including `libwayland-dev` and `libxkbcommon-dev`, but the published multi-architecture image `forgejo.coilysiren.me/coilyco-flight-deck/agentic-os:v0.255.0` does not contain those two packages on either amd64 or arm64. Observed 2026-07-23: - arm64: `libasound2-dev` and `libudev-dev` are installed; `libwayland-dev` and `libxkbcommon-dev` are absent; `pkg-config --exists wayland-client` fails. - amd64: same result. - `cargo test --workspace` for `coilyco-gaming/factory-game-v3` at `7cd29b4` inside the exact pinned image reaches `wayland-sys v0.31.11` and fails because `wayland-client.pc` is unavailable. - Factory Game Actions run 23 is red after adding its Bevy shell; run 22 was green before the shell entered the workspace. The source/image mismatch suggests the published tag was built from the wrong tier, stale Docker context, or an incomplete multi-arch path. ## Scope - Identify why the full-image dependency declarations did not reach the published manifests. - Correct the build/publish path. - Publish a new immutable dev-base tag; do not silently mutate `v0.255.0`. - Validate both linux/amd64 and linux/arm64 manifests contain the Wayland and XKB development packages and that `pkg-config --exists wayland-client` succeeds. - Add a representative native Bevy compile smoke test or equivalent package assertion to prevent recurrence. - Record the new tag on this issue so consumer repositories can bump independently. ## Acceptance - Both architectures pass package and pkg-config verification. - A minimal native Bevy/Winit build succeeds inside the published image. - The image documentation matches what is actually shipped. - Existing language tiers remain intact. ## Coordination Do not modify `coilyco-gaming/factory-game-v3` in this issue. Kai has unpushed native work there; this issue deliberately repairs only the shared build substrate.
Author
Member

WARDED_WORKFLOW: blocked 🛑

details

Release workflow 1575 failed after runner setup returned context canceled for retag-lang-node and retag-lang-dotnet. retag-full never ran, so v0.256.0 was not created. A director or ops run needs to repair or rerun the failed runner work, then validate the full image on both architectures.

The review gate was intentionally skipped because the temporary ward default is pending brokered QA.

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

Retrospective: The implementation felt direct once tag history showed that v0.255.0 predates the Wayland/XKB source fix.
Confidence: High for the branch change and its green CI, blocked for artifact publication.
Surprise: The release runner lost contexts after successfully retagging only part of the tier family.
Follow-up: A director or ops run reruns workflow 1575 or its failed jobs, records the new immutable tag, and confirms the full image's amd64 and arm64 native package checks.

WARDED_WORKFLOW: blocked 🛑 <details><summary>details</summary> Release workflow [1575](https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/actions/runs/1575) failed after runner setup returned `context canceled` for `retag-lang-node` and `retag-lang-dotnet`. `retag-full` never ran, so `v0.256.0` was not created. A director or ops run needs to repair or rerun the failed runner work, then validate the full image on both architectures. The review gate was intentionally skipped because the temporary ward default is pending brokered QA. workflow: pull-request-and-merge; review summary: intentionally skipped because the temporary ward default is pending brokered QA. Retrospective: The implementation felt direct once tag history showed that `v0.255.0` predates the Wayland/XKB source fix. Confidence: High for the branch change and its green CI, blocked for artifact publication. Surprise: The release runner lost contexts after successfully retagging only part of the tier family. Follow-up: A director or ops run reruns workflow 1575 or its failed jobs, records the new immutable tag, and confirms the full image's amd64 and arm64 native package checks. </details>
Author
Member

WARDED_WORKFLOW: reservation-released

release details

Run finished with WARDED_WORKFLOW: blocked 🛑.

ward container reap released container engineer-codex-agentic-os-619 (--harness codex): the terminal outcome supersedes the reservation, so a later redispatch no longer needs --override-reservation.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> WARDED_WORKFLOW: reservation-released <details><summary>release details</summary> Run finished with `WARDED_WORKFLOW: blocked 🛑`. `ward container reap` released container `engineer-codex-agentic-os-619` (`--harness codex`): the terminal outcome supersedes the reservation, so a later redispatch no longer needs `--override-reservation`. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: reservation-released

release details

Run never started. ward container reap released container engineer-codex-agentic-os-619 (--harness codex): it exited without launching the agent (smoke-test death, ward#222/#264/#595), so it did no work and the launch intent it took is retracted. Nothing is running on this issue. It needs re-dispatch. A ward agent director re-queues it automatically. A manual ward agent retry no longer needs --override-reservation.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> <!-- ward-needs-redispatch --> WARDED_WORKFLOW: reservation-released <details><summary>release details</summary> Run never started. `ward container reap` released container `engineer-codex-agentic-os-619` (`--harness codex`): it exited without launching the agent (smoke-test death, ward#222/#264/#595), so it did no work and the launch intent it took is retracted. Nothing is running on this issue. It needs re-dispatch. A `ward agent director` re-queues it automatically. A manual `ward agent` retry no longer needs `--override-reservation`. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Owner

this needed to have merged first => #620

this needed to have merged first => https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/pulls/620
Author
Member

WARDED_WORKFLOW: #634\n\n

details\n\nReview gate intentionally skipped because the temporary ward default is pending brokered QA.\n\nworkflow: pull-request-and-merge; review summary: intentionally skipped because the temporary ward default is pending brokered QA.\nWARD-OUTCOME: done\n\nKai's #620-first feedback was acknowledged by merging current main into this branch. CI passed: ward-doctor and gate.\nRetrospective: This felt focused once the landed source repair was separated from the remaining published-full check.\nConfidence: High.\nSurprise: The initial branch predated #620 and needed a conflict-resolved base update.\nFollow-up: A director or ops run records the new immutable dev-base tag after the release retry completes.\n\n

WARDED_WORKFLOW: https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/pulls/634\n\n<details><summary>details</summary>\n\nReview gate intentionally skipped because the temporary ward default is pending brokered QA.\n\nworkflow: pull-request-and-merge; review summary: intentionally skipped because the temporary ward default is pending brokered QA.\nWARD-OUTCOME: done\n\nKai's #620-first feedback was acknowledged by merging current main into this branch. CI passed: ward-doctor and gate.\nRetrospective: This felt focused once the landed source repair was separated from the remaining published-full check.\nConfidence: High.\nSurprise: The initial branch predated #620 and needed a conflict-resolved base update.\nFollow-up: A director or ops run records the new immutable dev-base tag after the release retry completes.\n\n</details>
Author
Member

WARDED_WORKFLOW: failed

reap details

ward container reap found no residual work to salvage, but this launched run exited without a WARDED_WORKFLOW comment.

  • Container: engineer-codex-agentic-os-619
  • Workflow: pull-request-and-merge
  • Recovery: inspect the container log, fix the engineer seed or launch mode, and redispatch.

— Codex, via ward agent

WARDED_WORKFLOW: failed ❌ <details><summary>reap details</summary> `ward container reap` found no residual work to salvage, but this launched run exited without a `WARDED_WORKFLOW` comment. - **Container:** `engineer-codex-agentic-os-619` - **Workflow:** `pull-request-and-merge` - **Recovery:** inspect the container log, fix the engineer seed or launch mode, and redispatch. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Author
Member

WARDED_WORKFLOW: reservation-released

release details

Run finished with WARDED_WORKFLOW: failed ❌.

ward container reap released container engineer-codex-agentic-os-619 (--harness codex): the terminal outcome supersedes the reservation, so a later redispatch no longer needs --override-reservation.

— Codex, via ward agent

<!-- ward-agent-reservation-released --> WARDED_WORKFLOW: reservation-released <details><summary>release details</summary> Run finished with `WARDED_WORKFLOW: failed ❌`. `ward container reap` released container `engineer-codex-agentic-os-619` (`--harness codex`): the terminal outcome supersedes the reservation, so a later redispatch no longer needs `--override-reservation`. </details> <!-- ward-agent-signature --> — Codex, via `ward agent`
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
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#619
No description provided.