{
  "updated_at": "2026-04-10T09:38:53.489109Z",
  "runs": [
    {
      "run_dir": "xiyouji_now11_s5_step7_frontload_live_v2",
      "run_id": "20260410T074545878489Z",
      "run_uid": "20260410T074545878489Z",
      "run_key": "20260410T074545878489Z",
      "created_at": "2026-04-10T07:45:45.883936Z",
      "updated_at": "2026-04-10T09:38:53.477004Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "partial",
      "errors": 1,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_s5_step7_frontload_live_v1",
      "run_id": "20260410T074335476806Z",
      "run_uid": "20260410T074335476806Z",
      "run_key": "20260410T074335476806Z",
      "created_at": "2026-04-10T07:43:35.478225Z",
      "updated_at": "2026-04-10T07:43:35.478682Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v1/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v1/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v1/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s5_step7_frontload_live_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_now11_s3_step4_modern_smoke_v1",
      "run_id": "20260409T052728532561Z",
      "run_uid": "20260409T052728532561Z",
      "run_key": "20260409T052728532561Z",
      "created_at": "2026-04-09T05:27:28.556783Z",
      "updated_at": "2026-04-09T05:32:28.199040Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/project.json",
        "report_html": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_now11_s3_step4_modern_smoke_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_s1_step4_product_quality_current",
      "run_id": "20260408T200440676946Z",
      "run_uid": "20260408T200440676946Z",
      "run_key": "20260408T200440676946Z",
      "created_at": "2026-04-08T20:04:40.682551Z",
      "updated_at": "2026-04-08T20:07:47.828623Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "partial",
      "errors": 123,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s1_step4_product_quality_current/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_s1_step1_closeout_live_v3",
      "run_id": "20260408T065332658669Z",
      "run_uid": "20260408T065332658669Z",
      "run_key": "20260408T065332658669Z",
      "created_at": "2026-04-08T07:24:54.606827Z",
      "updated_at": "2026-04-08T07:57:02.036654Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v3/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_s1_step1_compact_live_v3",
      "run_id": "20260408T063740055465Z",
      "run_uid": "20260408T063740055465Z",
      "run_key": "20260408T063740055465Z",
      "created_at": "2026-04-08T06:37:40.056936Z",
      "updated_at": "2026-04-08T06:48:16.946665Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v3/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_s1_step1_compact_live_v2",
      "run_id": "20260408T061625766780Z",
      "run_uid": "20260408T061625766780Z",
      "run_key": "20260408T061625766780Z",
      "created_at": "2026-04-08T06:16:25.768679Z",
      "updated_at": "2026-04-08T06:28:17.073960Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_s1_step1_compact_live_v1",
      "run_id": "20260408T053944300523Z",
      "run_uid": "20260408T053944300523Z",
      "run_key": "20260408T053944300523Z",
      "created_at": "2026-04-08T05:39:44.302039Z",
      "updated_at": "2026-04-08T05:51:18.842627Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s1_step1_compact_live_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_s1_step1_closeout_live_v2",
      "run_id": "20260408T040414657931Z",
      "run_uid": "20260408T040414657931Z",
      "run_key": "20260408T040414657931Z",
      "created_at": "2026-04-08T04:04:14.664537Z",
      "updated_at": "2026-04-08T05:42:57.371518Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_s1_step1_closeout_live_v1",
      "run_id": "20260407T210704372381Z",
      "run_uid": "20260407T210704372381Z",
      "run_key": "20260407T210704372381Z",
      "created_at": "2026-04-07T21:07:04.373838Z",
      "updated_at": "2026-04-07T21:07:04.374286Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v1/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v1/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v1/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_s1_step1_closeout_live_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_recheck_live_deepseek_v2",
      "run_id": "20260407T174932422291Z",
      "run_uid": "20260407T174932422291Z",
      "run_key": "20260407T174932422291Z",
      "created_at": "2026-04-07T17:49:32.426916Z",
      "updated_at": "2026-04-07T19:16:15.718032Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_recheck_live_deepseek_v1",
      "run_id": "20260407T154847167886Z",
      "run_uid": "20260407T154847167886Z",
      "run_key": "20260407T154847167886Z",
      "created_at": "2026-04-07T15:48:47.171599Z",
      "updated_at": "2026-04-07T15:48:47.657657Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "seedance",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_deepseek_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_recheck_live",
      "run_id": "20260407T070525870535Z",
      "run_uid": "20260407T070525870535Z",
      "run_key": "20260407T070525870535Z",
      "created_at": "2026-04-07T07:05:25.882380Z",
      "updated_at": "2026-04-07T07:17:49.479493Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 47,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_script_stage_probe",
      "run_id": "20260407T030308257056Z",
      "run_uid": "20260407T030308257056Z",
      "run_key": "20260407T030308257056Z",
      "created_at": "2026-04-07T03:03:08.259901Z",
      "updated_at": "2026-04-07T05:29:13.397358Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 3,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_script_stage_probe/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_script_stage_probe/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_script_stage_probe/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_script_stage_probe_err",
      "run_id": "20260406T225041284964Z",
      "run_uid": "20260406T225041284964Z",
      "run_key": "20260406T225041284964Z",
      "created_at": "2026-04-06T22:50:41.286380Z",
      "updated_at": "2026-04-06T22:50:41.286893Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_script_stage_probe_err/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_script_stage_probe_err/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_script_stage_probe_err/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_script_stage_probe_err/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/xiyouji_now11_script_stage_probe_err/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_script_stage_probe_err/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_script_stage_probe_err/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_script_stage_probe_err/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_recheck_live_v5",
      "run_id": "20260406T204157566868Z",
      "run_uid": "20260406T204157566868Z",
      "run_key": "20260406T204157566868Z",
      "created_at": "2026-04-06T20:41:57.571187Z",
      "updated_at": "2026-04-06T21:26:45.722191Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v5/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_recheck_live_v4",
      "run_id": "20260406T175245213590Z",
      "run_uid": "20260406T175245213590Z",
      "run_key": "20260406T175245213590Z",
      "created_at": "2026-04-06T17:52:45.215414Z",
      "updated_at": "2026-04-06T18:55:06.746623Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 1,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v4/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_recheck_live_v3",
      "run_id": "20260406T173230962835Z",
      "run_uid": "20260406T173230962835Z",
      "run_key": "20260406T173230962835Z",
      "created_at": "2026-04-06T17:32:30.964717Z",
      "updated_at": "2026-04-06T18:30:37.033195Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 1,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v3/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_recheck_live_v2",
      "run_id": "20260406T171721641046Z",
      "run_uid": "20260406T171721641046Z",
      "run_key": "20260406T171721641046Z",
      "created_at": "2026-04-06T17:17:21.642932Z",
      "updated_at": "2026-04-06T18:16:47.818855Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 2,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck_live_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_recheck",
      "run_id": "20260406T132022592757Z",
      "run_uid": "20260406T132022592757Z",
      "run_key": "20260406T132022592757Z",
      "created_at": "2026-04-06T13:20:22.594654Z",
      "updated_at": "2026-04-06T13:21:26.916150Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 123,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_recheck/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_live",
      "run_id": "20260406T112034996317Z",
      "run_uid": "20260406T112034996317Z",
      "run_key": "20260406T112034996317Z",
      "created_at": "2026-04-06T11:20:34.998183Z",
      "updated_at": "2026-04-06T12:21:05.045604Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 1,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_live/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_live/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_live/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_now11_contract_smoke_current",
      "run_id": "20260406T110947804477Z",
      "run_uid": "20260406T110947804477Z",
      "run_key": "20260406T110947804477Z",
      "created_at": "2026-04-06T11:09:47.806398Z",
      "updated_at": "2026-04-06T11:10:52.114263Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 123,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_now11_contract_smoke_current/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_now11_contract_smoke_current/project.json",
        "report_html": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_now11_contract_smoke_current/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_first10_now11_scriptfresh_20260406_v2",
      "run_id": "20260406T103951995961Z",
      "run_uid": "20260406T103951995961Z",
      "run_key": "20260406T103951995961Z",
      "created_at": "2026-04-06T10:39:51.997423Z",
      "updated_at": "2026-04-06T11:31:13.877100Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 3,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/project.json",
        "report_html": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_first10_now11_scriptfresh_20260406_v1",
      "run_id": "20260406T101928671386Z",
      "run_uid": "20260406T101928671386Z",
      "run_key": "20260406T101928671386Z",
      "created_at": "2026-04-06T10:19:28.672901Z",
      "updated_at": "2026-04-06T12:54:31.900922Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 2,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/project.json",
        "report_html": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_first10_now11_scriptfresh_20260406_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_first10_now11_scriptfocus_20260406_v1",
      "run_id": "20260402T181811723622Z",
      "run_uid": "20260402T181811723622Z",
      "run_key": "20260402T181811723622Z",
      "created_at": "2026-04-06T10:16:22.963448Z",
      "updated_at": "2026-04-06T10:16:24.257030Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/project.json",
        "report_html": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_first10_now11_scriptfocus_20260406_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_first10_now11_20260406_v3",
      "run_id": "20260406T095030896380Z",
      "run_uid": "20260406T095030896380Z",
      "run_key": "20260406T095030896380Z",
      "created_at": "2026-04-06T09:50:30.897814Z",
      "updated_at": "2026-04-06T14:20:26.043711Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 5,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/project.json",
        "report_html": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_first10_now11_20260406_v3/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_first10_now11_20260406_v2",
      "run_id": "20260406T093259772309Z",
      "run_uid": "20260406T093259772309Z",
      "run_key": "20260406T093259772309Z",
      "created_at": "2026-04-06T09:32:59.773880Z",
      "updated_at": "2026-04-06T09:37:17.966977Z",
      "input_path": "input/西游记前十回.txt",
      "provider": "doubao",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 254,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/project.json",
        "report_html": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_first10_now11_20260406_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_acceptance_smoke_20260401_v5",
      "run_id": "20260401T040630483863Z",
      "run_uid": "20260401T040630483863Z",
      "run_key": "20260401T040630483863Z",
      "created_at": "2026-04-04 15:01:05.095116+08:00",
      "updated_at": "2026-04-04T07:27:32.054420Z",
      "input_path": "outputs/_derived_inputs/xiyouji_pg23962_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/project.json",
        "report_html": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v5/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "shuihu_acceptance_smoke_20260401_v2",
      "run_id": "20260331T163955134284Z",
      "run_uid": "20260331T163955134284Z",
      "run_key": "20260331T163955134284Z",
      "created_at": "2026-04-04 14:30:56.957738+08:00",
      "updated_at": "2026-04-04T07:27:32.142317Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/shuihuzhuan_pg23863_prologue_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/",
        "llm_dir": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/llm/",
        "manifest": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/run_manifest.json",
        "project": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/project.json",
        "report_html": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/shuihu_acceptance_smoke_20260401_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "sanguo_acceptance_smoke_20260331_v1",
      "run_id": "20260331T094208214967Z",
      "run_uid": "20260331T094208214967Z",
      "run_key": "20260331T094208214967Z",
      "created_at": "2026-04-04 14:00:35.547523+08:00",
      "updated_at": "2026-04-04T07:27:32.225871Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/sanguozhiyanyi_pg23950_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/",
        "llm_dir": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/llm/",
        "manifest": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/run_manifest.json",
        "project": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/project.json",
        "report_html": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "laocan_acceptance_smoke_20260401_v1",
      "run_id": "20260331T172808191717Z",
      "run_uid": "20260331T172808191717Z",
      "run_key": "20260331T172808191717Z",
      "created_at": "2026-04-04 13:39:40.760875+08:00",
      "updated_at": "2026-04-04T07:27:32.320593Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/laocanyouji_pg23850_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/",
        "llm_dir": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/llm/",
        "manifest": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/run_manifest.json",
        "project": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/project.json",
        "report_html": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "jinghuayuan_acceptance_smoke_20260401_v1",
      "run_id": "20260331T173014507597Z",
      "run_uid": "20260331T173014507597Z",
      "run_key": "20260331T173014507597Z",
      "created_at": "2026-04-04 13:33:36.293272+08:00",
      "updated_at": "2026-04-04T07:27:32.390528Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/jinghuayuan_pg25377_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/",
        "llm_dir": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/llm/",
        "manifest": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/run_manifest.json",
        "project": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/project.json",
        "report_html": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/jinghuayuan_acceptance_smoke_20260401_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "hongloumeng_acceptance_smoke_20260331_v1",
      "run_id": "20260331T082402646152Z",
      "run_uid": "20260331T082402646152Z",
      "run_key": "20260331T082402646152Z",
      "created_at": "2026-04-04 13:11:00.636551+08:00",
      "updated_at": "2026-04-04T07:27:32.422822Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/hongloumeng_pg24264_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/",
        "llm_dir": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/llm/",
        "manifest": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/run_manifest.json",
        "project": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/project.json",
        "report_html": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/hongloumeng_acceptance_smoke_20260331_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "ershinian_acceptance_smoke_20260401_v2",
      "run_id": "20260401T012145444820Z",
      "run_uid": "20260401T012145444820Z",
      "run_key": "20260401T012145444820Z",
      "created_at": "2026-04-04 13:01:01.350003+08:00",
      "updated_at": "2026-04-04T07:27:32.506701Z",
      "input_path": "outputs/_derived_inputs/ershinian_pg24099_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/",
        "llm_dir": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/llm/",
        "manifest": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/run_manifest.json",
        "project": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/project.json",
        "report_html": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "dongzhou_acceptance_smoke_20260401_v2",
      "run_id": "20260401T022004369619Z",
      "run_uid": "20260401T022004369619Z",
      "run_key": "20260401T022004369619Z",
      "created_at": "2026-04-04 12:36:37.023637+08:00",
      "updated_at": "2026-04-04T07:27:32.549038Z",
      "input_path": "outputs/_derived_inputs/dongzhoulieguozhi_pg25349_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/",
        "llm_dir": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/llm/",
        "manifest": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/run_manifest.json",
        "project": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/project.json",
        "report_html": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "alice_acceptance_smoke_20260331_v1",
      "run_id": "20260330T211915194386Z",
      "run_uid": "20260330T211915194386Z",
      "run_key": "20260330T211915194386Z",
      "created_at": "2026-04-04 12:21:51.627942+08:00",
      "updated_at": "2026-04-04T07:27:32.635962Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/alice_pg11_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/",
        "llm_dir": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/llm/",
        "manifest": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/run_manifest.json",
        "project": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/project.json",
        "report_html": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/alice_acceptance_smoke_20260331_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "sample_novel_acceptance_smoke_20260331_v2",
      "run_id": "20260331T044943722744Z",
      "run_uid": "20260331T044943722744Z",
      "run_key": "20260331T044943722744Z",
      "created_at": "2026-04-04 12:00:35.608672+08:00",
      "updated_at": "2026-04-04T07:27:32.682711Z",
      "input_path": "/wwwb/aitools/writer/examples/sample_novel.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/",
        "llm_dir": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/llm/",
        "manifest": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/run_manifest.json",
        "project": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/project.json",
        "report_html": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_first10_20260403_v2",
      "run_id": "20260402T181337274156Z",
      "run_uid": "20260402T181337274156Z",
      "run_key": "20260402T181337274156Z",
      "created_at": "2026-04-03 02:13:37.275606+08:00",
      "updated_at": "2026-04-04T07:27:32.910318Z",
      "input_path": "/wwwb/aitools/writer/input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_first10_20260403_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_first10_20260403_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_first10_20260403_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_first10_20260403_v2/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/xiyouji_first10_20260403_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_first10_20260403_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_first10_20260403_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_first10_20260403_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_first10_20260403_v1",
      "run_id": "20260402T181002650510Z",
      "run_uid": "20260402T181002650510Z",
      "run_key": "20260402T181002650510Z",
      "created_at": "2026-04-03 02:10:02.651980+08:00",
      "updated_at": "2026-04-04T07:27:32.915603Z",
      "input_path": "/wwwb/aitools/writer/input/西游记前十回.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_first10_20260403_v1/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_first10_20260403_v1/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_first10_20260403_v1/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_first10_20260403_v1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/xiyouji_first10_20260403_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_first10_20260403_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_first10_20260403_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_first10_20260403_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "guanchang_acceptance_smoke_20260331_v4",
      "run_id": "20260402T143126414692Z",
      "run_uid": "20260402T143126414692Z",
      "run_key": "20260402T143126414692Z",
      "created_at": "2026-04-02 22:31:26.417217+08:00",
      "updated_at": "2026-04-04T07:27:32.921288Z",
      "input_path": "outputs/_derived_inputs/guanchangxianxingji_pg24138_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/",
        "llm_dir": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/llm/",
        "manifest": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/run_manifest.json",
        "project": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/run_events.jsonl",
        "errors": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_mainline_full50_20260329_v1",
      "run_id": "20260402T074623331794Z",
      "run_uid": "20260402T074623331794Z",
      "run_key": "20260402T074623331794Z",
      "created_at": "2026-04-02 15:46:23.361638+08:00",
      "updated_at": "2026-04-04T07:27:32.964865Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_mainline_full50_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_mainline_full50_20260329_v1/project.json",
        "report_html": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "guanchang_acceptance_smoke_20260331_v4",
      "run_id": "20260402T060714600544Z",
      "run_uid": "20260402T060714600544Z",
      "run_key": "20260402T060714600544Z",
      "created_at": "2026-04-02 14:07:14.602717+08:00",
      "updated_at": "2026-04-04T07:27:33.327981Z",
      "input_path": "outputs/_derived_inputs/guanchangxianxingji_pg24138_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/",
        "llm_dir": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/llm/",
        "manifest": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/run_manifest.json",
        "project": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/project.json",
        "report_html": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/run_report.html",
        "report_md": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/run_report.md",
        "metrics": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/run_metrics.json",
        "events": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/run_events.jsonl",
        "errors": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v4/logs/_archive/20260402T060714600544Z__before__20260402T143126414692Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_mainline_full50_20260329_v1",
      "run_id": "20260402T054814139030Z",
      "run_uid": "20260402T054814139030Z",
      "run_key": "20260402T054814139030Z",
      "created_at": "2026-04-02 13:48:14.168936+08:00",
      "updated_at": "2026-04-04T07:27:33.372507Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z/",
        "llm_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z/llm/",
        "manifest": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T054814139030Z__before__20260402T074623331794Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_mainline_full50_20260329_v1",
      "run_id": "20260402T050511988676Z",
      "run_uid": "20260402T050511988676Z",
      "run_key": "20260402T050511988676Z",
      "created_at": "2026-04-02 13:05:12.017898+08:00",
      "updated_at": "2026-04-04T07:27:33.744180Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/",
        "llm_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/llm/",
        "manifest": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/project.json",
        "report_html": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T050511988676Z__before__20260402T054814139030Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_mainline_full50_20260329_v1",
      "run_id": "20260402T045510363547Z",
      "run_uid": "20260402T045510363547Z",
      "run_key": "20260402T045510363547Z",
      "created_at": "2026-04-02 12:55:10.409695+08:00",
      "updated_at": "2026-04-04T07:27:34.107860Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z/",
        "llm_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z/llm/",
        "manifest": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045510363547Z__before__20260402T050511988676Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_mainline_full50_20260329_v1",
      "run_id": "20260402T045105110170Z",
      "run_uid": "20260402T045105110170Z",
      "run_key": "20260402T045105110170Z",
      "created_at": "2026-04-02 12:51:05.138292+08:00",
      "updated_at": "2026-04-04T07:27:34.479016Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z/",
        "llm_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z/llm/",
        "manifest": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260402T045105110170Z__before__20260402T045510363547Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_mainline_full50_20260329_v1",
      "run_id": "20260329T093553124488Z",
      "run_uid": "20260329T093553124488Z",
      "run_key": "20260329T093553124488Z",
      "created_at": "2026-04-02 12:16:05.902464+08:00",
      "updated_at": "2026-04-04T07:27:34.840174Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/",
        "llm_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/llm/",
        "manifest": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/project.json",
        "report_html": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T093553124488Z__before__20260402T045105110170Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "adaptation_round2_script_smoke_20260328_v1",
      "run_id": "20260328T080705943352Z",
      "run_uid": "20260328T080705943352Z",
      "run_key": "20260328T080705943352Z",
      "created_at": "2026-04-02 11:52:08.828353+08:00",
      "updated_at": "2026-04-04T07:27:35.194842Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/adaptation_round2_script_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_acceptance_smoke_20260401_v3",
      "run_id": "20260401T032802139869Z",
      "run_uid": "20260401T032802139869Z",
      "run_key": "20260401T032802139869Z",
      "created_at": "2026-04-01 11:28:02.142271+08:00",
      "updated_at": "2026-04-04T07:27:35.210053Z",
      "input_path": "outputs/_derived_inputs/xiyouji_pg23962_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v3/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v3/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v3/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v3/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v3/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v3/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v3/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v3/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "dongzhou_acceptance_smoke_20260401_v1",
      "run_id": "20260401T013526878856Z",
      "run_uid": "20260401T013526878856Z",
      "run_key": "20260401T013526878856Z",
      "created_at": "2026-04-01 09:35:26.879777+08:00",
      "updated_at": "2026-04-04T07:27:35.249464Z",
      "input_path": "outputs/_derived_inputs/dongzhoulieguozhi_pg25349_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/",
        "llm_dir": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/llm/",
        "manifest": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/run_manifest.json",
        "project": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/project.json",
        "report_html": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/dongzhou_acceptance_smoke_20260401_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "ershinian_acceptance_smoke_20260401_v1",
      "run_id": "20260401T010309550610Z",
      "run_uid": "20260401T010309550610Z",
      "run_key": "20260401T010309550610Z",
      "created_at": "2026-04-01 09:03:09.551512+08:00",
      "updated_at": "2026-04-04T07:27:35.318104Z",
      "input_path": "outputs/_derived_inputs/ershinian_pg24099_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/",
        "llm_dir": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/llm/",
        "manifest": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/run_manifest.json",
        "project": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/project.json",
        "report_html": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/ershinian_acceptance_smoke_20260401_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_acceptance_smoke_20260401_v2",
      "run_id": "20260401T004631945779Z",
      "run_uid": "20260401T004631945779Z",
      "run_key": "20260401T004631945779Z",
      "created_at": "2026-04-01 08:46:31.948351+08:00",
      "updated_at": "2026-04-04T07:27:35.346839Z",
      "input_path": "outputs/_derived_inputs/xiyouji_pg23962_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/",
        "llm_dir": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/llm/",
        "manifest": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/project.json",
        "report_html": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "xiyouji_acceptance_smoke_20260401_v2",
      "run_id": "20260331T034748647652Z",
      "run_uid": "20260331T034748647652Z",
      "run_key": "20260331T034748647652Z",
      "created_at": "2026-04-01 08:45:23.313567+08:00",
      "updated_at": "2026-04-04T07:27:35.385956Z",
      "input_path": "outputs/_derived_inputs/xiyouji_pg23962_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/",
        "llm_dir": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/llm/",
        "manifest": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/run_manifest.json",
        "project": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/project.json",
        "report_html": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/run_report.html",
        "report_md": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/run_report.md",
        "metrics": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/run_metrics.json",
        "events": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/run_events.jsonl",
        "errors": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/xiyouji_acceptance_smoke_20260401_v2/logs/_archive/20260331T034748647652Z__before__20260401T004631945779Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "laocan_acceptance_smoke_20260401_v1",
      "run_id": "20260331T170242101566Z",
      "run_uid": "20260331T170242101566Z",
      "run_key": "20260331T170242101566Z",
      "created_at": "2026-04-01 01:02:42.102487+08:00",
      "updated_at": "2026-04-04T07:27:35.425434Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/laocanyouji_pg23850_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/",
        "llm_dir": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/llm/",
        "manifest": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/run_manifest.json",
        "project": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/project.json",
        "report_html": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/run_report.html",
        "report_md": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/run_report.md",
        "metrics": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/run_metrics.json",
        "events": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/run_events.jsonl",
        "errors": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/laocan_acceptance_smoke_20260401_v1/logs/_archive/20260331T170242101566Z__before__20260331T172808191717Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "shuihu_acceptance_smoke_20260331_v1",
      "run_id": "20260331T105700542563Z",
      "run_uid": "20260331T105700542563Z",
      "run_key": "20260331T105700542563Z",
      "created_at": "2026-03-31 18:57:00.543923+08:00",
      "updated_at": "2026-04-04T07:27:35.491439Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/shuihuzhuan_pg23863_prologue_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/",
        "llm_dir": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/llm/",
        "manifest": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/run_manifest.json",
        "project": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/project.json",
        "report_html": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/shuihu_acceptance_smoke_20260331_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "sanguo_acceptance_smoke_20260331_v1",
      "run_id": "20260331T090829274922Z",
      "run_uid": "20260331T090829274922Z",
      "run_key": "20260331T090829274922Z",
      "created_at": "2026-03-31 17:08:29.275867+08:00",
      "updated_at": "2026-04-04T07:27:35.526064Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/sanguozhiyanyi_pg23950_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z/",
        "llm_dir": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z/llm/",
        "manifest": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z/run_manifest.json",
        "project": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z/run_events.jsonl",
        "errors": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/sanguo_acceptance_smoke_20260331_v1/logs/_archive/20260331T090829274922Z__before__20260331T094208214967Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "guanchang_acceptance_smoke_20260331_v1",
      "run_id": "20260331T063417375536Z",
      "run_uid": "20260331T063417375536Z",
      "run_key": "20260331T063417375536Z",
      "created_at": "2026-03-31 14:34:17.376691+08:00",
      "updated_at": "2026-04-04T07:27:35.623318Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/guanchangxianxingji_pg24138_ch1_4.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/",
        "llm_dir": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/llm/",
        "manifest": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/run_manifest.json",
        "project": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/project.json",
        "report_html": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/guanchang_acceptance_smoke_20260331_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "sample_novel_acceptance_smoke_20260331_v2",
      "run_id": "20260331T044823473157Z",
      "run_uid": "20260331T044823473157Z",
      "run_key": "20260331T044823473157Z",
      "created_at": "2026-03-31 12:48:23.475536+08:00",
      "updated_at": "2026-04-04T07:27:35.647510Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/sample_novel.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/",
        "llm_dir": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/llm/",
        "manifest": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/run_manifest.json",
        "project": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/project.json",
        "report_html": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/run_report.html",
        "report_md": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/run_report.md",
        "metrics": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/run_metrics.json",
        "events": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/run_events.jsonl",
        "errors": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260331T044823473157Z__before__20260331T044943722744Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "sample_novel_acceptance_smoke_20260331_v2",
      "run_id": "20260330T210801962024Z",
      "run_uid": "20260330T210801962024Z",
      "run_key": "20260330T210801962024Z",
      "created_at": "2026-03-31 05:08:01.962719+08:00",
      "updated_at": "2026-04-04T07:27:35.656019Z",
      "input_path": "/wwwb/aitools/writer/examples/sample_novel.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/",
        "llm_dir": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/llm/",
        "manifest": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/run_manifest.json",
        "project": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/project.json",
        "report_html": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/run_report.html",
        "report_md": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/run_report.md",
        "metrics": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/run_metrics.json",
        "events": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/run_events.jsonl",
        "errors": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v2/logs/_archive/20260330T210801962024Z__before__20260331T044823473157Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "sample_novel_acceptance_smoke_20260331_v1",
      "run_id": "20260330T210218277883Z",
      "run_uid": "20260330T210218277883Z",
      "run_key": "20260330T210218277883Z",
      "created_at": "2026-03-31 05:02:18.278599+08:00",
      "updated_at": "2026-04-04T07:27:35.664505Z",
      "input_path": "/wwwb/aitools/writer/examples/sample_novel.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/",
        "llm_dir": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/llm/",
        "manifest": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/run_manifest.json",
        "project": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/project.json",
        "report_html": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/sample_novel_acceptance_smoke_20260331_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_conflict_downstream_full50_20260330_v1",
      "run_id": "20260329T091113689911Z",
      "run_uid": "20260329T091113689911Z",
      "run_key": "20260329T091113689911Z",
      "created_at": "2026-03-30 11:39:05.962999+08:00",
      "updated_at": "2026-04-04T07:27:35.668994Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/project.json",
        "report_html": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_conflict_downstream_full50_20260330_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_conflict_downstream_smoke_20260329_v2",
      "run_id": "20260329T093817197697Z",
      "run_uid": "20260329T093817197697Z",
      "run_key": "20260329T093817197697Z",
      "created_at": "2026-03-30 03:19:49.814705+08:00",
      "updated_at": "2026-04-04T07:27:35.773705Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/",
        "llm_dir": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/llm/",
        "manifest": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/run_manifest.json",
        "project": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/project.json",
        "report_html": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_conflict_downstream_trim8_20260329_v1",
      "run_id": "20260329T094151678728Z",
      "run_uid": "20260329T094151678728Z",
      "run_key": "20260329T094151678728Z",
      "created_at": "2026-03-29 17:41:51.703610+08:00",
      "updated_at": "2026-04-04T07:27:35.813688Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/project.json",
        "report_html": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_conflict_downstream_trim8_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_conflict_downstream_smoke_20260329_v1",
      "run_id": "20260329T093742484911Z",
      "run_uid": "20260329T093742484911Z",
      "run_key": "20260329T093742484911Z",
      "created_at": "2026-03-29 17:37:42.510040+08:00",
      "updated_at": "2026-04-04T07:27:35.859026Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_conflict_downstream_smoke_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_full50_fixonly_tc_20260329_v2",
      "run_id": "20260329T090932593369Z",
      "run_uid": "20260329T090932593369Z",
      "run_key": "20260329T090932593369Z",
      "created_at": "2026-03-29 17:09:32.618074+08:00",
      "updated_at": "2026-04-04T07:27:35.863227Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/",
        "llm_dir": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/llm/",
        "manifest": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/project.json",
        "report_html": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090932593369Z__before__20260329T091113689911Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_full50_fixonly_tc_20260329_v2",
      "run_id": "20260329T090452002809Z",
      "run_uid": "20260329T090452002809Z",
      "run_key": "20260329T090452002809Z",
      "created_at": "2026-03-29 17:04:52.025509+08:00",
      "updated_at": "2026-04-04T07:27:35.895743Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/",
        "llm_dir": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/llm/",
        "manifest": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/project.json",
        "report_html": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090452002809Z__before__20260329T090932593369Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_full50_fixonly_tc_20260329_v2",
      "run_id": "20260329T090333604730Z",
      "run_uid": "20260329T090333604730Z",
      "run_key": "20260329T090333604730Z",
      "created_at": "2026-03-29 17:03:33.629214+08:00",
      "updated_at": "2026-04-04T07:27:35.926373Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/",
        "llm_dir": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/llm/",
        "manifest": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/project.json",
        "report_html": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T090333604730Z__before__20260329T090452002809Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_full50_fixonly_tc_20260329_v2",
      "run_id": "20260329T081747037491Z",
      "run_uid": "20260329T081747037491Z",
      "run_key": "20260329T081747037491Z",
      "created_at": "2026-03-29 16:17:47.061529+08:00",
      "updated_at": "2026-04-04T07:27:35.959213Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/",
        "llm_dir": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/llm/",
        "manifest": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/project.json",
        "report_html": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_full50_fixonly_tc_20260329_v2/logs/_archive/20260329T081747037491Z__before__20260329T090333604730Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_mainline_full50_20260329_v1",
      "run_id": "20260329T042146049342Z",
      "run_uid": "20260329T042146049342Z",
      "run_key": "20260329T042146049342Z",
      "created_at": "2026-03-29 12:21:46.073338+08:00",
      "updated_at": "2026-04-04T07:27:35.993020Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/",
        "llm_dir": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/llm/",
        "manifest": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/project.json",
        "report_html": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_mainline_full50_20260329_v1/logs/_archive/20260329T042146049342Z__before__20260329T093553124488Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "review_overlay_contract_smoke_20260329_v2",
      "run_id": "20260328T213633735807Z",
      "run_uid": "20260328T213633735807Z",
      "run_key": "20260328T213633735807Z",
      "created_at": "2026-03-29 05:36:33.761169+08:00",
      "updated_at": "2026-04-04T07:27:36.398441Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/",
        "llm_dir": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/llm/",
        "manifest": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/run_manifest.json",
        "project": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/project.json",
        "report_html": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/review_overlay_contract_smoke_20260329_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "screenplay_upload_contract_smoke_20260329_v1",
      "run_id": "20260328T180200756920Z",
      "run_uid": "20260328T180200756920Z",
      "run_key": "20260328T180200756920Z",
      "created_at": "2026-03-29 03:19:19.009943+08:00",
      "updated_at": "2026-04-04T07:27:36.411249Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/project.json",
        "report_html": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/screenplay_upload_contract_smoke_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "screenplay_upload_contract_regression_20260329_v1",
      "run_id": "20260328T180200825648Z",
      "run_uid": "20260328T180200825648Z",
      "run_key": "20260328T180200825648Z",
      "created_at": "2026-03-29 02:02:00.866805+08:00",
      "updated_at": "2026-04-04T07:27:36.421658Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/project.json",
        "report_html": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/screenplay_upload_contract_regression_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_dramart_alignment_regression_20260329_v1",
      "run_id": "20260328T170722671643Z",
      "run_uid": "20260328T170722671643Z",
      "run_key": "20260328T170722671643Z",
      "created_at": "2026-03-29 01:07:22.696864+08:00",
      "updated_at": "2026-04-04T07:27:36.451230Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/project.json",
        "report_html": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/entity_registry_dramart_alignment_regression_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_dramart_alignment_smoke_20260329_v1",
      "run_id": "20260328T170722535384Z",
      "run_uid": "20260328T170722535384Z",
      "run_key": "20260328T170722535384Z",
      "created_at": "2026-03-29 01:07:22.561312+08:00",
      "updated_at": "2026-04-04T07:27:36.480942Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/project.json",
        "report_html": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/entity_registry_dramart_alignment_smoke_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_dramart_assets_regression_20260329_v1",
      "run_id": "20260328T165605891929Z",
      "run_uid": "20260328T165605891929Z",
      "run_key": "20260328T165605891929Z",
      "created_at": "2026-03-29 00:56:05.916517+08:00",
      "updated_at": "2026-04-04T07:27:36.491356Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/project.json",
        "report_html": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/entity_registry_dramart_assets_regression_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_dramart_assets_smoke_20260329_v1",
      "run_id": "20260328T165426211184Z",
      "run_uid": "20260328T165426211184Z",
      "run_key": "20260328T165426211184Z",
      "created_at": "2026-03-29 00:54:26.235503+08:00",
      "updated_at": "2026-04-04T07:27:36.518554Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/project.json",
        "report_html": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/entity_registry_dramart_assets_smoke_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_dramart_regression_20260329_v1",
      "run_id": "20260328T163718164874Z",
      "run_uid": "20260328T163718164874Z",
      "run_key": "20260328T163718164874Z",
      "created_at": "2026-03-29 00:37:18.188824+08:00",
      "updated_at": "2026-04-04T07:27:36.528359Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/project.json",
        "report_html": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/entity_registry_dramart_regression_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_dramart_smoke_20260329_v1",
      "run_id": "20260328T163554545115Z",
      "run_uid": "20260328T163554545115Z",
      "run_key": "20260328T163554545115Z",
      "created_at": "2026-03-29 00:35:54.569384+08:00",
      "updated_at": "2026-04-04T07:27:36.553655Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/",
        "llm_dir": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/llm/",
        "manifest": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/run_manifest.json",
        "project": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/project.json",
        "report_html": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/entity_registry_dramart_smoke_20260329_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_dramart_smoke_20260329_v1",
      "run_id": "20260328T163406689824Z",
      "run_uid": "20260328T163406689824Z",
      "run_key": "20260328T163406689824Z",
      "created_at": "2026-03-29 00:34:06.713784+08:00",
      "updated_at": "2026-04-04T07:27:36.563066Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "detached",
      "is_current_live": false,
      "archive_rel": "",
      "web_paths": {},
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "adaptation_regression_20260328_v2",
      "run_id": "20260328T042627371173Z",
      "run_uid": "20260328T042627371173Z",
      "run_key": "20260328T042627371173Z",
      "created_at": "2026-03-28 23:45:52.252799+08:00",
      "updated_at": "2026-04-04T07:27:36.572663Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/adaptation_regression_20260328_v2/logs/",
        "llm_dir": "/novel2video/runs/adaptation_regression_20260328_v2/logs/llm/",
        "manifest": "/novel2video/runs/adaptation_regression_20260328_v2/run_manifest.json",
        "project": "/novel2video/runs/adaptation_regression_20260328_v2/project.json",
        "report_html": "/novel2video/runs/adaptation_regression_20260328_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/adaptation_regression_20260328_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/adaptation_regression_20260328_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/adaptation_regression_20260328_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/adaptation_regression_20260328_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/adaptation_regression_20260328_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/adaptation_regression_20260328_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "screenplay_smoke_20260328_v1",
      "run_id": "20260328T143815319682Z",
      "run_uid": "20260328T143815319682Z",
      "run_key": "20260328T143815319682Z",
      "created_at": "2026-03-28 22:38:15.343988+08:00",
      "updated_at": "2026-04-04T07:27:36.604177Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/screenplay_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/screenplay_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/screenplay_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_current_chain_30_20260328_v1",
      "run_id": "20260328T125822484685Z",
      "run_uid": "20260328T125822484685Z",
      "run_key": "20260328T125822484685Z",
      "created_at": "2026-03-28 20:58:22.508753+08:00",
      "updated_at": "2026-04-04T07:27:36.613836Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/project.json",
        "report_html": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_current_chain_30_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "kg_layer_smoke_20260328_v3",
      "run_id": "20260328T065923644315Z",
      "run_uid": "20260328T065923644315Z",
      "run_key": "20260328T065923644315Z",
      "created_at": "2026-03-28 14:59:23.670376+08:00",
      "updated_at": "2026-04-04T07:27:36.627204Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/",
        "llm_dir": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/llm/",
        "manifest": "/novel2video/runs/kg_layer_smoke_20260328_v3/run_manifest.json",
        "project": "/novel2video/runs/kg_layer_smoke_20260328_v3/project.json",
        "report_html": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/run_report.html",
        "report_md": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/run_report.md",
        "metrics": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/run_metrics.json",
        "events": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/run_events.jsonl",
        "errors": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/kg_layer_smoke_20260328_v3/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "kg_layer_smoke_20260328_v1",
      "run_id": "20260328T065601657593Z",
      "run_uid": "20260328T065601657593Z",
      "run_key": "20260328T065601657593Z",
      "created_at": "2026-03-28 14:56:01.680395+08:00",
      "updated_at": "2026-04-04T07:27:36.635523Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/kg_layer_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/kg_layer_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/kg_layer_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "prompt_timeline_branch_enabled_smoke_20260328_v1",
      "run_id": "20260328T061152781142Z",
      "run_uid": "20260328T061152781142Z",
      "run_key": "20260328T061152781142Z",
      "created_at": "2026-03-28 14:11:52.805965+08:00",
      "updated_at": "2026-04-04T07:27:36.647690Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "adaptation_smoke_20260328_v1",
      "run_id": "20260327T210012895141Z",
      "run_uid": "20260327T210012895141Z",
      "run_key": "20260327T210012895141Z",
      "created_at": "2026-03-28 05:00:12.917488+08:00",
      "updated_at": "2026-04-04T07:27:36.660599Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/adaptation_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/adaptation_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/adaptation_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "kg_window_batch_parallel_smoke_20260328_v1",
      "run_id": "20260327T201055716403Z",
      "run_uid": "20260327T201055716403Z",
      "run_key": "20260327T201055716403Z",
      "created_at": "2026-03-28 04:10:55.741717+08:00",
      "updated_at": "2026-04-04T07:27:36.668902Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/kg_window_batch_parallel_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "kg_window_batch_seq_smoke_20260328_v1",
      "run_id": "20260327T201055691411Z",
      "run_uid": "20260327T201055691411Z",
      "run_key": "20260327T201055691411Z",
      "created_at": "2026-03-28 04:10:55.722586+08:00",
      "updated_at": "2026-04-04T07:27:36.679560Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/kg_window_batch_seq_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "kg_window_parallel_smoke_20260328_v2",
      "run_id": "20260327T200226717825Z",
      "run_uid": "20260327T200226717825Z",
      "run_key": "20260327T200226717825Z",
      "created_at": "2026-03-28 04:02:26.742911+08:00",
      "updated_at": "2026-04-04T07:27:36.695511Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/",
        "llm_dir": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/llm/",
        "manifest": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/run_manifest.json",
        "project": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/project.json",
        "report_html": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/kg_window_parallel_smoke_20260328_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "kg_window_seq_smoke_20260328_v2",
      "run_id": "20260327T200226692307Z",
      "run_uid": "20260327T200226692307Z",
      "run_key": "20260327T200226692307Z",
      "created_at": "2026-03-28 04:02:26.717634+08:00",
      "updated_at": "2026-04-04T07:27:36.705721Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/",
        "llm_dir": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/llm/",
        "manifest": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/run_manifest.json",
        "project": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/project.json",
        "report_html": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/kg_window_seq_smoke_20260328_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "kg_window_parallel_smoke_20260328_v1",
      "run_id": "20260327T195507377552Z",
      "run_uid": "20260327T195507377552Z",
      "run_key": "20260327T195507377552Z",
      "created_at": "2026-03-28 03:55:07.419439+08:00",
      "updated_at": "2026-04-04T07:27:36.715831Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/kg_window_parallel_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/kg_window_parallel_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/kg_window_parallel_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/kg_window_parallel_smoke_20260328_v1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/kg_window_parallel_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/kg_window_parallel_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/kg_window_parallel_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/kg_window_parallel_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "kg_window_seq_smoke_20260328_v1",
      "run_id": "20260327T195507282222Z",
      "run_uid": "20260327T195507282222Z",
      "run_key": "20260327T195507282222Z",
      "created_at": "2026-03-28 03:55:07.307539+08:00",
      "updated_at": "2026-04-04T07:27:36.725972Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/kg_window_seq_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/kg_window_seq_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/kg_window_seq_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/kg_window_seq_smoke_20260328_v1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/kg_window_seq_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/kg_window_seq_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/kg_window_seq_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/kg_window_seq_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "prompt_timeline_branch_disabled_smoke_20260328_v1",
      "run_id": "20260327T194754396351Z",
      "run_uid": "20260327T194754396351Z",
      "run_key": "20260327T194754396351Z",
      "created_at": "2026-03-28 03:47:54.428283+08:00",
      "updated_at": "2026-04-04T07:27:36.736082Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/prompt_timeline_branch_disabled_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "prompt_timeline_branch_enabled_smoke_20260328_v1",
      "run_id": "20260327T194754383418Z",
      "run_uid": "20260327T194754383418Z",
      "run_key": "20260327T194754383418Z",
      "created_at": "2026-03-28 03:47:54.413137+08:00",
      "updated_at": "2026-04-04T07:27:36.748608Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/",
        "llm_dir": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/llm/",
        "manifest": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/run_manifest.json",
        "project": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/project.json",
        "report_html": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/run_report.html",
        "report_md": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/run_report.md",
        "metrics": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/run_metrics.json",
        "events": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/run_events.jsonl",
        "errors": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/prompt_timeline_branch_enabled_smoke_20260328_v1/logs/_archive/20260327T194754383418Z__before__20260328T061152781142Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "branch_parallel_disabled_smoke_20260328_v1",
      "run_id": "20260327T191903059267Z",
      "run_uid": "20260327T191903059267Z",
      "run_key": "20260327T191903059267Z",
      "created_at": "2026-03-28 03:19:03.100895+08:00",
      "updated_at": "2026-04-04T07:27:36.760761Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/branch_parallel_disabled_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "branch_parallel_enabled_smoke_20260328_v1",
      "run_id": "20260327T191902968036Z",
      "run_uid": "20260327T191902968036Z",
      "run_key": "20260327T191902968036Z",
      "created_at": "2026-03-28 03:19:03.010237+08:00",
      "updated_at": "2026-04-04T07:27:36.773579Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/branch_parallel_enabled_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "scenes_concurrency_parallel_smoke_20260328_v1",
      "run_id": "20260327T191126924802Z",
      "run_uid": "20260327T191126924802Z",
      "run_key": "20260327T191126924802Z",
      "created_at": "2026-03-28 03:11:26.958943+08:00",
      "updated_at": "2026-04-04T07:27:36.786729Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/scenes_concurrency_parallel_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "scenes_concurrency_seq_smoke_20260328_v1",
      "run_id": "20260327T191126870675Z",
      "run_uid": "20260327T191126870675Z",
      "run_key": "20260327T191126870675Z",
      "created_at": "2026-03-28 03:11:26.896295+08:00",
      "updated_at": "2026-04-04T07:27:36.799817Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/scenes_concurrency_seq_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "concurrency_skeleton_seq_smoke_20260328_v1",
      "run_id": "20260327T185050897660Z",
      "run_uid": "20260327T185050897660Z",
      "run_key": "20260327T185050897660Z",
      "created_at": "2026-03-28 02:50:50.924398+08:00",
      "updated_at": "2026-04-04T07:27:36.812703Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/concurrency_skeleton_seq_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "concurrency_skeleton_smoke_20260328_v1",
      "run_id": "20260327T184638651844Z",
      "run_uid": "20260327T184638651844Z",
      "run_key": "20260327T184638651844Z",
      "created_at": "2026-03-28 02:46:38.682386+08:00",
      "updated_at": "2026-04-04T07:27:36.826303Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/",
        "llm_dir": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/llm/",
        "manifest": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/run_manifest.json",
        "project": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/project.json",
        "report_html": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/concurrency_skeleton_smoke_20260328_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round12_closure_stage_20260328",
      "run_id": "20260327T182815706933Z",
      "run_uid": "20260327T182815706933Z",
      "run_key": "20260327T182815706933Z",
      "created_at": "2026-03-28 02:28:15.731895+08:00",
      "updated_at": "2026-04-04T07:27:36.866586Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/project.json",
        "report_html": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round12_closure_stage_20260328",
      "run_id": "20260327T182525624448Z",
      "run_uid": "20260327T182525624448Z",
      "run_key": "20260327T182525624448Z",
      "created_at": "2026-03-28 02:25:25.649138+08:00",
      "updated_at": "2026-04-04T07:27:36.886257Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/project.json",
        "report_html": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T182525624448Z__before__20260327T182815706933Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round12_closure_stage_20260328",
      "run_id": "20260327T172501189342Z",
      "run_uid": "20260327T172501189342Z",
      "run_key": "20260327T172501189342Z",
      "created_at": "2026-03-28 01:25:01.213912+08:00",
      "updated_at": "2026-04-04T07:27:36.905001Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/project.json",
        "report_html": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round12_closure_stage_20260328/logs/_archive/20260327T172501189342Z__before__20260327T182525624448Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_closure_fix_only_smoke_20260328",
      "run_id": "20260327T172224884310Z",
      "run_uid": "20260327T172224884310Z",
      "run_key": "20260327T172224884310Z",
      "created_at": "2026-03-28 01:22:24.909126+08:00",
      "updated_at": "2026-04-04T07:27:36.923238Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/",
        "llm_dir": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/llm/",
        "manifest": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/run_manifest.json",
        "project": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/project.json",
        "report_html": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_closure_fix_only_smoke_20260328",
      "run_id": "20260327T172114503160Z",
      "run_uid": "20260327T172114503160Z",
      "run_key": "20260327T172114503160Z",
      "created_at": "2026-03-28 01:21:14.528420+08:00",
      "updated_at": "2026-04-04T07:27:36.929024Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z/",
        "llm_dir": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z/llm/",
        "manifest": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T172114503160Z__before__20260327T172224884310Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_closure_fix_only_smoke_20260328",
      "run_id": "20260327T171736282391Z",
      "run_uid": "20260327T171736282391Z",
      "run_key": "20260327T171736282391Z",
      "created_at": "2026-03-28 01:17:36.304661+08:00",
      "updated_at": "2026-04-04T07:27:36.934948Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/",
        "llm_dir": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/llm/",
        "manifest": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/project.json",
        "report_html": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_closure_fix_only_smoke_20260328/logs/_archive/20260327T171736282391Z__before__20260327T172114503160Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round12_closure_20260328",
      "run_id": "20260327T170031234853Z",
      "run_uid": "20260327T170031234853Z",
      "run_key": "20260327T170031234853Z",
      "created_at": "2026-03-28 01:00:31.258837+08:00",
      "updated_at": "2026-04-04T07:27:36.940816Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round12_closure_20260328/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round12_closure_20260328/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round12_closure_20260328/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round12_closure_20260328/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_kg_p0_round12_closure_20260328/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round12_closure_20260328/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round12_closure_20260328/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round12_closure_20260328/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_closure_smoke_20260328",
      "run_id": "20260327T165616417064Z",
      "run_uid": "20260327T165616417064Z",
      "run_key": "20260327T165616417064Z",
      "created_at": "2026-03-28 00:56:16.461971+08:00",
      "updated_at": "2026-04-04T07:27:36.947505Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_closure_smoke_20260328/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_closure_smoke_20260328/project.json",
        "report_html": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_closure_smoke_20260328/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round11_tc_20260327",
      "run_id": "20260327T144643552342Z",
      "run_uid": "20260327T144643552342Z",
      "run_key": "20260327T144643552342Z",
      "created_at": "2026-03-27 22:46:43.579071+08:00",
      "updated_at": "2026-04-04T07:27:36.956058Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/project.json",
        "report_html": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round11_tc_20260327/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round10_tc_20260327",
      "run_id": "20260327T130635576135Z",
      "run_uid": "20260327T130635576135Z",
      "run_key": "20260327T130635576135Z",
      "created_at": "2026-03-27 21:06:35.599831+08:00",
      "updated_at": "2026-04-04T07:27:36.979704Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/project.json",
        "report_html": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round10_tc_20260327/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round9_tc_20260327",
      "run_id": "20260327T110516565192Z",
      "run_uid": "20260327T110516565192Z",
      "run_key": "20260327T110516565192Z",
      "created_at": "2026-03-27 19:05:16.589151+08:00",
      "updated_at": "2026-04-04T07:27:37.005700Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/project.json",
        "report_html": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round9_tc_20260327/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round8_tc_20260327",
      "run_id": "20260327T094731604343Z",
      "run_uid": "20260327T094731604343Z",
      "run_key": "20260327T094731604343Z",
      "created_at": "2026-03-27 17:47:31.628264+08:00",
      "updated_at": "2026-04-04T07:27:37.025913Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/project.json",
        "report_html": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round8_tc_20260327/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_p0_round8_20260327",
      "run_id": "20260327T094112493155Z",
      "run_uid": "20260327T094112493155Z",
      "run_key": "20260327T094112493155Z",
      "created_at": "2026-03-27 17:41:12.516969+08:00",
      "updated_at": "2026-04-04T07:27:37.044743Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_p0_round8_20260327/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_p0_round8_20260327/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_p0_round8_20260327/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_p0_round8_20260327/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_kg_p0_round8_20260327/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_p0_round8_20260327/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_p0_round8_20260327/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_p0_round8_20260327/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_50chunks_tcfix_round7_20260327",
      "run_id": "20260327T033231748867Z",
      "run_uid": "20260327T033231748867Z",
      "run_key": "20260327T033231748867Z",
      "created_at": "2026-03-27 11:32:31.775920+08:00",
      "updated_at": "2026-04-04T07:27:37.051663Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round7_20260327/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_50chunks_tcfix_round6_20260327",
      "run_id": "20260326T191004348066Z",
      "run_uid": "20260326T191004348066Z",
      "run_key": "20260326T191004348066Z",
      "created_at": "2026-03-27 03:10:04.372378+08:00",
      "updated_at": "2026-04-04T07:27:37.473619Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 1,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round6_20260327/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_50chunks_tcfix_round5_20260327",
      "run_id": "20260326T162315875553Z",
      "run_uid": "20260326T162315875553Z",
      "run_key": "20260326T162315875553Z",
      "created_at": "2026-03-27 00:23:15.899836+08:00",
      "updated_at": "2026-04-04T07:27:37.917521Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round5_20260327/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_50chunks_tcfix_round4_20260326",
      "run_id": "20260326T081256320669Z",
      "run_uid": "20260326T081256320669Z",
      "run_key": "20260326T081256320669Z",
      "created_at": "2026-03-26 16:12:56.348112+08:00",
      "updated_at": "2026-04-04T07:27:38.336236Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "partial",
      "errors": 1,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round4_20260326/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_50chunks_tcfix_round3_20260326",
      "run_id": "20260326T032824994569Z",
      "run_uid": "20260326T032824994569Z",
      "run_key": "20260326T032824994569Z",
      "created_at": "2026-03-26 11:28:25.019057+08:00",
      "updated_at": "2026-04-04T07:27:38.793152Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round3_20260326/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_50chunks_tcfix_round2_20260326",
      "run_id": "20260325T171010605371Z",
      "run_uid": "20260325T171010605371Z",
      "run_key": "20260325T171010605371Z",
      "created_at": "2026-03-26 01:10:10.629747+08:00",
      "updated_at": "2026-04-04T07:27:39.049719Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_round2_20260326/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_50chunks_tcfix_20260325",
      "run_id": "20260325T123249525690Z",
      "run_uid": "20260325T123249525690Z",
      "run_key": "20260325T123249525690Z",
      "created_at": "2026-03-25 20:32:49.550496+08:00",
      "updated_at": "2026-04-04T07:27:39.289095Z",
      "input_path": "input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_50chunks_tcfix_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_50chunks_coldstart_20260325",
      "run_id": "20260325T051849777137Z",
      "run_uid": "20260325T051849777137Z",
      "run_key": "20260325T051849777137Z",
      "created_at": "2026-03-25 13:18:49.801975+08:00",
      "updated_at": "2026-04-04T07:27:39.563321Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_50chunks_coldstart_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_prompt_guard_stylefix_coldstart2_20260325",
      "run_id": "20260325T032155842752Z",
      "run_uid": "20260325T032155842752Z",
      "run_key": "20260325T032155842752Z",
      "created_at": "2026-03-25 11:21:55.866483+08:00",
      "updated_at": "2026-04-04T07:27:39.803131Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_prompt_guard_stylefix_coldstart2_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_prompt_guard_stylefix_20260325",
      "run_id": "20260325T031712835694Z",
      "run_uid": "20260325T031712835694Z",
      "run_key": "20260325T031712835694Z",
      "created_at": "2026-03-25 11:17:12.859608+08:00",
      "updated_at": "2026-04-04T07:27:39.831810Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_prompt_guard_stylefix_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_prompt_guard_stylefix_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_prompt_guard_stylefix_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_prompt_guard_stylefix_20260325/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_prompt_guard_stylefix_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_prompt_guard_stylefix_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_prompt_guard_stylefix_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_prompt_guard_stylefix_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_30chunks_bg_20260325",
      "run_id": "20260324T203457244707Z",
      "run_uid": "20260324T203457244707Z",
      "run_key": "20260324T203457244707Z",
      "created_at": "2026-03-25 04:34:57.269021+08:00",
      "updated_at": "2026-04-04T07:27:39.836540Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_30chunks_bg_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_soak_30chunks_20260325",
      "run_id": "20260324T202338479665Z",
      "run_uid": "20260324T202338479665Z",
      "run_key": "20260324T202338479665Z",
      "created_at": "2026-03-25 04:34:23.026650+08:00",
      "updated_at": "2026-04-04T07:27:39.978382Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_soak_30chunks_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_soak_30chunks_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_soak_30chunks_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_soak_30chunks_20260325/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_video_soak_30chunks_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_soak_30chunks_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_soak_30chunks_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_soak_30chunks_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_regression_20260325",
      "run_id": "20260324T192020136075Z",
      "run_uid": "20260324T192020136075Z",
      "run_key": "20260324T192020136075Z",
      "created_at": "2026-03-25 03:20:20.160111+08:00",
      "updated_at": "2026-04-04T07:27:39.984511Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_regression_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_regression_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_regression_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_regression_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_video_regression_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_regression_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_regression_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_regression_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_regression_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_regression_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_regression_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_video_stage_smoke_20260325",
      "run_id": "20260324T190850796718Z",
      "run_uid": "20260324T190850796718Z",
      "run_key": "20260324T190850796718Z",
      "created_at": "2026-03-25 03:08:50.821148+08:00",
      "updated_at": "2026-04-04T07:27:40.015020Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_video_stage_smoke_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_video_stage_smoke_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_video_stage_smoke_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_audio_stage_smoke_20260325",
      "run_id": "20260324T184532966121Z",
      "run_uid": "20260324T184532966121Z",
      "run_key": "20260324T184532966121Z",
      "created_at": "2026-03-25 02:45:32.990091+08:00",
      "updated_at": "2026-04-04T07:27:40.027669Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_audio_stage_smoke_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_audio_stage_smoke_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_audio_stage_smoke_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_timeline_voice_bridge_smoke_20260325",
      "run_id": "20260324T181431415725Z",
      "run_uid": "20260324T181431415725Z",
      "run_key": "20260324T181431415725Z",
      "created_at": "2026-03-25 02:14:31.440645+08:00",
      "updated_at": "2026-04-04T07:27:40.037481Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_timeline_voice_bridge_smoke_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_script_binding_smoke_20260325",
      "run_id": "20260324T175601146307Z",
      "run_uid": "20260324T175601146307Z",
      "run_key": "20260324T175601146307Z",
      "created_at": "2026-03-25 01:56:01.173383+08:00",
      "updated_at": "2026-04-04T07:27:40.046809Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_script_binding_smoke_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_script_binding_smoke_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_script_binding_smoke_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_manual_trace_smoke_20260325",
      "run_id": "20260324T173143006397Z",
      "run_uid": "20260324T173143006397Z",
      "run_key": "20260324T173143006397Z",
      "created_at": "2026-03-25 01:31:43.030599+08:00",
      "updated_at": "2026-04-04T07:27:40.053895Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/",
        "llm_dir": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/llm/",
        "manifest": "/novel2video/runs/daozu_manual_trace_smoke_20260325/run_manifest.json",
        "project": "/novel2video/runs/daozu_manual_trace_smoke_20260325/project.json",
        "report_html": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_manual_trace_smoke_20260325/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_prompt_guard_fix_smoke_20260324",
      "run_id": "20260324T135750142670Z",
      "run_uid": "20260324T135750142670Z",
      "run_key": "20260324T135750142670Z",
      "created_at": "2026-03-24 21:57:50.166825+08:00",
      "updated_at": "2026-04-04T07:27:40.065528Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/",
        "llm_dir": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/llm/",
        "manifest": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/run_manifest.json",
        "project": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/project.json",
        "report_html": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_prompt_guard_fix_smoke_20260324/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_prompt_guard_smoke_20260324",
      "run_id": "20260324T125214394614Z",
      "run_uid": "20260324T125214394614Z",
      "run_key": "20260324T125214394614Z",
      "created_at": "2026-03-24 20:52:14.416675+08:00",
      "updated_at": "2026-04-04T07:27:40.074137Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/",
        "llm_dir": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/llm/",
        "manifest": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/run_manifest.json",
        "project": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/project.json",
        "report_html": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_prompt_guard_smoke_20260324/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_v2_smoke_rerun_20260324",
      "run_id": "20260324T104606680184Z",
      "run_uid": "20260324T104606680184Z",
      "run_key": "20260324T104606680184Z",
      "created_at": "2026-03-24 18:46:06.704012+08:00",
      "updated_at": "2026-04-04T07:27:40.082529Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/",
        "llm_dir": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/llm/",
        "manifest": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/run_manifest.json",
        "project": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/project.json",
        "report_html": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_storyboard_v2_smoke_rerun_20260324/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_v2_smoke_20260324",
      "run_id": "20260324T103739967569Z",
      "run_uid": "20260324T103739967569Z",
      "run_key": "20260324T103739967569Z",
      "created_at": "2026-03-24 18:37:39.991607+08:00",
      "updated_at": "2026-04-04T07:27:40.091094Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_storyboard_v2_smoke_20260324/logs/",
        "llm_dir": "/novel2video/runs/daozu_storyboard_v2_smoke_20260324/logs/llm/",
        "manifest": "/novel2video/runs/daozu_storyboard_v2_smoke_20260324/run_manifest.json",
        "project": "/novel2video/runs/daozu_storyboard_v2_smoke_20260324/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_storyboard_v2_smoke_20260324/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_storyboard_v2_smoke_20260324/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_storyboard_v2_smoke_20260324/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_storyboard_v2_smoke_20260324/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_style_bible_quick_20260324",
      "run_id": "20260324T065911342902Z",
      "run_uid": "20260324T065911342902Z",
      "run_key": "20260324T065911342902Z",
      "created_at": "2026-03-24 14:59:11.367912+08:00",
      "updated_at": "2026-04-04T07:27:40.099762Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/",
        "llm_dir": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/llm/",
        "manifest": "/novel2video/runs/daozu_style_bible_quick_20260324/run_manifest.json",
        "project": "/novel2video/runs/daozu_style_bible_quick_20260324/project.json",
        "report_html": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_style_bible_quick_20260324/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_style_bible_smoke_20260324",
      "run_id": "20260324T064928903178Z",
      "run_uid": "20260324T064928903178Z",
      "run_key": "20260324T064928903178Z",
      "created_at": "2026-03-24 14:49:28.927275+08:00",
      "updated_at": "2026-04-04T07:27:40.106012Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/",
        "llm_dir": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/llm/",
        "manifest": "/novel2video/runs/daozu_style_bible_smoke_20260324/run_manifest.json",
        "project": "/novel2video/runs/daozu_style_bible_smoke_20260324/project.json",
        "report_html": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_style_bible_smoke_20260324/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_smoke_20260324_v2",
      "run_id": "20260323T182525386347Z",
      "run_uid": "20260323T182525386347Z",
      "run_key": "20260323T182525386347Z",
      "created_at": "2026-03-24 02:25:25.410798+08:00",
      "updated_at": "2026-04-04T07:27:40.116340Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/",
        "llm_dir": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/llm/",
        "manifest": "/novel2video/runs/entity_registry_smoke_20260324_v2/run_manifest.json",
        "project": "/novel2video/runs/entity_registry_smoke_20260324_v2/project.json",
        "report_html": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/entity_registry_smoke_20260324_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "entity_registry_smoke_20260324_v1",
      "run_id": "20260323T182144703042Z",
      "run_uid": "20260323T182144703042Z",
      "run_key": "20260323T182144703042Z",
      "created_at": "2026-03-24 02:21:44.728527+08:00",
      "updated_at": "2026-04-04T07:27:40.122435Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/",
        "llm_dir": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/llm/",
        "manifest": "/novel2video/runs/entity_registry_smoke_20260324_v1/run_manifest.json",
        "project": "/novel2video/runs/entity_registry_smoke_20260324_v1/project.json",
        "report_html": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/entity_registry_smoke_20260324_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_top10_fullrun_20260323_v1",
      "run_id": "20260323T085506686956Z",
      "run_uid": "20260323T085506686956Z",
      "run_key": "20260323T085506686956Z",
      "created_at": "2026-03-23 16:55:06.688070+08:00",
      "updated_at": "2026-04-04T07:27:40.128336Z",
      "input_path": "/wwwb/aitools/writer/outputs/_derived_inputs/道祖是克苏鲁_前十章_utf8.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/project.json",
        "report_html": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_top10_fullrun_20260323_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "video_task_builder_smoke_20260323",
      "run_id": "20260323T062859995967Z",
      "run_uid": "20260323T062859995967Z",
      "run_key": "20260323T062859995967Z",
      "created_at": "2026-03-23 14:29:00.020763+08:00",
      "updated_at": "2026-04-04T07:27:40.215086Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/video_task_builder_smoke_20260323/logs/",
        "llm_dir": "/novel2video/runs/video_task_builder_smoke_20260323/logs/llm/",
        "manifest": "/novel2video/runs/video_task_builder_smoke_20260323/run_manifest.json",
        "project": "/novel2video/runs/video_task_builder_smoke_20260323/project.json",
        "report_html": "/novel2video/runs/video_task_builder_smoke_20260323/logs/run_report.html",
        "report_md": "/novel2video/runs/video_task_builder_smoke_20260323/logs/run_report.md",
        "metrics": "/novel2video/runs/video_task_builder_smoke_20260323/logs/run_metrics.json",
        "events": "/novel2video/runs/video_task_builder_smoke_20260323/logs/run_events.jsonl",
        "errors": "/novel2video/runs/video_task_builder_smoke_20260323/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/video_task_builder_smoke_20260323/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/video_task_builder_smoke_20260323/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "video_task_builder_smoke_20260323",
      "run_id": "20260323T062403989552Z",
      "run_uid": "20260323T062403989552Z",
      "run_key": "20260323T062403989552Z",
      "created_at": "2026-03-23 14:24:04.023314+08:00",
      "updated_at": "2026-04-04T07:27:40.231883Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/",
        "llm_dir": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/llm/",
        "manifest": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/run_manifest.json",
        "project": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/project.json",
        "report_html": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/run_report.html",
        "report_md": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/run_report.md",
        "metrics": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/run_metrics.json",
        "events": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/run_events.jsonl",
        "errors": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T062403989552Z__before__20260323T062859995967Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "video_task_builder_smoke_20260323_v2",
      "run_id": "20260323T062228617826Z",
      "run_uid": "20260323T062228617826Z",
      "run_key": "20260323T062228617826Z",
      "created_at": "2026-03-23 14:22:28.639849+08:00",
      "updated_at": "2026-04-04T07:27:40.247758Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/video_task_builder_smoke_20260323_v2/logs/",
        "llm_dir": "/novel2video/runs/video_task_builder_smoke_20260323_v2/logs/llm/",
        "manifest": "/novel2video/runs/video_task_builder_smoke_20260323_v2/run_manifest.json",
        "project": "/novel2video/runs/video_task_builder_smoke_20260323_v2/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/video_task_builder_smoke_20260323_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/video_task_builder_smoke_20260323_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/video_task_builder_smoke_20260323_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/video_task_builder_smoke_20260323_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "video_task_builder_smoke_20260323",
      "run_id": "20260323T055635792940Z",
      "run_uid": "20260323T055635792940Z",
      "run_key": "20260323T055635792940Z",
      "created_at": "2026-03-23 13:56:35.815883+08:00",
      "updated_at": "2026-04-04T07:27:40.250593Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/",
        "llm_dir": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/llm/",
        "manifest": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/run_manifest.json",
        "project": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/project.json",
        "report_html": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/run_report.html",
        "report_md": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/run_report.md",
        "metrics": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/run_metrics.json",
        "events": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/run_events.jsonl",
        "errors": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/video_task_builder_smoke_20260323/logs/_archive/20260323T055635792940Z__before__20260323T062403989552Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_timeline_cn_20260323",
      "run_id": "20260322T213222126606Z",
      "run_uid": "20260322T213222126606Z",
      "run_key": "20260322T213222126606Z",
      "created_at": "2026-03-23 05:32:22.152449+08:00",
      "updated_at": "2026-04-04T07:27:40.266784Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/",
        "llm_dir": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/llm/",
        "manifest": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/run_manifest.json",
        "project": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/project.json",
        "report_html": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_timeline_cn_20260323",
      "run_id": "20260322T212828751147Z",
      "run_uid": "20260322T212828751147Z",
      "run_key": "20260322T212828751147Z",
      "created_at": "2026-03-23 05:28:28.775023+08:00",
      "updated_at": "2026-04-04T07:27:40.298355Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/",
        "llm_dir": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/llm/",
        "manifest": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/project.json",
        "report_html": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_storyboard_timeline_cn_20260323/logs/_archive/20260322T212828751147Z__before__20260322T213222126606Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_timeline_cn_20260323",
      "run_id": "20260322T212727166340Z",
      "run_uid": "20260322T212727166340Z",
      "run_key": "20260322T212727166340Z",
      "created_at": "2026-03-23 05:27:27.191374+08:00",
      "updated_at": "2026-04-04T07:27:40.331141Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "detached",
      "is_current_live": false,
      "archive_rel": "",
      "web_paths": {},
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_timeline_coldstart_20260323_v1",
      "run_id": "20260322T190615747984Z",
      "run_uid": "20260322T190615747984Z",
      "run_key": "20260322T190615747984Z",
      "created_at": "2026-03-23 03:06:15.773340+08:00",
      "updated_at": "2026-04-04T07:27:40.361837Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/project.json",
        "report_html": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_timeline_coldstart_20260323_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_coldstart_20260322_v2",
      "run_id": "20260322T190225349451Z",
      "run_uid": "20260322T190225349451Z",
      "run_key": "20260322T190225349451Z",
      "created_at": "2026-03-23 03:02:25.374760+08:00",
      "updated_at": "2026-04-04T07:27:40.463626Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/",
        "llm_dir": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/llm/",
        "manifest": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/run_manifest.json",
        "project": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/project.json",
        "report_html": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_coldstart_20260322_v2",
      "run_id": "20260322T152203558566Z",
      "run_uid": "20260322T152203558566Z",
      "run_key": "20260322T152203558566Z",
      "created_at": "2026-03-22 23:22:03.582453+08:00",
      "updated_at": "2026-04-04T07:27:40.537127Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/",
        "llm_dir": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/llm/",
        "manifest": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/project.json",
        "report_html": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/run_report.html",
        "report_md": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/run_report.md",
        "metrics": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/run_metrics.json",
        "events": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_storyboard_coldstart_20260322_v2/logs/_archive/20260322T152203558566Z__before__20260322T190225349451Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_large_20260322_v1",
      "run_id": "20260322T150609273872Z",
      "run_uid": "20260322T150609273872Z",
      "run_key": "20260322T150609273872Z",
      "created_at": "2026-03-22 23:06:09.299088+08:00",
      "updated_at": "2026-04-04T07:27:40.612459Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_storyboard_large_20260322_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_storyboard_large_20260322_v1/project.json",
        "report_html": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_storyboard_large_20260322_v1",
      "run_id": "20260322T133117634415Z",
      "run_uid": "20260322T133117634415Z",
      "run_key": "20260322T133117634415Z",
      "created_at": "2026-03-22 21:31:17.658058+08:00",
      "updated_at": "2026-04-04T07:27:40.668807Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "archive",
      "is_current_live": false,
      "archive_rel": "logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z/",
        "llm_dir": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z/llm/",
        "manifest": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z/run_manifest.json",
        "project": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_storyboard_large_20260322_v1/logs/_archive/20260322T133117634415Z__before__20260322T150609273872Z/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "storyboard_rollout_smoke_20260322_v3",
      "run_id": "20260322T132737985375Z",
      "run_uid": "20260322T132737985375Z",
      "run_key": "20260322T132737985375Z",
      "created_at": "2026-03-22 21:27:38.009909+08:00",
      "updated_at": "2026-04-04T07:27:40.726627Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/",
        "llm_dir": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/llm/",
        "manifest": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/run_manifest.json",
        "project": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/project.json",
        "report_html": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/run_report.html",
        "report_md": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/run_report.md",
        "metrics": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/run_metrics.json",
        "events": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/run_events.jsonl",
        "errors": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/storyboard_rollout_smoke_20260322_v3/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "storyboard_rollout_smoke_20260322_v2",
      "run_id": "20260322T132359426492Z",
      "run_uid": "20260322T132359426492Z",
      "run_key": "20260322T132359426492Z",
      "created_at": "2026-03-22 21:23:59.450669+08:00",
      "updated_at": "2026-04-04T07:27:40.738588Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/",
        "llm_dir": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/llm/",
        "manifest": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/run_manifest.json",
        "project": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/project.json",
        "report_html": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/run_report.html",
        "report_md": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/run_report.md",
        "metrics": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/run_metrics.json",
        "events": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/storyboard_rollout_smoke_20260322_v2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "storyboard_rollout_smoke_20260322_v1",
      "run_id": "20260322T132232266171Z",
      "run_uid": "20260322T132232266171Z",
      "run_key": "20260322T132232266171Z",
      "created_at": "2026-03-22 21:22:32.291075+08:00",
      "updated_at": "2026-04-04T07:27:40.749839Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/storyboard_rollout_smoke_20260322_v1/logs/",
        "llm_dir": "/novel2video/runs/storyboard_rollout_smoke_20260322_v1/logs/llm/",
        "manifest": "/novel2video/runs/storyboard_rollout_smoke_20260322_v1/run_manifest.json",
        "project": "/novel2video/runs/storyboard_rollout_smoke_20260322_v1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/storyboard_rollout_smoke_20260322_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/storyboard_rollout_smoke_20260322_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/storyboard_rollout_smoke_20260322_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/storyboard_rollout_smoke_20260322_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_script_chronology_smoke_20260322_v1",
      "run_id": "20260322T122445799496Z",
      "run_uid": "20260322T122445799496Z",
      "run_key": "20260322T122445799496Z",
      "created_at": "2026-03-22 20:24:45.823570+08:00",
      "updated_at": "2026-04-04T07:27:40.752622Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/project.json",
        "report_html": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_script_chronology_smoke_20260322_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_chronology_large_20260322_from_kg30_v1",
      "run_id": "20260322T114726583406Z",
      "run_uid": "20260322T114726583406Z",
      "run_key": "20260322T114726583406Z",
      "created_at": "2026-03-22 19:47:26.607554+08:00",
      "updated_at": "2026-04-04T07:27:40.769117Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/project.json",
        "report_html": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_chronology_large_20260322_from_kg30_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_chronology_large_20260322_v1",
      "run_id": "20260322T114342062579Z",
      "run_uid": "20260322T114342062579Z",
      "run_key": "20260322T114342062579Z",
      "created_at": "2026-03-22 19:43:42.085932+08:00",
      "updated_at": "2026-04-04T07:27:40.791112Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "canceled",
      "errors": 1,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_chronology_large_20260322_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_chronology_large_20260322_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_chronology_large_20260322_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_chronology_large_20260322_v1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_chronology_large_20260322_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_chronology_large_20260322_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_chronology_large_20260322_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_chronology_large_20260322_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_chronology_smoke_20260322",
      "run_id": "20260322T104930010242Z",
      "run_uid": "20260322T104930010242Z",
      "run_key": "20260322T104930010242Z",
      "created_at": "2026-03-22 18:49:30.035030+08:00",
      "updated_at": "2026-04-04T07:27:40.797176Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/",
        "llm_dir": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/llm/",
        "manifest": "/novel2video/runs/daozu_chronology_smoke_20260322/run_manifest.json",
        "project": "/novel2video/runs/daozu_chronology_smoke_20260322/project.json",
        "report_html": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_chronology_smoke_20260322/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_large_20260322_residualfix",
      "run_id": "20260322T045649833344Z",
      "run_uid": "20260322T045649833344Z",
      "run_key": "20260322T045649833344Z",
      "created_at": "2026-03-22 12:56:49.857015+08:00",
      "updated_at": "2026-04-04T07:27:40.810562Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_large_20260322_residualfix/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_large_20260322_residualfix/project.json",
        "report_html": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_large_20260322_residualfix/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_large_20260322_relationfix",
      "run_id": "20260322T034230712687Z",
      "run_uid": "20260322T034230712687Z",
      "run_key": "20260322T034230712687Z",
      "created_at": "2026-03-22 11:42:30.736589+08:00",
      "updated_at": "2026-04-04T07:27:40.824311Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_large_20260322_relationfix/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_large_20260322_relationfix/project.json",
        "report_html": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_large_20260322_relationfix/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_large_20260321_generic_rerun_fix3",
      "run_id": "20260321T152356144799Z",
      "run_uid": "20260321T152356144799Z",
      "run_key": "20260321T152356144799Z",
      "created_at": "2026-03-21 23:23:56.168798+08:00",
      "updated_at": "2026-04-04T07:27:40.837235Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/project.json",
        "report_html": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix3/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_loopfix_smoke5",
      "run_id": "20260321T151733707828Z",
      "run_uid": "20260321T151733707828Z",
      "run_key": "20260321T151733707828Z",
      "created_at": "2026-03-21 23:17:33.733132+08:00",
      "updated_at": "2026-04-04T07:27:40.846523Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_loopfix_smoke5/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_loopfix_smoke5/project.json",
        "report_html": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_loopfix_smoke5/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_large_20260321_generic_rerun_fix2",
      "run_id": "20260321T143756907852Z",
      "run_uid": "20260321T143756907852Z",
      "run_key": "20260321T143756907852Z",
      "created_at": "2026-03-21 22:37:56.931425+08:00",
      "updated_at": "2026-04-04T07:27:40.851182Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/project.json",
        "report_html": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix2/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_generic_fix2_smoke",
      "run_id": "20260321T143415755175Z",
      "run_uid": "20260321T143415755175Z",
      "run_key": "20260321T143415755175Z",
      "created_at": "2026-03-21 22:34:15.778881+08:00",
      "updated_at": "2026-04-04T07:27:40.859830Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_generic_fix2_smoke/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_generic_fix2_smoke/project.json",
        "report_html": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_generic_fix2_smoke/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_large_20260321_generic_rerun_fix1",
      "run_id": "20260321T135243077445Z",
      "run_uid": "20260321T135243077445Z",
      "run_key": "20260321T135243077445Z",
      "created_at": "2026-03-21 21:52:43.101088+08:00",
      "updated_at": "2026-04-04T07:27:40.863726Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix1/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix1/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix1/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun_fix1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_generic_smoke_fix1",
      "run_id": "20260321T134918714368Z",
      "run_uid": "20260321T134918714368Z",
      "run_key": "20260321T134918714368Z",
      "created_at": "2026-03-21 21:49:18.737833+08:00",
      "updated_at": "2026-04-04T07:27:40.872211Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_generic_smoke_fix1/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_generic_smoke_fix1/project.json",
        "report_html": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_generic_smoke_fix1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_large_20260321_generic_rerun",
      "run_id": "20260321T133114074073Z",
      "run_uid": "20260321T133114074073Z",
      "run_key": "20260321T133114074073Z",
      "created_at": "2026-03-21 21:31:14.097744+08:00",
      "updated_at": "2026-04-04T07:27:40.876777Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "running",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun/project.json",
        "report_html": "",
        "report_md": "",
        "metrics": "",
        "events": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_large_20260321_generic_rerun/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_large_20260321_p0_rerun",
      "run_id": "20260321T111654884392Z",
      "run_uid": "20260321T111654884392Z",
      "run_key": "20260321T111654884392Z",
      "created_at": "2026-03-21 19:16:54.908145+08:00",
      "updated_at": "2026-04-04T07:27:40.883852Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/project.json",
        "report_html": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_large_20260321_p0_rerun/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    },
    {
      "run_dir": "daozu_kg_large_20260321_v1",
      "run_id": "20260321T080102567798Z",
      "run_uid": "20260321T080102567798Z",
      "run_key": "20260321T080102567798Z",
      "created_at": "2026-03-21 16:01:02.592107+08:00",
      "updated_at": "2026-04-04T07:27:40.897012Z",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "provider": "deepseek",
      "video_provider": "doubao",
      "status": "ok",
      "errors": 0,
      "trace_scope": "live",
      "is_current_live": true,
      "archive_rel": "",
      "web_paths": {
        "run_root": "",
        "logs_dir": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/",
        "llm_dir": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/llm/",
        "manifest": "/novel2video/runs/daozu_kg_large_20260321_v1/run_manifest.json",
        "project": "/novel2video/runs/daozu_kg_large_20260321_v1/project.json",
        "report_html": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/run_report.html",
        "report_md": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/run_report.md",
        "metrics": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/run_metrics.json",
        "events": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/run_events.jsonl",
        "errors": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/run_errors.jsonl",
        "stage_timings": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/stage_timings.jsonl",
        "llm_calls": "/novel2video/runs/daozu_kg_large_20260321_v1/logs/llm_calls.jsonl"
      },
      "paths": {
        "project": "project.json",
        "manifest": "run_manifest.json",
        "chunks": "01_chunks.json",
        "ontology_samples": "01b_ontology_samples.json",
        "ontology_candidates": "01c_ontology_candidates.json",
        "ontology_doc": "01d_ontology.json",
        "kg": "02_kg.json",
        "kg_store": "02_kg_store.json",
        "kg_observations": "02_kg_observations.jsonl",
        "kg_closure": "02a_kg_closure.json",
        "kg_store_closure": "02a_kg_store_closure.json",
        "kg_closure_decisions": "02a_kg_closure_decisions.json",
        "type_candidates": "02b_type_candidates.json",
        "type_consolidation": "02c_type_consolidation.json",
        "kg_consolidated": "02d_kg_consolidated.json",
        "kg_store_consolidated": "02d_kg_store_consolidated.json",
        "entity_registry": "02e_entity_registry.json",
        "entity_visual_cards": "02f_entity_visual_cards.json",
        "entity_voice_cards": "02g_entity_voice_cards.json",
        "entity_assets": "02h_entity_assets.json",
        "kg_lite": "02i_kg_lite.json",
        "kg_lite_store": "02i_kg_lite_store.json",
        "kg_lite_decisions": "02i_kg_lite_decisions.json",
        "kg_deep": "02j_kg_deep.json",
        "kg_deep_store": "02j_kg_deep_store.json",
        "kg_deep_decisions": "02j_kg_deep_decisions.json",
        "scenes": "03_scenes.json",
        "chronology": "03b_chronology.json",
        "adaptation": "03c_adaptation.json",
        "screenplay": "03d_screenplay.json",
        "dramart_package": "03e_dramart_package.json",
        "dramart_upload_script": "03e_dramart_upload_script.md",
        "dramart_review_state": "03f_dramart_review_state.json",
        "scripts": "04_scripts.json",
        "style_bible": "04b_style_bible.json",
        "storyboard": "05_storyboard.json",
        "prompt_guard": "05b_storyboard_guard.json",
        "dramart_storyboard": "05c_dramart_storyboard.json",
        "timeline": "06_timeline.json",
        "audio_tasks": "06b_audio_tasks.json",
        "audio_results": "06c_audio_results.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.json",
        "manual_video_runs": "07b_manual_video_runs.json",
        "manual_video_eval": "07c_manual_video_eval.json",
        "events": "logs/run_events.jsonl",
        "errors": "logs/run_errors.jsonl",
        "stage_timings": "logs/stage_timings.jsonl",
        "llm_calls": "logs/llm_calls.jsonl",
        "report_html": "logs/run_report.html",
        "report_md": "logs/run_report.md",
        "metrics": "logs/run_metrics.json"
      }
    }
  ]
}