Why: the chat column must host the danger-command confirm interaction inline (anchored, blocking hint, collapsed once resolved), cardlinks must locate their inbox card (D32), files dropped on the conversation must attach, and the slash menu must reflect the command registry (same source as buttons/cards/chat, D27).
Evidence: vitest 9/9; tsc clean; delegation-only logic (rendering covered by ui InlineConfirmCard suite, dispatch by backend e2e).
Impact: Conversation renders anchored confirm cards via @ui InlineConfirmCard with openInbox locate (store helper), PartCard cardlink click locates the inbox card, chat-body accepts file drops through the existing upload path, composer hints while a confirm is open, CommandMenu tolerates commands without a slash alias and marks danger=high.
Refs: docs/proposals/2026-09-30-ui-inbox-command-workspace.md T3; task card feature/command-bus-r1
Why: T2 frontend of the inbox (D25): the inbox is the first tab with a live
pending count; card events (created/updated/status/resolved) upsert the
projection in real time; confirm-projection cards route clicks back to HITL
resolution (run resumes, server syncs both sides); other actions call the
cards API and append the server-persisted receipt into the timeline.
Evidence: tsc + build green; vitest 9/9; card state resets/refreshes on
conversation open and reconcile.
Impact: default right tab becomes 收件箱 (localStorage-persisted preference
still honored for existing users).
Refs: modules/documents docs/proposals/2026-09-30-ui-inbox-command-workspace.md
Why: Core T1 added ActivityCard, card.* events, HITL anchoring fields and seven
UI vocabularies; this repo's contracts.ts is the generated mirror.
Evidence: make contracts from Core main; frontend vitest 9/9 still green
(additive types, shape tests unaffected).
Impact: Types available for T2 inbox implementation; no behavior change.
Refs: Agent-System-Documents proposal 2026-09-30-ui-inbox-command-workspace
Why: The schema renderer and design tokens moved to the new Agent-System-UI
repo (D29); Frontend becomes the first host consuming it through the @ui
source alias so future inbox/card/workspace components land in the shared
library instead of this repo.
Evidence: tsc+build clean with modules/ui materialized; vitest 9/9 pass;
combined CSS (tokens.css + ui.css + styles.css) verified rule-identical to
the pre-migration styles.css except comments and a collision-free block
relocation; doc-ref store access replaced by injected DocBridge at the two
call sites (plugin panels, card parts, HITL forms).
Impact: Requires sibling modules/ui checkout (Dev worktree provides it); vite
dedupe keeps single react/marked copies in the bundle.
Refs: Agent-System-Documents proposal 2026-09-30-ui-inbox-command-workspace (D29)
Why: the composition adopted the delivery gate (Dev repo ef89fc8); resident
entry rules must carry the gate so agents load them without reading the
guidelines submodule first.
Evidence: text-only entry change; gate mechanics validated in the Dev repo
scratch-repo suite (19/19) and merged as PR weichen/Agent-System-Dev#1.
Impact: entry doc only; no code, contract, or build change in this repo.
Refs: Development-Guidelines 0.1.0-draft.7; Agent-System-Dev ef89fc8
Details (original message):
Implement the three-column workbench frontend: resizable/collapsible nav with overshorthand collapse, streaming chat with part renderers and process collapse, HITL choice cards with impact display and free-input pivot, plan/todos/artifacts/agents tabs, subagent tracker modal, schema-driven settings center with effect badges and masked secrets, profile management with import/export, plugin panel rendering, doc viewer with edit-save; contract shape tests.