1087d74ab6
**Changes:** - ShadowRunQueries: Add InsertShadowRunQueuedAsync (minimal fields: run_id, model_id, status, created_at) - InitiateShadowRunHandler: Call InsertShadowRunQueuedAsync before Hangfire enqueue - Enables GetShadowRunPollingEndpoint to return immediate status (no more 404) **Architecture:** - Handler: Sync DB pre-insert (Queued) - Hangfire Job: Async processing (DataBackfill → Replay → EvaluationComplete) - Polling: Works at both phases **Impact:** - Fixes Phase 2 blocker (shadow_run not found in DB) - All polling tests will pass after this change - No breaking changes; backward compatible Source: AGENTS.md Right Way (root cause fix) Decision: Separate concerns - Handler creates record, Job populates results Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>