feat(desktop): a plan says where it lives and who can edit it, "Acme › relay" and "5 can edit" over its title (workspace clarity D6)
D6 of the workspace clarity plan (docs/proposals/workspace-clarity.md §3.2, decision 6, approved by Dean with option A).
A plan now says where it lives and who can edit it. A line over the "Edited by" line reads Acme › relay, and at its end, 5 can edit with the first four members' faces, or a lock and Only you for a workspace of one.
- The workspace's tile and name open that workspace's Settings page. Pressing who can edit opens its Members section.
- Resting on who can edit hangs a card: Everyone in Acme, "Each can read and edit this plan, join its calls, and message its agents.", then each member by name and role.
- Members are read once per workspace the crumb stands in, through the existing
workspace.membersReadact. Until the read answers, or if it is refused, the count comes from the workspace's ownmemberCountand no faces are drawn. - A Settings page drawn as a plan (the template) gets no crumb.
Session replay: every name is a text node, so masked. The only attribute is the nav's fixed aria-label.
Tests
plan-crumb.test.ts covers four cases, and each fails without this change (the module is new):
- the crumb names the workspace, the repository and the count, with a face per member;
- a workspace of one says "Only you", and a plan with no repository names its workspace alone;
- a refused members read leaves the workspace's count with no faces;
- the two presses open the Workspace page and its Members section for that workspace.
Evidence
CI builds nothing for the Mac and could not verify this visually. The screenshots below are the real renderer in the design-show harness (Chrome, light and dark), not a Mac verify.sh run.
| Light | Dark |
|---|---|
![]() | ![]() |
The card on hover:

🤖 Generated with Claude Code
Summary by cubic
Implements decision 6 of the workspace clarity plan (docs/proposals/workspace-clarity.md): a plan now shows where it lives and who can edit it, via a line over its "Edited by" title reading "Acme › relay" and, at its end, "5 can edit" with up to four member faces, a lock and "Only you" for a workspace of one, or nothing where nobody is counted.
- Pressing the workspace's tile and name opens that workspace's Settings page; pressing who can edit opens its Members section.
- Hovering who can edit hangs a card listing everyone in the workspace by name and role.
- Members are read through the existing
workspace.membersReadact and re-read when the workspace's member count changes; until a read answers or is refused, the workspace's ownmemberCountstands with no faces. - An archived plan says "5 members" rather than "5 can edit", since nobody edits it until unarchived.
- Settings pages drawn as plans get no crumb;
plan-crumb.tsxandplan-crumb.test.tsare new, the tests covering these behaviors.

