# Current Restore Flow Inventory ## Verified Code Seams | Area | Repo truth | | --- | --- | | Resource | `apps/platform/app/Filament/Resources/RestoreRunResource.php` owns the existing list/create/view resource and environment-scoped routing. | | Create page | `CreateRestoreRun` requires tenant manage capability before the wizard is usable. | | View page | `ViewRestoreRun` resolves records through `RestoreRunResource::resolveScopedRecordOrFail()`. | | Create presenter | `RestoreRunCreatePresenter::contract()` already produces passive wizard view data. | | Detail presenter | `RestoreRunDetailPresenter::forRun()` already owns decision-first detail/view state, OperationRun proof, and evidence links. | | Safety truth | `RestoreSafetyResolver` owns scope fingerprints, checks integrity, preview integrity, and execution safety. | | Status truth | `RestoreRunStatus` defines draft/scoped/checked/previewed, pending/queued/running, terminal, and legacy terminal statuses. | | Operation links | `OperationRunLinks::tenantlessView()` is the canonical link path for OperationRun detail. | ## Existing Safety Gates To Reuse - Scope and mapping changes call `synchronizeRestoreSafetyDraft()` and invalidate checks/preview basis. - `run_restore_checks` writes current check basis into wizard state only after existing validation runs. - `run_restore_preview` writes current preview basis into wizard state only after existing preview generation. - Real execution remains blocked by final confirmation, hard-confirm text, current checks, current preview, write gate, and `OperationRun` queueing. ## Implementation Seams Selected - Add Restore-local, non-persisted readiness derivation under `apps/platform/app/Support/RestoreReadinessResolution/`. - Add `readinessGuidance` to `RestoreRunCreatePresenter::contract()` and `RestoreRunDetailPresenter::forRun()`. - Render guidance through existing Blade view fields/infolist entries. - Disable `RestoreRunResource` global search explicitly because the resource is tenant-sensitive and this spec does not introduce a safe search contract. ## Explicit Non-Seams - No database migration. - No review-publication resolution table/model reuse. - No generic resolution registry. - No new route, navigation item, dashboard widget, notification center intake, or Graph call.