diff --git a/DESIGN.md b/DESIGN.md index 0e2cca136..200fed586 100644 --- a/DESIGN.md +++ b/DESIGN.md @@ -28,7 +28,7 @@ Top to bottom: opens `/new`. 2. **Bench list** — one recency list of conversations, pins first. Agent DMs (`kind: chat`, one per agent) mix with channels - (`kind: workbench` rooms). Not two labeled empty sections, and not + (`kind: workbench`). Not two labeled empty sections, and not a list titled Workbenches. Search is built into the list itself. Nothing page-scoped ever renders in this body; it lists conversations, not product sections. @@ -77,7 +77,7 @@ empty channel with no host, then instantiate the picked Workbench Definition — the agents, block workflows, and pending tools it names (Myra joins only when the definition names her; Code review's three reviewers do not) — and run its ordered onboarding walkthrough as an -in-room card the room itself posts, never a side effect of hosting an +in-workbench card the workbench itself posts, never a side effect of hosting an agent. The card reads live connection state and flips straight to the repo pick, so there is one walkthrough, not a separate already-connected dialog. The sidebar `+` opens this route. First-run after credential @@ -353,13 +353,13 @@ personal-access-token paste, then the same card flips to pick repositories. A GitHub App / hosted OAuth Connect as the welcome mat is tracked separately (out of scope), not the shipped card. -The room's own onboarding card renders as a scene, not a member's +The workbench's own onboarding card renders as a scene, not a member's message: no author row, the job as its title with the promise beneath, and the walkthrough's steps listed with the current one marked in words. Once repos are recorded the card shows the Reviewing state — what it's reviewing now — with a change-repos link back to the picker, never still offering Connect. Consecutive agent-joined rows collapse -into one line naming everyone, so a template room opens on the scene +into one line naming everyone, so a template workbench opens on the scene and the reviewers' own introductions, never a join dump. ## State Pills diff --git a/PRODUCT.md b/PRODUCT.md index 83840d082..138a0bef2 100644 --- a/PRODUCT.md +++ b/PRODUCT.md @@ -29,5 +29,5 @@ with no separate integration per server. ## Chat is mail Talking to Myra, or to a teammate, is an ordinary mail thread — no -separate "chat" concept to learn, no bespoke room model. What you send +separate "chat" concept to learn, no bespoke conversation model. What you send lands in an inbox; what she does happens through approvals you can see. diff --git a/apps/web/src/pages/insights-page.tsx b/apps/web/src/pages/insights-page.tsx index d02c37332..1d0ecfb20 100644 --- a/apps/web/src/pages/insights-page.tsx +++ b/apps/web/src/pages/insights-page.tsx @@ -682,7 +682,7 @@ function InsightsWorkbenchPage({ } - title="This workbench's activity lives in its room" + title="This workbench's activity lives in its own conversation" description="Open the workbench to read its conversation." /> diff --git a/apps/web/src/pages/new-workbench-picker.tsx b/apps/web/src/pages/new-workbench-picker.tsx index 3dbd8bbf1..99ce17d3c 100644 --- a/apps/web/src/pages/new-workbench-picker.tsx +++ b/apps/web/src/pages/new-workbench-picker.tsx @@ -27,9 +27,9 @@ export function describeWorkbenchCreateFailure(cause: unknown, refId?: string): if (!(cause instanceof WorkbenchCreateError)) return GENERIC_CREATE_FAILURE; const message = cause.stage === "opening-message" - ? "Workbench created, but we couldn't send the opening message. Try again from the room." + ? "Workbench created, but we couldn't send the opening message. Try again from the workbench." : cause.stage === "deploy" - ? "Workbench created, but its agent couldn't be deployed into it. Try again from the room." + ? "Workbench created, but its agent couldn't be deployed into it. Try again from the workbench." : GENERIC_CREATE_FAILURE; return refId === undefined ? message : `${message} Reference: ${refId}`; } @@ -219,7 +219,7 @@ export function NewWorkbenchPickerRoute() {
- In the room + In the workbench {selectedAgents.map((agent) => ( {agent.name} diff --git a/docs/GLOSSARY.md b/docs/GLOSSARY.md index ad8c6b887..ab603f111 100644 --- a/docs/GLOSSARY.md +++ b/docs/GLOSSARY.md @@ -7,15 +7,15 @@ paths keep the platform's own names. | Product term | Platform term | What it is | | ------------- | -------------- | ----------- | -| **Bench** | tenant | The shared space a team and its agents work in — members, credentials, and grants live here. Every signed-up user gets one; there is no separate tenancy layer underneath it. | -| **User** | principal | An identity that can act in a bench — human or agent. | +| **Workspace** | tenant | The top-level Interchange tenant every signed-up user gets — members, credentials, and grants live here at the root. | +| **Workbench (bench)** | tenant (child) | A child tenant `/new` creates under the workspace — a DM with one agent, or a channel with many people and agents — with its own deployed agents. | +| **User** | principal | An identity that can act in a workspace or workbench — human or agent. | | **Agent** | principal (agent) | A named coworker principal, not a template. | -| **Myra** | — | The `assistant` workflow: every bench's default agent. Given a job the bench can't already do, she authors a new tool, skill, or workflow as code, deploys it with only the access it needs, and uses it. | -| **Workbench** | — | A conversation — a mail thread, or the group of threads with one agent or one topic. Talking to Myra or a teammate happens here. | +| **Myra** | — | The `assistant` workflow: every workspace's default agent. Given a job it can't already do, she authors a new tool, skill, or workflow as code, deploys it with only the access it needs, and uses it. | | **Thread** | mailbox thread | The ordered messages of one conversation, served by `@corbits/mailbox` (`GET /me/inbox/threads`, `POST /me/inbox/send`). | | **Grant** | grant | Permission for a principal to act on a resource. | | **Approval** | approval | A human decision gating an external side effect. | -| **Hub** | hub | The API and coordination service a bench lives on. | +| **Hub** | hub | The API and coordination service a workspace lives on. | | **Sidecar** | sidecar | The execution host that runs agent turns and workflow runs for a hub. | ## Package naming