## Summary - remove remaining legacy scope query hint parsing from shared workspace and environment scoping seams so hubs only narrow via explicit `environment_id` - align canonical link generation across workspace hubs, provider connections, audit log, alerts, and decision register flows - add focused Spec 341 regression coverage for canonical link/query behavior and legacy alias rejection - include the Spec 341 artifacts and move the review screenshots into `specs/341-canonical-link-query-cleanup/artifacts/screenshots/` - ignore local `.playwright-mcp` browser tool output so it does not pollute future commits or pull requests ## Validation - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Navigation --filter=Spec341` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Navigation/Spec341CanonicalLinkQueryCleanupTest.php tests/Feature/Navigation/WorkspaceHubEnvironmentFilterContractTest.php tests/Feature/ProviderConnections/ProviderConnectionsWorkspaceHubContractTest.php` - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - `git diff --check` ## Notes - Livewire v4 compliance unchanged - Filament provider registration remains in `apps/platform/bootstrap/providers.php` - no globally searchable resource behavior was changed in this slice - no destructive action behavior was changed - no new Filament assets; deploy `filament:assets` posture is unchanged Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #413
49 lines
2.7 KiB
Markdown
49 lines
2.7 KiB
Markdown
# Specification Quality Checklist: Spec 341 - Canonical Link / Query Cleanup
|
||
|
||
**Purpose**: Validate Spec 341 preparation completeness before implementation.
|
||
**Created**: 2026-05-31
|
||
**Feature**: `specs/341-canonical-link-query-cleanup/spec.md`
|
||
|
||
## Candidate Selection Gate
|
||
|
||
- [x] CHK001 The selected candidate matches `canonical-link-query-cleanup` in `docs/product/spec-candidates.md`.
|
||
- [x] CHK002 Related specs were checked for completed-spec signals and are treated as context only (no rewrites).
|
||
- [x] CHK003 The package does not overwrite an existing `specs/341-*` directory.
|
||
- [x] CHK004 Close alternatives (`environment-resource-context-follow-through`, `product-truth-docs-drift-cleanup`) are deferred instead of hidden scope.
|
||
- [x] CHK005 The spec is scoped as link/query contract hygiene (no feature expansion).
|
||
|
||
## Content Quality
|
||
|
||
- [x] CHK006 The spec has a concrete problem statement, user value, and explicit non-goals.
|
||
- [x] CHK007 The spec includes acceptance criteria, out-of-scope boundaries, assumptions, risks, and open questions.
|
||
- [x] CHK008 The spec avoids new persistence, new abstractions, or frameworking without proportionality justification.
|
||
- [x] CHK009 No placeholder markers (`[FEATURE]`, `[DATE]`, `NEEDS CLARIFICATION`) remain in `spec.md`, `plan.md`, or `tasks.md`.
|
||
- [x] CHK010 The spec’s scope is small enough for a bounded implementation loop.
|
||
|
||
## Constitution And Scope
|
||
|
||
- [x] CHK011 The Spec Candidate Check is filled and scored above the approval threshold.
|
||
- [x] CHK012 Pre-production posture is respected: no compatibility redirects or legacy alias preservation “just in case”.
|
||
- [x] CHK013 Workspace/environment isolation and deny-as-not-found semantics are explicitly preserved.
|
||
- [x] CHK014 UI/Productization Coverage is completed as “no new surface; contract hardening only”.
|
||
|
||
## Plan Quality
|
||
|
||
- [x] CHK015 `plan.md` is repo-aware and lists the expected touched seams.
|
||
- [x] CHK016 The plan sequences work as inventory → failing tests → behavior change → regression guards → validation.
|
||
- [x] CHK017 Test governance is explicit: Feature lane first; browser only if justified.
|
||
- [x] CHK018 Deployment impact is explicitly none (no migrations/env/queues/assets).
|
||
|
||
## Task Quality
|
||
|
||
- [x] CHK019 `tasks.md` exists and is dependency-ordered into small phases.
|
||
- [x] CHK020 Tasks reference concrete repo files and do not invent new architecture.
|
||
- [x] CHK021 Tasks include explicit validation commands and formatting checks.
|
||
- [x] CHK022 Tasks explicitly forbid schema/persistence/framework scope expansion.
|
||
|
||
## Spec Readiness Gate
|
||
|
||
- [x] CHK023 `spec.md`, `plan.md`, and `tasks.md` exist.
|
||
- [x] CHK024 No open question blocks safe implementation (inventory-driven follow-ups are allowed).
|
||
- [x] CHK025 Result: ready for implementation loop.
|