v3 alpha: ship the first verifiable OCI worker - #10
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 194919288c
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| --env BOFA_IMAGE_REFERENCE=ghcr.io/descambiado/bofa-worker \ | ||
| --env BOFA_IMAGE_DIGEST="${FIXTURE_IMAGE_DIGEST}" \ | ||
| bofa-worker:ci |
There was a problem hiding this comment.
Bind the check to the image actually launched
In the inspected worker-image.yml container test, the signed fixture and BOFA_IMAGE_DIGEST both use the constant all-a digest, while Docker actually launches the mutable bofa-worker:ci tag. Because WorkerRuntime only compares the signed digest with this caller-supplied environment value, the test succeeds even if the launched image is not the signed image; the same dispatcher mistake in production would bypass the advertised immutable-image binding. Resolve the built image's real ID/digest and launch that exact identity rather than supplying an unrelated fixture value.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2fd05c27b0
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "evidence_read" | ||
| ], | ||
| "network_modes": [ | ||
| "none" |
There was a problem hiding this comment.
Align the worker network mode with the OCI profile
When BOFA_OCI_WORKER_IMAGE and its digest are configured for this image, ExecutionFabric._default_profiles() enables oci-ephemeral but signs every manifest with network_mode="restricted" (core/execution/fabric.py:64-78). This catalog permits only none, while WorkerRuntime.inspect() requires the signed and observed modes to be identical, so even the catalogued hash job returned by /execution/preflight will be denied with runtime_network_mode; the new fixture misses this because it constructs a separate none profile. Make the control-plane OCI profile match this image or expose a dedicated profile for its catalog.
Useful? React with 👍 / 👎.
Why
BOFA v3 had a signed worker protocol but no deployable artifact proving it. This PR turns that contract into one deliberately narrow OCI worker that can be built, executed and verified without pretending that cloud provisioning already exists.
What changes
forensics/hash_calculatoradapter withevidence_readandnetwork_mode=nonepython tools/demo_worker_oci.py --buildfor a complete local proofmainit publishes a multi-arch candidate with SBOM/provenance, scans it, signs and verifies the digest with Cosign, then promotessha-*andedgeVerification
65532, 53.3 MB, 4.5 KB allowlisted build contextpip-audit: no known vulnerabilitiesHonest limits
mainNext milestone
Connect one dispatcher to this digest, return the receipt plus teardown/cost events, and expose one complete defensive run from SotyHub.