TenantAtlas/docs/ui-ux-enterprise-audit/page-reports/ui-040-environment-review-detail.md
ahmido ba7622a158 feat: implement ReviewPublicationResolutionWorkflow (Spec 386) (#457)
## 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
2026-06-18 21:06:20 +00:00

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