{"schema_version":"1.0","run_id":"the-amber-cat-20260911234534-50276755","story_id":"the-amber-cat","package_version":1,"occasion":"read_time","status":"complete","degraded":false,"degraded_scene_count":0,"scene_count":4,"budget":{"expected_output_tokens":16200,"output_tokens":6252,"thoughts_tokens":14070,"prompt_tokens":14415,"cached_tokens":0,"over_budget":true},"started_at":"2026-09-11T23:45:34.564Z","completed_at":"2026-09-11T23:48:39.378Z","duration_ms":184814,"scenes":[{"scene_id":"scene_01_the_offer","scene_index":1,"degraded":false,"duration_ms":63357,"calls":[{"model":"gemini-3.6-flash","purpose":"writer","finish_reason":"MAX_TOKENS","prompt_tokens":2073,"output_tokens":149,"cached_tokens":0,"thoughts_tokens":3817},{"model":"gemini-3.6-flash","purpose":"writer_retry","finish_reason":"STOP","prompt_tokens":2094,"output_tokens":1404,"cached_tokens":0,"thoughts_tokens":2589}],"diagnostics":[{"code":"model_fallback","severity":"info","surfaces":["run_report"],"entity_id":null,"column":null,"message":"scene_01_the_offer: gemini-3.7-flash was unavailable; gemini-3.6-flash answered the writer call instead"},{"code":"beat_unsatisfied","severity":"warn","surfaces":["run_report"],"entity_id":null,"column":null,"message":"scene_01_the_offer came in at 213 words against a 350-word budget (61%) — well under budget usually means a beat got cut"}],"repairs":[]},{"scene_id":"scene_02_the_gala","scene_index":2,"degraded":false,"duration_ms":32304,"calls":[{"model":"gemini-3.6-flash","purpose":"writer","finish_reason":"STOP","prompt_tokens":2540,"output_tokens":1520,"cached_tokens":0,"thoughts_tokens":1353}],"diagnostics":[{"code":"model_fallback","severity":"info","surfaces":["run_report"],"entity_id":null,"column":null,"message":"scene_02_the_gala: gemini-3.7-flash was unavailable; gemini-3.6-flash answered the writer call instead"}],"repairs":[]},{"scene_id":"scene_03_the_swap","scene_index":3,"degraded":false,"duration_ms":30244,"calls":[{"model":"gemini-3.6-flash","purpose":"writer","finish_reason":"MAX_TOKENS","prompt_tokens":2631,"output_tokens":855,"cached_tokens":0,"thoughts_tokens":3110},{"model":"gemini-3.5-flash-lite","purpose":"digest_fallback","finish_reason":"STOP","prompt_tokens":537,"output_tokens":649,"cached_tokens":0,"thoughts_tokens":0}],"diagnostics":[{"code":"model_fallback","severity":"info","surfaces":["run_report"],"entity_id":null,"column":null,"message":"scene_03_the_swap: gemini-3.7-flash was unavailable; gemini-3.6-flash answered the writer call instead"},{"code":"truncated_scene","severity":"info","surfaces":["run_report"],"entity_id":null,"column":null,"message":"scene_03_the_swap: primary call hit MAX_TOKENS after prose; digest recovered via fallback call"},{"code":"plant_obligation_missed","severity":"warn","surfaces":["run_report"],"entity_id":null,"column":null,"message":"the scene owed a plant for \"the_copys_chipped_eye_is_on_the_wrong_side\" but did not report it in plants_opened — this is the \"dropped setup\" rubric mode"}],"repairs":[]},{"scene_id":"scene_04_four_minutes","scene_index":4,"degraded":false,"duration_ms":32860,"calls":[{"model":"gemini-3.6-flash","purpose":"writer","finish_reason":"MAX_TOKENS","prompt_tokens":3401,"output_tokens":904,"cached_tokens":0,"thoughts_tokens":3201},{"model":"gemini-3.5-flash-lite","purpose":"digest_fallback","finish_reason":"STOP","prompt_tokens":445,"output_tokens":639,"cached_tokens":0,"thoughts_tokens":0},{"model":"gemini-3.5-flash-lite","purpose":"continuity_repair","finish_reason":"STOP","prompt_tokens":379,"output_tokens":66,"cached_tokens":0,"thoughts_tokens":0},{"model":"gemini-3.5-flash-lite","purpose":"digest_rollup","finish_reason":"STOP","prompt_tokens":315,"output_tokens":66,"cached_tokens":0,"thoughts_tokens":0}],"diagnostics":[{"code":"entry_state_mismatch","severity":"error","surfaces":["run_report"],"entity_id":"char_vess","column":"location_id","message":"entry_state asserts char_vess.location_id = \"loc_vault_room\", but the World Model holds \"loc_gala_floor\""},{"code":"entry_state_mismatch","severity":"error","surfaces":["run_report"],"entity_id":"obj_amber_cat","column":"status","message":"entry_state asserts obj_amber_cat.status = \"in Vess's coat\", but the World Model holds \"on its stand\""},{"code":"model_fallback","severity":"info","surfaces":["run_report"],"entity_id":null,"column":null,"message":"scene_04_four_minutes: gemini-3.7-flash was unavailable; gemini-3.6-flash answered the writer call instead"},{"code":"truncated_scene","severity":"info","surfaces":["run_report"],"entity_id":null,"column":null,"message":"scene_04_four_minutes: primary call hit MAX_TOKENS after prose; digest recovered via fallback call"},{"code":"beat_unsatisfied","severity":"warn","surfaces":["run_report"],"entity_id":null,"column":null,"message":"scene_04_four_minutes came in at 217 words against a 400-word budget (54%) — well under budget usually means a beat got cut"},{"code":"exit_state_contradiction","severity":"error","surfaces":["run_report"],"entity_id":"char_vess","column":"location_id","message":"exit_state requires char_vess.location_id = \"loc_street\", but the engine proposed \"loc_ferrier_street\""},{"code":"continuity_seam_repaired","severity":"info","surfaces":["run_report"],"entity_id":"char_vess","column":null,"message":"told_ledger_miscalibration repaired in scene_04_four_minutes: scene_04_four_minutes used band \"reanchor\" for \"char_vess\" where the told-ledger implies \"assume\" — the scene assumes more than the reader has been given"},{"code":"continuity_seam_repaired","severity":"info","surfaces":["run_report"],"entity_id":"char_brannan","column":null,"message":"told_ledger_miscalibration repaired in scene_04_four_minutes: scene_04_four_minutes used band \"reanchor\" for \"char_brannan\" where the told-ledger implies \"assume\" — the scene assumes more than the reader has been given"},{"code":"continuity_seam_repaired","severity":"info","surfaces":["run_report"],"entity_id":"char_dace","column":null,"message":"told_ledger_miscalibration repaired in scene_04_four_minutes: scene_04_four_minutes used band \"reanchor\" for \"char_dace\" where the told-ledger implies \"assume\" — the scene assumes more than the reader has been given"}],"repairs":[{"mode":"told_ledger_miscalibration","subject":"char_vess","applied":true,"attempts":1,"detail":"scene_04_four_minutes used band \"reanchor\" for \"char_vess\" where the told-ledger implies \"assume\" — the scene assumes more than the reader has been given","rejection":null},{"mode":"told_ledger_miscalibration","subject":"char_brannan","applied":true,"attempts":1,"detail":"scene_04_four_minutes used band \"reanchor\" for \"char_brannan\" where the told-ledger implies \"assume\" — the scene assumes more than the reader has been given","rejection":null},{"mode":"told_ledger_miscalibration","subject":"char_dace","applied":true,"attempts":1,"detail":"scene_04_four_minutes used band \"reanchor\" for \"char_dace\" where the told-ledger implies \"assume\" — the scene assumes more than the reader has been given","rejection":null}]}]}