{"computed_at":"2026-09-08T10:44:00+00:00","cache_ttl_s":600,"headline":{"hold_days_before":4,"hold_days_after":0,"payroll_removed_usd":4069.92,"illegal_days_before":1,"illegal_days_after":0,"benchmark_matched":"8/8","solve_ms":147.7,"adk_eval":{"eval_set_id":"hold_extraction_v1","passed":4,"failed":0,"cases":{"rule_lookup_trajectory":{"status":"PASSED","metrics":{"tool_trajectory_avg_score":{"status":"PASSED","score":1.0,"threshold":1.0},"final_response_match_v2":{"status":"PASSED","score":1.0,"threshold":0.8}}},"ambiguity_refusal":{"status":"PASSED","metrics":{"tool_trajectory_avg_score":{"status":"PASSED","score":1.0,"threshold":1.0},"final_response_match_v2":{"status":"PASSED","score":1.0,"threshold":0.8}}},"extract_callsheet":{"status":"PASSED","metrics":{"tool_trajectory_avg_score":{"status":"PASSED","score":1.0,"threshold":1.0},"final_response_match_v2":{"status":"PASSED","score":1.0,"threshold":0.8}}},"nl_constraints":{"status":"PASSED","metrics":{"tool_trajectory_avg_score":{"status":"PASSED","score":1.0,"threshold":1.0},"final_response_match_v2":{"status":"PASSED","score":1.0,"threshold":0.8}}}},"history_file":"hold_agent_hold_extraction_v1_1788727015.6031911.evalset_result.json","run_at":"2026-09-06T20:36:55+00:00","adk_eval_exit_code":0,"recorded_at":"2026-09-06T20:36:56+00:00","model":"gemini-3.1-flash-lite","models_invoked":["gemini-2.5-flash","gemini-3.1-flash-lite"],"location":"global","criteria":{"tool_trajectory_avg_score":1.0,"final_response_match_v2":0.8},"agent_module":"api/agents/hold_agent","agent_fingerprint":"aa221ce927776484f89b7a92e9a24677f59daa2ea999b7f919832a9600b5aa01","written_by":"scripts/adk_eval.py from a real adk eval run"},"adk_eval_events":{"eval_set_id":"hold_events_v1","passed":4,"failed":0,"cases":{"event_out_of_scope":{"status":"PASSED","metrics":{"tool_trajectory_avg_score":{"status":"PASSED","score":1.0,"threshold":1.0},"final_response_match_v2":{"status":"PASSED","score":1.0,"threshold":0.8}}},"event_actor_late":{"status":"PASSED","metrics":{"tool_trajectory_avg_score":{"status":"PASSED","score":1.0,"threshold":1.0},"final_response_match_v2":{"status":"PASSED","score":1.0,"threshold":0.8}}},"event_weather_cover":{"status":"PASSED","metrics":{"tool_trajectory_avg_score":{"status":"PASSED","score":1.0,"threshold":1.0},"final_response_match_v2":{"status":"PASSED","score":1.0,"threshold":0.8}}},"event_scene_dropped":{"status":"PASSED","metrics":{"tool_trajectory_avg_score":{"status":"PASSED","score":1.0,"threshold":1.0},"final_response_match_v2":{"status":"PASSED","score":1.0,"threshold":0.8}}}},"history_file":"event_agent_hold_events_v1_1788727093.9716291.evalset_result.json","run_at":"2026-09-06T20:38:13+00:00","adk_eval_exit_code":0,"recorded_at":"2026-09-06T20:38:14+00:00","model":"gemini-3.1-flash-lite","models_invoked":["gemini-2.5-flash","gemini-3.1-flash-lite"],"location":"global","criteria":{"tool_trajectory_avg_score":1.0,"final_response_match_v2":0.8},"agent_module":"api/agents/event_agent","agent_fingerprint":"2aa23f299b62bc416f6a9b3bf6be6c2dac64dd4cb4771318cd7bd5711eb217a4","written_by":"scripts/adk_eval.py from a real adk eval run"}},"headline_source":"docs/FACTS.json","bob_usage":{"available":true,"source":"docs/bob-evidence/bob-usage-evidence.json","generated_at":"2026-09-02T20:26:50.349199+00:00","task_count":6,"total_cost_usd":125.494236,"note":"task_count includes all Bob tasks in this install, not only HOLD tasks, because the directory field is empty in this Bob db version. Visual corroboration: Bobcoin gauge screenshots in this directory.","commits_total":161,"commits_with_bob_trailer":25,"last_bob_commit":"f00aa11","attribution_source":"docs/bob-evidence/ATTRIBUTION.md"},"facts_generated_at":"2026-09-06T20:38:27+00:00","facts_run_sha":"f09b8ed","constructed":true,"benchmark_matched":"8/8","benchmark_run_sha":"ea7a616ab27960eee7c5afc5d2ceecbb000b87b0","runtime":{"gemini_model":"gemini-3.1-flash-lite","gemini_location":"global","adk_version":"2.6.3","ortools_version":"9.15.6755","confluent":{"connected":true,"bootstrap_configured":true,"transport":"confluent","topics":["hold.set-events","hold.verdicts"],"published":18,"received":0,"skipped":0,"mirrored":3,"last_error":null},"mode":"live","extraction":{"configured":true,"reason":null},"invoked_by_this_endpoint":[],"model_routes":["/api/extract","/api/ask","/api/interpret-event"],"note":"This endpoint reads committed files and invokes no model and no broker; Gemini is invoked by /api/extract, /api/ask, /api/interpret-event and Confluent by /api/set-events."}}