{
  "version": "1.0",
  "generated_at": "2026-03-21T03:14:40.484036Z",
  "candidate_run_dir": "outputs/daozu_tc_highconf_12_20260321_v1",
  "baseline_run_dir": "outputs/daozu_kg_disambig_v3_12_20260321",
  "gate_config": {
    "max_run_errors": 0,
    "require_stage_status_ok": true,
    "chunks": {
      "min_chunks": 1,
      "oversize_tolerance_chars": 80,
      "max_oversize_ratio": 0.0,
      "min_avg_fill_ratio": 0.55
    },
    "ontology": {
      "min_samples": 1,
      "min_candidate_entity_types": 3,
      "min_candidate_relation_types": 3,
      "min_entity_taxonomy": 8,
      "min_relation_taxonomy": 4
    },
    "kg": {
      "min_entities_per_chunk": 1.0,
      "min_relations_per_chunk": 1.0,
      "min_observations_per_chunk": 8.0,
      "max_ambiguous_entity_forks": 6,
      "require_ontology_loaded": true,
      "min_supplement_ratio_when_high_density": 0.3
    },
    "type_consolidation": {
      "max_other_after_abs": 3,
      "max_other_after_ratio": 0.2,
      "require_not_worse_than_before": true
    },
    "baseline_diff": {
      "min_relations_delta_pct": -20.0,
      "min_observations_delta_pct": -20.0,
      "max_other_after_delta": 1,
      "max_llm_calls_delta_pct": 50.0,
      "max_run_errors_delta": 0
    },
    "golden_manifest": {
      "min_match_ratio": 1.0,
      "allow_missing_chunks": false
    }
  },
  "candidate": {
    "summary": {
      "run_dir": "daozu_tc_highconf_12_20260321_v1",
      "run_id": "20260321T020915Z",
      "created_at": "2026-03-21T02:09:15.044265Z",
      "out_dir": "outputs/daozu_tc_highconf_12_20260321_v1",
      "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
      "input_sha256": "5c05796b90b9a1956f3fe767cd8288965db478acac5dbed44f64419f0fea185d",
      "provider": "deepseek",
      "video_provider": "doubao",
      "enable_video": false,
      "style_preset": "cinematic, detailed, consistent character design, coherent lighting",
      "limits": {
        "max_chars": 1800,
        "limit_chunks": 12,
        "limit_scenes": null,
        "limit_shots": null
      },
      "status": "ok",
      "errors": 0,
      "counts": {
        "chunks": 12,
        "ontology_samples": 12,
        "ontology_candidate_entity_types": 4,
        "ontology_candidate_relation_types": 6,
        "ontology_entity_taxonomy": 13,
        "ontology_relation_taxonomy": 6,
        "observations": 258,
        "entities": 69,
        "relations": 77,
        "type_candidates": 55,
        "type_apply_type_count": 3,
        "type_apply_subtype_count": 20,
        "type_other_before": 4,
        "type_other_after": 1,
        "scenes": 0,
        "scripts": 0,
        "shots": 0,
        "storyboards": 0,
        "segments": 0,
        "captions": 0,
        "video_tasks": 0,
        "video_results": 0
      },
      "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",
        "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",
        "scenes": "03_scenes.json",
        "scripts": "04_scripts.json",
        "storyboard": "05_storyboard.json",
        "timeline": "06_timeline.json",
        "video_tasks": "07_video_tasks.json",
        "video_results": "07_video_results.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"
      },
      "updated_at": "2026-03-21T03:14:40.452673Z"
    },
    "counts": {
      "chunks": 12,
      "ontology_samples": 12,
      "ontology_candidate_entity_types": 4,
      "ontology_candidate_relation_types": 6,
      "ontology_entity_taxonomy": 13,
      "ontology_relation_taxonomy": 6,
      "observations": 258,
      "entities": 69,
      "relations": 77,
      "type_candidates": 55,
      "type_apply_type_count": 3,
      "type_apply_subtype_count": 20,
      "type_other_before": 4,
      "type_other_after": 1,
      "scenes": 0,
      "scripts": 0,
      "shots": 0,
      "storyboards": 0,
      "segments": 0,
      "captions": 0,
      "video_tasks": 0,
      "video_results": 0,
      "llm_calls": 16,
      "run_errors": 0
    },
    "stage_metrics": {
      "chunks": {
        "status": "ok",
        "duration_sec": 0.899,
        "metrics": {
          "chunks": 12,
          "max_chars": 1800,
          "limit_chunks": 12,
          "resumed": false
        }
      },
      "ontology": {
        "status": "ok",
        "duration_sec": 0.079,
        "metrics": {
          "samples": 12,
          "candidate_entity_types": 4,
          "candidate_relation_types": 6,
          "taxonomy_entity_types": 13,
          "taxonomy_relations": 6,
          "resumed": false
        }
      },
      "kg": {
        "status": "ok",
        "duration_sec": 735.114,
        "metrics": {
          "entities": 69,
          "relations": 77,
          "observations": 258,
          "ambiguous_entity_forks": 2,
          "chunks": 12,
          "ontology_loaded": true,
          "high_density_chunks": 6,
          "supplement_chunks": 4,
          "max_entity_limit": 14,
          "max_relation_limit": 14,
          "resumed": false
        }
      },
      "type_consolidation": {
        "status": "ok",
        "duration_sec": 0.083,
        "metrics": {
          "candidates": 55,
          "apply_type_count": 3,
          "apply_subtype_count": 20,
          "review_type_count": 8,
          "review_subtype_count": 10,
          "other_before": 4,
          "other_after": 1,
          "ontology_loaded": true,
          "resumed": false
        }
      }
    }
  },
  "candidate_validation": {
    "artifact_paths": {
      "chunks": "outputs/daozu_tc_highconf_12_20260321_v1/01_chunks.json",
      "ontology_samples": "outputs/daozu_tc_highconf_12_20260321_v1/01b_ontology_samples.json",
      "ontology_candidates": "outputs/daozu_tc_highconf_12_20260321_v1/01c_ontology_candidates.json",
      "ontology_doc": "outputs/daozu_tc_highconf_12_20260321_v1/01d_ontology.json",
      "kg_store": "outputs/daozu_tc_highconf_12_20260321_v1/02_kg_store.json",
      "kg_summary": "outputs/daozu_tc_highconf_12_20260321_v1/02_kg.json",
      "type_candidates": "outputs/daozu_tc_highconf_12_20260321_v1/02b_type_candidates.json",
      "type_consolidation": "outputs/daozu_tc_highconf_12_20260321_v1/02c_type_consolidation.json"
    },
    "missing": [],
    "errors": {
      "chunks": [],
      "ontology_samples": [],
      "ontology_candidates": [],
      "ontology_doc": [],
      "kg_store": [],
      "kg_summary": [],
      "type_candidates": [],
      "type_consolidation": []
    },
    "is_valid": true
  },
  "checks": [
    {
      "id": "schema.candidate",
      "stage": "phase1",
      "status": "pass",
      "severity": "error",
      "message": "phase-1 candidate artifacts passed schema validation",
      "actual": null,
      "expected": null
    },
    {
      "id": "run.errors",
      "stage": "phase1",
      "status": "pass",
      "severity": "error",
      "message": "run error count is within gate threshold",
      "actual": 0,
      "expected": {
        "max_run_errors": 0
      }
    },
    {
      "id": "stage_status.chunks",
      "stage": "chunks",
      "status": "pass",
      "severity": "error",
      "message": "chunks stage completed with status ok",
      "actual": "ok",
      "expected": "ok"
    },
    {
      "id": "stage_status.ontology",
      "stage": "ontology",
      "status": "pass",
      "severity": "error",
      "message": "ontology stage completed with status ok",
      "actual": "ok",
      "expected": "ok"
    },
    {
      "id": "stage_status.kg",
      "stage": "kg",
      "status": "pass",
      "severity": "error",
      "message": "kg stage completed with status ok",
      "actual": "ok",
      "expected": "ok"
    },
    {
      "id": "stage_status.type_consolidation",
      "stage": "type_consolidation",
      "status": "pass",
      "severity": "error",
      "message": "type_consolidation stage completed with status ok",
      "actual": "ok",
      "expected": "ok"
    },
    {
      "id": "chunks.count",
      "stage": "chunks",
      "status": "pass",
      "severity": "error",
      "message": "chunk count meets minimum threshold",
      "actual": 12,
      "expected": {
        "min_chunks": 1
      }
    },
    {
      "id": "chunks.oversize_ratio",
      "stage": "chunks",
      "status": "pass",
      "severity": "error",
      "message": "oversize chunks stay within threshold",
      "actual": {
        "oversize_count": 0,
        "oversize_ratio": 0.0,
        "max_chars": 1800,
        "tolerance": 80
      },
      "expected": {
        "max_oversize_ratio": 0.0
      }
    },
    {
      "id": "chunks.avg_fill_ratio",
      "stage": "chunks",
      "status": "pass",
      "severity": "warn",
      "message": "average chunk fill ratio looks healthy",
      "actual": 0.97213,
      "expected": {
        "min_avg_fill_ratio": 0.55
      }
    },
    {
      "id": "ontology.samples",
      "stage": "ontology",
      "status": "pass",
      "severity": "error",
      "message": "samples meets minimum threshold",
      "actual": 12,
      "expected": {
        "min": 1
      }
    },
    {
      "id": "ontology.candidate_entity_types",
      "stage": "ontology",
      "status": "pass",
      "severity": "error",
      "message": "candidate_entity_types meets minimum threshold",
      "actual": 4,
      "expected": {
        "min": 3
      }
    },
    {
      "id": "ontology.candidate_relation_types",
      "stage": "ontology",
      "status": "pass",
      "severity": "error",
      "message": "candidate_relation_types meets minimum threshold",
      "actual": 6,
      "expected": {
        "min": 3
      }
    },
    {
      "id": "ontology.entity_taxonomy",
      "stage": "ontology",
      "status": "pass",
      "severity": "error",
      "message": "entity_taxonomy meets minimum threshold",
      "actual": 13,
      "expected": {
        "min": 8
      }
    },
    {
      "id": "ontology.relation_taxonomy",
      "stage": "ontology",
      "status": "pass",
      "severity": "error",
      "message": "relation_taxonomy meets minimum threshold",
      "actual": 6,
      "expected": {
        "min": 4
      }
    },
    {
      "id": "kg.entities_per_chunk",
      "stage": "kg",
      "status": "pass",
      "severity": "error",
      "message": "entities_per_chunk meets minimum threshold",
      "actual": 5.75,
      "expected": {
        "min": 1.0
      }
    },
    {
      "id": "kg.relations_per_chunk",
      "stage": "kg",
      "status": "pass",
      "severity": "error",
      "message": "relations_per_chunk meets minimum threshold",
      "actual": 6.416667,
      "expected": {
        "min": 1.0
      }
    },
    {
      "id": "kg.observations_per_chunk",
      "stage": "kg",
      "status": "pass",
      "severity": "error",
      "message": "observations_per_chunk meets minimum threshold",
      "actual": 21.5,
      "expected": {
        "min": 8.0
      }
    },
    {
      "id": "kg.ambiguous_entity_forks",
      "stage": "kg",
      "status": "pass",
      "severity": "error",
      "message": "ambiguous entity forks stay within threshold",
      "actual": 2,
      "expected": {
        "max": 6
      }
    },
    {
      "id": "kg.ontology_loaded",
      "stage": "kg",
      "status": "pass",
      "severity": "error",
      "message": "kg stage loaded ontology constraints",
      "actual": true,
      "expected": true
    },
    {
      "id": "kg.supplement_ratio",
      "stage": "kg",
      "status": "pass",
      "severity": "warn",
      "message": "high-density chunks triggered supplement extraction often enough",
      "actual": {
        "high_density_chunks": 6,
        "supplement_chunks": 4,
        "ratio": 0.666667
      },
      "expected": {
        "min_ratio": 0.3
      }
    },
    {
      "id": "type.other_not_worse",
      "stage": "type_consolidation",
      "status": "pass",
      "severity": "error",
      "message": "type consolidation does not increase '其他'",
      "actual": {
        "other_before": 4,
        "other_after": 1
      },
      "expected": "other_after <= other_before"
    },
    {
      "id": "type.other_after_limit",
      "stage": "type_consolidation",
      "status": "pass",
      "severity": "error",
      "message": "post-consolidation '其他' count stays within threshold",
      "actual": 1,
      "expected": {
        "max": 3,
        "max_abs": 3,
        "max_ratio": 0.2
      }
    },
    {
      "id": "baseline.relations_delta_pct",
      "stage": "phase1",
      "status": "pass",
      "severity": "error",
      "message": "relations delta stays within regression threshold",
      "actual": 0.0,
      "expected": {
        "min_relations_delta_pct": -20.0
      }
    },
    {
      "id": "baseline.observations_delta_pct",
      "stage": "phase1",
      "status": "pass",
      "severity": "error",
      "message": "observations delta stays within regression threshold",
      "actual": -5.839,
      "expected": {
        "min_observations_delta_pct": -20.0
      }
    },
    {
      "id": "baseline.type_other_after_delta",
      "stage": "type_consolidation",
      "status": "pass",
      "severity": "error",
      "message": "type_consolidation other_after did not regress materially",
      "actual": -2,
      "expected": {
        "max_delta": 1
      }
    },
    {
      "id": "baseline.llm_calls_delta_pct",
      "stage": "phase1",
      "status": "pass",
      "severity": "error",
      "message": "llm_calls growth stays within threshold",
      "actual": -5.882,
      "expected": {
        "max_delta_pct": 50.0
      }
    },
    {
      "id": "baseline.run_errors_delta",
      "stage": "phase1",
      "status": "pass",
      "severity": "error",
      "message": "run_errors did not regress",
      "actual": 0,
      "expected": {
        "max_delta": 0
      }
    }
  ],
  "summary": {
    "check_count": 27,
    "failure_count": 0,
    "warning_count": 0
  },
  "regression_report": {
    "version": "1.0",
    "generated_at": "2026-03-21T03:14:40.465242Z",
    "candidate": {
      "summary": {
        "run_dir": "daozu_tc_highconf_12_20260321_v1",
        "run_id": "20260321T020915Z",
        "created_at": "2026-03-21T02:09:15.044265Z",
        "out_dir": "outputs/daozu_tc_highconf_12_20260321_v1",
        "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
        "input_sha256": "5c05796b90b9a1956f3fe767cd8288965db478acac5dbed44f64419f0fea185d",
        "provider": "deepseek",
        "video_provider": "doubao",
        "enable_video": false,
        "style_preset": "cinematic, detailed, consistent character design, coherent lighting",
        "limits": {
          "max_chars": 1800,
          "limit_chunks": 12,
          "limit_scenes": null,
          "limit_shots": null
        },
        "status": "ok",
        "errors": 0,
        "counts": {
          "chunks": 12,
          "ontology_samples": 12,
          "ontology_candidate_entity_types": 4,
          "ontology_candidate_relation_types": 6,
          "ontology_entity_taxonomy": 13,
          "ontology_relation_taxonomy": 6,
          "observations": 258,
          "entities": 69,
          "relations": 77,
          "type_candidates": 55,
          "type_apply_type_count": 3,
          "type_apply_subtype_count": 20,
          "type_other_before": 4,
          "type_other_after": 1,
          "scenes": 0,
          "scripts": 0,
          "shots": 0,
          "storyboards": 0,
          "segments": 0,
          "captions": 0,
          "video_tasks": 0,
          "video_results": 0
        },
        "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",
          "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",
          "scenes": "03_scenes.json",
          "scripts": "04_scripts.json",
          "storyboard": "05_storyboard.json",
          "timeline": "06_timeline.json",
          "video_tasks": "07_video_tasks.json",
          "video_results": "07_video_results.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"
        },
        "updated_at": "2026-03-21T03:14:40.458996Z"
      },
      "counts": {
        "chunks": 12,
        "ontology_samples": 12,
        "ontology_candidate_entity_types": 4,
        "ontology_candidate_relation_types": 6,
        "ontology_entity_taxonomy": 13,
        "ontology_relation_taxonomy": 6,
        "observations": 258,
        "entities": 69,
        "relations": 77,
        "type_candidates": 55,
        "type_apply_type_count": 3,
        "type_apply_subtype_count": 20,
        "type_other_before": 4,
        "type_other_after": 1,
        "scenes": 0,
        "scripts": 0,
        "shots": 0,
        "storyboards": 0,
        "segments": 0,
        "captions": 0,
        "video_tasks": 0,
        "video_results": 0,
        "llm_calls": 16,
        "run_errors": 0
      },
      "stage_metrics": {
        "chunks": {
          "status": "ok",
          "duration_sec": 0.899,
          "metrics": {
            "chunks": 12,
            "max_chars": 1800,
            "limit_chunks": 12,
            "resumed": false
          }
        },
        "ontology": {
          "status": "ok",
          "duration_sec": 0.079,
          "metrics": {
            "samples": 12,
            "candidate_entity_types": 4,
            "candidate_relation_types": 6,
            "taxonomy_entity_types": 13,
            "taxonomy_relations": 6,
            "resumed": false
          }
        },
        "kg": {
          "status": "ok",
          "duration_sec": 735.114,
          "metrics": {
            "entities": 69,
            "relations": 77,
            "observations": 258,
            "ambiguous_entity_forks": 2,
            "chunks": 12,
            "ontology_loaded": true,
            "high_density_chunks": 6,
            "supplement_chunks": 4,
            "max_entity_limit": 14,
            "max_relation_limit": 14,
            "resumed": false
          }
        },
        "type_consolidation": {
          "status": "ok",
          "duration_sec": 0.083,
          "metrics": {
            "candidates": 55,
            "apply_type_count": 3,
            "apply_subtype_count": 20,
            "review_type_count": 8,
            "review_subtype_count": 10,
            "other_before": 4,
            "other_after": 1,
            "ontology_loaded": true,
            "resumed": false
          }
        }
      }
    },
    "baseline": {
      "summary": {
        "run_dir": "daozu_kg_disambig_v3_12_20260321",
        "run_id": "20260321T002028Z",
        "created_at": "2026-03-21T00:20:28.878837Z",
        "out_dir": "outputs/daozu_kg_disambig_v3_12_20260321",
        "input_path": "/wwwb/aitools/writer/input/道祖是克苏鲁.txt",
        "input_sha256": "5c05796b90b9a1956f3fe767cd8288965db478acac5dbed44f64419f0fea185d",
        "provider": "deepseek",
        "video_provider": "doubao",
        "enable_video": false,
        "style_preset": "cinematic, detailed, consistent character design, coherent lighting",
        "limits": {
          "max_chars": 1800,
          "limit_chunks": 12,
          "limit_scenes": null,
          "limit_shots": null
        },
        "status": "ok",
        "errors": 0,
        "counts": {
          "chunks": 12,
          "ontology_samples": 12,
          "ontology_candidate_entity_types": 4,
          "ontology_candidate_relation_types": 6,
          "ontology_entity_taxonomy": 13,
          "ontology_relation_taxonomy": 6,
          "observations": 274,
          "entities": 67,
          "relations": 77,
          "type_candidates": 58,
          "type_apply_type_count": 5,
          "type_apply_subtype_count": 34,
          "type_other_before": 8,
          "type_other_after": 3,
          "scenes": 0,
          "scripts": 0,
          "shots": 0,
          "storyboards": 0,
          "segments": 0,
          "captions": 0,
          "video_tasks": 0,
          "video_results": 0
        },
        "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",
          "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",
          "scenes": "03_scenes.json",
          "scripts": "04_scripts.json",
          "storyboard": "05_storyboard.json",
          "timeline": "06_timeline.json",
          "video_tasks": "07_video_tasks.json",
          "video_results": "07_video_results.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"
        },
        "updated_at": "2026-03-21T03:14:40.464776Z"
      },
      "counts": {
        "chunks": 12,
        "ontology_samples": 12,
        "ontology_candidate_entity_types": 4,
        "ontology_candidate_relation_types": 6,
        "ontology_entity_taxonomy": 13,
        "ontology_relation_taxonomy": 6,
        "observations": 274,
        "entities": 67,
        "relations": 77,
        "type_candidates": 58,
        "type_apply_type_count": 5,
        "type_apply_subtype_count": 34,
        "type_other_before": 8,
        "type_other_after": 3,
        "scenes": 0,
        "scripts": 0,
        "shots": 0,
        "storyboards": 0,
        "segments": 0,
        "captions": 0,
        "video_tasks": 0,
        "video_results": 0,
        "llm_calls": 17,
        "run_errors": 0
      },
      "stage_metrics": {
        "chunks": {
          "status": "ok",
          "duration_sec": 0.854,
          "metrics": {
            "chunks": 12,
            "max_chars": 1800,
            "limit_chunks": 12,
            "resumed": false
          }
        },
        "ontology": {
          "status": "ok",
          "duration_sec": 0.08,
          "metrics": {
            "samples": 12,
            "candidate_entity_types": 4,
            "candidate_relation_types": 6,
            "taxonomy_entity_types": 13,
            "taxonomy_relations": 6,
            "resumed": false
          }
        },
        "kg": {
          "status": "ok",
          "duration_sec": 683.006,
          "metrics": {
            "entities": 67,
            "relations": 77,
            "observations": 274,
            "ambiguous_entity_forks": 2,
            "chunks": 12,
            "ontology_loaded": true,
            "high_density_chunks": 6,
            "supplement_chunks": 5,
            "max_entity_limit": 14,
            "max_relation_limit": 14,
            "resumed": false
          }
        },
        "type_consolidation": {
          "status": "ok",
          "duration_sec": 0.084,
          "metrics": {
            "candidates": 58,
            "apply_type_count": 5,
            "apply_subtype_count": 34,
            "other_before": 8,
            "other_after": 3,
            "ontology_loaded": true,
            "resumed": false
          }
        }
      }
    },
    "candidate_validation": {
      "artifact_paths": {
        "chunks": "outputs/daozu_tc_highconf_12_20260321_v1/01_chunks.json",
        "ontology_samples": "outputs/daozu_tc_highconf_12_20260321_v1/01b_ontology_samples.json",
        "ontology_candidates": "outputs/daozu_tc_highconf_12_20260321_v1/01c_ontology_candidates.json",
        "ontology_doc": "outputs/daozu_tc_highconf_12_20260321_v1/01d_ontology.json",
        "kg_store": "outputs/daozu_tc_highconf_12_20260321_v1/02_kg_store.json",
        "kg_summary": "outputs/daozu_tc_highconf_12_20260321_v1/02_kg.json",
        "type_candidates": "outputs/daozu_tc_highconf_12_20260321_v1/02b_type_candidates.json",
        "type_consolidation": "outputs/daozu_tc_highconf_12_20260321_v1/02c_type_consolidation.json"
      },
      "missing": [],
      "errors": {
        "chunks": [],
        "ontology_samples": [],
        "ontology_candidates": [],
        "ontology_doc": [],
        "kg_store": [],
        "kg_summary": [],
        "type_candidates": [],
        "type_consolidation": []
      },
      "is_valid": true
    },
    "baseline_validation": {
      "artifact_paths": {
        "chunks": "outputs/daozu_kg_disambig_v3_12_20260321/01_chunks.json",
        "ontology_samples": "outputs/daozu_kg_disambig_v3_12_20260321/01b_ontology_samples.json",
        "ontology_candidates": "outputs/daozu_kg_disambig_v3_12_20260321/01c_ontology_candidates.json",
        "ontology_doc": "outputs/daozu_kg_disambig_v3_12_20260321/01d_ontology.json",
        "kg_store": "outputs/daozu_kg_disambig_v3_12_20260321/02_kg_store.json",
        "kg_summary": "outputs/daozu_kg_disambig_v3_12_20260321/02_kg.json",
        "type_candidates": "outputs/daozu_kg_disambig_v3_12_20260321/02b_type_candidates.json",
        "type_consolidation": "outputs/daozu_kg_disambig_v3_12_20260321/02c_type_consolidation.json"
      },
      "missing": [],
      "errors": {
        "chunks": [],
        "ontology_samples": [],
        "ontology_candidates": [],
        "ontology_doc": [],
        "kg_store": [],
        "kg_summary": [],
        "type_candidates": [],
        "type_consolidation": []
      },
      "is_valid": true
    },
    "diff": {
      "chunks": {
        "baseline": 12,
        "candidate": 12,
        "delta": 0,
        "pct": 0.0
      },
      "ontology_samples": {
        "baseline": 12,
        "candidate": 12,
        "delta": 0,
        "pct": 0.0
      },
      "ontology_candidate_entity_types": {
        "baseline": 4,
        "candidate": 4,
        "delta": 0,
        "pct": 0.0
      },
      "ontology_candidate_relation_types": {
        "baseline": 6,
        "candidate": 6,
        "delta": 0,
        "pct": 0.0
      },
      "ontology_entity_taxonomy": {
        "baseline": 13,
        "candidate": 13,
        "delta": 0,
        "pct": 0.0
      },
      "ontology_relation_taxonomy": {
        "baseline": 6,
        "candidate": 6,
        "delta": 0,
        "pct": 0.0
      },
      "entities": {
        "baseline": 67,
        "candidate": 69,
        "delta": 2,
        "pct": 2.985
      },
      "relations": {
        "baseline": 77,
        "candidate": 77,
        "delta": 0,
        "pct": 0.0
      },
      "observations": {
        "baseline": 274,
        "candidate": 258,
        "delta": -16,
        "pct": -5.839
      },
      "type_candidates": {
        "baseline": 58,
        "candidate": 55,
        "delta": -3,
        "pct": -5.172
      },
      "type_apply_type_count": {
        "baseline": 5,
        "candidate": 3,
        "delta": -2,
        "pct": -40.0
      },
      "type_apply_subtype_count": {
        "baseline": 34,
        "candidate": 20,
        "delta": -14,
        "pct": -41.176
      },
      "type_other_before": {
        "baseline": 8,
        "candidate": 4,
        "delta": -4,
        "pct": -50.0
      },
      "type_other_after": {
        "baseline": 3,
        "candidate": 1,
        "delta": -2,
        "pct": -66.667
      },
      "llm_calls": {
        "baseline": 17,
        "candidate": 16,
        "delta": -1,
        "pct": -5.882
      },
      "run_errors": {
        "baseline": 0,
        "candidate": 0,
        "delta": 0,
        "pct": null
      }
    },
    "golden_manifest": {},
    "status": "ok"
  },
  "status": "pass"
}