feat(ui): call lanes "workspaces" in the UI, CLI output and docs

Copy-only rename (workspace redesign, phase 0). The word a user reads
changes — "Lane" → "Workspace", "Add lane" → "Add workspace" — in both
locales, in agenthub CLI prose and help, in the server's error messages
and in the docs. Every identifier stays: /api/lanes, `agenthub lanes`,
--lane, AGENTHUB_LANE_ID, error codes, tmux names, DB tables, file,
component and i18n key names. docs/LANES.md keeps its name, retitled
"Workspaces (lanes)".
This commit is contained in:
2026-10-01 16:03:24 +07:00
parent e01cb26bde
commit 5b3884b309
43 changed files with 928 additions and 891 deletions
@@ -499,7 +499,9 @@ describe("Workspace layout", () => {
expect(strip.firstElementChild).toBe(screen.getByTestId("lane-tile-add"));
await user.click(screen.getByTestId("lane-tile-add"));
expect(await screen.findByText("Create a lane from a working directory")).toBeInTheDocument();
expect(
await screen.findByText("Create a workspace from a working directory")
).toBeInTheDocument();
});
it("gives every lane a tile in the carousel", async () => {
@@ -5428,12 +5428,12 @@ exports[`screen snapshots > Run 1`] = `
<span
class="block text-sm font-medium text-fg-primary"
>
No lanes yet
No workspaces yet
</span>
<p
class="mt-0.5 text-xs text-fg-muted"
>
A lane is one working directory the dashboard follows — its pipeline, sessions and terminal. Click anywhere on this card to add one, or from a terminal:
A workspace is one working directory the dashboard follows — its pipeline, sessions and terminal. Click anywhere on this card to add one, or from a terminal:
<code
class="rounded bg-surface-2 px-1.5 py-0.5 text-[11px] text-fg-secondary"
@@ -5464,7 +5464,7 @@ exports[`screen snapshots > Run 1`] = `
d="M12 5v14"
/>
</svg>
Add lane
Add workspace
</span>
</button>
<div
@@ -7324,7 +7324,7 @@ exports[`screen snapshots > Settings 1`] = `
d="M18 9a9 9 0 0 1-9 9"
/>
</svg>
Lanes
Workspaces
</button>
<button
class="inline-flex items-center gap-1.5 text-xs whitespace-nowrap px-2.5 py-1.5 rounded-lg border transition-colors flex-shrink-0 border-border text-fg-secondary hover:text-fg-primary hover:bg-surface-3"
@@ -8339,12 +8339,12 @@ exports[`screen snapshots > Settings 1`] = `
d="M18 9a9 9 0 0 1-9 9"
/>
</svg>
Lanes
Workspaces
</h3>
<p
class="text-xs text-fg-muted mb-4"
>
Machine-wide lane housekeeping.
Machine-wide workspace housekeeping.
</p>
<div
class="card p-5 space-y-4"
@@ -11029,7 +11029,7 @@ exports[`screen snapshots > Workflows 1`] = `
<h2
class="text-sm font-semibold text-fg-primary"
>
Lane Pipeline Pass Rates
Workspace Pipeline Pass Rates
</h2>
<button
aria-expanded="false"
@@ -11079,7 +11079,7 @@ exports[`screen snapshots > Workflows 1`] = `
<p
class="text-sm text-fg-muted"
>
No lane has recorded a stage yet. Create one with
No workspace has recorded a stage yet. Create one with
<code>
agenthub lanes add --cwd $(pwd)