## Summary\n- Implements the ReviewPublicationResolutionWorkflow for Spec 386.\n- Adds resolution case/step persistence, policies, services, audit action IDs, and Filament integration.\n- Updates specs, UI/UX documentation, screenshots, and Pest coverage.\n\n## Tests\n- Not run during this handoff; branch was already clean and pushed.\n\n## Target\n- Base: platform-dev\n- Head/topic: 386-review-publication-resolution-workflow-v1 Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #457
110 lines
6.0 KiB
Markdown
110 lines
6.0 KiB
Markdown
# UI-040 Environment Review Detail
|
|
|
|
| Field | Value |
|
|
| --- | --- |
|
|
| Route | `/admin/workspaces/{workspace}/environments/{environment}/environment-reviews/{record}` |
|
|
| Source | `EnvironmentReviewResource::view` |
|
|
| Area / scope | Reviews / environment detail |
|
|
| Archetype | Evidence / Audit |
|
|
| Design depth | Strategic Surface |
|
|
| Repo truth | repo-verified |
|
|
| Screenshot | `Spec 351 browser proof: specs/351-review-output-resolve-actions-v1/artifacts/screenshots/02-mutable-blocked.png` |
|
|
| Browser status | Reached through direct environment routes for mutable-blocked and ready-draft states, plus the existing customer-workspace handoff regression path. |
|
|
|
|
## First Five Seconds
|
|
|
|
The page should answer three questions without forcing the operator to reconstruct the review from raw sections:
|
|
|
|
1. what is the review status
|
|
2. what is the output readiness
|
|
3. what is the safe next step
|
|
|
|
## Productization Review
|
|
|
|
- Decision-first: improved by the shared resolution-case summary.
|
|
- Evidence-first: limitations and technical details remain visible below the summary.
|
|
- Context: environment-bound review detail with optional customer-workspace handoff context.
|
|
- Customer/auditor safety: high because this page explains whether the current released output is share-safe.
|
|
- Diagnostics: sections and raw detail stay secondary to the first-screen output guidance.
|
|
|
|
## Information Inventory
|
|
|
|
Default content should show lifecycle status, output guidance, publication/sharing boundary, evidence snapshot linkage, current export linkage, and section completeness.
|
|
|
|
## Dangerous Actions
|
|
|
|
Lifecycle actions such as refresh, publish, export, create-next-review, and archive remain source-owned. In customer-workspace detail mode, the repeated primary action rail should stay suppressed so the operator does not get duplicate or conflicting calls to action.
|
|
|
|
## Spec 349 Follow-up
|
|
|
|
Spec 349 separated review status, output readiness, and publication/sharing state while keeping the customer-workspace detail mode free of repeated CTA rails.
|
|
|
|
## Spec 350 Follow-up
|
|
|
|
Spec 350 adds the shared review-output resolution-case handoff:
|
|
|
|
- the first-screen summary now uses the same issue / reason / impact / next-action reading direction as the workspace
|
|
- source refs and evidence refs remain repo-backed in the underlying contract
|
|
- customer-workspace detail mode still suppresses repeated action buttons and keeps the limitations/technical-details path as the primary inspection flow
|
|
|
|
## Spec 351 Follow-up
|
|
|
|
Spec 351 aligns detail-surface next-step semantics to the same resolve-action mapper without creating a duplicate CTA rail inside the guidance card.
|
|
|
|
- mutable blocked reviews now resolve to the existing `refresh_review` header action
|
|
- ready mutable reviews now resolve to the existing `publish_review` header action with the current publication-reason flow
|
|
- published blocked reviews can align to `create_next_review` or `open_successor_review` only when the action/target is repo-real
|
|
- customer-workspace detail mode remains suppress-primary and keeps the explanation/proof path intact
|
|
- the workspace remains the only surface that groups supporting secondary actions; detail keeps a single dominant lifecycle rail and explanation/proof follow-through
|
|
|
|
### Browser proof
|
|
|
|
- Spec351 screenshots: `specs/351-review-output-resolve-actions-v1/artifacts/screenshots/`
|
|
- Verified states:
|
|
- `02-mutable-blocked.png` shows the `Refresh review` confirmation path
|
|
- `03-ready-draft.png` shows the `Publish review` modal with the existing reason field
|
|
|
|
## Spec 356 Follow-up
|
|
|
|
Spec 356 keeps this detail page as the owner-side explanation surface but replaces the customer-workspace detail CTA with one dominant rendered-report handoff.
|
|
|
|
- customer-workspace detail mode now opens the rendered stakeholder report instead of leading with ZIP download
|
|
- the rendered-report affordance only appears when the current export review pack is ready, current, and not expired
|
|
- ZIP contract truth and appendix semantics remain secondary proof, not a second competing primary CTA
|
|
|
|
## Target Direction
|
|
|
|
Keep this surface audit- and evidence-oriented. If future work broadens it beyond the review-output path, that should happen through a dedicated detail-surface spec rather than hidden incremental drift.
|
|
|
|
## Spec 372 Follow-up
|
|
|
|
Spec 372 productizes the customer/auditor reading order on the existing Filament resource detail.
|
|
|
|
- `Outcome summary` and `Output guidance` now lead the page
|
|
- executive posture and evidence basis appear before technical metadata
|
|
- review status, completeness, and fingerprint moved into collapsed `Technical details`
|
|
- section payload details remain collapsed below the main proof hierarchy
|
|
- existing refresh, publish, create-next, archive, export, rendered-report, confirmation, authorization, and audit behavior is unchanged
|
|
|
|
### Browser proof
|
|
|
|
- Spec372 screenshot: `specs/372-customer-auditor-surface-safety-pass/artifacts/screenshots/002-environment-review-view-after.png`
|
|
- Browser smoke verified section ordering and no JavaScript errors or console logs.
|
|
|
|
## Spec 386 Follow-up
|
|
|
|
Spec 386 changes the blocked mutable-review primary action from direct refresh to a subject-owned publication-resolution workflow.
|
|
|
|
- blocked mutable reviews now show `Resolve publication blockers` as the dominant header action
|
|
- the action creates or resumes a review-publication-specific case and redirects to the Environment Review-owned resolution route
|
|
- refresh, report generation, evidence collection, review-pack generation, and return-to-publication remain source-owned actions inside the workflow
|
|
- publish remains blocked by the existing readiness gates and is not executed automatically
|
|
- the Environment Review resource remains excluded from global search
|
|
|
|
### Browser proof
|
|
|
|
- Spec386 screenshots: `specs/386-review-publication-resolution-workflow-v1/artifacts/screenshots/`
|
|
- Verified states:
|
|
- `01-resolution-page-desktop.png` shows the redirected workflow page with the current report step
|
|
- `02-resolution-page-mobile.png` verifies the same workflow is readable at a narrow viewport
|