{"status":"healthy","v32":{"evaluated_at":"2026-09-22T10:24:25.442Z","steps":[{"step":"SWEEP","status":"ok","detail":"pre_ingestion_audit.md maintained; ingest uses SWEEP lineage map."},{"step":"SHARD","status":"ok","detail":"Redis ping OK (Upstash REST) — hot layer available for Pulse SHARD."},{"step":"DEFEND","status":"ok","detail":"PulseEngine.runThroughDefend → gate, crossRef, defend (shadow preflight)."},{"step":"CROSS_REF","status":"ok","detail":"preFlightCheck + Vault/Hall lineage on Pulse; ingest shadow gate before SWEEP."},{"step":"CONVERGE","status":"ok","detail":"Dual-model / local gateway in PulseEngine (Vertex env present)."},{"step":"ARBITRATE","status":"ok","detail":"Ops auth via service role. Add MSGF_OPS_CRON_SECRET for scheduled v32-heartbeat (avoid service role in cron)."},{"step":"PERSIST","status":"ok","detail":"Vault/Hall persist + POST /api/msgf/ops/v32-heartbeat (tier batches + 30d Hall purge)."}],"production_ready":true},"release":{"service":"msgf-api-staging","revision":"msgf-api-staging-00001-vqr","deploy_env":"staging","git_sha":"191e80fa","deployed_at":"2026-09-21T05:55:56Z"}}