docs: AGENTS.md section on goose2 desktop backend architecture#8732
Merged
Conversation
Addresses #8699 Signed-off-by: Alex Hancock <alexhancock@block.xyz>
jamadeo
approved these changes
Apr 21, 2026
| Tauri commands (`invoke()` from `@tauri-apps/api/core`) are reserved for things that genuinely belong to the desktop shell, not to `goose` core. In practice that means: | ||
|
|
||
| - `get_goose_serve_url` — bootstrapping the ACP connection. | ||
| - Secret storage owned by the OS keychain (e.g. `save_provider_field`, `delete_provider_config` — note dictation still uses these for writing API keys into the OS keychain, because that's a shell concern). |
Member
There was a problem hiding this comment.
Secret storage owned by the OS keychain
do we want to be doing this via ACP+ too?
Collaborator
Author
There was a problem hiding this comment.
we probably can/should yes. i will remove this line.
Collaborator
Author
There was a problem hiding this comment.
will do in a followup when I am doing something else to avoid CI cycle wait
spikewang
pushed a commit
to spikewang/goose
that referenced
this pull request
Apr 22, 2026
…goose#8732) Signed-off-by: Alex Hancock <alexhancock@block.xyz>
lifeizhou-ap
added a commit
that referenced
this pull request
Apr 22, 2026
* main: feat: extend goose2 context window ux with auto-compaction (#8721) improve goose2 agent management flows (#8737) alexhancock/tui-improvements (#8736) fix: add strict:false to Responses API tools and gpt-5.4 to known models (#8636) persist and reliably apply chat model selection (#8734) merge goose-acp crate into goose (#8726) docs: AGENTS.md section on goose2 desktop backend architecture (#8732) feat: goose2 message bubble + action tray (#8720) consolidate provider ACP methods onto inventory (#8710) ci: declare and enforce MSRV of 1.91.1 (#8670) fix(ui): correct grammar in apps view description (#8668) (#8679) Stop load openai fast model for openapi compatible custom endpoint (#8644)
lifeizhou-ap
added a commit
that referenced
this pull request
Apr 22, 2026
* main: (41 commits) removed the specific code owner for documentation change (#8749) fix(providers): handle missing delta field in streaming chunks (#8700) refactor(providers): extract http_status module and rename handle_status_openai_compat (#8620) fix(providers/openai): accept streaming chunks with both reasoning fields (#8715) feat: associate threads with projects (#8745) upgrade goose sdk and tui to be compatible with the latest agentclientprotocol/sdk package (#8667) feat: extend goose2 context window ux with auto-compaction (#8721) improve goose2 agent management flows (#8737) alexhancock/tui-improvements (#8736) fix: add strict:false to Responses API tools and gpt-5.4 to known models (#8636) persist and reliably apply chat model selection (#8734) merge goose-acp crate into goose (#8726) docs: AGENTS.md section on goose2 desktop backend architecture (#8732) feat: goose2 message bubble + action tray (#8720) consolidate provider ACP methods onto inventory (#8710) ci: declare and enforce MSRV of 1.91.1 (#8670) fix(ui): correct grammar in apps view description (#8668) (#8679) Stop load openai fast model for openapi compatible custom endpoint (#8644) feat(hooks): add Husky git hooks for ui/goose2 (#8577) fix: links in chat could not be opened (#8544) ...
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.
Addresses #8699
In the goose2 AGENTS.md this replaces the "Backend Architecture" section with a fuller "Architecture" section that (1) states the single communication path explicitly, (2) walks through the skills-as-sources PR as a canonical worked example, (3) calls out the typed SDK methods as the preferred shape with
extMethodas an escape hatch, (4) enumerates the narrow cases whereinvoke()is still correct, and (5) lists the specific anti-patterns to avoid. The goal is that an agent picking up a new feature has enough guidance to structure it correctly given the still mixed state of client <-> server interactions in goose2.