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
6.1 KiB
6.1 KiB
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
OperationRunpaths.
Known Overlap / Drift Risks
ReviewPackOutputResolutionGuidancealready looks like a case contract for one domain; Spec 350 must wrap it, not supersede it.CustomerReviewWorkspacealready overrides review-output guidance for findings and accepted-risk follow-up; Spec 350 must preserve those repo-real exceptions instead of flattening them away.EnvironmentReviewResourcealready suppresses repeated action rails in customer-workspace detail mode; Spec 350 must preserve that behavior.OperatorExplanationPatternalready exists for another domain family; Spec 350 must not become a competing explanation framework.- 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.
- A standalone evidence-basis adapter is not justified in v1 because the review-output path already carries evidence-basis truth through
ReviewPackOutputResolutionGuidance. - 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