Ingestion case status changed

Preview
Sent **once per case, per status transition** as each row in a batch moves through its lifecycle (`created` → `processing` → `completed`, or `failed`). One batch of N rows therefore produces events for N cases, not a single job-level event. The payload is PHI-free — it carries the `caseId` you submitted (your own key), the current `status`, and, for `failed`, a machine-readable error following the RFC 9457 problem shape. Fetch the full case via `GET /cases/{caseId}`. The request is signed with RS256 (JWS). Verify the `X-Orchestra-Signature` header against the JWKS at `https://api.orchestrahealth.com/.well-known/jwks.json`. Delivery is at-least-once and unordered, so treat handling as idempotent — key on `jobId` + `caseId` + `status`.