Some checks failed
Main Confidence / confidence (push) Failing after 57s
## Summary - add a read-first governance inbox page at `/admin/governance/inbox` - aggregate assigned findings, intake, stale operations, alert-delivery failures, and review follow-up into one canonical routing surface - add focused coverage for inbox authorization, navigation context, page behavior, and section builder logic - include the Spec Kit artifacts for spec 250 ## Notes - branch is synced with `dev` - this PR supersedes #290 for the governance inbox work Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #291
4.4 KiB
4.4 KiB
Quickstart: Decision-Based Governance Inbox v1
Date: 2026-04-28
Feature: spec.md
Purpose
This quickstart captures the smallest intended implementation and validation path for the governance inbox slice. It is preparation-only guidance for later implementation work.
Planned Implementation Shape
- Add one native Filament page at
/admin/governance/inbox. - Compose five bounded source families from existing repo truth:
- assigned findings
- findings intake
- stale or terminal-follow-up operations
- alert-delivery failures
- review follow-up
- Keep the page read-only and route every action into an existing source surface.
- Keep tenant and family filters query-safe and workspace-safe.
Planned Validation Commands
Run the minimum proving commands once implementation exists:
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/GovernanceInbox/GovernanceInboxSectionBuilderTest.php
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Governance/GovernanceInboxPageTest.php
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Governance/GovernanceInboxAuthorizationTest.php
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Feature/Governance/GovernanceInboxNavigationContextTest.php
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agent
Manual Review Checklist For Later Implementation
- Open
/admin/governance/inboxas a workspace operator with at least two visible signal families. - Verify the page stays read-only and does not offer claim, snooze, acknowledge, assign, or triage mutation controls.
- Verify a tenant-scoped launch prefilters the page to the current tenant.
- Verify explicit out-of-scope
tenant_idquery input returns404. - Verify each visible section opens an existing source surface and preserves a back-link or source context.
Guardrails To Preserve
- No new persisted inbox-item table.
- No generic cross-domain task engine.
- No browser-only validation requirement by default.
- No raw-support or debug detail rendered on the inbox page.
Close-Out Target For Later Implementation
Record the final outcome in Guardrail / Exception / Smoke Coverage once implementation happens, including:
- whether a bounded
Support/GovernanceInbox/seam was actually needed - whether all source CTAs stayed on existing canonical surfaces
- whether any contained drift resolved as
document-in-feature - the final proof outcome from the focused unit and feature validation commands
Guardrail / Exception / Smoke Coverage
- Guardrail result: PASS. The implemented slice stayed on the existing Filament v5 / Livewire v4 admin plane, kept provider registration untouched in
apps/platform/bootstrap/providers.php, introduced no destructive inbox action, and added no new registered asset bundle. - Bounded seam result:
document-in-feature. The final implementation requiredapps/platform/app/Support/GovernanceInbox/GovernanceInboxSectionBuilder.phpas a derived page-scoped assembler because the current source pages did not expose a reusable cross-family API. - Source-surface result: PASS. All dominant section CTAs and preview-entry links stayed on existing findings, operations, alerts, and review surfaces; no inbox-local mutation lane or detail shell was added.
- Focused proof result:
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail artisan test --compact tests/Unit/Support/GovernanceInbox/GovernanceInboxSectionBuilderTest.php tests/Feature/Governance/GovernanceInboxAuthorizationTest.php tests/Feature/Governance/GovernanceInboxPageTest.php tests/Feature/Governance/GovernanceInboxNavigationContextTest.phppassed with10 passed (53 assertions). - Formatting result:
export PATH="/bin:/usr/bin:/usr/local/bin:$PATH" && cd apps/platform && ./vendor/bin/sail bin pint --dirty --format agentpassed. - Smoke result: PASS. Manual integrated-browser smoke confirmed
/admin/governance/inboxloads in workspace context, the operations CTA navigates to the canonical monitoring route with return context, and the explicit back link returns to the inbox.