# 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