{
  "meta": {
    "package_version": "dramart_package.v2",
    "project_title": "sample_novel",
    "source_screenplay_path": "03d_screenplay.json",
    "source_entity_registry_path": "02e_entity_registry.json",
    "source_visual_cards_path": "02f_entity_visual_cards.json",
    "source_voice_cards_path": "02g_entity_voice_cards.json",
    "source_asset_bindings_path": "02h_entity_assets.json",
    "source_entity_review_state_path": "02z_entity_review_state.json",
    "episode_count": 0,
    "block_count": 0,
    "source_scene_ref_count": 0,
    "character_bio_count": 0,
    "location_asset_count": 0,
    "prop_asset_count": 0,
    "voice_suggestion_count": 0,
    "review_checklist_count": 0,
    "upload_script_char_count": 0,
    "upload_part_count": 0,
    "single_file_upload_ready": false,
    "missing_character_visual_count": 0,
    "missing_character_voice_count": 0,
    "manual_review_blocked_character_count": 0,
    "manual_review_needs_fix_character_count": 0,
    "manual_review_locked_scope_count": 0,
    "entity_review_summary": {
      "entity": {
        "total": 4,
        "applicable": 4,
        "todo": 4,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 4
      },
      "visual": {
        "total": 4,
        "applicable": 4,
        "todo": 4,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 4
      },
      "voice": {
        "total": 4,
        "applicable": 2,
        "todo": 2,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 2,
        "locked": 0,
        "open": 2
      },
      "assets": {
        "total": 4,
        "applicable": 4,
        "todo": 4,
        "in_progress": 0,
        "approved": 0,
        "needs_fix": 0,
        "blocked": 0,
        "na": 0,
        "locked": 0,
        "open": 4
      },
      "event_count": 0
    },
    "time_mode_counts": {}
  },
  "outline": {
    "title": "sample_novel",
    "format": "Dramart 漫剧/短剧输入包",
    "premise": "",
    "core_hook": "",
    "episode_count": 0,
    "block_count": 0,
    "source_scene_ref_count": 0,
    "time_mode_counts": {},
    "main_characters": [],
    "main_locations": [],
    "upload_notes": [
      "上传时优先使用 03e_dramart_upload_script.md 作为正文剧本。",
      "角色设定优先参考 character_bios 中的 identity_summary、appearance_core 与 voice_profile。",
      "若存在 flashback / dream / parallel 等时间模式，需在 Dramart 项目中额外标注时态切换。"
    ]
  },
  "episode_summaries": [],
  "character_bios": [],
  "asset_suggestions": {
    "characters": [],
    "locations": [],
    "props": [],
    "voices": []
  },
  "review_checklist": [],
  "upload_bundle": {
    "contract_version": "dramart_upload_bundle.v2",
    "upload_script_filename": "03e_dramart_upload_script.md",
    "upload_script_markdown": "",
    "upload_ready": false,
    "recommended_upload_mode": "split_parts",
    "validation": {
      "max_chars_per_upload": 100000,
      "single_file_char_count": 0,
      "single_file_within_limit": false,
      "episode_count": 0,
      "part_count": 0,
      "oversized_episode_count": 0,
      "oversized_part_count": 0
    },
    "episode_uploads": [],
    "upload_parts": [],
    "warnings": [],
    "notes": [
      "上传正文建议使用 upload_bundle 中的上传版正文，不混入 checklist 或资产说明。",
      "若 recommended_upload_mode=split_parts，请按 upload_parts 顺序逐段上传。",
      "其余角色、场景、道具与音色信息请从 dramart_package.json 中读取。"
    ],
    "upload_script_file_path": "",
    "export_root": "logs/stage_artifacts/dramart_package_uploads/20260330T210218277883Z"
  }
}