TenantAtlas/specs/162-baseline-gap-details/quickstart.md
ahmido 7d4d607475 feat: add baseline gap details surfaces (#192)
## Summary
- add baseline compare evidence gap detail modeling and a dedicated Livewire table surface
- extend baseline compare landing and operation run detail surfaces to expose evidence gap details and stats
- add spec artifacts for feature 162 and expand feature coverage with focused Filament and baseline tests

## Notes
- branch: `162-baseline-gap-details`
- commit: `a92dd812`
- working tree was clean after push

## Validation
- tests were not run in this step

Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de>
Reviewed-on: #192
2026-03-24 19:05:23 +00:00

62 lines
2.4 KiB
Markdown

# Quickstart: Enterprise Evidence Gap Details for Baseline Compare
## Prerequisites
1. Start the local stack.
```bash
vendor/bin/sail up -d
```
2. Ensure the app is clean enough to run focused tests.
## Focused Verification
Run the minimum regression pack for the feature:
```bash
vendor/bin/sail artisan test --compact tests/Feature/Baselines/BaselineCompareAmbiguousMatchGapTest.php tests/Feature/Baselines/BaselineCompareResumeTokenTest.php tests/Feature/Filament/OperationRunEnterpriseDetailPageTest.php
```
Format touched files before shipping implementation updates:
```bash
vendor/bin/sail bin pint --dirty --format agent
```
## Manual Verification Flow
1. Trigger or locate a completed `baseline_compare` run with evidence gaps.
2. Open the canonical run detail page at `/admin/operations/{run}`.
3. Confirm the page shows outcome/trust guidance before diagnostics.
4. Confirm the `Evidence gap details` section is visible when subject-level details exist.
5. Use `Search gap details` to filter by:
- reason text such as `ambiguous`
- policy type such as `deviceConfiguration`
- subject key fragment such as part of a display name or GUID
6. Confirm raw JSON evidence remains available in the separate `Baseline compare evidence` section.
## Legacy-Run Verification
1. Open an older baseline compare run that contains `evidence_gaps.count` but no `evidence_gaps.subjects`.
2. Confirm the UI distinguishes missing recorded detail from the absence of gaps.
3. Confirm the page still renders successfully and does not imply a healthy compare result.
## Tenant-Safety Verification
1. Verify an entitled user can inspect the same run through canonical monitoring.
2. Verify a non-member cannot discover tenant-owned detail through canonical or tenant-scoped surfaces.
3. Verify member-but-underprivileged behavior remains enforced by existing authorization rules.
## Render-Safety Verification
1. Bind the fail-hard graph client in the affected UI tests.
2. Verify the canonical run detail renders evidence-gap detail without invoking `GraphClientInterface`.
3. Verify the tenant landing evidence-gap state renders without invoking `GraphClientInterface`.
## Deployment Notes
- No new database migration is required.
- No new Filament assets are registered, so this feature does not add a new `filament:assets` deployment requirement.
- Filament remains on Livewire v4-compatible patterns and requires no panel provider changes.