TenantAtlas/docs/ui-ux-enterprise-audit/page-reports/ui-012-environment-diagnostics.md
Ahmed Darrazi c3d6427f8c
Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m11s
feat(ui): implement diagnostic surface separation
Applied the decision-first diagnostic surface IA contract to EnvironmentDiagnostics and SupportDiagnostics bundles. Added recommended_first_check and separated technical metadata as per Spec 373.
2026-06-12 22:27:30 +02:00

54 lines
2.7 KiB
Markdown

# 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.