STET

task_detail

validation/gpt-5-1-codex-mini/flux-pr-1001/task_detail.v1.json

16855 bytes

Back to adjudication
{
  "version": "v1",
  "materialization": {
    "mode": "canonical"
  },
  "identity": {
    "variant_id": "gpt-5.1-codex-mini",
    "requested_model": "gpt-5.1-codex-mini",
    "model_key": "gpt-5-1-codex-mini",
    "run_id": "2026-02-28__13-38-10__gpt-5-1-codex-mini",
    "task_id": "flux-pr-1001",
    "trial_name": "flux-pr-1001.1-of-1.2026-02-28__13-38-10__gpt-5-1-codex-mini"
  },
  "decision": {
    "status": "pass",
    "primary_signal": "tests",
    "matrix_status": "pass_with_warn",
    "reason_codes": [
      "primary_tests",
      "tests_passed",
      "equivalence_non_equivalent",
      "review_fail"
    ],
    "flags": [
      "equiv_warn",
      "review_warn"
    ],
    "publish": {
      "include_in_leaderboard": true,
      "weak_signal_risk": false
    },
    "rescue": {
      "candidate": false,
      "eligible": false,
      "decision": "not_candidate",
      "required_artifacts_ok": true
    }
  },
  "tests": {
    "outcome": "pass",
    "strength": "strong",
    "commands": [
      "go test -C v2 ./... -count=1 -timeout=300s"
    ],
    "command_results": [
      {
        "command": "go test -C v2 ./... -count=1 -timeout=300s",
        "gold_outcome": "pass",
        "gold_tb_trial_name": "flux-pr-1001.1-of-1.validate-gold-1772296961302068000",
        "gold_failure_mode": "unset",
        "agent_outcome": "pass",
        "agent_tb_trial_name": "flux-pr-1001.1-of-1.validate-override-1772297011115450000",
        "agent_failure_mode": "unset",
        "agent_retried": false
      }
    ],
    "partial_score": {
      "score": 1,
      "numerator": 1,
      "denominator": 1,
      "level": "command",
      "provenance": "fallback_command_level",
      "reason": "test_case_detail_unavailable"
    },
    "tb": {
      "trial_name": "flux-pr-1001.1-of-1.2026-02-28__13-38-10__gpt-5-1-codex-mini",
      "is_resolved": true,
      "failure_mode": "unset",
      "duration_sec": 100.484363708,
      "time_budget_sec": 1200
    },
    "cache": {
      "cache_hit": false,
      "cache_miss_reason": "missing_pinned_dependencies",
      "environment_group_id": "eg_46b6a6c82a4890b6e6e87c39575fd02c"
    }
  },
  "quality": {
    "equivalence": {
      "status": "used",
      "outcome": "non_equivalent",
      "confidence": 0.85,
      "issue_type": "behavioral",
      "notes": "The patch enriches `OnFinished`, but not in the intended way. It keeps separate `statusCode`/`err` params and adds a custom `*httpclient.ResponseContext` with traced/redacted fields, instead of providing a unified richer response object with direct request/response metadata. It also still gates `OnFinished` on `loaderHookContext != nil`, so hook completion can be skipped when `OnLoad` returns nil, and response metadata is only set after body-read success (missing cases where a response exists but read/decode fails)."
    },
    "code_review": {
      "status": "used",
      "signal": "fail",
      "confidence": 0.85,
      "issue_type": "unclear",
      "source_field": "code_review",
      "dimension_scores": {
        "correctness": {
          "score_0_4": 2,
          "confidence_0_1": 0.87,
          "rationale": "The patch adds extra hook data, but it does not provide full upstream HTTP request/response objects and preserves callback gating that can skip OnFinished when OnLoad returns nil. That diverges from the intended richer and consistently-delivered hook semantics."
        },
        "edge_case_handling": {
          "score_0_4": 1,
          "confidence_0_1": 0.85,
          "rationale": "Two edge cases are weakly handled: OnFinished can be skipped when hook context is nil, and response metadata may be absent on read errors despite a received HTTP response."
        },
        "introduced_bug_risk": {
          "score_0_4": 1,
          "confidence_0_1": 0.83,
          "rationale": "Response metadata population is tied to successful body reads; if body decoding fails, hook consumers may lose response headers/status context they need for observability."
        },
        "maintainability_idioms": {
          "score_0_4": 2,
          "confidence_0_1": 0.79,
          "rationale": "The API now mixes old scalar args (statusCode, err) with a partial response context payload, which is less cohesive than a single structured response info object and harder to evolve cleanly."
        }
      },
      "findings": [
        {
          "id": "f1",
          "dimension": "correctness",
          "severity": "major",
          "title": "Hook does not expose full HTTP request/response objects",
          "detail": "ResponseContext stores TraceHTTPRequest/TraceHTTPResponse snapshots instead of the actual net/http request and response objects, limiting metadata available to OnFinished consumers compared to the intended full upstream context.",
          "confidence_0_1": 0.89,
          "citations": [
            {
              "path": "v2/pkg/engine/datasource/httpclient/nethttpclient.go",
              "side": "new",
              "start_line": 70,
              "end_line": 74,
              "anchor_kind": "diff",
              "head_sha": "fcbfba1d6616c5f8d267e5d172268d1662023218"
            },
            {
              "path": "v2/pkg/engine/resolve/loader.go",
              "side": "new",
              "start_line": 36,
              "end_line": 41,
              "anchor_kind": "diff",
              "head_sha": "fcbfba1d6616c5f8d267e5d172268d1662023218"
            }
          ]
        },
        {
          "id": "f2",
          "dimension": "edge_case_handling",
          "severity": "major",
          "title": "OnFinished can still be skipped when loader hook context is nil",
          "detail": "All OnFinished call sites still require `loaderHookContext != nil`; if OnLoad returns nil, OnFinished is never invoked, so observability hooks may miss executions.",
          "confidence_0_1": 0.9,
          "citations": [
            {
              "path": "v2/pkg/engine/resolve/loader.go",
              "side": "new",
              "start_line": 119,
              "end_line": 126,
              "anchor_kind": "diff",
              "head_sha": "fcbfba1d6616c5f8d267e5d172268d1662023218"
            },
            {
              "path": "v2/pkg/engine/resolve/loader.go",
              "side": "new",
              "start_line": 176,
              "end_line": 183,
              "anchor_kind": "diff",
              "head_sha": "fcbfba1d6616c5f8d267e5d172268d1662023218"
            }
          ]
        },
        {
          "id": "f3",
          "dimension": "introduced_bug_risk",
          "severity": "major",
          "title": "Response details are only set after successful body read",
          "detail": "The response payload in context is populated via `setResponseData` only after body read succeeds. If body read fails, hooks lose response headers/status metadata even though a response was received.",
          "confidence_0_1": 0.86,
          "citations": [
            {
              "path": "v2/pkg/engine/datasource/httpclient/nethttpclient.go",
              "side": "new",
              "start_line": 236,
              "end_line": 246,
              "anchor_kind": "diff",
              "head_sha": "fcbfba1d6616c5f8d267e5d172268d1662023218"
            },
            {
              "path": "v2/pkg/engine/datasource/httpclient/nethttpclient.go",
              "side": "new",
              "start_line": 249,
              "end_line": 252,
              "anchor_kind": "diff",
              "head_sha": "fcbfba1d6616c5f8d267e5d172268d1662023218"
            }
          ]
        }
      ],
      "overall": {
        "confidence_overall": 0.85,
        "summary": "The patch compiles and adds hook metadata, but it likely does not fully satisfy the intended change: it provides partial/redacted trace structs instead of full HTTP request/response context, retains skip conditions for OnFinished, and weakens failure-path metadata capture."
      },
      "notes": "The patch compiles and adds hook metadata, but it likely does not fully satisfy the intended change: it provides partial/redacted trace structs instead of full HTTP request/response context, retains skip conditions for OnFinished, and weakens failure-path metadata capture."
    },
    "behavioral_robustness": {
      "status": "used",
      "probe_status": "used",
      "gold_pass_candidate_pass_count": 1,
      "agreement_rate": 1,
      "coverage_delta_status": "unavailable",
      "coverage_delta_reason": "coverage_adapter_unavailable",
      "mutation_lite_status": "unavailable",
      "mutation_lite_reason": "mutation_runner_unavailable",
      "notes": "derived from command-level outcomes; no accepted generated probes"
    },
    "footprint_risk": {
      "status": "used",
      "reason": "none",
      "version": "v1",
      "level": "low",
      "score": 0.2551513182660356,
      "flag": false,
      "severe_flag": false
    },
    "cost": {
      "status": "tokens_only",
      "token_status": "present",
      "cache_token_status": "present",
      "total_input_tokens": 3169476,
      "total_output_tokens": 26591,
      "total_tokens": 3196067,
      "uncached_input_tokens": 560324,
      "cache_read_input_tokens": 2609152,
      "cached_input_tokens": 2609152,
      "total_cost_usd": 1.3914048,
      "token_source": "openai_cached_tokens_usage",
      "pricing_model_key": "gpt-5.1-codex-mini",
      "pricing_mode": "cache_aware"
    }
  },
  "summary": {
    "task": {
      "matrix_status": "pass_with_warn",
      "tests_outcome": "pass",
      "tests_unknown_cause": null,
      "lane_report_lane": null,
      "lane_report_source": null,
      "lane_report_reasons": null,
      "cache_hit": false,
      "cache_miss_reason": "missing_pinned_dependencies",
      "setup_ms_saved": null,
      "pinned_bytes": null,
      "environment_group_id": "eg_46b6a6c82a4890b6e6e87c39575fd02c",
      "equivalence_status": "used",
      "equivalence_outcome": "non_equivalent",
      "code_review_status": "used",
      "code_review_signal": "fail",
      "behavioral_robustness_status": "used",
      "coverage_delta_status": "unavailable",
      "mutation_lite_status": "unavailable",
      "probe_accepted_candidates": null,
      "probe_accepted_commands": null,
      "probe_agreement_rate": 1,
      "probe_gold_pass_candidate_pass_count": 1,
      "probe_gold_pass_candidate_fail_count": null,
      "probe_review_required_count": null,
      "flags": [
        "equiv_warn",
        "review_warn"
      ],
      "tb_is_resolved": true,
      "tb_failure_mode": "unset",
      "tb_total_input_tokens": 3169476,
      "tb_total_output_tokens": 26591,
      "tb_total_tokens": 3196067,
      "tb_uncached_input_tokens": 560324,
      "tb_cache_creation_input_tokens": null,
      "tb_cache_read_input_tokens": 2609152,
      "tb_cached_input_tokens": 2609152,
      "token_status": "present",
      "cache_token_status": "present",
      "token_source": "openai_cached_tokens_usage",
      "task_cost": 1.3914048,
      "cost_status": "present",
      "cost_pricing_mode": "cache_aware",
      "pricing_model_key": "gpt-5.1-codex-mini",
      "equiv_rescue_policy": "on",
      "rescue_candidate": false,
      "rescue_eligible": false,
      "rescue_decision": "not_candidate",
      "publish_include_in_leaderboard": true,
      "publish_exclusion_reasons": [],
      "publish_weak_signal_risk": false,
      "tests_only_outcome": 1,
      "rescue_aware_outcome": 1,
      "partial_score": 1,
      "partial_score_numerator": 1,
      "partial_score_denominator": 1,
      "partial_score_level": "command",
      "partial_score_provenance": "fallback_command_level",
      "partial_score_reason": "test_case_detail_unavailable",
      "partial_score_unknown_count": 0,
      "footprint_risk_status": "used",
      "footprint_risk_reason": "none",
      "footprint_risk_level": "low",
      "footprint_risk_score": 0.2551513182660356,
      "footprint_risk_flag": false,
      "footprint_risk_severe_flag": false
    },
    "run": {
      "model": "gpt-5.1-codex-mini",
      "requested_model": "gpt-5.1-codex-mini",
      "run_id": "2026-02-28__13-38-10__gpt-5-1-codex-mini",
      "passRate": 0.9655172413793104,
      "ciLow": 0.896551724137931,
      "ciHigh": 1,
      "effectiveN": 29,
      "tier": 1,
      "validation_counts": {
        "fail_guardrail": 0,
        "fail_high_conf": 0,
        "fail_infra": 1,
        "fail_likely_equiv": 0,
        "fail_with_diag": 0,
        "missing": 0,
        "pass": 2,
        "pass_with_warn": 26
      }
    },
    "run_metadata": {
      "agent_name": "codex",
      "model_name": "gpt-5.1-codex-mini",
      "start_time": "2026-02-28T15:13:02.887835+00:00",
      "end_time": "2026-02-28T16:42:40.244280+00:00",
      "commit_hash": "99ae882e59281de74856a3e7eeb1b7c986b466af",
      "accuracy": 0.6896551724137931,
      "reasoning_effort": "medium"
    }
  },
  "evidence": {
    "task_detail": {
      "path": "validation/gpt-5-1-codex-mini/flux-pr-1001/task_detail.v1.json",
      "exists": true
    },
    "trajectory": {
      "path": "validation/gpt-5-1-codex-mini/flux-pr-1001/trajectory.v1.json",
      "exists": true,
      "non_empty": true,
      "size_bytes": 15393
    },
    "validation": {
      "path": "validation/gpt-5-1-codex-mini/flux-pr-1001/validation.json",
      "exists": true,
      "non_empty": true,
      "size_bytes": 141224
    },
    "results": {
      "path": "runs/2026-02-28__13-38-10__gpt-5-1-codex-mini/results.json",
      "exists": true,
      "non_empty": true,
      "size_bytes": 57447
    },
    "run_metadata": {
      "path": "runs/2026-02-28__13-38-10__gpt-5-1-codex-mini/run_metadata.json",
      "exists": true,
      "non_empty": true,
      "size_bytes": 1645
    },
    "agent_patch": {
      "path": "runs/2026-02-28__13-38-10__gpt-5-1-codex-mini/flux-pr-1001/flux-pr-1001.1-of-1.2026-02-28__13-38-10__gpt-5-1-codex-mini/agent-logs/agent.patch",
      "exists": true,
      "non_empty": true,
      "size_bytes": 9672
    },
    "summary": {
      "path": "reports/summary.json",
      "exists": true,
      "non_empty": true,
      "size_bytes": 269968
    },
    "manifest": {
      "path": "manifest.json",
      "exists": true,
      "non_empty": true,
      "size_bytes": 677
    },
    "validation_inputs": {
      "required_for_rescue_ok": true,
      "gold_patch": {
        "exists": true,
        "non_empty": true,
        "size_bytes": 9761,
        "sha256": "4f4be1e17e703fc3cc540539ce5f871a5426000898c2b32f153bbf088512a89d",
        "required_for_rescue": true
      },
      "repo_tarball": {
        "exists": true,
        "non_empty": true,
        "size_bytes": 4156764,
        "sha256": "a84f92df8a1b5a1b8b23f6c61187570bb3fb8efb03eed33d78bffb8c3a3f3872",
        "required_for_rescue": true
      },
      "agent_patch": {
        "path": "runs/2026-02-28__13-38-10__gpt-5-1-codex-mini/flux-pr-1001/flux-pr-1001.1-of-1.2026-02-28__13-38-10__gpt-5-1-codex-mini/agent-logs/agent.patch",
        "exists": true,
        "non_empty": true,
        "size_bytes": 9672,
        "sha256": "a0a80d6c7d873476bbd6e4a39f14a3ae544f1b3e01691ba0933a614994d8fa7c",
        "required_for_rescue": true
      }
    }
  },
  "provenance": {
    "identity": [
      {
        "source": "manifest",
        "available": true
      },
      {
        "source": "tb_results",
        "available": true
      }
    ],
    "decision": [
      {
        "source": "validation",
        "available": true
      }
    ],
    "tests": [
      {
        "source": "validation",
        "available": true
      },
      {
        "source": "tb_results",
        "available": true
      }
    ],
    "quality": {
      "equivalence": [
        {
          "source": "validation",
          "available": true
        }
      ],
      "code_review": [
        {
          "source": "validation",
          "available": true
        }
      ],
      "behavioral_robustness": [
        {
          "source": "validation",
          "available": true
        }
      ],
      "footprint_risk": [
        {
          "source": "validation",
          "available": true
        }
      ],
      "cost": [
        {
          "source": "validation",
          "available": true
        },
        {
          "source": "summary",
          "available": true
        }
      ]
    },
    "summary": {
      "task": [
        {
          "source": "summary",
          "available": true
        }
      ],
      "run": [
        {
          "source": "summary",
          "available": true
        }
      ],
      "run_metadata": [
        {
          "source": "run_metadata",
          "available": true
        }
      ]
    },
    "evidence": [
      {
        "source": "filesystem",
        "available": true
      }
    ]
  }
}