Skip to content

harness canary: get opencode, qwen-code, sdk-governance-anthropic, prime-agent to a real verdict - #53

Merged
davidcrowe merged 7 commits into
mainfrom
fix/canary-all-green
Oct 8, 2026
Merged

davidcrowe merged 7 commits into
mainfrom
fix/canary-all-green

Conversation

@davidcrowe

Copy link
Copy Markdown
Contributor

Gets the four red canary legs from the 10-07 first run to a real verdict.

  • sdk-governance-anthropic (gsc#1396): the leg crashed reading @agenticcontrolplane/governance-anthropic/package.json, which the published 0.2.1 exports does not allow, so no call reached the gateway. Now resolves the main entry and reads the manifest from disk; falls back to unknown instead of crashing.
  • qwen-code (gsc#1399): headless -p declines run_shell_command (no prompt possible), so the echo never ran. Leg now runs qwen-acp --yolo -p … </dev/null; --yolo skips only qwen's own prompt, the ACP PreToolUse hook still gates and audits. qwen's "permission was declined" text added to the rejection grep so a recurrence fails fast at governed-call.
  • opencode (gsc#1380): the installer writes permission.bash = "ask" for attended users; headless run auto-rejects the ask even though the gateway row was allow. Leg sets OPENCODE_CONFIG_CONTENT='{"permission":{"bash":{"echo *":"allow"}}}' for that one process. Verified locally against a mock model: current config rejects, override runs the echo with the plugin hook still firing. Installer config untouched.
  • prime-agent (gsc#1390): prime-agent is not on npm. Installs the newest non-draft GitHub release tarball (sha256-checked). Stays dispatch-only: beta.55 is a Rust rewrite with no extension loader, so the plugin is inert (drift #1406) and the leg is expected red until the plugin is ported.

Hermes is fixed separately in the installer (agenticcontrolplane.com, fix/installer-bash5-hermes).

Verify: dispatch harness-canary.yml on this branch for each leg.

…din; treat qwen's declined-permission text as a rejection
… not npm (gsc#1390)

npm i prime-agent 404s (no such package). Resolve the newest non-draft
release (prereleases included: the Rust beta is what the updater serves),
verify the linux-x64 tarball against SHA256SUMS, extract under ~/.local.
The leg stays dispatch-only: beta.55 has no extension loader (gsc#1406).
opencode run auto-rejects an unanswered permission ask; the installer writes permission.bash=ask for attended users. The canary leg now sets OPENCODE_CONFIG_CONTENT for its own process only.
# Conflicts:
#	.github/workflows/harness-canary.yml
#	docs/harness-canary.md
@davidcrowe
davidcrowe merged commit a95e63c into main Oct 8, 2026
18 of 20 checks passed
@davidcrowe
davidcrowe deleted the fix/canary-all-green branch October 8, 2026 19:38
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