# Quickstart — Legacy Purge (Runs / Routes / UI / Test Shims)

Date: 2026-02-14

## Local dev

- Start containers: `vendor/bin/sail up -d`
- Run formatting (required): `vendor/bin/sail bin pint --dirty`

## Targeted verification (suggested)

### Legacy endpoints

- Run the legacy endpoints tests:
  - `vendor/bin/sail artisan test --compact tests/Feature/Operations/LegacyRunRoutesNotFoundTest.php`
  - If updated as part of this spec: `vendor/bin/sail artisan test --compact tests/Feature/078/TenantListRedirectTest.php`

### UI copy and navigation

- Verify Drift landing copy contains “operation runs” and does not contain “inventory sync runs”.
- Verify Inventory navigation lands on Inventory Items without passing through a redirect-only landing page.

### Guard suite

- Run the guard tests added/updated for this spec to ensure legacy identifiers cannot be reintroduced.

## Deployment notes (staged rollout)

### Deploy A (compat)

- Goal: stop emitting the legacy job field while keeping deserialization compatible.
- Run migrations if any (this feature should not include migrations).

### Deploy B (final purge)

- Goal: remove the legacy field/property entirely once queues are drained.

Operational note: coordinate the compatibility window with queue retention / worker restarts to reduce the chance of old payloads persisting.
