{
  "version": "p10_shooting_script_reentry_planning.v1",
  "created_at": "2026-05-31T05:41:29.284790Z",
  "phase": "P10_shooting_script_reentry_planning_contract",
  "project_root": ".",
  "output_run_dir": "outputs/p10_shooting_script_reentry_planning_20260531_134122",
  "source_artifacts": {
    "p10_contract": {
      "path": "docs/p10_shooting_script_reentry_planning_contract_20260531.md",
      "sha256": "dd416d2f25700224d82723af19b75da61434cc1e6f9b6cfb17d7eb5f015e045b",
      "size_bytes": 8206,
      "exists": true
    },
    "p9_closeout_retrospective": {
      "path": "docs/p9_closeout_retrospective_20260531.md",
      "sha256": "6d35c4b9b46be581a8ac269745baa49805053030040caa1b29803c43b174eeaf",
      "size_bytes": 12698,
      "exists": true
    },
    "p9_gate": {
      "artifact": "P9_screenplay_gate.json",
      "path": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_gate.json",
      "exists": true,
      "size_bytes": 11533,
      "sha256": "003f758d07e5c8dbbea84f32550e2879b55f8864b88e630a241268db81a7f89b"
    },
    "p9_validator": {
      "artifact": "P9_screenplay_validator_report.json",
      "path": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_validator_report.json",
      "exists": true,
      "size_bytes": 6539,
      "sha256": "b923207a6e89e12bfaa19ba8d794972ae2505d7f3f0a7f7532cddefe38381ebb"
    },
    "p9_execution_input": {
      "artifact": "P9_screenplay_execution_input.json",
      "path": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_execution_input.json",
      "exists": true,
      "size_bytes": 37653,
      "sha256": "7e1637715f23cb19babfc8b33c8d1cc7a53d06cd842bd406041ba3c38b784bf2"
    },
    "p9_readiness_matrix": {
      "path": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_unit_readiness_matrix.jsonl",
      "exists": true,
      "sha256": "259aadc85c9c36f008f3b3e2488ab232c779d8ada3e1a05eb7cbce9908942646",
      "size_bytes": 7284067
    },
    "p9_units": {
      "path": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_units.jsonl",
      "exists": true,
      "sha256": "c49fe458d92b18fdb26413740723f04a0be4a914ea74b6cd51c614a64efb6107",
      "size_bytes": 32984294
    },
    "p9_sequence_index": {
      "path": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_sequence_index.jsonl",
      "exists": true,
      "sha256": "c8b312817750717d993e46dbd5242bd0b1a58fdd92cdae2e7fef6c85fe4e5baa",
      "size_bytes": 3532041
    },
    "p9_queue": {
      "path": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_dependency_queue.jsonl",
      "exists": true,
      "sha256": "5fb1a556b718cdc8db70d73fcecd243231b5a07a52f5a88077290ce273685e24",
      "size_bytes": 4742
    },
    "p9_manifest": {
      "artifact": "manifest.json",
      "path": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/manifest.json",
      "exists": true,
      "size_bytes": 5602,
      "sha256": "131a9346892b10d1ad898a536681b80d1f13015f8a69637762611f19c76271b9"
    },
    "p9_program_validation": {
      "artifact": "P9_screenplay_program_validation.json",
      "path": "outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_program_validation.json",
      "exists": true,
      "size_bytes": 6497,
      "sha256": "5d922f4d12fb429f533466b67fcc18b727e736c2e03963d7f680856b4d6b0d52"
    },
    "p9_deepseek_gate": {
      "artifact": "P9_screenplay_deepseek_audit_gate.json",
      "path": "outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_deepseek_audit_gate.json",
      "exists": true,
      "size_bytes": 5020,
      "sha256": "8971e994bb595aa3dbbcdbd4e2b506c42b11d064ad0bf2c1d06334fc4b865744"
    },
    "p9_deepseek_raw": {
      "artifact": "P9_screenplay_deepseek_audit_raw.json",
      "path": "outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_deepseek_audit_raw.json",
      "exists": true,
      "size_bytes": 263467,
      "sha256": "465870f5d138dff5c4ee8a3643e167c333ef86f9b750ff3f84fd2fae3f8ec772"
    },
    "execution_state": {
      "artifact": "execution_state.json",
      "path": "execution_state.json",
      "exists": true,
      "size_bytes": 59759,
      "sha256": "1b199fad0e104d55faf42a9d0a0435e262fb23bfaf9206a059b0dbdd8119097d"
    }
  },
  "contract_checks": {
    "p10_contract_present": true,
    "p10_contract_planning_only": true,
    "p10_contract_p9_explicit_authority": true,
    "p10_contract_required_outputs": true,
    "p10_contract_validator_matrix_bound": true,
    "p10_contract_shooting_script_execution_blocked": true,
    "p10_contract_no_provider_media": true,
    "p10_contract_no_kg_overlay_replay": true,
    "p10_contract_old_b7_reference_only": true,
    "p10_contract_runtime_hardcoding_ban": true
  },
  "p10_contract_excerpt": "# P10 Shooting Script Reentry Planning Contract\n\n更新时间：`2026-05-31T09:22:00+08:00`\n\n本文冻结 P计划 `P10_shooting_script_reentry_planning_contract` 的执行细则。P10 基于 P9 AI-executable screenplay control-data outputs，执行 shooting_script reentry planning only，不执行 shooting_script rows、shot context、prompt packet、adapter render、provider job、media generation、feedback/replay、KG/overlay/replay，也不改写 `outputs/index.json` / `outputs/index-lite.json`。\n\n## Contract ID\n\n`P10_shooting_script_reentry_planning_contract`\n\n## Objective\n\nP10 的目标是在 P9 closeout 之后，规划 shooting_script execution 的可进入条件，而不是直接生成 shooting_script：\n\n- consume P9 execution run, P9 program validation/advisory gate, and P9 closeout retrospective by explicit path。\n- consume P9 screenplay units/readiness/sequence/dependency queue as the only active screenplay authorities。\n- produce shooting_script readiness rows that are traceable to P9 screenplay unit ids, P8 adaptation unit ids, retained group ids, beat ids, P5E source scene ids, P6 chronology refs, source refs, merge/drop provenance, and dependency ids。\n- identify whether each screenplay control unit is ready for a later shooting_script execution contract, blocked by missing structural refs, or deferred pending separate enrichment/review。\n- identify the first later shooting_script execution contract candidate, but keep shooting_script execution blocked in P10。\n- keep old B7 shooting_script outputs as paused reference / diagnostic comparison only。\n- require P10 program validation, DeepSeek v4 pro thinking/max advisory, closeout retrospective, and control-plane sync before any shooting_script execution stage opens。\n\nP10 is a planning/readiness stage. It must not create shot numbers, shot scale, camera movement, staging/action rows, sound/music placeholders, duration estimates, transitions, provider prompts, adapter payloads, or media tasks. Those belong to later contracts.\n\n## Required Inputs\n\n- `docs/p10_shooting_script_reentry_planning_contract_20260531.md`\n- `docs/p9_closeout_retrospective_20260531.md`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_gate.json`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_validator_report.json`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_execution_input.json`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_unit_readiness_matrix.jsonl`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_units.jsonl`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_sequence_index.jsonl`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_dependency_queue.jsonl`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/manifest.json`\n- `outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_program_validation.json`\n- `outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_deepseek_audit_gate.json`\n- `outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_deepseek_audit_raw.json`\n- `execution_state.json`\n\nP10 must not discover P9 through generated indexes. Use explicit paths unless a later deterministic index-refresh stage is opened.\n\n## Execution Boundary\n\nP10 may execute shooting_script reentry planning only:\n\n- allowed: reading P9 screenplay control-data inputs, building a readiness matrix, checking source/adaptation/chronology/continuity/merge-drop refs, generating dependency queue, validators, gate/report/html。\n- not allowed: shooting_script execution, shot context generation, prompt packet generation, adapter render, provider/media, feedback intake, KG writeback, raw KG writeback, accepted/operator overlay writeback, replay, output deletion, output cold archive, generated index mutation。\n- DeepSeek advisory is required after P10 planning, but remains advisory-only and cannot become accepted operator evidence, accepted overlay, KG fact, replay action, provider evidence, or runtime routing logic。\n- Runtime branching by entity name, work title, block title, or sample text is prohibited. Entity names, work titles, block titles, and source excerpts may appear only as evidence/display text.\n\n## Required Outputs\n\nP10 must write a fresh output run dir such as:\n\n`outputs/p10_shooting_script_reentry_planning_<timestamp>`\n\nRequired files:\n\n- `P10_shooting_script_reentry_input.json`\n- `P10_shooting_script_readiness_matrix.jsonl`\n- `P10_shooting_script_dependency_queue.jsonl`\n- `P10_shooting_script_reentry_validator_report.json`\n- `P10_shooting_script_reentry_gate.json`\n- `P10_shooting_script_reentry_report.md`\n- `P10_shooting_script_reentry.html`\n- `manifest.json`\n\n## P10 Validator Matrix\n\n| Validator | Required check | Blocks pass when |\n| --- | --- | --- |\n| `p9_authority` | P10 consumes explicit P9 execution/advisory/retrospective paths and verifies pass gates | P9 gate/advisory missing, not pass, or P9 retrospective missing |\n| `screenplay_unit_traceability` | P9 screenplay units parse and retain screenplay unit ids, adaptation ids, scene ids, chronology refs, source refs, and dependency ids | orphan readiness row, missing screenplay unit ref, missing source/chronology/adaptation ref |\n| `shooting_script_readiness_schema` | readiness rows expose structural prerequisites for later shooting_script execution without generating shot rows | missing readiness status, missing source refs, missing continuity/merge-drop refs, or accidental shot row creation |\n| `merge_drop_provenance_guard` | P9 merge/drop provenance remains visible for later shooting_script execution planning | dropped/merged scenes disappear from readiness evidence |\n| `shooting_script_scope_guard` | P10 generates planning/readiness artifacts only | shooting_script rows, shot numbers, camera fields, prompt/provider/media fields generated in P10 |\n| `dependency_queue_ordering` | queue opens only the next shooting_script execution contract candidate after P10 advisory/retrospective | shooting_script execution marked allowed before P10 closeout |\n| `downstream_leakage_guard` | shot context/prompt/provider/media counters remain zero | any downstream artifact is generated in P10 |\n| `kg_overlay_replay_guard` | KG/overlay/replay counters remain zero | canonical/raw KG, accepted/operator overlay, or replay writeback appears |\n| `old_b7_exclusion` | old B7 remains reference-only | old B7 shooting_script output is used as active authority |\n| `active_route_guard` | `execution_state.json.next_entrypoint.id` remains `platform_neutral_prompt_readiness_manual_execution_log_contract` | active route changes |\n\n## DeepSeek Advisory Requirements\n\nP10 closeout requires DeepSeek v4 pro thinking/max advisory over:\n\n- P10 contract。\n- P9 closeout retrospective。\n- P10 shooting_script reentry planning outputs。\n- P10 validator report and gate。\n- active route boundary from `execution_state.json`。\n\nExpected pass verdict:\n\n`supports_p10_shooting_script_reentry_planning`\n\nPass requires:\n\n- DeepSeek call status=`success`。\n- parse status=`pass`。\n- finding/blocker/high=0/0/0。\n- advisory confirms P10 uses P9 fresh artifacts as active screenplay authorities。\n- advisory confirms readiness matrix is traceable and bounded。\n- advisory confirms shooting_script execution remains blocked in P10。\n- advisory confirms shot context/prompt/provider/media/KG/overlay/replay/index mutation remain blocked。\n- advisory confirms old B7 remains reference-only。\n\nMissing/skipped/unavailable/unparseable advisory blocks P10 closeout or records `blocked_unavailable`; it never counts as pass.\n\n## Non-Goals\n\n- P10 does not execute shooting_script。\n- P10 does not generate shot context、prompt packet、adapter render、provider/media。\n- P10 does not write KG/overlay/replay。\n- P10 does not repair generated indexes。\n- P10 does not continue old B7 downstream。\n- P10 does not silently perform unlogged LLM dialogue/rewrite enrichment。\n",
  "p9_retrospective_excerpt": "# P9 Closeout Retrospective\n\n更新时间：`2026-05-31T09:22:00+08:00`\n\n本文是 P计划阶段间复盘门禁下的 `P9_ai_executable_screenplay_fresh_execution_contract` closeout retrospective。它在 P9 AI-executable screenplay control-data fresh execution、程序验证和 DeepSeek advisory 通过后，任何 P10 shooting_script reentry planning 推进前复盘实际落地、证据基础、风险和下一阶段校准。\n\n## Retrospective Summary\n\nP9 已完成 fresh AI-executable screenplay control-data execution：基于 P8 fresh adaptation planning outputs，生成 P9 execution input、screenplay unit readiness matrix、screenplay units、sequence index、dependency queue、validator report、gate、report/html 和 manifest。\n\nP9 只执行 deterministic screenplay control-data build。P9 没有执行 shooting_script、shot context、prompt packet、adapter render、provider/media、feedback/replay、KG/overlay/replay，没有删除/冷归档 outputs run，也没有改写 `outputs/index.json` / `outputs/index-lite.json`。DeepSeek v4 pro thinking/max advisory 支持 P9 closeout，finding/blocker/high=0/0/0。\n\n## Actual Landed\n\n- P9 contract：`docs/p9_ai_executable_screenplay_fresh_execution_contract_20260531.md`\n- P9 implementation：\n  - `src/novel2video/p9_ai_executable_screenplay_fresh_execution.py`\n  - `scripts/run_p9_ai_executable_screenplay_fresh_execution.py`\n  - `scripts/run_p9_ai_executable_screenplay_deepseek_audit.py`\n  - `tests/test_p9_ai_executable_screenplay_fresh_execution.py`\n- Core backup before P9 `src/` / `scripts` edits：`backups/20260531_091023_p9_ai_executable_screenplay_fresh_execution`\n- P9 focused tests：6 passed。\n- P9 fresh execution run：`outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953`\n  - gate=`pass`\n  - gate_status=`p9_ai_executable_screenplay_fresh_execution_pass`\n  - P8 readiness rows / adaptation units=6989 / 6989\n  - P8 retained scene groups / beats=5002 / 5002\n  - screenplay readiness rows=5002\n  - screenplay units=5002\n  - screenplay sequence rows=5002\n  - adaptation unit refs in screenplay=6989\n  - source scene refs in screenplay=6989\n  - drop-from-script scene refs preserved=1518 / 1518\n  - merge groups / hard merge groups=1452 / 1046\n  - P9 dependency queue items=7\n  - future executable after P9 closeout candidates=1\n  - validator failures=0\n- P9 advisory run：`outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026`\n  - program validation status=`pass`\n  - program validation failure_count=0\n  - gate=`pass`\n  - gate_status=`deepseek_advisory_supports_p9_ai_executable_screenplay_fresh_execution`\n  - verdict=`supports_p9_ai_executable_screenplay_fresh_execution`\n  - finding/blocker/high=0/0/0\n  - false_required_confirmation_count=0\n  - recommended next=`P10_shooting_script_reentry_planning_contract`\n  - DeepSeek raw meta model=`deepseek-v4-pro`\n  - prompt_tokens=72165\n  - completion_tokens=2919\n  - reasoning_tokens=2636\n  - reasoning_content_present=true\n\n## Program Validation Summary\n\n- P9 required output files exist and parse。\n- P9 gate status=`pass`。\n- P9 validator status=`pass`。\n- P8 execution/advisory/retrospective paths were consumed explicitly。\n- P8 gate and P8 program validation pass。\n- P8 DeepSeek verdict=`supports_p8_adaptation_planning_fresh_execution`。\n- screenplay readiness rows=5002。\n- screenplay units=5002。\n- sequence rows=5002。\n- dependency queue items=7。\n- single future executable after P9 closeout=1。\n- P8 adaptation unit refs and source scene refs are fully preserved: 6989 / 6989。\n- drop/merge provenance is preserved: 1518 / 1518 dropped refs retained。\n- `execution_state.json.next_entrypoint.id` remains `platform_neutral_prompt_readiness_manual_execution_log_contract`。\n- shooting_script、shot context、prompt packet、adapter render、provider/media、feedback、KG/overlay/replay、output deletion/archive/index mutation counters all 0。\n\n## Not Landed\n\n- shooting_script execution 未执行。\n- shot context、prompt packet、adapter render、provider/media 未执行。\n- LLM dialogue/rewrite enrichment 未执行。\n- feedback intake / repair / replay 未执行。\n- KG/accepted overlay/operator overlay/raw KG/canonical KG/replay 未写入。\n- outputs run deletion/cold archive 未执行。\n- `outputs/index.json` / `outputs/index-lite.json` 未改写。\n- 旧 B7 paused reference 未恢复为 active mainline。\n\n## Evidence Basis\n\n- `docs/p9_ai_executable_screenplay_fresh_execution_contract_20260531.md`\n- `docs/p8_closeout_retrospective_20260531.md`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_execution_input.json`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_unit_readiness_matrix.jsonl`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_units.jsonl`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_sequence_index.jsonl`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_dependency_queue.jsonl`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_validator_report.json`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_gate.json`\n- `outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953/P9_screenplay_report.md`\n- `outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_program_validation.json`\n- `outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_deepseek_audit_input.json`\n- `outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_deepseek_audit_raw.json`\n- `outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_deepseek_audit.json`\n- `outputs/p9_ai_executable_screenplay_deepseek_audit_20260531_092026/P9_screenplay_deepseek_audit_gate.json`\n- `outputs/p8_adaptation_planning_fresh_execution_20260531_074542/P8_adaptation_gate.json`\n- `outputs/p8_adaptation_planning_deepseek_audit_20260531_074613/P8_adaptation_planning_deepseek_audit_gate.json`\n- `execution_state.json`\n\n## DeepSeek Advisory Summary\n\n- call_status=`success`\n- parse_status=`pass`\n- model=`deepseek-v4-pro`\n- thinking/reasoning content present\n- verdict=`supports_p9_ai_executable_screenplay_fresh_execution`\n- recommended_next_candidate=`P10_shooting_script_reentry_planning_contract`\n- finding/blocker/high=0/0/0\n- false_required_confirmation_count=0\n\nDeepSeek confirmed all required checks:\n\n- P9 contract artifact-backed。\n- program validation passed。\n- P8 authority passed。\n- P8 fresh adaptation units used。\n- screenplay units traceable。\n- merge/drop provenance preserved。\n- screenplay control data is not literary prose-only。\n- shooting_script execution not performed。\n- shot/prompt/provider/media not performed。\n- KG/overlay/replay blocked。\n- outputs index unchanged。\n- old B7 reference-only。\n- next_entrypoint unchanged。\n- runtime branching by names absent。\n- P10 requires a separate contract。\n\n## Conclusive Output Review\n\nP9 is a conclusive AI-executable screenplay control-data output. It satisfies P计划 parallel review requirement:\n\n- P9 contract is present。\n- P9 deterministic execution gate pass。\n- P9 program validation pass。\n- Focused tests pass。\n- DeepSeek v4 pro thinking/max advisory available and parsed。\n- DeepSeek verdict supports P9。\n- finding/blocker/high=0/0/0。\n- provider/media/KG/overlay/replay/downstream execution/output deletion/output archive/index mutation counters all 0。\n\n## Risk And Debt\n\n- P9 screenplay units are structured control data, not final shooting_script rows. They do not contain shot numbers, camera movement, staging, duration, transitions, or provider prompt fields; those must remain owned by later contracts。\n- P9 preserves P8 deterministic adaptation choices, including 1518 drop-from-script refs. Those choices are auditable but still not a creative-quality guarantee for final shot rhythm or dialogue density。\n- P9 did not perform LLM dialogue/rewrite enrichment. If richer dialogue or prose screenplay text is required, that must be opened as a separate logged and audited enrichment contract, not silently added to shooting_script。\n- P9 did not add run dirs to generated indexes. Continue using explicit control-plane paths unless a",
  "p9_gate_status": {
    "status": "pass",
    "gate_status": "p9_ai_executable_screenplay_fresh_execution_pass"
  },
  "p9_gate_summary": {
    "p8_readiness_matrix_row_count": 6989,
    "p8_adaptation_unit_count": 6989,
    "p8_dependency_queue_item_count": 7,
    "p8_retained_scene_group_count": 5002,
    "p8_beat_count": 5002,
    "screenplay_readiness_matrix_row_count": 5002,
    "screenplay_unit_count": 5002,
    "screenplay_sequence_row_count": 5002,
    "adaptation_unit_refs_in_screenplay_count": 6989,
    "source_scene_refs_in_screenplay_count": 6989,
    "drop_from_script_scene_count": 1518,
    "drop_from_script_scene_refs_preserved": 1518,
    "merge_group_count": 1452,
    "hard_merge_group_count": 1046,
    "dependency_queue_item_count": 7,
    "future_executable_after_p9_closeout_count": 1,
    "validator_failure_count": 0,
    "active_route_next_entrypoint_id": "platform_neutral_prompt_readiness_manual_execution_log_contract",
    "p8_deepseek_overall_verdict": "supports_p8_adaptation_planning_fresh_execution",
    "old_b7_reference_only": true,
    "old_b7_active_source_ref_count": 0,
    "screenplay_control_data_execution_count": 1,
    "llm_dialogue_or_rewrite_enrichment_call_count": 0,
    "shooting_script_execution_count": 0,
    "shot_context_generation_count": 0,
    "prompt_packet_generation_count": 0,
    "adapter_render_count": 0,
    "provider_job_execution_count": 0,
    "media_generation_count": 0,
    "feedback_intake_count": 0,
    "accepted_overlay_write_count": 0,
    "operator_overlay_write_count": 0,
    "canonical_kg_writeback_count": 0,
    "raw_kg_writeback_count": 0,
    "replay_action_count": 0,
    "outputs_index_mutation_count": 0,
    "outputs_run_deletion_count": 0,
    "outputs_run_cold_archive_count": 0,
    "runtime_branching_by_entity_name_rule_count": 0,
    "runtime_branching_by_work_title_rule_count": 0,
    "runtime_branching_by_block_title_rule_count": 0,
    "runtime_branching_by_sample_text_rule_count": 0,
    "p8_gate_retained_scene_group_count": 5002,
    "p8_gate_drop_from_script_scene_count": 1518
  },
  "p9_validator_summary": {
    "p8_readiness_matrix_row_count": 6989,
    "p8_adaptation_unit_count": 6989,
    "p8_dependency_queue_item_count": 7,
    "p8_retained_scene_group_count": 5002,
    "p8_beat_count": 5002,
    "screenplay_readiness_matrix_row_count": 5002,
    "screenplay_unit_count": 5002,
    "screenplay_sequence_row_count": 5002,
    "adaptation_unit_refs_in_screenplay_count": 6989,
    "source_scene_refs_in_screenplay_count": 6989,
    "drop_from_script_scene_count": 1518,
    "drop_from_script_scene_refs_preserved": 1518,
    "merge_group_count": 1452,
    "hard_merge_group_count": 1046,
    "dependency_queue_item_count": 7,
    "future_executable_after_p9_closeout_count": 1,
    "validator_failure_count": 0,
    "active_route_next_entrypoint_id": "platform_neutral_prompt_readiness_manual_execution_log_contract",
    "p8_deepseek_overall_verdict": "supports_p8_adaptation_planning_fresh_execution",
    "old_b7_reference_only": true,
    "old_b7_active_source_ref_count": 0,
    "screenplay_control_data_execution_count": 1,
    "llm_dialogue_or_rewrite_enrichment_call_count": 0,
    "shooting_script_execution_count": 0,
    "shot_context_generation_count": 0,
    "prompt_packet_generation_count": 0,
    "adapter_render_count": 0,
    "provider_job_execution_count": 0,
    "media_generation_count": 0,
    "feedback_intake_count": 0,
    "accepted_overlay_write_count": 0,
    "operator_overlay_write_count": 0,
    "canonical_kg_writeback_count": 0,
    "raw_kg_writeback_count": 0,
    "replay_action_count": 0,
    "outputs_index_mutation_count": 0,
    "outputs_run_deletion_count": 0,
    "outputs_run_cold_archive_count": 0,
    "runtime_branching_by_entity_name_rule_count": 0,
    "runtime_branching_by_work_title_rule_count": 0,
    "runtime_branching_by_block_title_rule_count": 0,
    "runtime_branching_by_sample_text_rule_count": 0,
    "p8_gate_retained_scene_group_count": 5002,
    "p8_gate_drop_from_script_scene_count": 1518
  },
  "p9_manifest_summary": {
    "stage": "P9_ai_executable_screenplay_fresh_execution_contract",
    "fresh_run_policy": {
      "new_output_run_dir": "outputs/p9_ai_executable_screenplay_fresh_execution_20260531_091953",
      "no_overwrite": true
    }
  },
  "p9_program_validation": {
    "status": "pass",
    "failure_count": 0,
    "summary": {
      "p8_readiness_matrix_row_count": 6989,
      "p8_adaptation_unit_count": 6989,
      "p8_dependency_queue_item_count": 7,
      "p8_retained_scene_group_count": 5002,
      "p8_beat_count": 5002,
      "screenplay_readiness_matrix_row_count": 5002,
      "screenplay_unit_count": 5002,
      "screenplay_sequence_row_count": 5002,
      "adaptation_unit_refs_in_screenplay_count": 6989,
      "source_scene_refs_in_screenplay_count": 6989,
      "drop_from_script_scene_count": 1518,
      "drop_from_script_scene_refs_preserved": 1518,
      "merge_group_count": 1452,
      "hard_merge_group_count": 1046,
      "dependency_queue_item_count": 7,
      "future_executable_after_p9_closeout_count": 1,
      "validator_failure_count": 0,
      "active_route_next_entrypoint_id": "platform_neutral_prompt_readiness_manual_execution_log_contract",
      "p8_deepseek_overall_verdict": "supports_p8_adaptation_planning_fresh_execution",
      "old_b7_reference_only": true,
      "old_b7_active_source_ref_count": 0,
      "screenplay_control_data_execution_count": 1,
      "llm_dialogue_or_rewrite_enrichment_call_count": 0,
      "shooting_script_execution_count": 0,
      "shot_context_generation_count": 0,
      "prompt_packet_generation_count": 0,
      "adapter_render_count": 0,
      "provider_job_execution_count": 0,
      "media_generation_count": 0,
      "feedback_intake_count": 0,
      "accepted_overlay_write_count": 0,
      "operator_overlay_write_count": 0,
      "canonical_kg_writeback_count": 0,
      "raw_kg_writeback_count": 0,
      "replay_action_count": 0,
      "outputs_index_mutation_count": 0,
      "outputs_run_deletion_count": 0,
      "outputs_run_cold_archive_count": 0,
      "runtime_branching_by_entity_name_rule_count": 0,
      "runtime_branching_by_work_title_rule_count": 0,
      "runtime_branching_by_block_title_rule_count": 0,
      "runtime_branching_by_sample_text_rule_count": 0,
      "p8_gate_retained_scene_group_count": 5002,
      "p8_gate_drop_from_script_scene_count": 1518
    }
  },
  "p9_deepseek_gate": {
    "status": "pass",
    "gate_status": "deepseek_advisory_supports_p9_ai_executable_screenplay_fresh_execution",
    "summary": {
      "program_validation_status": "pass",
      "program_validation_failure_count": 0,
      "deepseek_call_status": "success",
      "deepseek_parse_status": "pass",
      "deepseek_overall_verdict": "supports_p9_ai_executable_screenplay_fresh_execution",
      "recommended_next_candidate": "P10_shooting_script_reentry_planning_contract",
      "pipeline_finding_count": 0,
      "pipeline_blocker_count": 0,
      "pipeline_high_count": 0,
      "false_required_confirmation_count": 0,
      "p8_readiness_matrix_row_count": 6989,
      "p8_adaptation_unit_count": 6989,
      "p8_dependency_queue_item_count": 7,
      "p8_retained_scene_group_count": 5002,
      "p8_beat_count": 5002,
      "screenplay_readiness_matrix_row_count": 5002,
      "screenplay_unit_count": 5002,
      "screenplay_sequence_row_count": 5002,
      "adaptation_unit_refs_in_screenplay_count": 6989,
      "source_scene_refs_in_screenplay_count": 6989,
      "drop_from_script_scene_count": 1518,
      "drop_from_script_scene_refs_preserved": 1518,
      "merge_group_count": 1452,
      "hard_merge_group_count": 1046,
      "dependency_queue_item_count": 7,
      "future_executable_after_p9_closeout_count": 1,
      "validator_failure_count": 0,
      "active_route_next_entrypoint_id": "platform_neutral_prompt_readiness_manual_execution_log_contract",
      "p8_deepseek_overall_verdict": "supports_p8_adaptation_planning_fresh_execution",
      "old_b7_reference_only": true,
      "old_b7_active_source_ref_count": 0,
      "screenplay_control_data_execution_count": 1,
      "llm_dialogue_or_rewrite_enrichment_call_count": 0,
      "shooting_script_execution_count": 0,
      "shot_context_generation_count": 0,
      "prompt_packet_generation_count": 0,
      "adapter_render_count": 0,
      "provider_job_execution_count": 0,
      "media_generation_count": 0,
      "feedback_intake_count": 0,
      "accepted_overlay_write_count": 0,
      "operator_overlay_write_count": 0,
      "canonical_kg_writeback_count": 0,
      "raw_kg_writeback_count": 0,
      "replay_action_count": 0,
      "outputs_index_mutation_count": 0,
      "outputs_run_deletion_count": 0,
      "outputs_run_cold_archive_count": 0,
      "runtime_branching_by_entity_name_rule_count": 0,
      "runtime_branching_by_work_title_rule_count": 0,
      "runtime_branching_by_block_title_rule_count": 0,
      "runtime_branching_by_sample_text_rule_count": 0,
      "p8_gate_retained_scene_group_count": 5002,
      "p8_gate_drop_from_script_scene_count": 1518
    }
  },
  "p9_deepseek_raw_meta": {
    "id": "dace4d81-d08d-4cef-8119-94deb261f65c",
    "object": "chat.completion",
    "model": "deepseek-v4-pro",
    "usage": {
      "prompt_tokens": 72165,
      "completion_tokens": 2919,
      "total_tokens": 75084,
      "prompt_tokens_details": {
        "cached_tokens": 0
      },
      "completion_tokens_details": {
        "reasoning_tokens": 2636
      },
      "prompt_cache_hit_tokens": 0,
      "prompt_cache_miss_tokens": 72165
    },
    "finish_reason": "stop",
    "content_chars": 924,
    "reasoning_content_present": true,
    "reasoning_content_chars": 7475
  },
  "p9_screenplay_surface": {
    "readiness_row_count": 5002,
    "screenplay_unit_count": 5002,
    "sequence_row_count": 5002,
    "dependency_queue_item_count": 7,
    "future_executable_after_p9_closeout_count": 1,
    "first_future_execution_contract_candidate": "P10_shooting_script_reentry_planning_contract"
  },
  "active_route": {
    "current_stage": "Now-32",
    "current_substage": "Prompt-Readiness-Manual-Execution-Log-Contract",
    "next_entrypoint_id": "platform_neutral_prompt_readiness_manual_execution_log_contract"
  },
  "old_b7_policy": {
    "reference_only": true,
    "active_authority": false,
    "old_b7_active_source_ref_count": 0
  },
  "validator_matrix": [
    {
      "validator_id": "p9_authority",
      "purpose": "P10 consumes explicit P9 execution/advisory/retrospective paths and verifies pass gates",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "screenplay_unit_traceability",
      "purpose": "P9 screenplay units parse and retain screenplay unit ids, adaptation ids, scene ids, chronology refs, source refs, and dependency ids",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "shooting_script_readiness_schema",
      "purpose": "Readiness rows expose structural prerequisites for later shooting_script execution without generating shot rows",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "merge_drop_provenance_guard",
      "purpose": "P9 merge/drop provenance remains visible for later shooting_script execution planning",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "shooting_script_scope_guard",
      "purpose": "P10 generates planning/readiness artifacts only",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "dependency_queue_ordering",
      "purpose": "Queue opens only the next shooting_script execution contract candidate after P10 advisory and retrospective",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "downstream_leakage_guard",
      "purpose": "Shot context/prompt/provider/media counters remain zero",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "kg_overlay_replay_guard",
      "purpose": "KG/overlay/replay counters remain zero",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "old_b7_exclusion",
      "purpose": "Old B7 remains reference-only and is not active authority",
      "blocks_p10_pass": true
    },
    {
      "validator_id": "active_route_guard",
      "purpose": "execution_state.next_entrypoint remains Now-32",
      "blocks_p10_pass": true
    }
  ],
  "policy": {
    "stage": "P10_shooting_script_reentry_planning_contract",
    "fresh_run_required": true,
    "shooting_script_reentry_planning_allowed_in_p10": true,
    "shooting_script_execution_allowed": false,
    "shot_context_execution_allowed": false,
    "prompt_packet_execution_allowed": false,
    "adapter_render_allowed": false,
    "provider_job_execution_allowed": false,
    "media_generation_allowed": false,
    "feedback_intake_allowed": false,
    "accepted_overlay_writeback_allowed": false,
    "operator_overlay_writeback_allowed": false,
    "canonical_kg_writeback_allowed": false,
    "raw_kg_writeback_allowed": false,
    "replay_execution_allowed": false,
    "outputs_index_mutation_allowed": false,
    "outputs_run_deletion_allowed": false,
    "outputs_run_cold_archive_allowed": false,
    "old_b7_reference_only": true,
    "execution_state_next_entrypoint_unchanged": true,
    "runtime_branching_by_entity_name_allowed": false,
    "runtime_branching_by_work_title_allowed": false,
    "runtime_branching_by_block_title_allowed": false,
    "runtime_branching_by_sample_text_allowed": false
  },
  "input_fingerprint": "c697426d2f34ce07b7052745e7958738d07e8423ab0dda0c702729fcd66efc86"
}