{
  "messages": [
    {
      "role": "system",
      "content": "You are a screenwriting agent. The program already created a script skeleton and shot plan. Do not change scene_id or shot_id ordering. Keep the number of shots stable. Chronology is program-owned. Use it to keep flashback, dream, rumor, and parallel-line language consistent, but do not rewrite chronology fields. Adaptation is also program-owned. Use the adaptation brief to decide what to fully dramatize, what to compress, and what to turn into bridge narration. Refine language, dialogue, narration, and shot descriptions while preserving the program structure. Prefer the existing entity display names from the entity context. Do not invent unnecessary new speaker variants when the candidate already provides a stable character name. Return JSON only."
    },
    {
      "role": "user",
      "content": "Given the scene payload, chronology context, adaptation context, entity context, and the program-generated script candidate, refine it into a concise screenplay. Output STRICT JSON with keys: scene_id, shots (list), scene_notes, audio_notes, narrator_profile_id. Shot schema: {shot_id,description,camera,actions,dialogue,narration,on_screen_text,narrator_profile_id,narration_delivery_hint}. dialogue is a list of {speaker,speaker_entity_uid,delivery_hint,line}. speaker_entity_uid and narrator_profile_id are program-owned identity fields: preserve the candidate values when unsure, and do not fabricate random IDs. Keep the same shot count as the candidate unless the candidate is malformed. Keep the narrative presentation order, but make the script language consistent with chronology time_mode, anchor, ordering hints, and adaptation decision/presentation_mode. Prefer existing characters and locations. Return a single JSON object and nothing else (no markdown, no code fences). If unsure, return {\"scene_id\":\"\",\"shots\":[]}.\n\nSCENE:\n{\"candidate_id\": \"C0002-SC03\", \"title\": \"心情波动\", \"summary\": \"李凡吐槽系统，心情反复下降，最后躺下查看心情值。\", \"type\": [\"系统/设定\", \"对话\"], \"tone\": [\"中性\"], \"importance\": \"主线\", \"presentation\": [\"文字卡片\", \"旁白+画面\", \"对白驱动\"], \"key_beats\": [\"吐槽系统\", \"心情多次下降\", \"查看心情值\"], \"characters\": [\"李凡\"], \"locations\": [], \"continuation_of_prev\": false, \"source_chunk_id\": \"C0002\", \"source_start_para\": 39, \"source_end_para\": 44, \"text\": \"卧丢你母的……这什么吊系统啊……\\n\\n‘李凡的心情下降了1点’\\n\\n闭嘴好吧你！\\n\\n‘李凡的心情下降了1点’\\n\\n李凡白眼一翻往蒲团上一趟，看着自己的头顶。\\n\\n‘李凡，心情，97/100’\", \"text_preview\": \"卧丢你母的……这什么吊系统啊…… ‘李凡的心情下降了1点’ 闭嘴好吧你！ ‘李凡的心情下降了1点’ 李凡白眼一翻往蒲团上一趟，看着自己的头顶。 ‘李凡，心情，…\", \"candidate_meta\": {\"candidate_id\": \"C0002-SC03\", \"record_count\": 6, \"char_len\": 91, \"structure_counts\": {\"short_line\": 2, \"dialogue\": 3, \"body\": 1}, \"boundary_reasons_after\": [\"system_switch\"], \"matched_entities\": [{\"entity_id\": \"E000002\", \"name\": \"李凡\", \"type\": \"人物\", \"subtype\": \"\", \"matched_terms\": [\"李凡\"], \"score\": 5.8}, {\"entity_id\": \"E000019\", \"name\": \"蒲团\", \"type\": \"物品\", \"subtype\": \"\", \"matched_terms\": [\"蒲团\"], \"score\": 5.3}], \"heuristic_types\": [\"系统/设定\", \"对话\"], \"heuristic_tones\": [\"中性\"], \"heuristic_presentation\": [\"文字卡片\", \"旁白+画面\", \"对白驱动\"], \"heuristic_importance\": \"主线\"}, \"scene_id\": \"S0007\"}\n\nCHRONOLOGY:\n{\"scene_id\": \"S0007\", \"narrative_order\": 7, \"story_chronology_order\": 7, \"story_chronology_group\": \"CG0007\", \"time_mode\": \"mainline\", \"confidence\": 0.81, \"order_delta\": 0, \"temporal_anchor\": {\"label\": \"\", \"normalized_label\": \"unknown\", \"anchor_type\": \"unknown\", \"relative_direction\": \"unknown\", \"amount\": null, \"unit\": \"\", \"time_of_day\": \"\", \"explicit\": false, \"anchor_scene_id\": \"S0006\"}, \"constraints\": [{\"relation\": \"after\", \"target_scene_id\": \"S0006\", \"confidence\": 0.58, \"reason\": \"narrative_forward\"}], \"evidence\": []}\n\nADAPTATION:\n{\"scene_id\": \"S0007\", \"source_chunk_id\": \"C0002\", \"scene_summary\": \"李凡吐槽系统，心情反复下降，最后躺下查看心情值。\", \"chronology\": {\"scene_id\": \"S0007\", \"narrative_order\": 7, \"story_chronology_order\": 7, \"story_chronology_group\": \"CG0007\", \"time_mode\": \"mainline\", \"confidence\": 0.81, \"order_delta\": 0, \"temporal_anchor\": {\"label\": \"\", \"normalized_label\": \"unknown\", \"anchor_type\": \"unknown\", \"relative_direction\": \"unknown\", \"amount\": null, \"unit\": \"\", \"time_of_day\": \"\", \"explicit\": false, \"anchor_scene_id\": \"S0006\"}, \"constraints\": [{\"relation\": \"after\", \"target_scene_id\": \"S0006\", \"confidence\": 0.58, \"reason\": \"narrative_forward\"}], \"evidence\": []}, \"decision\": \"retain\", \"presentation_mode\": \"dramatize\", \"story_function\": [\"角色塑造\", \"系统揭示\", \"情绪铺垫\"], \"adaptation_focus\": \"通过李凡与系统的互动，展现其性格、情绪波动，并强化“心情值”这一核心游戏化设定的存在感与影响。\", \"must_keep\": [\"李凡对系统的吐槽\", \"系统两次提示心情下降\", \"李凡躺下查看心情值的动作\", \"最终心情值显示为97/100\"], \"may_compress\": [\"两次心情下降提示的间隔时间\", \"躺下前的具体肢体动作细节\"], \"visual_focus\": [\"李凡烦躁的表情与肢体语言\", \"系统提示的视觉化呈现（如UI、字幕、光效）\", \"李凡躺下后凝视“头顶”的视角\", \"心情值97/100的最终定格\"], \"audio_focus\": [\"李凡的吐槽台词与语气\", \"系统提示音效\", \"环境音（如蒲团摩擦声）\", \"可能的心跳或情绪音效\"], \"continuity_requirements\": [\"李凡的服装与状态延续自前序场景\", \"系统UI风格需与前后统一\", \"场景色调与情绪匹配\"], \"script_objective\": \"以生动、具象的方式，将原文中略带抽象的文字互动，转化为观众可直观感受的角色情绪与系统规则冲突，为后续剧情中系统对主角行为的持续影响建立认知基础。\", \"conflict\": \"李凡的主观情绪与客观、机械的系统规则之间的微小冲突。\", \"turning_point\": \"李凡从口头抗议（吐槽）转为无奈接受（躺下查看），标志着他首次尝试与系统“对抗”失败，并开始被动关注系统指标。\", \"reason\": \"原文核心是展现主角性格及系统互动的趣味性，`dramatize`模式比`exposition`更能生动传递情绪与喜剧效果，符合场景的对话驱动特质。保留全部关键情节节点以完成角色塑造与设定揭示功能。\", \"candidate_meta\": {\"scene_id\": \"S0007\", \"decision_reasons\": [\"main_conflict_or_dialogue_dense\"], \"presentation_reasons\": [\"exposition_priority\"], \"metrics\": {\"text_length\": 220, \"quote_count\": 0, \"action_score\": 0, \"exposition_score\": 4, \"inner_score\": 0, \"transition_score\": 0, \"reveal_score\": 0, \"tension_score\": 0, \"environment_score\": 0, \"character_count\": 1, \"location_count\": 0, \"beat_count\": 3, \"continuation_of_prev\": false, \"time_mode\": \"mainline\", \"order_delta\": 0}, \"characters\": [\"李凡\"], \"locations\": [], \"key_beats\": [\"吐槽系统\", \"心情多次下降\", \"查看心情值\"]}}\n\nENTITY CONTEXT:\n{\"registry_entities\": [{\"entity_uid\": \"E000002\", \"canonical_name\": \"李凡\", \"aliases\": [\"穿越者\", \"小相公\", \"小友\", \"天生道子\", \"小子\", \"清月\", \"李清月\", \"道子\"], \"type\": \"人物\", \"subtype\": \"\", \"voice_card_id\": \"VO000002\"}], \"kg_entities\": [{\"entity_id\": \"E000002\", \"name\": \"李凡\", \"type\": \"人物\", \"subtype\": \"\", \"aliases\": [\"穿越者\", \"小相公\", \"小友\", \"天生道子\", \"小子\", \"清月\", \"李清月\", \"道子\"], \"attributes\": {}, \"descriptions\": [\"被侍婢簇拥喂酒\", \"吃青团喝仙酒\", \"天生道种\", \"能望到虚星\", \"童子\", \"想学法术逃跑\", \"主角\", \"山主派给望舒的童子\"], \"evidence\": [\"李凡口干舌燥，磕磕绊绊得答道\", \"李凡强堆起笑脸\", \"李凡的心情大幅提升了1点\", \"李凡点点头\", \"李凡侧身避过\", \"王爷和李凡都傻逼了\", \"李凡的右手不甘示弱得比了个中指\", \"谢仙子教诲，清月记下了\"], \"mentions\": [{\"chunk_id\": \"C0004\", \"summary\": \"被山主和老道观察\", \"evidence\": [\"李凡缩着脖子扭头望去\"], \"attributes\": {}}, {\"chunk_id\": \"C0005\", \"summary\": \"山主请李凡吃酒\", \"evidence\": [\"山主站起身冲李凡微笑\"], \"attributes\": {}}, {\"chunk_id\": \"C0006\", \"summary\": \"被侍婢簇拥喂酒\", \"evidence\": [\"李凡正被莺莺燕燕簇拥着喂酒\"], \"attributes\": {}}, {\"chunk_id\": \"C0006\", \"summary\": \"吃青团喝仙酒\", \"evidence\": [\"李凡也不客气，取了个青团嚼嚼\"], \"attributes\": {}}, {\"chunk_id\": \"C0007\", \"summary\": \"求拜山主为师\", \"evidence\": [\"小子李凡，诚心求道，想拜山主为师\"], \"attributes\": {}}, {\"chunk_id\": \"C0008\", \"summary\": \"回答望舒真人问题\", \"evidence\": [\"李凡口干舌燥，磕磕绊绊得答道\"], \"attributes\": {}}, {\"chunk_id\": \"C0009\", \"summary\": \"想学御剑飞天逃跑\", \"evidence\": [\"李凡强堆起笑脸，心里决定了，等一学会飞，立马找个机会从这妖魔鬼怪盘踞的魔窟逃跑。\"], \"attributes\": {}}, {\"chunk_id\": \"C0009\", \"summary\": \"抱住望舒真人小腿\", \"evidence\": [\"李凡可不客气，把山主给的眼泪往兜里一揣，伸手就抱住望舒真人小腿。\"], \"attributes\": {}}, {\"chunk_id\": \"C0010\", \"summary\": \"犹豫选择功法\", \"evidence\": [\"看出李凡还有点犹犹豫豫\"], \"attributes\": {}}, {\"chunk_id\": \"C0010\", \"summary\": \"进入经楼拜天鬼\", \"evidence\": [\"李凡侧身避过门前悬空的宝剑\"], \"attributes\": {}}, {\"chunk_id\": \"C0011\", \"summary\": \"被玄天剑意操控\", \"evidence\": [\"李凡张着下巴呆了半天\"], \"attributes\": {}}, {\"chunk_id\": \"C0012\", \"summary\": \"被望舒真人教导\", \"evidence\": [\"望舒真人蹙蹙秀眉，“清月，不可欺压同门\"], \"attributes\": {}}], \"mention_count\": 16, \"observation_count\": 16, \"first_seen\": \"C0001\", \"last_seen\": \"C0012\"}]}\n\nSCRIPT CANDIDATE:\n{\"scene_id\": \"S0007\", \"scene_notes\": \"李凡吐槽系统，心情反复下降，最后躺下查看心情值。；重要性：主线；呈现：文字卡片 / 旁白+画面 / 对白驱动；改编策略：retain；呈现策略：dramatize；剧本目标：以生动、具象的方式，将原文中略带抽象的文字互动，转化为观众可直观感受的角色情绪与系统规则冲突，为后续剧情中系统对主角行为的持续影响建立认知基础。\", \"audio_notes\": \"李凡的吐槽台词与语气；系统提示音效；环境音（如蒲团摩擦声）\", \"narrator_profile_id\": \"narrator_main_cn\", \"chronology\": {\"scene_id\": \"S0007\", \"narrative_order\": 7, \"story_chronology_order\": 7, \"story_chronology_group\": \"CG0007\", \"time_mode\": \"mainline\", \"confidence\": 0.81, \"order_delta\": 0, \"temporal_anchor\": {\"label\": \"\", \"normalized_label\": \"unknown\", \"anchor_type\": \"unknown\", \"relative_direction\": \"unknown\", \"amount\": null, \"unit\": \"\", \"time_of_day\": \"\", \"explicit\": false, \"anchor_scene_id\": \"S0006\"}, \"constraints\": [{\"relation\": \"after\", \"target_scene_id\": \"S0006\", \"confidence\": 0.58, \"reason\": \"narrative_forward\"}], \"evidence\": []}, \"adaptation\": {\"scene_id\": \"S0007\", \"decision\": \"retain\", \"presentation_mode\": \"dramatize\", \"story_function\": [\"角色塑造\", \"系统揭示\", \"情绪铺垫\"], \"adaptation_focus\": \"通过李凡与系统的互动，展现其性格、情绪波动，并强化“心情值”这一核心游戏化设定的存在感与影响。\", \"must_keep\": [\"李凡对系统的吐槽\", \"系统两次提示心情下降\", \"李凡躺下查看心情值的动作\", \"最终心情值显示为97/100\"], \"may_compress\": [\"两次心情下降提示的间隔时间\", \"躺下前的具体肢体动作细节\"], \"visual_focus\": [\"李凡烦躁的表情与肢体语言\", \"系统提示的视觉化呈现（如UI、字幕、光效）\", \"李凡躺下后凝视“头顶”的视角\", \"心情值97/100的最终定格\"], \"audio_focus\": [\"李凡的吐槽台词与语气\", \"系统提示音效\", \"环境音（如蒲团摩擦声）\", \"可能的心跳或情绪音效\"], \"continuity_requirements\": [\"李凡的服装与状态延续自前序场景\", \"系统UI风格需与前后统一\", \"场景色调与情绪匹配\"], \"script_objective\": \"以生动、具象的方式，将原文中略带抽象的文字互动，转化为观众可直观感受的角色情绪与系统规则冲突，为后续剧情中系统对主角行为的持续影响建立认知基础。\", \"conflict\": \"李凡的主观情绪与客观、机械的系统规则之间的微小冲突。\", \"turning_point\": \"李凡从口头抗议（吐槽）转为无奈接受（躺下查看），标志着他首次尝试与系统“对抗”失败，并开始被动关注系统指标。\", \"reason\": \"原文核心是展现主角性格及系统互动的趣味性，`dramatize`模式比`exposition`更能生动传递情绪与喜剧效果，符合场景的对话驱动特质。保留全部关键情节节点以完成角色塑造与设定揭示功能。\", \"chronology\": {\"scene_id\": \"S0007\", \"narrative_order\": 7, \"story_chronology_order\": 7, \"story_chronology_group\": \"CG0007\", \"time_mode\": \"mainline\", \"confidence\": 0.81, \"order_delta\": 0, \"temporal_anchor\": {\"label\": \"\", \"normalized_label\": \"unknown\", \"anchor_type\": \"unknown\", \"relative_direction\": \"unknown\", \"amount\": null, \"unit\": \"\", \"time_of_day\": \"\", \"explicit\": false, \"anchor_scene_id\": \"S0006\"}, \"constraints\": [{\"relation\": \"after\", \"target_scene_id\": \"S0006\", \"confidence\": 0.58, \"reason\": \"narrative_forward\"}], \"evidence\": []}}, \"shots\": [{\"shot_id\": \"S0007_SH01\", \"camera\": \"中景\", \"description\": \"场景建立镜头，带出吐槽系统\", \"actions\": [\"吐槽系统\"], \"dialogue\": [], \"narration\": \"\", \"on_screen_text\": \"\", \"focus_characters\": [\"李凡\"], \"focus_locations\": [], \"candidate_meta\": {\"shot_role\": \"opening\", \"description_hint\": \"场景建立镜头，带出吐槽系统\", \"camera_hint\": \"中景\", \"adaptation_summary\": {\"decision\": \"retain\", \"presentation_mode\": \"dramatize\", \"story_function\": [\"角色塑造\", \"系统揭示\", \"情绪铺垫\"], \"must_keep_count\": 4, \"audio_focus_count\": 4}, \"shot_index\": 1, \"chronology_summary\": {\"narrative_order\": 7, \"story_chronology_order\": 7, \"story_chronology_group\": \"CG0007\", \"time_mode\": \"mainline\", \"confidence\": 0.81, \"order_delta\": 0, \"anchor_label\": \"\", \"anchor_type\": \"unknown\", \"constraint_count\": 1, \"evidence_count\": 0}}, \"narrator_profile_id\": \"narrator_main_cn\"}, {\"shot_id\": \"S0007_SH02\", \"camera\": \"中近景\", \"description\": \"李凡的反应镜头，推进心情多次下降\", \"actions\": [\"心情多次下降\"], \"dialogue\": [], \"narration\": \"\", \"on_screen_text\": \"\", \"focus_characters\": [\"李凡\"], \"focus_locations\": [], \"candidate_meta\": {\"shot_role\": \"character\", \"description_hint\": \"李凡的反应镜头，推进心情多次下降\", \"camera_hint\": \"中近景\", \"adaptation_summary\": {\"decision\": \"retain\", \"presentation_mode\": \"dramatize\", \"story_function\": [\"角色塑造\", \"系统揭示\", \"情绪铺垫\"], \"must_keep_count\": 4, \"audio_focus_count\": 4}, \"shot_index\": 2, \"chronology_summary\": {\"narrative_order\": 7, \"story_chronology_order\": 7, \"story_chronology_group\": \"CG0007\", \"time_mode\": \"mainline\", \"confidence\": 0.81, \"order_delta\": 0, \"anchor_label\": \"\", \"anchor_type\": \"unknown\", \"constraint_count\": 1, \"evidence_count\": 0}}, \"narrator_profile_id\": \"narrator_main_cn\"}, {\"shot_id\": \"S0007_SH03\", \"camera\": \"近景\", \"description\": \"动作或状态变化的推进镜头\", \"actions\": [\"心情多次下降\", \"查看心情值\"], \"dialogue\": [], \"narration\": \"\", \"on_screen_text\": \"李凡吐槽系统，心情反复下降，最后躺下查看心情值。\", \"focus_characters\": [\"李凡\"], \"focus_locations\": [], \"candidate_meta\": {\"shot_role\": \"dialogue_or_action\", \"description_hint\": \"动作或状态变化的推进镜头\", \"camera_hint\": \"近景\", \"adaptation_summary\": {\"decision\": \"retain\", \"presentation_mode\": \"dramatize\", \"story_function\": [\"角色塑造\", \"系统揭示\", \"情绪铺垫\"], \"must_keep_count\": 4, \"audio_focus_count\": 4}, \"shot_index\": 3, \"chronology_summary\": {\"narrative_order\": 7, \"story_chronology_order\": 7, \"story_chronology_group\": \"CG0007\", \"time_mode\": \"mainline\", \"confidence\": 0.81, \"order_delta\": 0, \"anchor_label\": \"\", \"anchor_type\": \"unknown\", \"constraint_count\": 1, \"evidence_count\": 0}}, \"narrator_profile_id\": \"narrator_main_cn\"}], \"candidate_meta\": {\"scene_id\": \"S0007\", \"source_chunk_id\": \"C0002\", \"source_start_para\": 39, \"source_end_para\": 44, \"characters\": [\"李凡\"], \"locations\": [], \"key_beats\": [\"吐槽系统\", \"心情多次下降\", \"查看心情值\"], \"shot_count_hint\": 3, \"scene_summary\": \"李凡吐槽系统，心情反复下降，最后躺下查看心情值。\", \"scene_text_preview\": \"卧丢你母的……这什么吊系统啊…… ‘李凡的心情下降了1点’ 闭嘴好吧你！ ‘李凡的心情下降了1点’ 李凡白眼一翻往蒲团上一趟，看着自己的头顶。 ‘李凡，心情，…\", \"chronology_summary\": {\"narrative_order\": 7, \"story_chronology_order\": 7, \"story_chronology_group\": \"CG0007\", \"time_mode\": \"mainline\", \"confidence\": 0.81, \"order_delta\": 0, \"anchor_label\": \"\", \"anchor_type\": \"unknown\", \"constraint_count\": 1, \"evidence_count\": 0}, \"adaptation_summary\": {\"decision\": \"retain\", \"presentation_mode\": \"dramatize\", \"story_function\": [\"角色塑造\", \"系统揭示\", \"情绪铺垫\"], \"must_keep_count\": 4, \"audio_focus_count\": 4}}}"
    }
  ]
}