## Summary - cut over the admin runtime to the workspace-first environment and operations routes from spec 280 - retarget governance artifact resources, related navigation, and operation drillthroughs to the surviving admin panel contract from spec 282 - add focused feature and browser coverage plus spec close-out updates for the shipped 280/282 slice ## Validation - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/WorkspaceFoundation tests/Feature/Workspaces tests/Feature/ManagedEnvironment tests/Feature/RequiredPermissions tests/Feature/Operations tests/Feature/MonitoringOperationsTest.php` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Browser/Spec280WorkspaceTenancyEnvironmentRoutingSmokeTest.php` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/GovernanceArtifacts/GovernanceArtifactAdminPanelRegistrationTest.php tests/Feature/Filament/GovernanceArtifacts/GovernanceArtifactEnvironmentContextTest.php tests/Feature/Filament/GovernanceArtifacts/GovernanceArtifactDeepLinkContractTest.php tests/Feature/Filament/GovernanceArtifacts/GovernanceArtifactLegacyTenantPanelGuardTest.php` - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Browser/Spec282GovernanceArtifactRetargetingSmokeTest.php` ## Notes - provider registration remains in `apps/platform/bootstrap/providers.php` - Filament stays on v5 with Livewire v4 semantics - touched searchable governance surfaces remain truthful or disabled in the same slice Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #341
72 lines
6.4 KiB
Markdown
72 lines
6.4 KiB
Markdown
# Specification Quality Checklist: Governance Artifact Retargeting to ManagedEnvironment
|
|
|
|
**Purpose**: Validate package completeness, boundedness, and readiness before implementation
|
|
**Created**: 2026-05-07
|
|
**Feature**: [spec.md](../spec.md)
|
|
|
|
## Content Quality
|
|
|
|
- [x] The package stays on reserved slot `282` and does not silently absorb Specs `267`, `277`, or `283` through `287`.
|
|
- [x] The stale candidate implication of further schema retarget work is explicitly corrected to current repo truth.
|
|
- [x] The package stays focused on governance artifact surface ownership, route truth, and context resolution rather than reading like a lifecycle or naming rewrite.
|
|
- [x] No new schema, lifecycle contract, provider registry, taxonomy, or RBAC redesign is pulled into scope.
|
|
- [x] `plan.md`, `research.md`, `data-model.md`, `quickstart.md`, and the logical contract describe the same bounded slice.
|
|
|
|
## Requirement Completeness
|
|
|
|
- [x] No `[NEEDS CLARIFICATION]` markers remain in `spec.md`, `plan.md`, `research.md`, `data-model.md`, or `quickstart.md`.
|
|
- [x] Requirements remain testable and bounded to current resource registration, route ownership, environment-context resolution, and drillthrough links.
|
|
- [x] Scope boundaries, assumptions, risks, and deferred adjacent candidates remain explicit.
|
|
- [x] The candidate deviation, smallest viable slice, and acceptance scenarios are explicit.
|
|
|
|
## Repo Truth Anchoring
|
|
|
|
- [x] The package reflects that the touched governance artifact models already persist `managed_environment_id` plus `workspace_id`.
|
|
- [x] The package reflects that several touched resources still hide from the admin panel or still depend on tenant-panel route or context assumptions.
|
|
- [x] The package reflects that read-only artifact surfaces still need admin-panel environment-context hardening.
|
|
- [x] The package reflects that `OperationRunLinks` already owns the shared operations link contract reused by this slice.
|
|
- [x] The package reflects that `ResolvesPanelTenantContext` is the central seam for admin-panel environment resolution.
|
|
|
|
## Feature Readiness
|
|
|
|
- [x] Filament v5 and Livewire v4 expectations remain explicit across the package.
|
|
- [x] Provider registration location remains explicit as `apps/platform/bootstrap/providers.php`.
|
|
- [x] Global-search posture for touched resources remains explicit.
|
|
- [x] Destructive action confirmation and authorization expectations remain explicit for touched artifact mutations.
|
|
- [x] The unchanged asset strategy and deployment note remain explicit.
|
|
- [x] The test strategy and minimal proving commands are explicit and aligned across artifacts.
|
|
- [x] Spec `280` workspace-first environment route shell is already merged or otherwise present on the implementation branch.
|
|
|
|
## Artifact Alignment
|
|
|
|
- [x] `research.md` records the same bounded route-ownership decisions reflected in `plan.md`.
|
|
- [x] `data-model.md` models the same workspace and managed-environment route-context contract reflected in the spec and plan.
|
|
- [x] `quickstart.md` uses the same bounded reviewer flow and proof commands as `plan.md`.
|
|
- [x] `contracts/governance-artifact-retargeting.logical.openapi.yaml` models the same workspace-first route ownership described in the plan, including collection, detail, and operations-detail surfaces.
|
|
- [x] Canonical proof commands match across `spec.md`, `plan.md`, and `quickstart.md`.
|
|
|
|
## Test Governance
|
|
|
|
- [x] Planned proof stays bounded to focused feature coverage plus one browser smoke.
|
|
- [x] No new heavy-governance family or broad browser matrix is introduced.
|
|
- [x] Workspace and managed-environment fixture cost is acknowledged instead of hidden.
|
|
- [x] Reviewer handoff includes exact minimal validation commands and concrete stop questions.
|
|
|
|
## Notes
|
|
|
|
- Reviewed against `.specify/memory/constitution.md`, `docs/product/spec-candidates.md`, `docs/product/roadmap.md`, `specs/267-artifact-lifecycle-retention/spec.md`, `specs/277-stored-reports-surface/spec.md`, `specs/279-workspace-managed-environment-core/spec.md`, `specs/280-workspace-tenancy-environment-routing/spec.md`, `specs/281-provider-connection-scope/spec.md`, `apps/platform/app/Models/OperationRun.php`, `apps/platform/app/Filament/Concerns/ResolvesPanelTenantContext.php`, `apps/platform/app/Filament/Resources/FindingResource.php`, `apps/platform/app/Filament/Resources/EvidenceSnapshotResource.php`, `apps/platform/app/Filament/Resources/ReviewPackResource.php`, `apps/platform/app/Filament/Resources/StoredReportResource.php`, and repo-wide searches for admin-hide guards and environment-context helper usage on 2026-05-07.
|
|
- No application implementation, test execution, or runtime validation was performed while preparing this package.
|
|
|
|
## Review Outcome
|
|
|
|
- **Outcome class**: `blocked-by-prerequisite`
|
|
- **Workflow outcome**: `keep`
|
|
- **Test-governance outcome**: `keep`
|
|
- **Reason**: The package converts reserved slot `282` into a bounded, repo-real implementation target for governance artifact surface ownership and environment-context truth, but implementation remains blocked until the Spec `280` route shell is already present on the working branch. Adjacent lifecycle, reporting, provider, RBAC, copy, and quality-gate work remain deferred.
|
|
|
|
## Implementation Close-out
|
|
|
|
- 2026-05-07: Implemented the bounded Spec `282` slice on top of the existing workspace-first route shell without widening into Specs `267`, `277`, or `283` through `287`.
|
|
- Surface ownership stayed on governance artifact registration, workspace-first environment routing, shared related-navigation and operation drillthrough seams, searchable-destination truthfulness, and tenant-panel guard cleanup only.
|
|
- No schema, provider-registration, asset-strategy, lifecycle, provider-taxonomy, or RBAC redesign work was added. Filament stayed on v5 with Livewire v4 semantics, and provider registration remained in `apps/platform/bootstrap/providers.php`.
|
|
- Final bounded validation ran green with `./vendor/bin/sail bin pint --dirty --format agent`, `./vendor/bin/sail artisan test --compact tests/Feature/Filament/GovernanceArtifacts/GovernanceArtifactAdminPanelRegistrationTest.php tests/Feature/Filament/GovernanceArtifacts/GovernanceArtifactEnvironmentContextTest.php tests/Feature/Filament/GovernanceArtifacts/GovernanceArtifactDeepLinkContractTest.php tests/Feature/Filament/GovernanceArtifacts/GovernanceArtifactLegacyTenantPanelGuardTest.php`, and `./vendor/bin/sail artisan test --compact tests/Browser/Spec282GovernanceArtifactRetargetingSmokeTest.php`. |