Repository navigation
docs: architecture.md (+ zh-CN) as main is on 2026-10-02 (system app agents, glance, approvals, sandboxes) - #288
Merged
Merged
Conversation
#275 rewrote the intro, the kernel and session text and the worked example, and #256 the desktop kernel row; those stay. On top of them this corrects what still disagrees with main's code: which apps have an agent and their tools, the notice card, toasts and dismissal, the glance panel's L0 taps, where questions show, agents.ask, the approval router and every approval going to it, terminal.run, the toolbox, the process launch, the Linux sandbox and the follow-ups that are now fixed. English and Chinese now say the same; the Chinese page had fallen behind. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ymote
force-pushed
the
docs/architecture-refresh
branch
from
October 2, 2026 20:52
6530e6d to
5ea4fbb
Compare
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.
This PR is rebased onto
mainat91063e3, after #275 (the architecture walkthrough), #256, #268, #278, #279 and #290. #275's rewrites stay as they are: the intro, the kernel and session text, the script-app account wording, the tools-table examples, the worked example's intro and rows 1, 3 and 5, and follow-up 13. So do #256's desktop kernel row and the follow-up 5 that reflects #268.On top of them, this PR fixes what still disagrees with
main's code, indocs/architecture.mdanddocs/architecture.zh-CN.md. Before this PR the Chinese page had fallen behind the English one; both now say the same thing.Corrections still added on top of #275 (old claim → what the code says)
Agents and tools
apps.rsagent_apps,apps/*/bundle/tools.json).mail.notify.events,add_event,remove_event(destructive,confirm: host),notifyandagenda.<app>.notify, which the shell'sNoticeServiceanswers.script_apps.rs). None of the system apps callsoctos.*or draws a chat.agents.askshows the first-use sheet" → it is alsoact,outwardandconfirm: "app". The kernel holds it until the person has answered and the peer is ready (agents.rs,system_chatsettle_asks). Also added to worked-example row 2.modelnot registered" → on main behindtoolbox-peers(toolbox-peers: offer the system toolbox to app agents (ADR 0002 §6, ADR 0004 §12, behind a feature) #151), on by default only in the phone build.grants.rsterminal_target).mail.sendis not declared yet.Glance
<app>.notifyfills the shell's notice card (glance_notice.rs).lib.rsglance_notify,keep_clear_of).OCTOSENSE_GLANCE_DEMO=mailcard hassys.chat.LiveCards). The phone's glance page does not run them yet.Communication and approvals
Route::LeftToClient). Step 3 now covers calls not on the host's connection.peer/inputstart is refused with its reason, and the oldest instance drives an app's peer (app-peers: one instance drives an app's peer; the next takes over when it closes #201).Processes, storage, sandboxes
cargo run … --stdin-loop" → the shell builds the app locked, outside any sandbox, then starts the binary sandboxed (launch_plan, Process apps: build from the workspace (locked), start the binary sandboxed; force-close; terminal.run needs a sandboxed launch (ADR 0004 review) #225).hostingis stillmodule.storage.max_bytes, so script apps act for the device" → App Hub also acceptsaccounts,agent_workspaceandcache_max_bytes, and Mail acts for its active account.Worked example and disagreements
add_eventisactand its events are kept inevents.json.calendar.remove_eventtakes the router's path today.mail.sendexists only as a method for Mail's own UI.agents.askis the onlyconfirm: apptool on main.Checks
On the rebased head:
python3 -m unittest discover -s tools -p 'test_*.py': 95 tests, OK.rom/:python3 -m unittest tests.test_no_local_paths: OK.Docs only. No device run.
🤖 Generated with Claude Code