Skip to content

fix(board-worker): forward CL_ANCHOR to the executor (unblocks agent stages)#347

Merged
ProtocolWarden merged 1 commit into
mainfrom
goal/passthrough-cl-anchor
Jun 20, 2026
Merged

fix(board-worker): forward CL_ANCHOR to the executor (unblocks agent stages)#347
ProtocolWarden merged 1 commit into
mainfrom
goal/passthrough-cl-anchor

Conversation

@ProtocolWarden

Copy link
Copy Markdown
Owner

Summary

Next layer after #346. With baseline validation fixed, tasks reached the agent stages and the #345 diagnostics surfaced the real failure: the planner stage received a prose refusal instead of a JSON plan —
I'm unable to access the codebase because the ContextGuard requires CL_ANCHOR to be set ... run eval $(cl session start <manifest>) first.

Root cause

OC's CLAUDE.md ContextGuard requires every Claude session targeting OC to be anchored. operations-center.sh deliberately sets CL_ANCHOR on the fleet, but build_allowlist_env (#340) stripped it (not in _ENV_PASSTHROUGH) — so the executor subprocess and the agent it spawns lost it → prose refusal → planner stage fails → run dies. Same regression class as the #344 PATH bug; re-broke the prior #311 CL_ANCHOR unblock.

Fix

Add CL_ANCHOR/CL_HOME/CL_SESSION_ID to the passthrough (forwarded only when present), so the agent stays anchored and cl_dispatch_wrap hydrate/capture isn't silently disabled.

Verification

CL_ANCHOR forwarded (verified live); 13 env-allowlist tests pass; ruff clean; pre-push audit 0 findings. Deployed directly to the live fleet.

…fusal)

With the baseline blocker fixed (#346), tasks reached the agent stages and the
#345 diagnostics surfaced the next failure: the planner stage got a prose refusal
'ContextGuard requires CL_ANCHOR to be set ... run eval $(cl session start ...)'
instead of a JSON plan. OC's CLAUDE.md ContextGuard requires every Claude session
targeting OC to be anchored; operations-center.sh sets CL_ANCHOR on the fleet, but
build_allowlist_env (#340) stripped it (not in _ENV_PASSTHROUGH), re-breaking the
#311 unblock — same regression class as the #344 PATH bug.

Add CL_ANCHOR/CL_HOME/CL_SESSION_ID to the passthrough (forwarded only when
present) so the executor agent stays anchored and cl_dispatch_wrap hydrate/capture
is not silently disabled.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@ProtocolWarden ProtocolWarden merged commit 1051f53 into main Jun 20, 2026
21 checks passed
@ProtocolWarden ProtocolWarden deleted the goal/passthrough-cl-anchor branch June 20, 2026 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant