feat(fleet): add sidebar work queue and standardize attention vocabulary - #348
Open
astyfx wants to merge 1 commit into
Open
feat(fleet): add sidebar work queue and standardize attention vocabulary#348astyfx wants to merge 1 commit into
astyfx wants to merge 1 commit into
Conversation
The sidebar listed workspaces in a ranked flat list that never said why one outranked another, so a stalled agent and a workspace visited yesterday looked alike. Group them into lanes instead, and fix the vocabulary and layer boundaries the lanes depend on. - Add `src/lib/fleet/sidebar-work-queue.ts`: a pure lane classifier and grouper (`action-required` > `in-progress` > `in-review` > `idle`), one lane per workspace, empty lanes dropped. Lanes derive from the existing attention projection and task status, so the section adds no store subscription, no persistence, and no IPC. - Render the lanes in `ProjectWorkspaceSidebar`, extracting the row into `WorkQueueRow` so the nested row-local subscriptions stay intact. - Rename the Fleet "need" vocabulary to the "attention item" wording the projection module already used, and surface it as "Action required" in the inbox, the top bar, and the sidebar. - Add `docs/architecture/agent-platform-taxonomy.md` fixing the three layers, the shared vocabulary, and the boundary statements, with a matching entry in `config/reliability-gates.json` and gate tests that repeat each statement. Verification: bun run typecheck, bun run test:isolated (378 files), check:doc-paths, check:reliability-gates, check:max-lines-ratchet, and the sidebar/fleet Playwright specs. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
astyfx
requested review from
JongSikLim and
png-1105
and removed request for
a team
August 9, 2026 10:12
|
| Commit | Scanned at | New | Resolved | Net |
|---|---|---|---|---|
af5db34 < |
2026-08-09 10:13 UTC | 0 | 0 | 0 |
Last scanned: af5db34 · 2026-08-09 10:13 UTC
|
| Commit | Scanned at | New | Resolved | Net |
|---|---|---|---|---|
af5db34 < |
2026-08-09 10:13 UTC | 0 | 0 | 0 |
Last scanned: af5db34 · 2026-08-09 10:13 UTC
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The sidebar listed workspaces in a ranked flat list that never said why one outranked another — a stalled agent and a workspace visited yesterday looked alike. This groups them into lanes, and fixes the vocabulary and layer boundaries the lanes depend on.
Key changes
src/lib/fleet/sidebar-work-queue.ts: lane classifier and grouper with fixed priorityaction-required>in-progress>in-review>idle, one lane per workspace, empty lanes dropped. Lanes derive from the existing attention projection and task status, so the section adds no store subscription, no persistence, and no IPC. The last lane isidle, notdone: without a PR-status subscription, "merged" and "untouched" are indistinguishable, and "Done" would be a claim the data does not support.Active workspacessection; the row moves intoWorkQueueRowso the nested row-local subscriptions (status icon, hover preview) stay intact.FleetAttentionItem,attentionItemsByWorkspaceId,FleetAttentionInbox), surfaced as Action required in the inbox, top bar, and sidebar.Fleetitself is unchanged.docs/architecture/agent-platform-taxonomy.mdfixes the three layers (turn runtime / supervision / continuity), the shared vocabulary, and the boundary statements, with a matchingconfig/reliability-gates.jsonentry and gate tests whose names repeat each statement (a routine cannot target an existing task; the ledger never imports execution runtimes; the executor never writes ledger rows; utility inference stays mechanical; one lane per workspace).Verification
bun run typecheckbun run test:isolated— 378 files passnode scripts/check-doc-paths.mjs,check-reliability-gates.mjs,check-max-lines-ratchet.mjssidebar-work-queue-lanes,sidebar-active-workspaces-dismiss,fleet-action-required🤖 Generated with Claude Code