Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions DESIGN.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion PRODUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
2 changes: 1 addition & 1 deletion apps/web/src/pages/insights-page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -682,7 +682,7 @@ function InsightsWorkbenchPage({
<PageShell width="full" className="page-fill">
<RichEmptyState
icon={<ChartBar />}
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."
/>
</PageShell>
Expand Down
6 changes: 3 additions & 3 deletions apps/web/src/pages/new-workbench-picker.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -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}`;
}
Expand Down Expand Up @@ -219,7 +219,7 @@ export function NewWorkbenchPickerRoute() {
</div>
<div className="new-workbench-prompt-actions">
<div className="new-workbench-agent-selection">
<span>In the room</span>
<span>In the workbench</span>
{selectedAgents.map((agent) => (
<span key={agent.id} className="new-workbench-agent-chip">
{agent.name}
Expand Down
10 changes: 5 additions & 5 deletions docs/GLOSSARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Loading