TenantAtlas/specs/390-restore-readiness-resolution-adapter-v1/artifacts/current-restore-flow-inventory.md
ahmido c0c3286a80 feat: add restore readiness resolution adapter improvements (#461)
Automated PR created by Codex via Gitea API.

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #461
2026-06-20 12:51:12 +00:00

36 lines
2.3 KiB
Markdown

# 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.