## 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
3.0 KiB
3.0 KiB
Quickstart: Governance Artifact Retargeting to ManagedEnvironment
Goal
Review and later implement the bounded 282 slice that moves existing governance artifact surface families onto the workspace-first admin runtime without changing persistence or lifecycle semantics.
External Prerequisite
Do not start runtime implementation until Spec 280 is already merged or otherwise present on the working branch. 282 reuses that route shell; it does not redefine it.
Review Flow
- Read
spec.md,plan.md,research.md,data-model.md, andchecklists/requirements.mdtogether. - Confirm the candidate deviation is explicit: persistence is already
managed_environment_idplusworkspace_id;282is a surface-ownership package. - Confirm the touched resource families stay limited to environment-owned governance artifacts and their drillthrough links.
- Confirm Specs
267,277, and283through287remain explicitly deferred.
Planned Validation Commands
Run the same proof commands recorded in spec.md and plan.md:
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && \
(cd "$REPO_ROOT/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)
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && \
(cd "$REPO_ROOT/apps/platform" && ./vendor/bin/sail artisan test --compact \
tests/Browser/Spec282GovernanceArtifactRetargetingSmokeTest.php)
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && REPO_ROOT="$(git rev-parse --show-toplevel)" && \
(cd "$REPO_ROOT/apps/platform" && ./vendor/bin/sail bin pint --dirty --format agent)
Reviewer Checklist
- Do the touched artifact families clearly register on the admin panel rather than hiding behind tenant-panel guards?
- Does environment resolution on the admin panel stop treating
ManagedEnvironment::current()as the only valid context source? - Do related links and operation drillthroughs avoid
tenant:andpanel: 'tenant'destinations? - Do touched read-only artifact surfaces preserve their existing semantics without importing lifecycle or reporting scope from other specs?
- Do touched searchable surfaces remain truthful or stay disabled?
- Does the plan stay within
282and avoid267,277, or283through287scope creep?
Stop Conditions
Stop and split the work if any proposed change requires:
- Spec
280route shell work that is not already present on the branch - schema or persistence changes
- lifecycle or retention state design
- broad stored-report surface redesign
- provider-capability, taxonomy, RBAC, or vocabulary redesign
- compatibility routes or dual-panel fallbacks