## Summary - cut over workspace-owned analysis and library surfaces to workspace shell ownership instead of inheriting remembered environment shell context - update the affected findings pages, scope resolution, navigation helpers, and related Blade views to keep environment focus explicit instead of implicit - add and update Spec 320 artifacts plus focused regression coverage for findings navigation context, workspace hub registration, and admin surface scope behavior ## Guardrails - Filament remains on v5 with Livewire v4 compliance unchanged - provider registration remains in apps/platform/bootstrap/providers.php - no new globally searchable resources were introduced or changed - no new destructive actions were introduced or changed - no Filament assets were added or changed, so the deploy requirement for filament:assets is unchanged ## Testing - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Findings/FindingsAssignmentHygieneReportTest.php tests/Feature/Findings/FindingsIntakeQueueNavigationContextTest.php tests/Feature/Findings/FindingsIntakeQueueTest.php tests/Feature/Findings/MyFindingsInboxNavigationContextTest.php tests/Feature/Findings/MyWorkInboxTest.php tests/Feature/Navigation/WorkspaceHubRegistryTest.php tests/Unit/Support/OperateHub/OperateHubShellResolutionTest.php tests/Unit/Tenants/AdminSurfaceScopeTest.php` - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #375
4.4 KiB
4.4 KiB
Specification Quality Checklist: Workspace-Owned Analysis Surface Registration & Shell Cutover
Purpose: Validate specification completeness and quality before implementation Created: 2026-05-16 Feature: spec.md
Candidate Selection Gate
- Explicit user-provided Spec 320 request was selected as the source of truth for this preparation pass.
- Completed-spec guardrail checked that no existing
specs/320-*package was present before generation. - Specs 313, 314, 315, 316, 317, 318, and 319 were treated as dependency/historical context, not rewritten.
- Roadmap/spec-candidate queue was reviewed; active auto-prep queue is empty, so this package proceeds only because the user directly supplied/promoted Spec 320.
- Close alternatives were deferred to follow-up Specs 321 and 322.
- The selected slice is workspace-owned analysis/library shell classification and remembered Environment fallback removal only.
Content Quality
- Problem statement is operator-visible and tied to workspace-owned page / Environment shell mismatch.
- User value is clear: clean workspace-owned analysis URLs show Workspace shell only.
- Scope is bounded to Spec 318 M2/M4 targets plus directly related unregistered workspace analysis pages.
- Hard cutover/no compatibility posture is explicit.
- No unresolved clarification-marker placeholders remain.
- Mandatory Spec Candidate Check is complete.
- Spec Scope Fields are complete.
- Shared pattern, OperationRun, provider boundary, UI/surface, testing, acceptance, and browser sections are complete.
Requirement Completeness
- Functional requirements are testable and unambiguous.
- Requirements cover Baselines, Baseline Snapshots, baseline detail/edit/matrix pages, My Findings, Findings Intake, Findings Hygiene, Cross-environment Compare, legacy aliases, remembered fallback, reload/back-forward, Baseline Compare regression, and Decision Register regression.
- Non-goals prevent Spec 321/322 scope creep.
- Edge cases are identified.
- Assumptions and risks are documented.
- Success and acceptance criteria are measurable.
- Open questions do not block implementation; they require per-page documentation during implementation.
Plan Quality
- Laravel, Filament, Livewire, Pest, PostgreSQL, Sail, and Dokploy context is recorded.
- Livewire v4.0+ compliance is explicitly noted through Livewire 4.1.4.
- Laravel 12 panel provider location remains
apps/platform/bootstrap/providers.php. - Global search impact is assessed as unchanged unless a touched Resource is deliberately changed and tested.
- Destructive/high-impact action handling is addressed for existing archive/capture/compare/preflight actions.
- Asset strategy is assessed as no new Filament assets/no new
filament:assetsstep. - No migration, seeder, package, env var, queue, scheduler, storage, or deployment asset change is planned.
- Existing repo seams are named.
- Test strategy and browser verification plan are concrete.
Task Quality
- Tasks are ordered from guardrails/tests through classification, page/link alignment, browser verification, and final validation.
- Tests are required before or alongside implementation.
- Task IDs follow the required checkbox format.
- File paths are concrete where repo surfaces are known.
- Non-tasks explicitly prevent compatibility layers, query alias support, Baseline Compare changes, and follow-up-spec scope creep.
- Browser screenshot paths are specified.
- Validation commands are specified.
Constitution Alignment
- Workspace and Environment isolation are covered.
- Cross-workspace Environment filters cannot create shell context or leak identity.
- No new persisted truth is introduced.
- Possible classifier complexity has a proportionality review.
- OperationRun semantics are preserved for existing high-impact actions.
- Audit/authorization/confirmation expectations for existing high-impact actions remain explicit.
- Test governance lane impact is explicit.
- Provider/platform boundary is explicit.
Readiness Result
- Candidate Selection Gate passes.
- Spec Readiness Gate passes.
- Ready for separate implementation loop.
- No application implementation was performed during this preparation step.