Implements spec 094 (assignment fetch/restore observability hardening): - Adds OperationRun tracking for assignment fetch (during backup) and assignment restore (during restore execution) - Normalizes failure codes/reason_code and sanitizes failure messages - Ensures exactly one audit log entry per assignment restore execution - Enforces correct guard/membership vs capability semantics on affected admin surfaces - Switches assignment Graph services to depend on GraphClientInterface Also includes Postgres-only FK defense-in-depth check and a discoverable `composer test:pgsql` runner (scoped to the FK constraint test). Tests: - `vendor/bin/sail artisan test --compact` (passed) - `vendor/bin/sail composer test:pgsql` (passed) Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #113
1.0 KiB
1.0 KiB
Quickstart — 094 Assignment Operations Observability Hardening
Prerequisites
- Docker + Laravel Sail
- PHP/Composer dependencies installed (via Sail)
Setup
- Start services:
./vendor/bin/sail up -d - Install PHP deps (if needed):
./vendor/bin/sail composer install - Run migrations:
./vendor/bin/sail artisan migrate
Running tests (targeted)
Run the smallest set first, then widen:
- Feature tests added for this spec (once implemented):
./vendor/bin/sail artisan test --compact tests/Feature/Operations./vendor/bin/sail artisan test --compact tests/Feature/Auth./vendor/bin/sail artisan test --compact tests/Feature/Rbac
Formatting
- Run Pint on touched files:
./vendor/bin/sail bin pint --dirty
Manual verification (admin)
- Trigger an assignment fetch and confirm a Monitoring → Operations entry appears.
- Trigger an assignment restore and confirm:
- Monitoring shows a run with failure codes (if any) and counters.
- Exactly one audit log entry is created for the restore execution.