From 83feb7eb2efc39d6cb5876d9a39a615d2546b2a1 Mon Sep 17 00:00:00 2001 From: Ame Date: Mon, 1 Jun 2026 20:52:18 +0800 Subject: [PATCH 1/2] feat(workspaces): tell chat agents to hand finished work back via the inbox MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The chat workspace already exposes inbox_push (per-workspace MCP), but nothing told the agent to use it — so the Inbox stayed empty. Add a line to the chat instruction: when you finish something the user should see (a shortlist, thesis, rotation snapshot, a decision), push it to their inbox with the file(s) + a short note. Activates the one-way workspace→user collaboration loop with no new code — a prototype. The inbox renders the docs live, so pushed dossier files keep updating as the agent CRUDs them. Co-Authored-By: Claude Opus 4.8 (1M context) --- src/workspaces/templates/chat/files/CLAUDE.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/workspaces/templates/chat/files/CLAUDE.md b/src/workspaces/templates/chat/files/CLAUDE.md index a87c3f73a..d86894133 100644 --- a/src/workspaces/templates/chat/files/CLAUDE.md +++ b/src/workspaces/templates/chat/files/CLAUDE.md @@ -14,3 +14,12 @@ To verify the wiring on first attach: Otherwise, use this workspace however you like. The CWD is its own git repo (commits stay local), and any files you create or edit are scoped to this workspace. + +## Handing work back to the user + +This workspace has an outbound channel to the user's Inbox (`inbox_push`). +When you finish something the user should see — a shortlist, a thesis, a +rotation snapshot, a decision you reached — push it to their inbox: the +file(s) you produced plus a short note on what it is and why it matters. +Don't make them come looking in the workspace; surface the result. (One-way +for now — they read the inbox; they don't reply through it.) From e8067607f908a7a21b6badd492532d85882ac8a0 Mon Sep 17 00:00:00 2001 From: Ame Date: Mon, 1 Jun 2026 21:03:11 +0800 Subject: [PATCH 2/2] =?UTF-8?q?refactor(workspaces):=20neutral=20instructi?= =?UTF-8?q?on.md=20source=20=E2=86=92=20copied=20to=20CLAUDE.md=20+=20AGEN?= =?UTF-8?q?TS.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Claude Code wants CLAUDE.md, Codex wants AGENTS.md — a standards turf war we don't need to pick a side in. The launcher already wrote one composed result to both filenames; this renames the single template SOURCE from CLAUDE.md to the neutral instruction.md, so the source isn't named after either CLI. The injector reads