## Summary - introduce surface-aware compressed governance outcomes and reuse the shared truth/explanation seams for operator-first summaries - apply the compressed outcome hierarchy across baseline, evidence, review, review-pack, canonical review/evidence, and artifact-oriented operation-run surfaces - expand spec 214 fixtures and Pest coverage, and fix tenant-panel route assertions by generating explicit tenant-panel URLs in the affected Filament tests ## Validation - `cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent` - focused governance compression suite from `specs/214-governance-outcome-compression/quickstart.md` passed (`68` tests, `445` assertions) - `cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Filament/InventoryItemResourceTest.php tests/Feature/Filament/BackupSetUiEnforcementTest.php tests/Feature/Filament/RestoreRunUiEnforcementTest.php` passed (`18` tests, `81` assertions) Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #253
6.8 KiB
Quickstart: Governance Operator Outcome Compression
Goal
Validate that covered governance artifact surfaces now answer the first operator question with one dominant outcome, one short reason, and one next step, while keeping deeper diagnostics available and keeping current routes, actions, and authorization semantics intact.
Prerequisites
- Start Sail if it is not already running.
- Ensure the acting user is a valid workspace member and entitled to the target tenant or tenants.
- Prepare representative fixtures for these cases:
- trustworthy baseline snapshot
- stale or historical baseline snapshot
- trustworthy evidence snapshot
- stale evidence snapshot
- partial evidence snapshot
- publishable tenant review
- internal-only or blocked tenant review
- publishable review pack
- internal-only or follow-up-needed review pack
- artifact-oriented operation run that ends with a limited artifact outcome
Focused Automated Verification
Run the smallest existing test set guarding the affected surfaces first:
cd apps/platform && ./vendor/bin/sail artisan test --compact \
tests/Unit/Support/Ui/GovernanceArtifactTruth/CompressedGovernanceOutcomeTest.php \
tests/Feature/Filament/ReviewRegisterDerivedStateMemoizationTest.php \
tests/Feature/Filament/EvidenceOverviewDerivedStateMemoizationTest.php \
tests/Feature/Filament/BaselineSnapshotListFiltersTest.php \
tests/Feature/Filament/BaselineSnapshotTruthSurfaceTest.php \
tests/Feature/Filament/BaselineSnapshotDegradedStateTest.php \
tests/Feature/Evidence/EvidenceSnapshotResourceTest.php \
tests/Feature/Evidence/EvidenceOverviewPageTest.php \
tests/Feature/TenantReview/TenantReviewRegisterTest.php \
tests/Feature/TenantReview/TenantReviewExplanationSurfaceTest.php \
tests/Feature/TenantReview/TenantReviewUiContractTest.php \
tests/Feature/ReviewPack/ReviewPackResourceTest.php \
tests/Feature/ReviewPack/TenantReviewDerivedReviewPackTest.php \
tests/Feature/Filament/OperationRunBaselineTruthSurfaceTest.php \
tests/Unit/Baselines/SnapshotRendering/BaselineSnapshotPresenterTest.php
For formatting before the focused suite:
cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent
Recorded local verification on 2026-04-19:
pint --dirty --format agentpassed- focused suite passed with
68tests and445assertions
Manual Validation Pass
Use either one tenant with multiple prepared artifacts or a small set of tenants that represent fresh, stale, partial, blocked, and publishable conditions.
1. Baseline snapshot list and detail
Open /admin/baseline-snapshots and a current plus non-current snapshot detail page.
Confirm that:
- the list does not require reading several equal-weight semantic columns to understand artifact usability,
- one primary outcome is visible for each row,
- detail leads with outcome, short reason, and next step,
- lifecycle and fidelity remain visible but secondary,
- and technical snapshot payloads remain available below the primary summary.
2. Evidence snapshot list and detail
Open /admin/t/{tenant}/evidence and evidence snapshot detail for a current, stale, and partial snapshot.
Confirm that:
- the first read answers whether the evidence basis is usable now,
- stale and partial evidence do not look calmer than current evidence,
- secondary freshness and completeness facts remain available,
- and raw summary JSON is no longer required to understand the first decision.
3. Tenant review list and detail
Open /admin/t/{tenant}/reviews and a publishable plus internal-only or blocked review detail page.
Confirm that:
- the surface leads with the publication decision,
- supporting evidence burden is visible but secondary,
- current actions such as
Publish revieworExport executive packremain where they were, - and no new row action or redundant inspect action appears.
4. Review pack list and detail
Open /admin/t/{tenant}/review-packs and review-pack detail pages derived from both strong and limited source reviews.
Confirm that:
- a technically downloadable pack does not automatically read as externally shareable,
- the row already communicates internal-only or follow-up-needed posture before drill-through,
- detail leads with shareability and next step,
- and pack detail does not contradict the linked review detail.
5. Canonical review register and evidence overview
Open:
/admin/reviews/admin/evidence/overview
Confirm that:
- the row-level primary outcome matches the corresponding tenant detail page,
- tenant-prefilter continuity still works when arriving from tenant context,
- row click remains the inspect model,
- and canonical pages do not introduce a calmer or different status dialect than tenant detail.
6. Artifact-oriented run detail
Open /admin/operations/{run} for a run tied to a limited or blocked artifact outcome.
Confirm that:
- the page leads with dominant artifact impact and next step,
- execution outcome remains separate from resulting artifact usability,
- drill-through language aligns with the linked artifact surface,
- and diagnostics remain clearly secondary.
7. Ten-second scan validation
Timebox the first visible scan of:
- one list or register row,
- one detail page,
- and one artifact-oriented run detail page.
Confirm that within 10 seconds an operator can determine:
- the dominant artifact outcome,
- the short reason,
- and the next step,
without opening diagnostic sections.
8. Authorization and action non-regression
Confirm that:
- view-only users can still inspect truth but not execute manage actions,
- non-entitled users still receive deny-as-not-found behavior,
- existing destructive actions still require confirmation,
- no new action placement or route change was introduced,
- and current action labels remain stable.
9. List-surface review checklist
Review docs/product/standards/list-surface-review-checklist.md against touched list and registry surfaces.
Confirm that:
- each touched list keeps exactly one inspect model,
- inline safe shortcuts remain bounded,
- rows are easier to scan than before,
- empty and filtered states stay truthful,
- and secondary facts do not regrow into another badge wall.
Formatting And Final Verification
Before finalizing implementation work:
cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent
Then rerun the focused test command set. If broader confidence is wanted afterward, offer the full suite.
If browser-based signoff is required, finish with a human smoke pass over one current, one stale/limited, and one blocked/publishability-first flow. The automated suite already covers the architecture-first label suppression and summary-order regressions, but a human should still confirm the visual ten-second scan on the final rendered UI.