TenantAtlas/specs/320-workspace-owned-analysis-surface-registration-shell-cutover/checklists/requirements.md
ahmido ec9649897a feat: cut over workspace-owned analysis shell context (#375)
## 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
2026-05-16 23:16:53 +00:00

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:assets step.
  • 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.