# UI-012 Environment Diagnostics | Field | Value | | --- | --- | | Route | `/admin/workspaces/{workspace}/environments/{environment}/diagnostics` | | Source | `EnvironmentDiagnostics` | | Area / scope | Support diagnostics / environment | | Archetype | Support / Diagnostics | | Design depth | Domain Pattern Surface | | Repo truth | repo-verified | | Screenshot | `specs/373-diagnostic-surface-separation/artifacts/screenshots/001-environment-diagnostics-after.png` | | Browser status | Spec 373 smoke-login fixture reached no-action state and captured the after screenshot. | ## First Five Seconds The page now leads with one diagnostic summary: current blocker count, impact, recommended first check, and the dominant repair path when a repair is applicable. ## Productization Review - Decision-first: improved; the page no longer opens with a generic "all good" card or competing repair messages. - Evidence-first: blocker details remain visible below the summary with failed condition, impact, and next check. - Context: environment-owned diagnostic surface using DB-local tenant membership truth. - Customer/auditor safety: internal/admin-only repair surface. - Diagnostics: provider and technical details stay out of the first viewport unless they explain the active tenant membership blocker. ## Information Inventory Default content now includes: - one calm no-action summary when no membership repair applies - one ordered summary when one or more blockers apply - failed condition, impact, and next check for missing owner and duplicate memberships - existing capability-gated repair actions in the Filament header ## Dangerous Actions `Bootstrap owner` and `Merge duplicate access scopes` remain destructive, confirmation-gated, capability-gated, and backed by the existing repair services. The UI change does not add automatic repair, provider calls, migrations, or new runtime dependencies. ## Scores | IA | Density | User Clarity | Sellability | Disclosure | Hierarchy | DS Fit | A11y | Responsive | Components | UX Writing | Perf | | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | ## Top Issues 1. Missing-owner runtime truth remains intentionally hidden by the current workspace-role recovery model; tests cover only the presentation path. 2. Broader support workflows remain outside UI-012 and should stay on separate support-diagnostics specs. 3. Future blocker-state browser proof would need a safe fixture that creates duplicate membership state without changing shared smoke setup. ## Target Direction Implemented in Spec 373 as a bounded hierarchy pass over the existing diagnostics page. Future work should address broader support workflows only through a separate spec.