TenantAtlas/specs/282-governance-artifact-retargeting/checklists/requirements.md
ahmido f50d57370f feat: cut over workspace-first admin environment surfaces (#341)
## 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
2026-05-07 23:50:36 +00:00

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`.