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
966 B
966 B
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.