Directory: correct access and tidy People, Secrets
Goal: Directory (People, Users, Secrets, Projects, Machines) enforces the access it documents and reads cleanly in the list-detail split and on a phone. Goals, not literal steps; skip items already true on develop.
Consolidates drafts 7052, 7000 (items 2–4), 6968, 7022, 6976.
Access (do first):
1. `/users/new` opened for a member without org admin (seen on prod with the TimeSaver demo member) although the coverage manifest says `org_admin: true`. If the member truly lacks org admin, show the same no-access state as other org-admin routes; make the invite how-to's "Who can do this" and the guard agree.
People / Users:
2. New user: optional fields marked the way other create forms do. User › Check: the disabled Check button says why (as bulk actions do).
3. People list: one menu trigger and one `role="menu"` per row (a hidden duplicate exists today); on a phone, whole emails fit where possible.
4. User editor's "No GitHub or GitLab credential…" helper is shortened per the UI copy standard.
Secrets:
5. Beside an open credential at 1024px, the filter strip fits in fewer rows ("Only mine", Flat/Tree), the Owner select doesn't look focused on load, and credential names keep the 120px title floor with the suite's real rows present — `e2e/directory-split-width.spec.ts:71` passes in the full smoke run, not only alone. Do not lower the floor.
Projects / Machines:
6. Cross-org project banner uses compact button height above the touch band; the Repositories table keeps "Primary" on the name's line (truncate the name first).
7. New account form at ≤448px stacks Name, Provider, Authentication one per row; the Hosts list keeps (or deliberately drops) its load meter at 360px consistently with 448px.
Out of scope: who may invite people; other routes' guards; `lib/listDetail.ts` split arithmetic; tab-strip clipping; the API.
Done means:
- A member without org admin probing `/users/new` on a local stack gets no-access, with a test (or the report shows the member is an org admin and nothing changes).
- Frontend smoke passes three runs in a row with the directory-split spec included.
- Before/after screenshots at 1024px with an editor open and at 390px; each other item shipped with a test or declined with a reason.
- `./dc check full` green.
Outcome
Directory access + tidy merged (#5807 f23f30cc1, deploy ok); /users/new no-access pinned by e2e; #5810 fixed a red smoke spec. Split spec green in all full runs; unrelated develop smoke reds filed as draft 7163. Visual check done at 1024/390/448.
Artifacts
Activity
- Created
- Run
- Runner started
- Runner ended (done)