feat(buzz-acp): route goose systemPrompt via ACP+ _meta extension#1290
Draft
wpfleger96 wants to merge 1 commit into
Draft
feat(buzz-acp): route goose systemPrompt via ACP+ _meta extension#1290wpfleger96 wants to merge 1 commit into
wpfleger96 wants to merge 1 commit into
Conversation
For goose agents, systemPrompt must be passed via _meta["systemPrompt"] rather than as a first-class session/new field, per the ACP extensibility convention (ACP+ / _meta approach). Buzz-agent native agents continue to use the top-level systemPrompt field unchanged. Add session_new_full_goose to AcpClient, which puts systemPrompt inside _meta instead of at the top level. Add agent_command to PromptContext so create_session_and_apply_model can detect goose (via normalize_agent_command_identity) and dispatch to the correct variant. Co-authored-by: Will Pfleger <pfleger.will@gmail.com> Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
For goose agents,
systemPromptmust be passed via_meta["systemPrompt"]rather than as a first-classsession/newfield, because goose reads it from_metauntil RFD #1237 lands. Buzz-agent native agents continue to use the top-levelsystemPromptfield unchanged. When the RFD merges, both this PR and the goose companion can be updated to use the first-class field directly.Changes
crates/buzz-acp/src/acp.rs— addssession_new_full_goose, which putssystemPromptinside_metainstead of at the top level. Two new unit tests verify the goose path:session_new_full_goose_includes_system_prompt_in_meta_when_someandsession_new_full_goose_omits_meta_when_none. Existingsession_new_fulland its tests are unchanged.crates/buzz-acp/src/config.rs— promotesnormalize_agent_command_identitytopub(crate)sopool.rscan use it for goose detection.crates/buzz-acp/src/pool.rs— addsagent_command: StringtoPromptContext;create_session_and_apply_modeldispatches tosession_new_full_goosewhennormalize_agent_command_identity(&ctx.agent_command) == "goose", otherwise falls through tosession_new_full.crates/buzz-acp/src/lib.rs— populatesagent_commandin thePromptContextconstructor fromconfig.agent_command.Related
systemPromptas a first-class ACP field (not yet merged)systemPromptfrom_metaand applies it to the session