Repository navigation
docs: the system agent and app agents as main has them - #269
Merged
Merged
Conversation
…r, News agents; glance cards; sys.chat) README (en/zh): a "System agent and app agents" section with the system agent's tools and host tools, which apps have an agent and their tools, and a system agent -> app agent -> glance card -> in-card chat sequence; glance cards and the in-card chat; the consent gate for script apps (not "off"); layout rows for crates/l0-chat, crates/toolbox, Calendar and its services. AGENTS.md: "where things live" rows for the system chat, agent tools and the relay, approvals, glance cards and l0-chat, app agents' tools.json, and the calendar/news host services, each with a check that was run. Crate READMEs: ai-host (model and octos services, toolbox gate and features), app-peers (two lanes on main, script-app peers, namespaces, approvals), kernel en/zh (consumers, the system agent's host tools, no token for host tools), toolbox (shells link it, dossier, pin has octos-research, 83 tests), a new crates/l0-chat README. apps/ README en/zh and AGENTS.md: Calendar, the calendar service, an "App agents" section. Mail plan: status. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The README described the person's lane only as opened by "the app's UI or its cards", which none of the system apps does. Add what main has: - A section "Talking to an app's agent yourself": the shell's "Ask <app>" panel for every app with an agent (crates/shell/src/app_chat/), opened from the bar, Shift+F8 or the menu row "Ask this app's agent"; a card's in-card chat; and the app's own UI. Consent, both lanes labelled, Send in parallel with the system agent's lane, the one-lane Stop and "Stop the system agent's task", where questions go, and close/reopen. - The phone draws the panel as a full-screen sheet, but no touch control opens it on main yet. - "The person's Stop ends both lanes" was only true of the sheets' "Stop <App>'s agent" (approvals::stop_agent); the panel's Stop is the person's own turn (interrupt_agent_lane). - The two-lanes drawing still said "Two lanes: in progress" and "app UI or its cards": show the Mermaid diagram instead and drop the PNG. - apps/README: the same, in short. English and Chinese together. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The drawings were from 2026-09-29 and no longer matched main: - agents-processes.png: adds the "Ask <app>" panel in the shell's UI, the person's turns from it and from in-card chat to the broker, and the app host services (mail, calendar, news) the relay routes app tools to, which publish glance cards. The Mermaid text version gains the same nodes. - agents-two-lanes.png: back, without the "Two lanes: in progress" badge (both lanes are on main) and with the person's arrow labelled "the shell's Ask <app> panel, a card's chat or the app's own UI". - agents-tool-call.png: the relay's grant, schema and budget checks inside each branch and the confirm: app hand-off through the approval router, as the Mermaid has them; the example is calendar.remove_event (destructive, confirm: host) instead of mail.send, which no app has. - agents-card-flow.png (new): the system agent -> Mail's agent -> mail.notify -> glance card -> in-card chat sequence, with its Mermaid moved into a text version like the others. Drawn with gpt-image-2 and checked label by label against the Mermaid and the code; quantized to 128 colours (about 460 KB each). English and Chinese READMEs together. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 2, 2026
docs: glance cards as main draws them (toasts, dismiss, notice cards, no chat in agents' cards)
#271
Merged
ymote
added a commit
that referenced
this pull request
Oct 2, 2026
… no chat in agents' cards) The headless instrument run of the desktop shell showed where #269's README was wrong, and #273 and #274 have since changed the same ground: - Notifications (#273): a new card opens the glance panel unless a card window is up, and a notify card always posts a toast that opens it in its card window; while the panel is open, toasts stack left of it. Each card has a dismiss button, the panel a close button. Phone: a shade notification. - Notice cards (#274): every <app>.notify fills the shell's one notice card (crates/shell/resources/glance/notice.card, glance_notice.rs); Mail and News hand notify to the shell, Photos, Maps, YouTube and Camera are answered by its notice service. The app-agent table gains them. - No agent-published card has an in-card chat: the notice card and Calendar's event and agenda cards declare no sys.chat, so the card flow ends at the blackboard (steps 12-14 dropped from the sequence and its drawing; step 8 is "toast and glance panel (desktop), shade notification (phone)"). The only shipped card with a chat is the OCTOSENSE_GLANCE_DEMO=mail demo card, with canned replies. For the system apps the way in is "Ask <app>". English and Chinese, root and apps READMEs together. 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. I read everything from the code at
f52620c5, which pins octosae230ce0. Each file's English and Chinese versions carry the same content.Changes, and why
README.md / README.zh-CN.md
crates/kernel/src/system_tools.rs,session/tool_list/set, Kernel: the system agent's exact tool list on every start (ADR 0004 §12 step 4) #245).agents.listandagents.ask(crates/shell/src/agents.rs), plusterminal.run.crates/shell/src/apps.rsagent_apps,apps/*/bundle/tools.json).peer/input→ Mail's agent →mail.notify→ relay → host service →glance.publish→ notification → in-card chat (Mail and Calendar agents put cards on the glance screen; assistant pane and glance panel polish #267, L0 in-card chat (sys.chat) host side; AI-written text in the mail card #263).AGENT.md, skills, triggers.contained_gate_fromincrates/ai-host/src/lib.rsand docs(ai-services): contained apps' assistant is behind consent, not off #268.crates/shell/src/glance*.rs).sys.chat,crates/l0-chat).crates/l0-chatandcrates/toolbox, which was missing, plus Calendar and thecalendar/newsservices. The ai-host, kernel and app-peers rows are made accurate.AGENTS.md
agents.rs;agent_appsandhost_tools; approvals; glance andl0-chat; an app agent'stools.json.calendar,newsandmodel.Crate READMEs
modelservice and theoctoshost service for script apps are now covered:card.<app id>, the gate, the declared names (src/contained.rs).generic_tools" (broker.rs:1721sets them).os.*gate.toolbox-peersis on by default on the phone.share_historylane is onmain, no longer "in progress".app/card.os.mail/…, FNV tag).rinx-mini-…sessions" paragraph.agents.*host tools are covered.octos-research, so no override is needed. The test count is 83, thedossiertemplate is added, and the fixture count is 23.peer::catalog.calendarservice section).mail.notify,contacts.rsand secrets folder.Checks run
cargo test --locked -p octosense-l0-chatpassed (8); its clippy is clean.-p octosense-mail-service -p octosense-calendar-service -p octosense-news-service -p octosense-llm-servicepassed.-p octosense-app-peers --features octos-core,wspassed.-p octosense-ai-host --features octos-core,llmpassed.-p octosense-kernelpassed.-p octosense-toolboxpassed (83).phone/:cargo test --locked --features mobile-apps -p octosense-shellwith each ofsystem_chat(63),host_tools(60),approvals(58) andglance(31) passed.rom/:python3 -m unittest tests.test_no_local_pathsis OK, and thetools/unittests are OK. Every relative link resolves.tools/ci-local.sh.Overlaps with open PRs
Hostfields. The paragraph at README "AI services (octos)" still says "each granted native app" and "approvals answered in that app". It is stale, but Desktop: find the packaged octos kernel and refuse one of another revision #256 edits the same line, so it is left for a follow-up.docs/architecture.md, which Desktop: find the packaged octos kernel and refuse one of another revision #256 edits. Its "Worked example" still says there is no Calendar app and Mail has no tools.Inconsistencies in the code (not fixed here)
crates/shell/src/glance_chat.rssays Mail has no agent ortools.json. That is stale since Mail and Calendar agents put cards on the glance screen; assistant pane and glance panel polish #267.MAX_QUEUED_INPUTSdoc incrates/app-peers/src/host_tools.rsstill says person messages share the queue.toolbox_peers.rskeeps anos.*gate marked "until App Hub mobile: native-feeling frame pacing on the phone #26", but mobile: native-feeling frame pacing on the phone #26 is in the pin.phone/Cargo.tomlanddesktop/Cargo.tomlcommenttoolbox-peersas "off by default", yet the phone's default includes it.app/card.os.mail/…and the brief reads "the os.mail app".agent.profileandmodel.needsare not read by the shell.SystemAgentTools::grant_toolboxandgrant_cross_appare used only in tests.octosense-calendar-servicetests are not inapps.yml.Second commit: the person talks to an app's agent directly
crates/shell/src/app_chat/), opened from the bar's button, Shift+F8 or the menu row "Ask this app's agent"; a card's in-card chat; the app's own UI. It covers consent, both lanes labelled, Send running in parallel with the system agent's lane, where questions go, and close/reopen.interrupt_agent_lane). A running system agent turn has its own "Stop the system agent's task". The approval and question sheets' "Stop 's agent" stops both lanes (approvals::stop_agent). The README had said every Stop ends both lanes.mainyet. All callers ofask_focused_appare the desktop bar, the menu row and Shift+F8.Checks:
python3 -m unittest discover -s tools -p 'test_*.py'(90 OK),rom/tests/test_no_local_pathsOK, and every relative link and anchor in the four edited files resolves.Third commit: the README's drawings, redrawn (gpt-image-2)
agents-processes.pngagents-two-lanes.pngagents-tool-call.pngconfirm: apphand-off through the router, as in the Mermaid. The example iscalendar.remove_event(destructive,confirm: host) instead ofmail.send, which no app has.agents-card-flow.png(new)mail.notify→ glance card → in-card chat sequence. Its Mermaid is now a collapsed text version, like the others.Every label was checked against the Mermaid and the code. One processes draft had wrong arrows and was redrawn. The images are quantized to 128 colours, about 460 KB each.
🤖 Generated with Claude Code