Repository navigation
feat(glance): retain full-screen app workspaces with contextual agent chat - #326
Merged
Merged
Conversation
ymote
force-pushed
the
docs/adr-mail-composable-action-cards
branch
from
October 5, 2026 05:17
f62496e to
8dd8f66
Compare
Contributor
Author
|
Local CI passed on 8e3112f ( GitHub would run for this PR: desktop.yml, phone.yml, apps.yml, rom.yml. Merged on this local pass (macOS runner queue); GitHub CI runs on the merge commit on main.
Notes:
|
ymote
added a commit
that referenced
this pull request
Oct 5, 2026
#326 merged while the guides were being rewritten. These changes bring its facts into the README and the guides, each checked in the code. - Mail's agent can draft replies and propose sending them (mail.propose_reply, mail.draft, mail.suggest_reply, mail.propose_send). It has no tool that sends. Only the person sends, by approving the exact message on the host's review with a physical touch. Developer mode and standing rules cannot authorize a send, and desktop approval is not built yet. - An opened card is a workspace: full screen on the phone, centred on the desktop. It has Card / Chat tabs for an app with an agent, or Email / Chat over one saved draft for a Mail reply. A phone notification opens its exact card. - Calendar ships on the phone too. - architecture.md has a Mail-sending paragraph in section 5, a new trust boundary, and the worked example marked as ADR 0004's sketch, which ADR 0007 superseded for sending. Its disagreement list notes that ADR 0004 still lets standing rules approve sends. - The walkthrough adds card workspaces to where the person talks. - ai-services has a card-chat row, and a turn started from a card's chat counts as the app's own run. - mail-agent-events covers event turns that propose a reply draft, and draft-bound cards surviving a restart. 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.
Mail chat could claim to correct a reply while review still showed an older draft, and interactive Glance cards were constrained by the feed's item geometry. This implements ADR0007's durable Mail reply/approval path and gives every card publisher a resident full-screen workspace in the existing shell.
A compact summary expands to the root safe viewport. The feed supplies only the animation origin and receives no input while covered. Back dismisses the keyboard, review, then workspace. No other app/activity launches for presentation. Mail uses Email / Chat; other cards retain their original L0/Splash UI and use Card / Chat when the publisher declares an agent. Existing explicit
sys.chatthreads remain intact. Agent-enabled cards without one get a separate host-owned conversation, scoped to the original publication account and card, with bounded publication/L0 state context. First use opens the existing consent sheet. Context grants no additional tools or approval; Finance has no shipping app/agent.The workspace retains local L0 changes, interacted Splash isolates and unsent chat outside the three-clean-workspace cache limit. Same-layout updates preserve local state; a new non-Mail layout is deferred while the workspace has local work. Expiry, withdrawal and account invalidation retire views. Retention is in-process, not generic durable storage. Theme refresh preserves readable controls and typed input. The isolated UX package uses Home's Android extension so Back does not finish the activity.
Mail's native editor and chat share the authoritative draft. Requested chat edits use a revision-scoped
mail.suggest_replycapability; concurrent human edits are protected. Exact review shows the immutable recipient, subject and body. Only physical Android touchscreen approval can authorize SMTP. GenericContextKind::Cardconversations cannot obtain Mail's edit lease. Desktop/accessibility send approval remains deferred.Validation:
test.financewith no Chat.deepseek-v4-flashcorrectly read the card's Maybe RSVP;MiniMax-M3.1-Flash-Previewcorrectly read Going. Both correctly said nothing was sent. Ledger terminal messages confirm the actual providers. Different original event fixtures make this a context-handling check, not a model ranking.The previous 9/10 UX score remains withdrawn. DeepSeek's original Photos/YouTube captions still clip; MiniMax's Calendar response includes unnecessary implementation wording. This pass validates L0 templates, not every full Splash bundle. Repeated user acceptance, cold-open latency and the full IME/accessibility/account-switch/expiry/retry matrix remain open. Historical warm-transition measurements and physical SMTP evidence are documented separately; no new frame measurement, incoming-email trigger or send is claimed here.
Bilingual Mail workflow and current device evidence, architecture walkthroughs, phone READMEs and L0-chat docs explain the shared host versus Mail-specific boundary. Underlying L0 contracts: OctoScript #58 and OctoScript-Makepad #75.