fix: preserve logical Codex identity across verified runtime resolution - #11
Conversation
Signed-off-by: Schrödinger’s Cat <62413+cmyk@users.noreply.github.com> (cherry picked from commit 9629d3b8ac35f95a755159f89a28ee5464b6db5e)
56a3170 to
241ce7f
Compare
reinhold-ph
left a comment
There was a problem hiding this comment.
APPROVE — no blocking findings in exact head 241ce7f49542d3dd7551cfb277244196a5c9ffe8.
The rebased commit is one ahead/zero behind merged PR #12 main, preserves DCO and provenance, and has the same stable patch ID as the previously reviewed identity repair. GitHub reports the same resulting blob SHA for each of the nine changed files as old reviewed head 56a31702d23dcafbec0ef50c32c89a530f8ab14d; no resolver, workflow, manifest, dependency, migration, or lockfile changes entered the PR.
Executor verification on this exact head reports 114 config tests, the targeted ACP spawn regression, 4 runtime-plan tests, 52 environment tests, formatting, and diff checks all passing. The prior combined candidate had a source tree identical to this head and passed bundled-sidecar/network acceptance. Per the exact-head product gate, the final package still needs to be rebuilt from 241ce7f4... before merge.
Summary
This is a follow-up to merged PR #10 for the reviewed Thin-v6 Codex runtime-identity repair.
The installed candidate at source commit
9009dae32f15f147f57165e6623414c6c23b0967reproduced the Codex relay DNS failure: the initial delivery command failed network resolution, Codex retried through Guardian-reviewed elevated network access, and signed delivery eventually succeeded.Desktop's verified runtime resolution canonicalized the logical
codex-acpcommand to its executable target,.../codex-acp/dist/index.js. Desktop then passed that executable path wherebuzz-acpexpected a logical runtime identity. Because the basename was the genericindex.js, Codex-specificCODEX_CONFIGnetwork injection was skipped.This patch separates the trusted logical runtime identity from verified executable provenance:
BUZZ_ACP_AGENT_IDENTITY.buzz-acpuses that identity for Codex policy and other runtime-specific defaults while retaining the verified command for execution.The exact production contract is covered end to end: Desktop resolves through the real Codex catalog mapping and emits identity
codex;buzz-acpconsumes identitycodex; and a spawned generic.../dist/index.jsprobe observesCODEX_CONFIG.sandbox_workspace_write.network_access=true.Observer telemetry for this runtime changes from
codex-acpto the canonical logical identitycodex.Provenance
898d562b01dda584ba42f6d6fb50c0ff7638f4699629d3b8ac35f95a755159f89a28ee5464b6db5e-xand preserves its Signed-off-by trailer.Verification
cargo test -p buzz-acp config::tests— 114 passedcargo test -p buzz-acp acp::tests::spawn_— 2 passedmanaged_agents::runtime_plan::tests— 4 passedmanaged_agents::runtime::tests— 60 passedmanaged_agents::env_vars::tests— 42 passed898d562b01dda584ba42f6d6fb50c0ff7638f469— passedgit diff --check— passedNo app build, packaging, launch, GUI automation, or packaged acceptance has run for this follow-up.
Do not merge until separately approved.