Automated PR created by Codex via Gitea API. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #468
11 KiB
Implementation Report: Spec 397 - Receipt Page Reduction Pass v1
Date: 2026-06-22
Branch: 397-receipt-page-reduction
Implementation slice: Existing /admin receipt-style detail surfaces only: Evidence Snapshot detail, Baseline Snapshot detail, Restore Run detail, Review Pack detail receipt sections, and Stored Report detail receipt metadata.
Product Surface Close-Out
- No-legacy posture: canonical replacement. No duplicate legacy/new receipt surfaces, no compatibility toggle, no new receipt framework.
- Product Surface Impact: default receipt pages now emphasize outcome, scope, timing, trust/readiness, and next action before internal support detail.
- UI Surface Impact: rendered Filament detail pages changed; no navigation architecture, dashboard, wizard, or report-content redesign.
- Page archetype: Receipt Page. Review Pack and Stored Report retain Report Page behavior for actual report/output content; this pass changes receipt metadata/detail sections.
- Surface budgets: default long lists are capped at eight rows/items where changed; technical links and proof panels are collapsed or demoted.
- Technical Annex / deep-link demotion: OperationRun proof, evidence snapshot link detail, raw artifact descriptors, raw payload JSON, detector/source metadata, and long governed-subject/item lists are secondary/internal.
- Canonical status vocabulary: Restore Run detail now maps to
Not configured,Running,Ready,Needs attention,Failed, andBlocked. - Product Surface exceptions: none.
- Visible complexity outcome: reduced. No new visible section family was added; internal depth remains available through collapsed/detail sections.
Runtime Changes
- Evidence Snapshot: renamed
Evidence dimensionstoInternal evidence dimensions, collapsed it by default, removed default artifact-source summary rendering. - Baseline Snapshot: capped default governed-subject summary and grouped detail output to eight rows/items; collapsed detailed captured-policy inventory.
- Restore Run: simplified top-level decision labels/actions, capped default item/foundation outcome rows, completed missing summary counts from recorded item outcomes, moved readiness/proof detail under closed
View technical run details, kept running OperationRun links out of the primary action, and added explicit post-run evidence operator guidance for completed-vs-running proof gaps. - Review Pack: renamed receipt evidence fields to
Evidence basis/Evidence completeness; moved the evidence snapshot link into internal technical detail. - Stored Report: renamed technical sections to
Internal report artifactandInternal payload detailswith support-oriented descriptions.
Safety / Governance
- Persisted truth: no migrations, tables, columns, enums, or new persisted state.
- Graph / remote calls: no Graph or remote render calls added.
- Queues / cron / storage: no queue, cron, or storage behavior changes.
- RBAC: existing resource policies/scopes retained; customer-safe and entitlement tests passed.
- Destructive/high-impact actions: no destructive actions were materially changed. Existing confirmed/audited actions remain in place for Evidence Snapshot expiry, Review Pack expiry, Restore Run archive/restore/force-delete/bulk/rerun flows.
- Global search: all touched resources remain globally unsearchable: Evidence Snapshot, Baseline Snapshot, Restore Run, Review Pack, Stored Report.
- Livewire v4 compliance: Filament v5 / Livewire v4.1.4 project baseline preserved; no Livewire v3 APIs introduced.
- Provider registration: unchanged; Laravel providers remain in
apps/platform/bootstrap/providers.php. - Asset strategy: no new assets registered. No
filament:assetsdeployment step is newly required by this pass. - Deployment impact: no env vars, migrations, queues, storage volumes, or Dokploy runtime changes.
Browser Proof
Focused browser proof is textual, not durable screenshot-based. Pest Browser removes successful screenshots from the host test directory, and the copy helper did not leave stable PNG artifacts under specs/397-receipt-page-reduction/artifacts/.
Command:
cd apps/platform && ./vendor/bin/sail artisan test tests/Browser/Spec397ReceiptPageReductionSmokeTest.php
Result: passed, 1 test / 70 assertions.
Covered routes/surfaces:
- Evidence Snapshot detail:
Outcome summary,Evidence basis and readiness,Evidence coverage summary,Internal evidence dimensions; no defaultArtifact source. - Baseline Snapshot detail:
Coverage summary, capped governed subjects, first eight visible, additional rows demoted. - Restore Run detail: completed and running paths cover
Needs attention,Running,View technical run details,Monitor restore progress, capped item outcomes, no default OperationRun proof/link or raw restore payload, Next Action opens the demoted technical detail target, completed-without-evidence links to existing Evidence snapshots capture, and running proof gaps do not expose an evidence-capture CTA. - Review Pack detail: output guidance and pack readiness visible; internal evidence detail remains hidden by default in technical detail.
- Stored Report detail: report scope/summary precede
Internal report artifactandInternal payload details; no defaultRaw payload.
Human Product Sanity
- Five-second scan: pass. Each touched receipt now exposes outcome/scope/readiness before raw proof detail.
- Customer-safe boundary: pass. Customer/default paths do not lead with raw evidence IDs, OperationRun proof, raw payload labels, source keys, or detector metadata.
- Visible complexity: reduced. Long tables and proof panels are capped/collapsed; no new visible navigation or page family added.
Validation
Feature / Filament receipt tests:
cd apps/platform && ./vendor/bin/sail artisan test \
tests/Feature/Evidence/EvidenceSnapshotResourceTest.php \
tests/Feature/Filament/BaselineSnapshotStructuredRenderingTest.php \
tests/Feature/Filament/Spec335RestoreRunDetailProductizationTest.php \
tests/Feature/ReviewPack/ReviewPackResourceTest.php \
tests/Feature/StoredReports/StoredReportDetailPresentationTest.php \
tests/Feature/Filament/Spec372CustomerAuditorSurfaceSafetyTest.php \
tests/Feature/Filament/Artifacts/ArtifactSourceTaxonomySurfaceTest.php
Result: direct receipt files passed; initial run exposed one stale taxonomy assertion, fixed and rerun:
cd apps/platform && ./vendor/bin/sail artisan test tests/Feature/Filament/Artifacts/ArtifactSourceTaxonomySurfaceTest.php
Result: passed, 2 tests / 24 assertions.
Review-fix focused rerun:
cd apps/platform && ./vendor/bin/sail artisan test \
tests/Feature/Filament/Spec335RestoreRunDetailProductizationTest.php \
tests/Feature/Filament/Spec390RestoreReadinessGuidanceTest.php \
tests/Feature/Filament/RestoreResultAttentionSurfaceTest.php
Result: passed, 22 tests / 127 assertions.
Safety and boundary tests:
cd apps/platform && ./vendor/bin/sail artisan test \
tests/Feature/BulkDeleteRestoreRunsTest.php \
tests/Feature/BulkRestoreRestoreRunsTest.php \
tests/Feature/RestoreRunArchiveGuardTest.php \
tests/Feature/Reviews/CustomerReviewWorkspaceLaunchLinksTest.php \
tests/Feature/ReviewPack/Spec392CustomerOutputRouteGateTest.php \
tests/Feature/ReviewPack/ReviewPackRbacTest.php \
tests/Feature/StoredReports/StoredReportEntitlementEnforcementTest.php \
tests/Feature/Filament/BaselineSnapshotAuthorizationTest.php \
tests/Feature/Filament/BaselineSnapshotRelatedContextTest.php
Result: passed, 34 tests / 126 assertions.
Browser regression tests:
cd apps/platform && ./vendor/bin/sail artisan test \
tests/Browser/Spec277StoredReportsSurfaceSmokeTest.php \
tests/Browser/Spec282GovernanceArtifactRetargetingSmokeTest.php \
tests/Browser/Spec284ArtifactSourceTaxonomySmokeTest.php \
tests/Browser/Spec335RestoreRunDetailProductizationSmokeTest.php \
tests/Browser/Spec372CustomerAuditorSurfaceSafetySmokeTest.php \
tests/Browser/Spec376BrowserAuditFixtureCoverageSmokeTest.php
Result: Spec277, Spec335, Spec372, and Spec376 passed; initial Spec282/Spec284 failures were stale visible-text expectations after receipt reduction. Fixed and reran:
cd apps/platform && ./vendor/bin/sail artisan test \
tests/Browser/Spec282GovernanceArtifactRetargetingSmokeTest.php \
tests/Browser/Spec284ArtifactSourceTaxonomySmokeTest.php
Result: passed, 2 tests / 59 assertions.
Review-fix browser reruns:
cd apps/platform && ./vendor/bin/sail artisan test tests/Browser/Spec397ReceiptPageReductionSmokeTest.php
Result: passed, 1 test / 70 assertions.
cd apps/platform && ./vendor/bin/sail artisan test tests/Browser/Spec335RestoreRunDetailProductizationSmokeTest.php
Result: passed, 1 test / 48 assertions.
Latest combined browser rerun:
cd apps/platform && ./vendor/bin/sail artisan test \
tests/Browser/Spec397ReceiptPageReductionSmokeTest.php \
tests/Browser/Spec335RestoreRunDetailProductizationSmokeTest.php
Result: passed, 2 tests / 118 assertions.
Formatting / hygiene:
cd apps/platform && ./vendor/bin/sail pint --test
Result: attempted twice. The full unscoped scan continued emitting broad repo-wide style findings for several minutes and was interrupted to avoid leaving a long-running process.
Changed-file Pint:
cd apps/platform && ./vendor/bin/sail pint --test <changed PHP files>
Result: failed once with one touched-file style issue in BaselineSnapshotPresenter.php; fixed with Pint and reran successfully: 19 files passed.
Review-fix changed-file Pint:
cd apps/platform && ./vendor/bin/sail pint --test \
app/Filament/Resources/RestoreRunResource/Presenters/RestoreRunDetailPresenter.php \
resources/views/filament/infolists/entries/restore-results.blade.php \
tests/Feature/Filament/Spec335RestoreRunDetailProductizationTest.php \
tests/Browser/Spec335RestoreRunDetailProductizationSmokeTest.php \
tests/Browser/Spec397ReceiptPageReductionSmokeTest.php
Result: passed, 5 files.
Diff whitespace:
git diff --check
Result: passed.
Post-Implementation Analysis
- Confirmed no new persisted entity, abstraction framework, enum/status family, Graph call, queue behavior, or compatibility toggle was introduced.
- Confirmed Product Surface docs were updated for route inventory, design coverage matrix, unresolved restore caveat, and the three existing receipt page reports.
- Confirmed broader restore create/failure/conflict workflow remains follow-up; this pass verifies completed and running Restore Run detail receipt reduction.