Automated PR created by Codex via Gitea API. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #461
36 lines
2.3 KiB
Markdown
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.
|