Implemented management report layout branded report themes as requested. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #437
4.2 KiB
4.2 KiB
Repo Truth Map: Spec 366 Management Report Layout
Branch And Baseline
- Branch:
366-management-report-layout-branded-report-themes-v1 - Baseline commit:
6ac0913f feat: implement operations UI operator actions regression gate (#436) - Initial worktree state: new
specs/366-management-report-layout-branded-report-themes-v1/artifacts only.
Inspected Runtime Seams
- Rendered route/controller:
apps/platform/app/Http/Controllers/ReviewPackRenderedReportController.php - Rendered Blade report:
apps/platform/resources/views/review-packs/rendered-report.blade.php - Review pack URL/download contract:
apps/platform/app/Services/ReviewPackService.php - Existing profile/disclosure/readiness seams:
apps/platform/app/Support/ReviewPacks/ReportProfileRegistry.phpapps/platform/app/Support/ReviewPacks/ReportDisclosurePolicy.phpapps/platform/app/Support/ReviewPacks/ReviewPackOutputReadiness.phpapps/platform/app/Support/ReviewPacks/ReviewPackOutputResolutionGuidance.php
- Owner launch surfaces:
apps/platform/app/Filament/Resources/EnvironmentReviewResource.phpapps/platform/app/Filament/Resources/EnvironmentReviewResource/Pages/ViewEnvironmentReview.phpapps/platform/app/Filament/Resources/ReviewPackResource.phpapps/platform/app/Filament/Resources/ReviewPackResource/Pages/ViewReviewPack.php
Current Truth Used
- Prepared-by text comes from the current workspace name, with
TenantPilotfallback. - Prepared-for text comes from the managed environment name, with the localized tenant fallback.
- Generated-by stays
TenantPilot. - Generated-at is the current review-pack
generated_at. - Readiness, customer-safe/internal/limited state, disclosure proof, and appendix visibility remain derived from existing review-pack, environment-review, evidence-snapshot, profile, and disclosure-policy data.
- KPI values are derived from stored governance-package arrays when present:
- governance status from current output guidance
- evidence coverage from the evidence snapshot basis
- key risks from
governance_package.top_findings - open decisions from
governance_package.decision_summary.entriesorgovernance_package.governance_decisions
Gaps And Decisions
- No repo-backed logo, accent customization, persisted report theme, theme editor, or upload lifecycle exists. Decision: keep logo
null, accent defaultteal, and all branding derived-only. - Unsupported metrics must not be faked. Decision: measured empty arrays render
0; missing metrics render localizedNot measured. - Existing Spec 357 profile registry is sufficient for layout modes. Decision: no new profile taxonomy or profile CRUD.
- Partializing the Blade view was not needed for this bounded change; stable test hooks and section-rank helpers kept reviewability acceptable without adding more files.
current-report-layout-audit.mdwas not created because UI-099 already existed in the UI audit registry and Spec 366 produced fresh browser screenshot evidence after implementation.
Scope Gates
- Migrations: none.
- Packages/dependencies: none.
- Environment variables: none.
- Queue families/scheduler: none.
- Storage topology: unchanged; existing review-pack ZIP download remains the structured artifact.
- Panel/provider registration: unchanged; Laravel 12 Filament providers remain in
apps/platform/bootstrap/providers.php. - Global search: unchanged.
- Filament assets: none registered; no
filament:assetsdeployment change. - Native PDF package/runtime: not added.
- Upload UI/theme editor/customer portal/scheduled delivery/AI/framework-report semantics: not added.
Validation Notes
- Spec 366 browser evidence lives in
specs/366-management-report-layout-branded-report-themes-v1/artifacts/screenshots/. - UI coverage registry updated for UI-099 rendered report; route classification is unchanged.
- Adjacent regression fixes:
Spec347ReviewPackOutputReadinessSmokeTestfixture now stores the same non-certification disclosure on the review pack summary that the normalized review already carries.ReviewOutputResolveActionMapperno longer mapsexport_not_readytocreate_next_review, preservingexport_executive_packas the primary action for published reviews that still need an export.