Applied diagnostic surface contract rules to Audit Log inspect modal and Support Diagnostics action context, consolidating raw diagnostic data into safe modals according to Spec 374. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #445
39 lines
5.1 KiB
Markdown
39 lines
5.1 KiB
Markdown
# Diagnostic Entrypoint Matrix
|
|
|
|
Status: implementation matrix complete.
|
|
|
|
| Diagnostic need | Official entrypoint | Secondary entrypoint | Surface type | Audience | Reason | In scope? | Follow-up if deferred |
|
|
|---|---|---|---|---|---|---|---|
|
|
| Support needs quick environment context | Support Diagnostics modal from Environment Dashboard | OperationRun support diagnostics when run context owns the question | support-only, official-entrypoint | operator/support | Existing modal and bundle are visible and repo-backed | yes | none |
|
|
| Environment has repairable membership issue | Environment Repair Diagnostics page | Secondary read-only Support Diagnostics modal from the repair page | repair-only, secondary-entrypoint | operator/support | Existing `EnvironmentDiagnostics` repair actions own repair truth; Support Diagnostics owns broader context | yes | none |
|
|
| Environment has no owner | Environment Repair Diagnostics page | Environment Dashboard secondary repair link only if repo-backed and not primary | repair-only | operator/support | Existing `bootstrapOwner` action is a repair path | yes | none |
|
|
| Current user has duplicate membership | Environment Repair Diagnostics page | Environment Dashboard secondary repair link only if repo-backed and not primary | repair-only | operator/support | Existing `mergeDuplicateMemberships` action is a repair path | yes | none |
|
|
| No repair issue is active | Environment Repair Diagnostics no-action state | Secondary read-only Support Diagnostics modal from the repair page | repair-only, no-action | operator/support | The page should not pretend to check all health, but it can hand off to support context | yes | none |
|
|
| Provider connection blocked | Provider Connections / provider readiness destination | Support Diagnostics modal can show related context | deferred / provider-owned | operator/support | Provider readiness is not membership repair diagnostics | no | Provider/Permission Diagnostic Productization if fresh gap exists |
|
|
| Required permissions missing | Required Permissions / provider readiness destination | Support Diagnostics modal can show related context | deferred / provider-owned | operator/support | Permission remediation belongs to provider/permissions surfaces | no | Provider/Permission Diagnostic Productization if fresh gap exists |
|
|
| Evidence snapshot not reachable | Evidence Snapshot / Stored Report / Review Pack surfaces | Support Diagnostics modal can show availability context if repo-backed | deferred / evidence-owned | operator/auditor/support | Evidence is proof, not repair diagnostics | no | Evidence browser fixture or evidence productization follow-up |
|
|
| System-level operation issue | `/system` platform surfaces | OperationRun detail where applicable | deferred / system-owned | platform_admin/support | System auth/reachability is not environment repair scope | no | System panel browser fixture/auth follow-up |
|
|
| Customer asks for review evidence | Customer Review Workspace / Review Pack | Evidence or Stored Report detail | customer/auditor-owned | customer/operator/auditor | Customer-safe review consumption is not support diagnostics | no | Customer review/evidence productization specs |
|
|
| OperationRun failed or blocked | OperationRun detail / Operations hub | Support Diagnostics modal from run detail when available | diagnostics-secondary | operator/support | OperationRun detail owns execution truth | no runtime change expected | OperationRun follow-up only if link/action regression appears |
|
|
| Billing or entitlement diagnostics | Commercial entitlement surfaces | Support diagnostics only as redacted support context when existing | deferred / commercial-owned | operator/support | Not an environment repair concern | no | Commercial lifecycle follow-up |
|
|
|
|
## Entrypoint Class Definitions
|
|
|
|
- `official-entrypoint`: the product-preferred starting path for the diagnostic need.
|
|
- `secondary-entrypoint`: allowed but not the main path.
|
|
- `deeplink-only`: route can be used from targeted context but is not broadly promoted.
|
|
- `repair-only`: surface handles concrete repairable membership/access problems only.
|
|
- `support-only`: surface provides redacted operator/support context, not customer-default content.
|
|
- `deferred`: explicitly outside Spec 374 implementation.
|
|
|
|
## Implementation Rule
|
|
|
|
If a need maps to `deferred`, the implementation may mention or link only when existing repo truth already provides a safe destination. It must not implement the deferred diagnostic domain inside Spec 374.
|
|
|
|
## Implementation Outcome
|
|
|
|
- Dashboard: `Open support diagnostics` remains the only dashboard diagnostic action in the More group.
|
|
- Repair page: `/admin/workspaces/{workspace}/environments/{environment}/diagnostics` now renders as `Repair diagnostics` and exposes one secondary read-only `Open support diagnostics` modal action.
|
|
- Helper: `ManagedEnvironmentLinks::diagnosticsUrl()` is documented as a retained deeplink utility; no dashboard runtime caller was added.
|
|
- Browser proof: no-action repair state and the repair-page Support Diagnostics modal were reachable; repair/blocker browser state was not created because the existing smoke fixture does not safely create duplicate membership or missing-owner states.
|