Skip to content

fix(canary): reframe smoke prompt to give GPT-4o explicit permission to echo - #2507

Merged
HongmingWang-Rabbit merged 1 commit into
stagingfrom
fix/canary-prompt-explicit-echo
May 2, 2026
Merged

HongmingWang-Rabbit merged 1 commit into
stagingfrom
fix/canary-prompt-explicit-echo

Conversation

@HongmingWang-Rabbit

Copy link
Copy Markdown
Contributor

Summary

Canary smoke test went from ~100% pass to 30% flake starting 2026-05-01 22:11 with model-refusal replies:

"I'm unable to do that."
"I'm unable to fulfill that request. Can I assist you with anything else?"
"I'm unable to reply with responses that don't allow me to fulfill tasks…"

3 fails / 10 recent runs.

Root cause

The Platform Capabilities preamble (#2332, 2026-04-30) added `"Use them proactively"` to the top of every system prompt. Combined with the heavy A2A + HMA tool docs further down, GPT-4o reads the canary's contrived bare-echo prompt (`"Reply with exactly: PONG"`) as out-of-role and intermittently refuses.

Real user prompts don't hit this — only the synthetic smoke prompt does. So the platform's prompt is correct (we want agents primed toward tool use); the fix belongs in the canary.

Change

Two strings: parent + child smoke prompts now read

"This is the platform smoke test verifying agent wiring. No tools or memory are needed — please respond with exactly the single token: PONG"

Plus a load-bearing comment so a future reader doesn't trim back to the brittle phrasing.

Test plan

  • `bash -n` syntax check passes
  • python json round-trip on the new payload validates
  • CI green
  • Next 2-3 canary runs go green (the actual validation — current 30% flake means seeing 3 in a row gives ~95% confidence)

Out of scope (separate concerns)

  • Demo readiness: real demo prompts won't trigger this refusal pattern. Canary is the only victim.
  • Long-term: if other smoke tests adopt the same bare-echo phrasing, they'll need the same treatment. Not addressing those preemptively — apply only when they break.

🤖 Generated with Claude Code

…to echo

Canary started flaking 2026-05-01 22:11 with model-refusal replies:
  - "I'm unable to do that."
  - "I'm unable to fulfill that request. Can I assist you with anything else?"
  - "I'm unable to reply with responses that don't allow me to fulfill tasks…"
3 fails / 10 recent runs ≈ 30% flake.

Trigger: 2026-04-30's Platform Capabilities preamble (#2332) added the
directive "Use them proactively" to the top of every system prompt.
Combined with the heavy A2A + HMA tool docs further down, the model
reads the contrived bare-echo prompt ("Reply with exactly: PONG") as
out-of-role and intermittently refuses.

Real user prompts don't hit this — only the synthetic smoke prompt does,
so the right fix is in the canary's prompt phrasing, not the platform's
system prompt (which is correctly priming agents toward tool use). New
phrasing explicitly tells the model "this is a smoke test" and "no
tools or memory are needed" so it has permission to comply.

Also updates the child workspace's CHILD_PONG prompt with the same
framing — same failure mode would have hit it once full-mode runs again.

No code change to system prompt, no test infra change. Just two prompt
strings + a load-bearing comment so future readers don't trim back to
the brittle phrasing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@HongmingWang-Rabbit
HongmingWang-Rabbit added this pull request to the merge queue May 2, 2026
Merged via the queue into staging with commit cdbf54b May 2, 2026
21 checks passed
@HongmingWang-Rabbit
HongmingWang-Rabbit deleted the fix/canary-prompt-explicit-echo branch May 2, 2026 07:00
HongmingWang-Rabbit pushed a commit that referenced this pull request Jun 12, 2026
1. cp_provisioner.go: only forward kind when == WorkspaceKindPlatform.
   Ordinary workspaces always have kind='workspace' from the DB COALESCE,
   so we must suppress it to keep the omitempty contract honest.
   Test updated to pass Kind='workspace' (real-world value) instead of
   empty string (DB-failure-path only).

2. workspace_provision.go ~323: log kind lookup errors at ERROR level
   instead of silently swallowing them. A transient DB error during a
   concierge restart was downgrading to the plain image with no trace.
   Non-existent rows (sql.ErrNoRows) are still silently ignored as
   expected for new workspaces.

Closes #2507.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
HongmingWang-Rabbit pushed a commit that referenced this pull request Jun 12, 2026
…rror logging (#2507)' (#2514) from feat/2507-kind-wire-contract-truth-up into main
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