{
  "source_file": "/data/output/413c1304-55ae-4759-a405-edc2e532499b/input.xlsx",
  "facility_name": "qassim_sample.xlsx",
  "technology_type": "CCGT",
  "started_at": "2026-04-26T19:09:03.576656+00:00",
  "completed_at": "2026-04-26T19:09:03.810545+00:00",
  "overall_status": "error",
  "stages": [
    {
      "name": "parse",
      "started_at": "2026-04-26T19:09:03.576669+00:00",
      "completed_at": "2026-04-26T19:09:03.619980+00:00",
      "status": "success",
      "messages": [
        "Parsed 200 rows"
      ]
    },
    {
      "name": "classify",
      "started_at": "2026-04-26T19:09:03.620942+00:00",
      "completed_at": "2026-04-26T19:09:03.633073+00:00",
      "status": "success",
      "messages": [
        "Classified 200 safeguards (200 rule, 0 LLM)"
      ]
    },
    {
      "name": "group",
      "started_at": "2026-04-26T19:09:03.634726+00:00",
      "completed_at": "2026-04-26T19:09:03.663714+00:00",
      "status": "success",
      "messages": [
        "Grouped into 1 bowties"
      ]
    },
    {
      "name": "validate",
      "started_at": "2026-04-26T19:09:03.663810+00:00",
      "completed_at": "2026-04-26T19:09:03.664925+00:00",
      "status": "success",
      "messages": [
        "Validated 1 bowties, 6 gaps found"
      ]
    },
    {
      "name": "render_svgs",
      "started_at": "2026-04-26T19:09:03.665197+00:00",
      "completed_at": "2026-04-26T19:09:03.667073+00:00",
      "status": "success",
      "messages": [
        "Rendered 1 SVGs"
      ]
    },
    {
      "name": "write_excels",
      "started_at": "2026-04-26T19:09:03.667153+00:00",
      "completed_at": "2026-04-26T19:09:03.767128+00:00",
      "status": "success",
      "messages": [
        "Wrote QASSIM_SAMPLEXLSX_BT-REVIEW_R0.xlsx, QASSIM_SAMPLEXLSX_BT-BARRIER-REG_R0.xlsx"
      ]
    },
    {
      "name": "write_world_class_xlsx",
      "started_at": "2026-04-26T19:09:03.767206+00:00",
      "completed_at": "2026-04-26T19:09:03.791586+00:00",
      "status": "success",
      "messages": [
        "Wrote QASSIM_SAMPLEXLSX_BT-REGISTER_R0.xlsx"
      ]
    },
    {
      "name": "write_per_bowtie_excels",
      "started_at": "2026-04-26T19:09:03.791691+00:00",
      "completed_at": "2026-04-26T19:09:03.804665+00:00",
      "status": "success",
      "messages": [
        "Wrote 1 per-bowtie workbooks"
      ]
    },
    {
      "name": "write_bowtie_html",
      "started_at": "2026-04-26T19:09:03.804777+00:00",
      "completed_at": "2026-04-26T19:09:03.806552+00:00",
      "status": "success",
      "messages": [
        "Wrote 1 HTML pages, 0 PDFs"
      ]
    },
    {
      "name": "write_full_report_html",
      "started_at": "2026-04-26T19:09:03.806682+00:00",
      "completed_at": "2026-04-26T19:09:03.809114+00:00",
      "status": "success",
      "messages": [
        "Wrote QASSIM_SAMPLEXLSX_BT-REPORT_R0.html (no wkhtmltopdf)"
      ]
    },
    {
      "name": "render_pdf",
      "started_at": "2026-04-26T19:09:03.809238+00:00",
      "completed_at": "2026-04-26T19:09:03.810525+00:00",
      "status": "error",
      "messages": [
        "PDF failed: 'report.html' not found in search path: '/app/templates'"
      ]
    }
  ],
  "classification_stats": {
    "total_safeguards": 200,
    "rule_based_count": 200,
    "llm_count": 0,
    "manual_count": 0,
    "suggested_count": 0,
    "avg_confidence": 0.9499999999999976,
    "below_threshold_count": 0,
    "llm_total_cost_usd": 0.0,
    "llm_total_tokens": 0
  },
  "llm_calls": [],
  "bowtie_count": 1,
  "total_barriers": 1,
  "total_gaps": 8,
  "total_sce": 1,
  "total_sca": 0,
  "model_version": "0.1.0",
  "llm_model_pinned": "claude-sonnet-4-5-20250929",
  "reviewed_by": null,
  "reviewed_at": null,
  "sla_status": "not_required"
}