Implements Spec 092 legacy purge. Key changes: - Remove legacy Inventory landing page + view; link Inventory entry directly to Inventory Items. - Update Drift landing copy to "operation runs"; remove URL heuristic from context bar. - Remove legacy redirect shim route and assert 404 for old bookmarks. - Staged job payload change: remove legacy ctor arg; keep legacy field for deserialization compatibility; new payload omits field. - Remove legacy notification artifact. - Remove legacy test shim + update tests; strengthen guard suite with scoped exception for job compat field. - Add spec/plan/tasks/checklist artifacts under specs/092-legacy-purge-final. Tests: - Focused Pest suite for guards, legacy routes, redirect behavior, job compatibility, drift copy. - Pint run: `vendor/bin/sail bin pint --dirty`. Notes: - Deploy B final removal of `backupScheduleRunId` should occur only after the compatibility window defined in the spec. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #110
32 lines
966 B
Markdown
32 lines
966 B
Markdown
# Data Model — Legacy Purge (Runs / Routes / UI / Test Shims)
|
|
|
|
Date: 2026-02-14
|
|
|
|
This feature does not add or change canonical domain entities. It removes legacy artifacts and a legacy queued-job payload field.
|
|
|
|
## Entities (impacted)
|
|
|
|
### OperationRun
|
|
|
|
- Role: canonical run observability record for operational actions.
|
|
- Change: none.
|
|
|
|
### Backup scheduling job payload
|
|
|
|
- Role: queued execution of backup schedule work.
|
|
- Legacy field to purge: `backupScheduleRunId` (job payload / dispatch parameter).
|
|
|
|
#### Compatibility constraints
|
|
|
|
- Deploy A: The job MUST still deserialize when older payloads include `backupScheduleRunId`.
|
|
- Deploy B: Remove the field/property entirely after the compatibility window.
|
|
|
|
## UI artifacts (non-data)
|
|
|
|
- Redirect-only Inventory landing page: must be removed so Inventory entry points route directly to Inventory Items.
|
|
- Drift landing copy: change wording only.
|
|
|
|
## State transitions
|
|
|
|
- No new state transitions introduced.
|