TenantAtlas/specs/282-governance-artifact-retargeting/quickstart.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

56 lines
3.0 KiB
Markdown

# 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
1. Read `spec.md`, `plan.md`, `research.md`, `data-model.md`, and `checklists/requirements.md` together.
2. Confirm the candidate deviation is explicit: persistence is already `managed_environment_id` plus `workspace_id`; `282` is a surface-ownership package.
3. Confirm the touched resource families stay limited to environment-owned governance artifacts and their drillthrough links.
4. Confirm Specs `267`, `277`, and `283` through `287` remain explicitly deferred.
## Planned Validation Commands
Run the same proof commands recorded in `spec.md` and `plan.md`:
```bash
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:` and `panel: '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 `282` and avoid `267`, `277`, or `283` through `287` scope creep?
## Stop Conditions
Stop and split the work if any proposed change requires:
- Spec `280` route 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