Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 3m58s
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.
5.8 KiB
5.8 KiB
Source Audit Summary
Status: implementation audit complete.
Repo Safety
- Active branch before Spec Kit execution:
platform-dev. - Active branch after Spec Kit execution:
374-diagnostic-entry-point-support-diagnostics-consolidation. - Base HEAD before preparation:
94877c9a feat(ui): implement diagnostic surface separation (#444). - Initial dirty state: clean.
- Initial implementation dirty state included the untracked active Spec 374 package and an unrelated
.codex/config.tomllocal change. The.codex/config.tomlchange was left untouched. - Runtime implementation stayed inside the scoped dashboard/support/repair diagnostics files, focused tests, proportional UI audit docs, and Spec 374 artifacts.
Source Inputs
| Source | Availability | Verification Class | Use In Spec 374 |
|---|---|---|---|
| User-provided Spec 374 draft | available | user-provided | Primary candidate scope |
Spec 373 spec.md, plan.md, tasks.md |
available | repo-verified completed context | Predecessor scope and boundaries |
| Spec 373 artifacts | available | repo-verified / browser-verified where recorded | Implementation truth for diagnostic hierarchy |
| Spec 370 IA artifacts | available | repo-verified completed contract | Decision-first and diagnostic-surface rules |
Current routes in apps/platform/routes/web.php |
available | repo-verified | Confirms dashboard and diagnostics routes |
EnvironmentDiagnostics page |
available | repo-verified | Confirms direct route, non-navigation registration, repair actions |
EnvironmentDashboard page |
available | repo-verified | Confirms openSupportDiagnosticsAction() exists |
| Support diagnostics modal view | available | repo-verified | Confirms recommended first check rendering exists |
ManagedEnvironmentLinks::diagnosticsUrl() |
available | repo-verified | Helper exists; implementation search found route-contract tests plus the helper definition, no runtime dashboard caller |
Completed-Spec Guardrail
| Related spec | Completion signal | Treatment |
|---|---|---|
| Spec 370 Global Surface IA Contract | completed contract artifacts | consumed as contract only |
| Spec 371 Core Operator View Surfaces Productization | active artifact references and browser/validation context in repo | pattern/context only |
| Spec 372 Customer Auditor Surface Safety Pass | active artifact references and browser/validation context in repo | pattern/context only |
| Spec 373 Diagnostic Surface Separation | checked tasks, validation report, browser report, screenshots, and implementation artifacts | completed predecessor; do not rewrite |
Current Runtime Truth Observed During Preparation
web.phpregisters/admin/workspaces/{workspace}/environments/{environment:slug}forEnvironmentDashboard.web.phpregisters/admin/workspaces/{workspace}/environments/{environment:slug}/diagnosticsforEnvironmentDiagnostics.EnvironmentDiagnosticssetsprotected static bool $shouldRegisterNavigation = false.EnvironmentDiagnosticsexposes repair actionsbootstrapOwnerandmergeDuplicateMembershipsonly when applicable.- Existing repair actions use
Action::make(...)->action(...),->requiresConfirmation(),UiEnforcement, andCapabilities::TENANT_MANAGE. EnvironmentDiagnostics::diagnosticSummary()now provides Spec 374 repair-only summary values for blocker and no-action states.EnvironmentDiagnosticsnow renders the titleRepair diagnosticswith a repair-only subheading.EnvironmentDiagnosticsnow exposes one secondary read-onlyOpen support diagnosticsmodal action with support-diagnostics capability gating, audit logging, andrepair_diagnosticstelemetry.environment-diagnostics.blade.phpcontinues to lead with the summary and lower blocker sections; no provider/system/evidence checks were added.EnvironmentDashboardcontainsopenSupportDiagnosticsAction().support-diagnostic-bundle.blade.phpnow explicitly states the quick support context purpose beforeRecommended first check, rendersRedacted support view, and organizes lower sections by status, why relevant, observed, and action.- Implementation search for
diagnosticsUrl(found the helper plus route-contract tests; no runtime dashboard caller was added. The helper is retained as a canonical deeplink utility.
Product Decision Summary
Spec 374 should define the official diagnostic IA:
- Support Diagnostics is the official quick support diagnostics entrypoint.
- Environment Repair Diagnostics is a secondary/deeplink page for supported repairable membership/access issues.
- Provider/Permission Diagnostics remain in Provider Connections / Required Permissions or a future provider-readiness follow-up.
- System Diagnostics remain
/system/platform-admin concerns and are not part of this spec. - Evidence/Customer Review questions remain evidence/review-pack/customer-review surfaces, not diagnostics entrypoint scope.
Scope Risk
The main risk is treating "diagnostics" as a broad product platform. The implementation must not add a diagnostic hub, new navigation, provider checks, evidence reachability fixes, or system auth fixture work.
Implementation Decision
- No dashboard repair diagnostics link was added. Existing repo truth does not require promoting the direct repair page from the dashboard no-action state.
ManagedEnvironmentLinks::diagnosticsUrl()remains a retained canonical deeplink helper used by route-contract tests and available to future repo-backed repair contexts.- The direct
/diagnosticsroute was renamed in rendered copy and action-surface metadata toRepair diagnostics. - Support Diagnostics remains the official quick diagnostics entrypoint from the dashboard; Repair Diagnostics now has one secondary read-only handoff action to the same redacted support modal.