Repository navigation
docs: ADR 0004 drift from the gap review - #148
Merged
Merged
Conversation
Factual corrections checked against main baa90bd and octos acffad3b: octos#2567 and #106 are merged; the pin is acffad3b; generic_tools is an exact list and omitting it keeps the whole roster (ask_user_question and shell included), so octos's shell is kept out only by the _main tool_policy (#117); the peer link method is octos.session.open. architecture.md and ai-services.md now reflect the system chat (#132), the peer link's shell side, the macOS sandbox and the Restart tile (#130), and the host-tool relay (#145). ADRs 0002 and 0003 get dated amendment notes for #117. The system_tools.rs module doc no longer says the command-execution switch does not exist. Records two decisions of 2026-09-29 in ADR 0004: host.ask is dropped for octos's ask_user_question routed by the shell (G11), and terminal.run is process-only (G12). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.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.
Docs-only fixes for the drift the ADR 0004 gap review found, plus one code comment. Every claim was checked against
mainatbaa90bdand octosacffad3b(the pin) before a doc was changed.Fixes
gh pr view: octos#2567 merged, #106 merged 2026-09-28acffad3b(octos#2616)Cargo.toml:101generic_toolsis an exact list; an empty list keeps nothing; omitted keeps the whole roster,ask_user_questionandshellincluded. "Additive" means withgeneric_toolsomittedshould_offer_exactly_the_generic_tools_the_host_sets,should_keep_the_peers_kernel_tools_when_it_registers_an_empty_set,should_offer_ask_user_question_on_a_peer_input_turn_when_the_host_lists_it(ui_protocol_peer_host_tools_tests.rs)system_tools.rstool_policy(),enforceuser_questionhandling incrates/app-peersoctos.context.open→octos.session.openpeer_link/wire.rsPEER_METHODS; Makepadpeer.rsopen_sessionshellto app peers" corrected: withgeneric_toolsomitted (as the broker registers), peers keepshell; the only barrier is the_maintool_policy, which fails open whenenforcerefusesshould_offer_exactly_the_registered_tools_and_refuse_an_unlisted_one;broker.rsregister_tools;tests/broker.rs:554;launch.rs:223ask_user_questionon host-driven turns closed as already met (G14)crates/shell/src/system_chat/crates/shell/src/peer_link/, frames routed inlib.rs;native-apps.json(Terminaloctos: [])crates/shell/src/sandbox/mod.rstable,clients.rssandbox_policyClientSlot::stops_in_place, testan_unexpected_death_keeps_the_tile_closed_with_restartcwd; hash unification is #139broker.rsopen_params/cwds,host_tools::agent_workspacegeneric_tools= whole roster;shellstays unlesstool_policyremoves itbaa90bd/acffad3b); octos#2567 merged; relay (#145) feeds the router; peer link built; system chat; exact list waits for octos#2605system_tools.rs_mainprofile deniesgroup:runtimesystem_tools.rsenforcecrates/kernel/src/system_tools.rsmodule docgeneric_tools(the broker omits it)system_chat/grants.rs;broker.rsDecisions (2026-09-29)
Recorded in ADR 0004 as dated decisions (the user's, relayed):
host.askis dropped. App agents and the system agent ask with octos's ownask_user_question, which octos keeps on host-driven turns. The shell routes each question to the right conversation: the app's own conversation, or the system chat for system-agent turns (includingpeer/inputturns). Updated in the Context, Gap 6, §6, plan step 6, the follow-ups, ADR 0002's amendment and architecture.md. Nohost.askis registered onmain(grep finds none); any remaining shell code for it is being removed separately.terminal.runis process-only. The Terminal's AI types commands only when the Terminal runs as its own sandboxed process (macOS, Windows, Linux with Vulkan and Wayland). The in-process Terminal (Linux without Vulkan, phones) is read-only (Makepadapps/terminal/src/module.rs,read_only_manifest). §10, §12 and the Consequences say so, including that the system agent'sterminal.rungrant takes effect only where a process Terminal exists.Review claims not taken
PeerToolCallomitstool_call_id/args_digest": false for the peer link. The shell'sToolCallDown(peer_link/wire.rs) and Makepad'sPeerToolCall(libs/ai/services/src/peer.rs) carry exactly the fields the ADR lists.tool_call_idandargs_digestare on the kernel'speer/tool/call(crates/app-peers/src/host_tools.rs,HostToolCall), which the shell uses for dedupe and does not pass to the app. §5 unchanged.Not changed
docs/architecture.zh-CN.mdanddocs/ai-services.zh-CN.mdare not updated; they now lag the English pages..github/workflows). A local check of every relative link and anchor in the five changed docs found none broken.cargo fmt -p octosense-kernel --checkdiffers onmainalready (not in CI); this change touches only comments.🤖 Generated with Claude Code