Implemented the first version of the operator resolution guidance framework. Added new foundation classes (ResolutionCase, ResolutionAction) and a ReviewPackOutputResolutionAdapter. Updated the Customer Review Workspace and Environment Review Resource to use the new adapter. Added extensive test coverage for the framework and UI integrations. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #421
69 lines
6.1 KiB
Markdown
69 lines
6.1 KiB
Markdown
# Spec 350 - Repo Truth Map
|
|
|
|
Created: 2026-06-03
|
|
Scope: Operator Resolution Guidance Framework v1
|
|
|
|
This map records the repo-backed truth that Spec 350 is allowed to standardize. It exists to stop the implementation from inventing a workflow engine or a second explanation subsystem.
|
|
|
|
## Existing Guidance Producers
|
|
|
|
| Area | Repo evidence | Current repo-real truth | Current gap | Spec 350 handling |
|
|
|---|---|---|---|---|
|
|
| Review output guidance | `apps/platform/app/Support/ReviewPacks/ReviewPackOutputResolutionGuidance.php` | Derived review/output guidance already exists with state, reason, impact, one primary action, secondary actions, technical details, and evidence-basis semantics | local to review-output path; no shared source/scope/action envelope | required adapter; wrap, do not replace |
|
|
| Customer-safe review consumer | `apps/platform/app/Filament/Pages/Reviews/CustomerReviewWorkspace.php` | first-screen review output uses existing output guidance plus repo-real findings and accepted-risk follow-up overrides | page-local contract and helper structure | first required visible consumer; preserve overrides |
|
|
| Review detail consumer | `apps/platform/app/Filament/Resources/EnvironmentReviewResource.php` | detail surface already exposes output guidance and qualified download wording, and customer-workspace detail mode suppresses repeated action rails | not yet expressed as a shared case contract | second required visible consumer; preserve detail-mode suppression |
|
|
| Operation follow-up | `apps/platform/app/Support/OpsUx/OperationUxPresenter.php` | dominant follow-up text already exists for runs | mostly text-only; no explicit case/action/source envelope | optional bounded adapter only if an in-scope consumer needs it |
|
|
| Shared explanation | `apps/platform/app/Support/Ui/OperatorExplanation/OperatorExplanationPattern.php` | operator explanation already separates trust/reliability/next action for some domains | not a cross-domain resolution-case envelope | reuse as semantic input |
|
|
| Shared next-step shape | `apps/platform/app/Support/Ui/EnterpriseDetail/EnterpriseDetailSectionFactory.php` | `primaryNextStep()` already models main text + secondary guidance | local to enterprise-detail surfaces | reuse as action-shape prior art |
|
|
| Governance Inbox | `apps/platform/app/Filament/Pages/Governance/GovernanceInbox.php` | page already shows `Next recommended action` over lane-specific items | queue-specific, not reusable across other domains | optional bounded consumer |
|
|
| Provider readiness | `apps/platform/app/Support/Providers/TargetScope/ProviderConnectionSurfaceSummary.php` | readiness summary already exists for provider connections | no shared action-safe case envelope | optional adapter input only |
|
|
| Required permissions guidance | `apps/platform/app/Filament/Pages/EnvironmentRequiredPermissions.php` | page already exposes guidance, verification link, and provider-management link | local guidance page, not shared case contract | optional bounded consumer |
|
|
| Environment dashboard recommendations | `apps/platform/app/Support/EnvironmentDashboard/EnvironmentDashboardSummaryBuilder.php` | readiness and recommended-action summaries already exist | dashboard-local action model | optional bounded consumer |
|
|
|
|
## Existing Shared Contracts To Reuse
|
|
|
|
| Contract / helper | What it already solves | Spec 350 rule |
|
|
|---|---|---|
|
|
| `ReviewPackOutputResolutionGuidance` | issue + reason + impact + one action for review output | do not re-derive raw output truth |
|
|
| `OperationUxPresenter::surfaceGuidance()` | dominant follow-up text for run states | do not replace run lifecycle or toasts/notifications |
|
|
| `OperatorExplanationPattern` | trust/reliability/next-action semantics | use as semantic input, not duplicate terminology |
|
|
| `EnterpriseDetailSectionFactory::primaryNextStep()` | existing primary-next-step structure | align action naming and supporting guidance |
|
|
| `OperationRunLinks` and existing scoped URL helpers | safe deep-linking | reuse for all action destinations |
|
|
|
|
## Verified Scope Constraints
|
|
|
|
- No new persistence is justified by current repo truth.
|
|
- No new route family is justified.
|
|
- No new workflow engine is justified.
|
|
- No hidden shell/sidebar/topbar scope is allowed.
|
|
- Provider-specific language must remain bounded to provider-owned adapters and surfaces.
|
|
- Any executable action must defer to existing capability, confirmation, audit, and `OperationRun` paths.
|
|
|
|
## Known Overlap / Drift Risks
|
|
|
|
1. `ReviewPackOutputResolutionGuidance` already looks like a case contract for one domain; Spec 350 must wrap it, not supersede it.
|
|
2. `CustomerReviewWorkspace` already overrides review-output guidance for findings and accepted-risk follow-up; Spec 350 must preserve those repo-real exceptions instead of flattening them away.
|
|
3. `EnvironmentReviewResource` already suppresses repeated action rails in customer-workspace detail mode; Spec 350 must preserve that behavior.
|
|
4. `OperatorExplanationPattern` already exists for another domain family; Spec 350 must not become a competing explanation framework.
|
|
5. Governance Inbox and environment dashboard already have local next-action logic; if integrating them would require a bigger taxonomy rewrite, they stay out of scope.
|
|
6. A standalone evidence-basis adapter is not justified in v1 because the review-output path already carries evidence-basis truth through `ReviewPackOutputResolutionGuidance`.
|
|
7. Spec 347 contains a speculative follow-up note using number `350`; this is commentary only and not a real package reservation.
|
|
|
|
## Narrowest Correct Implementation Boundary
|
|
|
|
The current repo truth supports:
|
|
|
|
- one shared derived case/action envelope
|
|
- one required review-output adapter over existing guidance producers
|
|
- two required visible consumers on the review-output path
|
|
- optional provider-readiness or operation-follow-up adapters only when a concrete same-slice consumer keeps the reuse cost low
|
|
- optional additional consumers only when the reuse cost stays low
|
|
|
|
The current repo truth does not support:
|
|
|
|
- a generic workflow engine
|
|
- a new provider-neutral execution framework
|
|
- a new persisted resolution queue
|
|
- a mandatory standalone evidence-basis adapter in v1
|
|
- a broad dashboard or governance surface redesign hidden inside this spec
|