# Source Summary ## Repo State - Branch: `375-ui-bloat-regression-guard` - HEAD before implementation: `0a1ecf99` - Dirty state before implementation: untracked Spec 375 artifacts only. - Implementation option selected: Pest guard under `apps/platform/tests/Feature/Guards/UiBloatRegressionGuardTest.php`. - Rejected options: - Artisan command: broader than v1 because it adds a runtime app command surface for a review guard. - Repo shell script: less repo-conform than existing Pest guard conventions and harder to test with fixture cases. ## Source Inputs | Source | Status | Notes | |---|---|---| | `specs/368-platform-ui-signal-to-noise-browser-audit/audit.md` | available | Source audit input for bloat and customer-safety failure modes. | | `specs/368-platform-ui-signal-to-noise-browser-audit/page-scorecard.csv` | available | Score context only; not used as a scanner threshold in v1. | | `specs/368-platform-ui-signal-to-noise-browser-audit/findings.md` | available | Source for repeated status, zero-card, metadata, and customer-safe risks. | | `specs/368-platform-ui-signal-to-noise-browser-audit/spec-candidates.md` | available | Confirms guardrail candidate lineage. | | `specs/368-platform-ui-signal-to-noise-browser-audit/artifacts/raw/browser-notes.md` | available | Browser notes input; no browser dependency in Spec 375. | | `specs/370-global-surface-information-architecture-contract/artifacts/surface-contract.md` | available | Surface IA contract input. | | `specs/370-global-surface-information-architecture-contract/artifacts/ui-bloat-patterns.md` | available | Primary rule-group source for v1. | | `specs/370-global-surface-information-architecture-contract/artifacts/page-assessment-checklist.md` | available | Manual review checklist source. | | `specs/370-global-surface-information-architecture-contract/artifacts/copy-and-terminology-rules.md` | available | Customer-safe and provider/internal term source. | | `specs/370-global-surface-information-architecture-contract/artifacts/follow-up-spec-map.md` | available | Confirms guardrail follow-up lineage. | | `specs/371-core-operator-view-surfaces-productization/artifacts/*` | available | Completed operator-surface context, read-only. | | `specs/372-customer-auditor-surface-safety-pass/artifacts/*` | available | Customer/auditor safety contracts and browser evidence, read-only. | | `specs/373-diagnostic-surface-separation/artifacts/*` | available | Actual repo directory differs from draft name; diagnostic safety contracts are available. | | `specs/374-diagnostic-entry-point-support-diagnostics-consolidation/artifacts/*` | available | Diagnostic entrypoint matrix and validation evidence, read-only. | ## Existing Guard Structures - Existing guard tests live under `apps/platform/tests/Feature/Guards`. - `apps/platform/tests/Pest.php` defines the `surface-guard` group. - `apps/platform/tests/Support/TestLaneManifest.php` declares `surface-guard` as heavy-governance-only. - `scripts/check-ui-productization-coverage` is a repo-level shell guard for UI coverage acknowledgements, not content-quality scanning. - `apps/platform/tests/Support/OpsUx/SourceFileScanner.php` exists for PHP-only source scans, but Spec 375 also needs Blade scanning and fixture-string scans, so a narrow Spec 375 test helper is used. ## Scan Paths | Path | Status | Treatment | |---|---|---| | `apps/platform/app/Filament` | available | scanned | | `apps/platform/resources/views/filament` | available | scanned | | `apps/platform/app/Support/EnvironmentDashboard` | available | scanned | | `apps/platform/app/Support/Navigation` | available | scanned | | `apps/platform/app/Support/OpsUx` | available | scanned | | `apps/platform/app/Support/SupportDiagnostics` | available | scanned | | `apps/platform/app/Support/Ui` | available | scanned | | `apps/platform/app/Support/Workspaces` | available | scanned | | `apps/platform/resources/views/components` | not available | recorded only | | `apps/platform/app/View` | not available | recorded only | ## Lane Ownership - Classification: Heavy-Governance / `surface-guard`. - The guard is registered as a surface-guard Pest file and as a heavy-governance manifest family. - The test uses repository source text and fixture strings only. It does not require browser auth, seed data, provider setup, Graph calls, queues, or runtime product state. - Because the repository binds `Feature` tests to `RefreshDatabase` globally, the file still boots the normal Feature test harness, but the guard introduces no database fixture or data dependency.