{
  "benchmark_id": "002_container_shipping_throughput",
  "submission_dir": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort",
  "outputs_dir": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort",
  "automated_checks": {
    "passed": 46,
    "total": 63,
    "pass_rate": 0.7301587301587301,
    "checks": [
      {
        "name": "output_exists_conceptual_model.md",
        "passed": true,
        "description": "Required output file conceptual_model.md should exist."
      },
      {
        "name": "output_exists_README.md",
        "passed": true,
        "description": "Required output file README.md should exist."
      },
      {
        "name": "output_exists_results.csv",
        "passed": true,
        "description": "Required output file results.csv should exist."
      },
      {
        "name": "output_exists_summary.json",
        "passed": true,
        "description": "Required output file summary.json should exist."
      },
      {
        "name": "output_exists_event_log.csv",
        "passed": true,
        "description": "Required output file event_log.csv should exist."
      },
      {
        "name": "summary_has_benchmark_id",
        "passed": false,
        "description": "summary.json should include benchmark_id."
      },
      {
        "name": "summary_has_scenarios_object",
        "passed": true,
        "description": "summary.json should include a scenarios object."
      },
      {
        "name": "scenario_present_baseline",
        "passed": true,
        "description": "summary.json should include scenario baseline."
      },
      {
        "name": "scenario_present_fleet_small",
        "passed": true,
        "description": "summary.json should include scenario fleet_small."
      },
      {
        "name": "scenario_present_fleet_large",
        "passed": true,
        "description": "summary.json should include scenario fleet_large."
      },
      {
        "name": "scenario_present_canal_upgrade",
        "passed": true,
        "description": "summary.json should include scenario canal_upgrade."
      },
      {
        "name": "scenario_present_port_slowdown",
        "passed": true,
        "description": "summary.json should include scenario port_slowdown."
      },
      {
        "name": "scenario_present_canal_closed",
        "passed": true,
        "description": "summary.json should include scenario canal_closed."
      },
      {
        "name": "baseline_has_replications",
        "passed": true,
        "description": "baseline should include replications."
      },
      {
        "name": "baseline_has_horizon_days",
        "passed": true,
        "description": "baseline should include horizon_days."
      },
      {
        "name": "baseline_has_total_teu_mean",
        "passed": false,
        "description": "baseline should include total_teu_mean."
      },
      {
        "name": "baseline_has_teu_per_day_mean",
        "passed": false,
        "description": "baseline should include teu_per_day_mean."
      },
      {
        "name": "canal_closed_has_replications",
        "passed": true,
        "description": "canal_closed should include replications."
      },
      {
        "name": "canal_closed_has_horizon_days",
        "passed": true,
        "description": "canal_closed should include horizon_days."
      },
      {
        "name": "canal_closed_has_total_teu_mean",
        "passed": false,
        "description": "canal_closed should include total_teu_mean."
      },
      {
        "name": "canal_closed_has_teu_per_day_mean",
        "passed": false,
        "description": "canal_closed should include teu_per_day_mean."
      },
      {
        "name": "canal_upgrade_has_replications",
        "passed": true,
        "description": "canal_upgrade should include replications."
      },
      {
        "name": "canal_upgrade_has_horizon_days",
        "passed": true,
        "description": "canal_upgrade should include horizon_days."
      },
      {
        "name": "canal_upgrade_has_total_teu_mean",
        "passed": false,
        "description": "canal_upgrade should include total_teu_mean."
      },
      {
        "name": "canal_upgrade_has_teu_per_day_mean",
        "passed": false,
        "description": "canal_upgrade should include teu_per_day_mean."
      },
      {
        "name": "fleet_large_has_replications",
        "passed": true,
        "description": "fleet_large should include replications."
      },
      {
        "name": "fleet_large_has_horizon_days",
        "passed": true,
        "description": "fleet_large should include horizon_days."
      },
      {
        "name": "fleet_large_has_total_teu_mean",
        "passed": false,
        "description": "fleet_large should include total_teu_mean."
      },
      {
        "name": "fleet_large_has_teu_per_day_mean",
        "passed": false,
        "description": "fleet_large should include teu_per_day_mean."
      },
      {
        "name": "fleet_small_has_replications",
        "passed": true,
        "description": "fleet_small should include replications."
      },
      {
        "name": "fleet_small_has_horizon_days",
        "passed": true,
        "description": "fleet_small should include horizon_days."
      },
      {
        "name": "fleet_small_has_total_teu_mean",
        "passed": false,
        "description": "fleet_small should include total_teu_mean."
      },
      {
        "name": "fleet_small_has_teu_per_day_mean",
        "passed": false,
        "description": "fleet_small should include teu_per_day_mean."
      },
      {
        "name": "port_slowdown_has_replications",
        "passed": true,
        "description": "port_slowdown should include replications."
      },
      {
        "name": "port_slowdown_has_horizon_days",
        "passed": true,
        "description": "port_slowdown should include horizon_days."
      },
      {
        "name": "port_slowdown_has_total_teu_mean",
        "passed": false,
        "description": "port_slowdown should include total_teu_mean."
      },
      {
        "name": "port_slowdown_has_teu_per_day_mean",
        "passed": false,
        "description": "port_slowdown should include teu_per_day_mean."
      },
      {
        "name": "rotterdam_upgrade_has_replications",
        "passed": true,
        "description": "rotterdam_upgrade should include replications."
      },
      {
        "name": "rotterdam_upgrade_has_horizon_days",
        "passed": true,
        "description": "rotterdam_upgrade should include horizon_days."
      },
      {
        "name": "rotterdam_upgrade_has_total_teu_mean",
        "passed": false,
        "description": "rotterdam_upgrade should include total_teu_mean."
      },
      {
        "name": "rotterdam_upgrade_has_teu_per_day_mean",
        "passed": false,
        "description": "rotterdam_upgrade should include teu_per_day_mean."
      },
      {
        "name": "results_has_scenario_id",
        "passed": true,
        "description": "results.csv should include scenario_id."
      },
      {
        "name": "results_has_replication",
        "passed": true,
        "description": "results.csv should include replication."
      },
      {
        "name": "results_has_random_seed",
        "passed": false,
        "description": "results.csv should include random_seed."
      },
      {
        "name": "event_log_has_scenario_id",
        "passed": true,
        "description": "event_log.csv should include scenario_id."
      },
      {
        "name": "event_log_has_replication",
        "passed": true,
        "description": "event_log.csv should include replication."
      },
      {
        "name": "event_log_has_event_type",
        "passed": true,
        "description": "event_log.csv should include event_type."
      },
      {
        "name": "event_log_has_time_days",
        "passed": false,
        "description": "event_log.csv should include time_days."
      },
      {
        "name": "event_log_has_vessel_id",
        "passed": true,
        "description": "event_log.csv should include vessel_id."
      },
      {
        "name": "fleet_large_gt_fleet_small",
        "passed": true,
        "description": "A larger fleet should usually deliver more than a smaller fleet."
      },
      {
        "name": "baseline_gt_fleet_small",
        "passed": true,
        "description": "The baseline fleet should usually outperform the small fleet."
      },
      {
        "name": "canal_upgrade_ge_baseline",
        "passed": true,
        "description": "Expanding the canal should not reduce throughput (expected near-no-op)."
      },
      {
        "name": "port_slowdown_lt_baseline",
        "passed": true,
        "description": "Slower Rotterdam cranes should reduce throughput."
      },
      {
        "name": "canal_closed_le_baseline",
        "passed": true,
        "description": "Closing the canal should not improve throughput."
      },
      {
        "name": "fleet_saturation_plausible",
        "passed": true,
        "description": "Throughput should show diminishing returns as the fleet grows."
      },
      {
        "name": "cross_check_event_log_reconstructable",
        "passed": true,
        "description": "event_log.csv contains reconstructable delivery events."
      },
      {
        "name": "cross_check_baseline",
        "passed": true,
        "description": "baseline: 30 replication(s) reconciled event log vs results.csv; mean error 0.0% (tol 15%)."
      },
      {
        "name": "cross_check_canal_closed",
        "passed": true,
        "description": "canal_closed: 30 replication(s) reconciled event log vs results.csv; mean error 0.0% (tol 15%)."
      },
      {
        "name": "cross_check_canal_upgrade",
        "passed": true,
        "description": "canal_upgrade: 30 replication(s) reconciled event log vs results.csv; mean error 0.0% (tol 15%)."
      },
      {
        "name": "cross_check_fleet_large",
        "passed": true,
        "description": "fleet_large: 30 replication(s) reconciled event log vs results.csv; mean error 0.0% (tol 15%)."
      },
      {
        "name": "cross_check_fleet_small",
        "passed": true,
        "description": "fleet_small: 30 replication(s) reconciled event log vs results.csv; mean error 0.0% (tol 15%)."
      },
      {
        "name": "cross_check_port_slowdown",
        "passed": true,
        "description": "port_slowdown: 30 replication(s) reconciled event log vs results.csv; mean error 0.0% (tol 15%)."
      },
      {
        "name": "cross_check_rotterdam_upgrade",
        "passed": true,
        "description": "rotterdam_upgrade: 30 replication(s) reconciled event log vs results.csv; mean error 0.0% (tol 15%)."
      }
    ]
  },
  "scenario_metric_means": {
    "baseline": 315333.3333333333,
    "canal_closed": 270333.3333333333,
    "canal_upgrade": 317000.0,
    "fleet_large": 403333.3333333333,
    "fleet_small": 228666.66666666666,
    "port_slowdown": 229000.0,
    "rotterdam_upgrade": 360000.0
  },
  "scenario_total_tonnes_means": {
    "baseline": 315333.3333333333,
    "canal_closed": 270333.3333333333,
    "canal_upgrade": 317000.0,
    "fleet_large": 403333.3333333333,
    "fleet_small": 228666.66666666666,
    "port_slowdown": 229000.0,
    "rotterdam_upgrade": 360000.0
  },
  "quantitative_metrics": {
    "loc": {
      "python_file_count": 10,
      "total_lines": 1377,
      "code_lines": 1116,
      "comment_lines": 33,
      "blank_lines": 228,
      "files": [
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/simulation.py",
          "total_lines": 304,
          "code_lines": 248,
          "comment_lines": 13,
          "blank_lines": 43
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/metrics.py",
          "total_lines": 130,
          "code_lines": 105,
          "comment_lines": 4,
          "blank_lines": 21
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/runner.py",
          "total_lines": 173,
          "code_lines": 141,
          "comment_lines": 3,
          "blank_lines": 29
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/config.py",
          "total_lines": 118,
          "code_lines": 92,
          "comment_lines": 1,
          "blank_lines": 25
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/fleet.py",
          "total_lines": 125,
          "code_lines": 107,
          "comment_lines": 0,
          "blank_lines": 18
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/__init__.py",
          "total_lines": 24,
          "code_lines": 18,
          "comment_lines": 0,
          "blank_lines": 6
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/network.py",
          "total_lines": 183,
          "code_lines": 148,
          "comment_lines": 5,
          "blank_lines": 30
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/errors.py",
          "total_lines": 31,
          "code_lines": 20,
          "comment_lines": 0,
          "blank_lines": 11
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/viz.py",
          "total_lines": 175,
          "code_lines": 154,
          "comment_lines": 1,
          "blank_lines": 20
        },
        {
          "path": "submissions/2026-06-04__002_container_shipping_throughput__claude-code__claude-opus-4-8__max-effort/container_sim/__main__.py",
          "total_lines": 114,
          "code_lines": 83,
          "comment_lines": 6,
          "blank_lines": 25
        }
      ]
    },
    "files": {
      "file_count": 38,
      "by_suffix": {
        ".csv": 6,
        ".json": 3,
        ".md": 3,
        ".png": 5,
        ".py": 10,
        ".txt": 1,
        ".yaml": 8,
        "[no_suffix]": 2
      }
    },
    "runtime_seconds": 1.664314,
    "return_code": 0,
    "timed_out": false,
    "token_usage": {
      "input_tokens": null,
      "output_tokens": null,
      "total_tokens": null,
      "token_count_method": "unknown",
      "estimated_cost_usd": null
    }
  },
  "notes": [
    "Automated checks are not a substitute for human review.",
    "Behavioural checks are broad sanity checks, not exact answer keys.",
    "Cross-checks re-derive throughput from the event log; a mismatch warrants investigation.",
    "Token usage is reported only if supplied by the benchmark runner."
  ]
}