One Agents page for the whole system (#1873, lane sp5). Fifth slice of the single-pane direction.
What changes for a person:
#/agents lists every organization's agents in one table: name, role, state, what it is working on, with the organization chip and a project chip when there is one.
Filters by organization and by state live in the hash query, so a reload keeps them.
Fire posts to the row's own organization, never the one opened last, and shows only where that organization's config lets this Console decide. Its label and receipt name the organization.
Open goes to #/orgs/<id>/agents?agent=<key>, which lists that agent first and marks it.
A stopped organization is named at the top as not read, with the reason.
A hired agent shows "Hired" or "Hired from pack X". The org:hire-<uuid> id stays as secondary text.
#/orgs/<id>/agents still works: the same table scoped to that organization, above the levels grid.
How: WebUI only (workspace.js, bus.js, display.js, shell.css). Fire uses the existing hire.start route. No new route, no role, contract or schema change.
Tests: new tests/system-agents-browser.test.mjs (10 tests), red first. Lane gate 95 files, 745/0. Lead check at f97e0d3ae: 8 WebUI files one at a time, 89/0.
Reviews (fresh Opus 5.5 delegates): review 1 asked for one change (Open on the scoped page linked to itself), fixed with four P3. The re-check approved with three P3 notes, fixed in f97e0d3ae, which the Lead read instead of a third reviewer.
Not tested: a named Fire's receipt surviving an organization switch while in flight. Read only.
Follow-ups:
No agent detail drawer, no stop or message per agent. The per-organization page has none either.
A hire shows "Hired", not the template it was hired as. Reading it costs one decision read per hired agent per poll.
Long hire ids wrap over several lines at 390.
Each poll makes one instances read and one config read per answering organization.
One Agents page for the whole system (#1873, lane sp5). Fifth slice of the single-pane direction.
What changes for a person:
- `#/agents` lists every organization's agents in one table: name, role, state, what it is working on, with the organization chip and a project chip when there is one.
- Filters by organization and by state live in the hash query, so a reload keeps them.
- Fire posts to the row's own organization, never the one opened last, and shows only where that organization's config lets this Console decide. Its label and receipt name the organization.
- Open goes to `#/orgs/<id>/agents?agent=<key>`, which lists that agent first and marks it.
- A stopped organization is named at the top as not read, with the reason.
- A hired agent shows "Hired" or "Hired from pack X". The `org:hire-<uuid>` id stays as secondary text.
- `#/orgs/<id>/agents` still works: the same table scoped to that organization, above the levels grid.
How: WebUI only (`workspace.js`, `bus.js`, `display.js`, `shell.css`). Fire uses the existing hire.start route. No new route, no role, contract or schema change.
Tests: new `tests/system-agents-browser.test.mjs` (10 tests), red first. Lane gate 95 files, 745/0. Lead check at f97e0d3ae: 8 WebUI files one at a time, 89/0.
Reviews (fresh Opus 5.5 delegates): review 1 asked for one change (Open on the scoped page linked to itself), fixed with four P3. The re-check approved with three P3 notes, fixed in f97e0d3ae, which the Lead read instead of a third reviewer.
Not tested: a named Fire's receipt surviving an organization switch while in flight. Read only.
Follow-ups:
- No agent detail drawer, no stop or message per agent. The per-organization page has none either.
- A hire shows "Hired", not the template it was hired as. Reading it costs one decision read per hired agent per poll.
- Long hire ids wrap over several lines at 390.
- Each poll makes one instances read and one config read per answering organization.
#/agents lists every organization's agents in one table: name, role, state,
what each works on, organization and project chips. Org and state filters
live in the hash query. A stopped organization is named at the top. A row
opens the agent in its organization; Fire is drawn only where that
organization's own config lets this Console decide, and posts to that
organization's hire route. #/orgs/<id>/agents leads with the same table
scoped to one organization, above the levels grid and held roles. A hired
agent reads as Hired (or Hired from pack X) with its org:hire id as
secondary text. The sidebar and dashboard Agents links open the system page.
- Open on #/agents goes to #/orgs/<id>/agents?agent=<key>; the scoped table puts that agent first,
marks it (aria-current) and draws no Open or Actions column (review F1, F2).
- Fire's aria-label, confirm group and receipt use the organization's label (F5).
- A Fire sent to a named organization keeps its receipt after the opened organization changes (F7).
- Cancel moves focus back to the row's Fire (F10).
- agentsPage refuses a scope that is not an organization id instead of listing every organization (F11).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
One Agents page for the whole system (#1873, lane sp5). Fifth slice of the single-pane direction.
What changes for a person:
#/agentslists every organization's agents in one table: name, role, state, what it is working on, with the organization chip and a project chip when there is one.#/orgs/<id>/agents?agent=<key>, which lists that agent first and marks it.org:hire-<uuid>id stays as secondary text.#/orgs/<id>/agentsstill works: the same table scoped to that organization, above the levels grid.How: WebUI only (
workspace.js,bus.js,display.js,shell.css). Fire uses the existing hire.start route. No new route, no role, contract or schema change.Tests: new
tests/system-agents-browser.test.mjs(10 tests), red first. Lane gate 95 files, 745/0. Lead check atf97e0d3ae: 8 WebUI files one at a time, 89/0.Reviews (fresh Opus 5.5 delegates): review 1 asked for one change (Open on the scoped page linked to itself), fixed with four P3. The re-check approved with three P3 notes, fixed in
f97e0d3ae, which the Lead read instead of a third reviewer.Not tested: a named Fire's receipt surviving an organization switch while in flight. Read only.
Follow-ups: