{
  "run_id": "20260401T004631945779Z",
  "generated_at": "2026-04-01T00:50:15.991522Z",
  "stages": [
    {
      "ts_start": "2026-04-01T00:46:38.256255Z",
      "ts_end": "2026-04-01T00:50:15.762965Z",
      "duration_sec": 217.507,
      "stage": "screenplay",
      "status": "ok",
      "run_id": "20260401T004631945779Z",
      "agent": "Screenplay & Dramart Packaging Agent",
      "inputs": [
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/03c_adaptation.json",
          "kind": "adaptation"
        },
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/02e_entity_registry.json",
          "kind": "entity_registry"
        }
      ],
      "outputs": [
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/03d_screenplay.json",
          "kind": "screenplay"
        },
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/logs/stage_artifacts/screenplay/20260401T004631945779Z__03d_screenplay.json",
          "kind": "screenplay_snapshot"
        }
      ],
      "metrics": {
        "episodes": 3,
        "blocks": 16,
        "source_scene_refs": 19,
        "character_bindings": 28,
        "screenplay_concurrency": 1,
        "target_units_per_episode": 6,
        "resumed_items": 0,
        "resumed": false
      }
    },
    {
      "ts_start": "2026-04-01T00:50:15.794623Z",
      "ts_end": "2026-04-01T00:50:15.916689Z",
      "duration_sec": 0.122,
      "stage": "dramart_package",
      "status": "ok",
      "run_id": "20260401T004631945779Z",
      "agent": "Screenplay & Dramart Packaging Agent",
      "inputs": [
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/03d_screenplay.json",
          "kind": "screenplay"
        },
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/02e_entity_registry.json",
          "kind": "entity_registry"
        },
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/02f_entity_visual_cards.json",
          "kind": "entity_visual_cards"
        },
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/02g_entity_voice_cards.json",
          "kind": "entity_voice_cards"
        },
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/02h_entity_assets.json",
          "kind": "entity_assets"
        }
      ],
      "outputs": [
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/03e_dramart_package.json",
          "kind": "dramart_package"
        },
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/logs/stage_artifacts/dramart_package/20260401T004631945779Z__03e_dramart_package.json",
          "kind": "dramart_package_snapshot"
        },
        {
          "path": "outputs/xiyouji_acceptance_smoke_20260401_v2/03e_dramart_upload_script.md",
          "kind": "dramart_upload_script"
        },
        {
          "path": "logs/stage_artifacts/dramart_package_uploads/20260401T004631945779Z/03e_dramart_upload_script.md",
          "kind": "dramart_upload_script_snapshot"
        },
        {
          "path": "logs/stage_artifacts/dramart_package_uploads/20260401T004631945779Z/episodes",
          "kind": "dramart_upload_episode_dir"
        },
        {
          "path": "logs/stage_artifacts/dramart_package_uploads/20260401T004631945779Z/parts",
          "kind": "dramart_upload_part_dir"
        }
      ],
      "metrics": {
        "episodes": 3,
        "character_bios": 23,
        "location_assets": 10,
        "prop_assets": 14,
        "voice_suggestions": 23,
        "checklist_items": 75,
        "upload_script_chars": 16681,
        "upload_episode_files": 3,
        "upload_part_files": 1,
        "resumed": false
      }
    }
  ],
  "stage_items": {
    "total": 3,
    "ok": 3,
    "partial": 0,
    "error": 0
  },
  "llm_calls": {
    "total": 3,
    "ok": 3,
    "error": 0
  },
  "run_errors": 0,
  "archived_previous_logs": "logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z"
}