Repository navigation
Labels
sliceA vertical slice from design/30-slices.mdA vertical slice from design/30-slices.md
Description
An operator can see who they are signed in as, move between the organizations they belong to, read what the deployment is entitled to and what its licence says, and look through the record of what has happened — in a screen a consumer can throw away and replace with their own.
Done when
- S16.1 The shell displays the current principal's kind and display name, and shows an anonymous state distinctly from an authenticated account.
- S16.2 The shell switches the active organization through the same HTTP endpoint an ordinary caller uses; a test performs the identical switch with an HTTP client and no UI, and both succeed.
- S16.3 Every endpoint the shell calls is callable without it: enumerating the shell's calls against the public API surface finds no admin-only or UI-only endpoint.
- S16.4 The shell displays the resolved entitlement, the licence tier and the grace state, reading all three through the public API.
- S16.5 The shell reads the audit record with tenant and instant-range filters and offers no update and no delete.
- S16.6 No backend package references the shell, and the backend builds and runs with the shell's assets absent.
- S16.7 The shell holds no server-side state: it renders an error when the backend is unavailable, and nothing is lost when it does.
Agent instructions
Run /slice S16.
- Scope and criteria:
design/30-slices.md§ S16 @d752008 - Signatures:
design/20-contract.md - Depends on: S13.
- Out of scope here: settings, notifications, API-key administration, payment UI, plugin administration and feature-flag management — a complete shared administration product is a brief non-goal.
Stop conditions and procedure: .claude/commands/slice.md. Not restated here.
Tracking verification, 2026-09-20: restored the seven omitted ticks from merged PR #223's criterion report, checked against the current shell and API tests.
- S16.1 and S16.7: current shell tests passed (authenticated/anonymous display and backend-unavailable error).
- S16.2–S16.4:
AdministrationShellTestspassed in the merged PR's Build run; inspectedOrganizationPanel.tsx,EntitlementPanel.tsxandapi.tsfor the corresponding UI calls and fields. - S16.5: current shell audit tests passed; the merged CI run passed the audit API test.
- S16.6: merged CI passed
I_W1_no_dotnet_project_references_the_shelland built/ran the backend without a shell asset build. - Current shell verification: typecheck, 5/5 component tests and production build passed. No implementation changed during tracking.
Metadata
Metadata
Assignees
Labels
sliceA vertical slice from design/30-slices.mdA vertical slice from design/30-slices.md
Activity
[-]D5-S16 The administration shell[/-][+]D5-S16 — The administration shell[/+]