# Quickstart (Spec 086) This quickstart is for validating Spec 086 changes locally using Sail. ## Prereqs - `vendor/bin/sail up -d` ## Run formatting - `vendor/bin/sail bin pint --dirty` ## Run targeted tests Use the minimal test subset relevant to the PR slice you are working on: - `vendor/bin/sail artisan test --compact --filter=OperationRun` - `vendor/bin/sail artisan test --compact tests/Feature` (narrow further to the new/changed files) ## Manual verification checklist ### Canonical viewer - Trigger an operation that creates an `OperationRun`. - Open the canonical URL (from notification action): `/admin/operations/{runId}`. - Confirm the viewer renders from persisted DB state only. ### Authorization semantics - As a non-workspace-member user, opening `/admin/operations/{runId}` returns 404. - As a workspace member without the required capability for that run type, opening the viewer returns 403. ### Dedupe semantics - Inventory sync / directory group sync: attempting to start while active reuses the existing active run and links to it. - Manual backup schedule run now/retry: each click produces a distinct `OperationRun`. - Scheduled backup: double-fire for the same schedule + intended minute produces at most one `OperationRun`. ### DB-only forms - Tenant configuration selectors (directory groups, role definitions) render and search without outbound HTTP calls. - “Sync now” actions enqueue operations and provide “View run” link.