diff --git a/apps/web/src/pages/agents-page.tsx b/apps/web/src/pages/agents-page.tsx
index c583b0d99..930c90e1b 100644
--- a/apps/web/src/pages/agents-page.tsx
+++ b/apps/web/src/pages/agents-page.tsx
@@ -28,7 +28,8 @@ import {
useListSelection,
} from "@corbits/react-ui";
import type { BadgeTone, SelectionCheckboxState } from "@corbits/react-ui";
-import { Archive, Plus, Robot } from "@corbits/icons";
+import { Archive, ArrowSquareOut, Plus, Robot } from "@corbits/icons";
+import { detailPath } from "@corbits/command-palette";
import { useEffect, useMemo, useState } from "react";
import { useQuery, useQueryClient } from "@tanstack/react-query";
@@ -340,6 +341,17 @@ function AgentDetailPanel({
+
);
}
@@ -348,7 +360,8 @@ function AgentDetailPanel({
* The roster stage: a flat table of every definition this bench owns —
* name, status, model, and how often it has run in the last week — rows,
* never cards, per the owner's "rows over grids" rule for this slice.
- * Selecting a row opens its detail alongside the table; "New agent" opens
+ * Selecting a row opens its detail alongside the table; the panel's Open
+ * control hops to `/agents/` for the full page. "New agent" opens
* `CreateAgentPanel`. Rows are also bulk-selectable (checkbox + shift/cmd
* range select, `useListSelection`) with a floating `BulkActionBar` for
* Archive — the only bulk action with a real backend primitive
diff --git a/apps/web/test/agents-page.test.tsx b/apps/web/test/agents-page.test.tsx
index 25ec80982..3afee0ef0 100644
--- a/apps/web/test/agents-page.test.tsx
+++ b/apps/web/test/agents-page.test.tsx
@@ -265,6 +265,29 @@ describe("AgentsPage", () => {
expect(markup).toContain(">Support<");
});
+ // CL-6875: the roster's quick-peek panel must hop to the agent's own page
+ // at `/agents/` — panels preview enough to decide whether to open
+ // the full page (DESIGN.md), never substitute for one.
+ test("selected definition's panel offers a hop to /agents/", () => {
+ const markup = renderToStaticMarkup(
+ ,
+ );
+ expect(markup).toContain('href="/agents/triage-bot"');
+ expect(markup).toContain("Open");
+ });
+
test("offers New agent as the top-bar create action, per the top-nav page-action contract", () => {
const markup = renderToStaticMarkup(