Repository navigation
M5: the assistant plans by tool calls through Gecko Suite (beta, per-person switch) - #218
Merged
Merged
Conversation
…er-person switch (M5) With AI_BACKEND=suite and Settings -> Assistant -> Tool calling on, phase one of a turn runs run_agent over SuiteChat with Notes' own tools instead of asking for a JSON plan in text. Read tools (find_notes, read_note, web_search) run through the retrieval code the text plan uses; write tools record a validate_action-checked action and change nothing. The result is the same plan, handed to the same _decide, so approval, deferred bodies and the executor are unchanged. The model is the one picked in Notes' panel, named by vendor and model. Local mode, the switch off, or a PDF attached keeps the text plan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V1geD2ELWgL2sDpxYbx3Aw
…del (M5) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01V1geD2ELWgL2sDpxYbx3Aw
davior
marked this pull request as ready for review
November 4, 2026 12:22
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.
Summary
M5 (the suite's SN-3), Notes side. With
AI_BACKEND=suiteand Settings → Assistant → Tool calling (beta) switched on, phase one of an assistant turn is planned by tool calls instead of a JSON plan written as text. Everything after planning is unchanged.How it works
run_agentfromgecko-suite-client(shared with GAM and GVC) overSuiteChat, using the model picked in Notes' own panel, named to the suite by vendor + model (needs gecko-suite#10).find_notes,read_noteandweb_searchreuse the retrieval code the text plan's search rounds used (_run_find_notes,_render_note,search_web_for_user). A note they surface is added tovalid_note_ids, so the executor accepts it.validate_actionand appends to a proposal; nothing touches a note.{"actions": [...]}plan (the model's reply as arespondaction, then the changes), handed to the same_decide. So approval, plan mode, deferredspecbodies and the executor neither know nor care which planner ran.tools.py): the text plan's rules minus everything that existed only because the plan was JSON in text. The browser sends the neutral parts (tool_ctx: reference block, live note, history, request, image attachments) beside the usual body.When it is used
assistant_tool_mode), off by default, and shown only in suite mode.Files: new
backend/app/assistant/tools.py,tool_planner.py; a hook at the top ofplanner.run_planning;suite.chat_client; the client pin inrequirements.txt; frontendutils/toolContext.ts, the settings store,AIConversationPanelandAssistantSettings.Test plan
pytest -qinbackend/: 1397 passed, 1 skipped, run against the client installed from the pinned URL (Python 3.13 locally; CI is 3.11).tests/test_assistant_tools.py, through realcreate_runandrun_planningagainst a fake suite:npm test224 passed (newtoolContexttests) andnpm run buildpasses.Deployment
e4d0d2a. If Add admin flag, user management, and profile features #10 merges as that commit, the pin stays valid; I'll re-pin to main's commit if it changes.docker compose up --build -d), then hard-refresh. The backend image installsgecko-suite-clientfrom the pinned archive URL.notes.Generated by Claude Code