Skip to content

fix(acp): replace Goose native system prompt - #5964

Open
atishpatel wants to merge 1 commit into
mainfrom
atish/goose-system-prompt-set
Open

fix(acp): replace Goose native system prompt#5964
atishpatel wants to merge 1 commit into
mainfrom
atish/goose-system-prompt-set

Conversation

@atishpatel

@atishpatel atishpatel commented Aug 15, 2026

Copy link
Copy Markdown
Contributor

Why

Buzz currently appends its managed prompt to Goose's native prompt, so managed agents receive both instruction sets instead of the intended Buzz-only system prompt.

What

  • Send Goose's custom session system-prompt request with mode: "set"
  • Lock the replacement contract in the ACP request test

Risk Assessment

Low — the change is limited to Goose session setup; adapters that do not implement Goose's custom method keep the existing method-not-found fallback behavior.

References

Goose v1.46.0 routes set to override_system_prompt, and its prompt builder selects that override instead of rendering the native system.md: ACP handler, prompt builder.

Validated end to end against the official Goose v1.46.0 binary with a local OpenAI-compatible capture server: the provider request contained the exact Buzz replacement prompt and did not contain Goose's native base-prompt marker.


Update Aug 15, 13:17 CDT: Added the Terra-high prompt-ablation comparison.

The Goose conditions used GPT 5.6 Terra at high effort on the same 11 Terminal-Bench 2.1 tasks, with two attempts per task and concurrency four. The matched append-full and set-full runs used the same persona and included the same Buzz platform prompt; Active-h is the primary measure because it excludes Buzz lifecycle overhead.

Goose condition Pass Active-h Median active Agent-h Wall-h Tool calls
Native prompt + Buzz prompt (append-full) 21/22 0.3042 0.85 min 0.3974 0.1496 234
Native prompt + persona only (append-persona-only) 22/22 0.3050 0.75 min 0.3990 0.1498 204
Buzz prompt replaces native prompt (set-full) 22/22 0.3340 0.87 min 0.4296 0.1551 275

Replacing instead of appending produced one additional passing attempt, but it was not an efficiency improvement in this small sample: versus append-full, set-full increased Active-h by 9.8%, median active by 2.0%, Agent-h by 8.1%, Wall-h by 3.7%, and tool calls by 17.5%. It was faster on only two of eleven per-task active-time medians (distribution-search and prove-plus-comm). With two attempts per task, these are directional results rather than confidence intervals; they support this change as an instruction-isolation/correctness fix, not a performance optimization, and argue against Goose's appended native prompt being the main source of active-time cost.

Generated with Codex

Signed-off-by: Atish Patel <atishpatel2012@gmail.com>
Co-authored-by: Codex <noreply@openai.com>
@atishpatel
atishpatel marked this pull request as ready for review August 15, 2026 18:15
@atishpatel
atishpatel requested a review from a team as a code owner August 15, 2026 18:15

@themiguelamador themiguelamador left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The functional change is correct: I verified the cited Goose revision routes mode: "set" to override_system_prompt, and its prompt builder uses that override instead of the native template. The local method-not-found fallback remains intact.

The blocker is repository attribution policy:

  • commit b264f5651 contains Co-authored-by: Codex <noreply@openai.com>
  • the PR body ends with Generated with Codex

This repository prohibits AI attribution in both commits and PRs. An additive follow-up commit cannot remove a trailer already in history, so the commit must be rewritten/replaced and the PR footer removed.

I prepared a tree-identical signed replacement commit with no prohibited attribution: https://github.com/Complear/buzz/commit/9e509c808

Verification:

  • replacement tree is byte-identical to the submitted PR head
  • targeted Goose system-prompt tests: 3 passed
  • cargo clippy -p buzz-acp --all-targets -- -D warnings: clean
  • cargo fmt --all -- --check: clean
  • git diff whitespace check passes

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.

2 participants