TenantAtlas/specs/094-assignment-ops-observability-hardening/quickstart.md
ahmido bda1d90fc4 Spec 094: Assignment ops observability hardening (#113)
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
2026-02-15 14:08:14 +00:00

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.