task_detail
validation/gpt-5-1-codex-mini/flux-pr-817/task_detail.v1.json
17422 bytes
{
"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-817",
"trial_name": "flux-pr-817.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_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-817.1-of-1.validate-gold-1772301375262264000",
"gold_failure_mode": "unset",
"agent_outcome": "pass",
"agent_tb_trial_name": "flux-pr-817.1-of-1.validate-override-1772301420702406000",
"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-817.1-of-1.2026-02-28__13-38-10__gpt-5-1-codex-mini",
"is_resolved": false,
"failure_mode": "agent_timeout",
"duration_sec": 83.734580458,
"time_budget_sec": 1200
},
"cache": {
"cache_hit": false,
"cache_miss_reason": "missing_pinned_dependencies",
"environment_group_id": "eg_46b6a6c82a4890b6e6e87c39575fd02c"
}
},
"quality": {
"equivalence": {
"status": "used",
"outcome": "equivalent",
"confidence": 0.74,
"issue_type": "stylistic",
"notes": "The agent introduces a shared argument-template parser used by both subscription field filters and NATS subject handling, adds schema-aware nested path validation ending on leaf types, validates generated NATS subjects, and supports multiple `{{ args... }}` templates within one subject string. Implementation differs from gold structure/module placement but appears to satisfy the intended behavior."
},
"code_review": {
"status": "used",
"signal": "fail",
"confidence": 0.78,
"issue_type": "unclear",
"source_field": "code_review",
"dimension_scores": {
"correctness": {
"score_0_4": 2,
"confidence_0_1": 0.79,
"rationale": "The patch implements multi-template parsing and nested-path checks, but it appears to use the operation variable type (root) rather than the validated final leaf type when building NATS renderers, which can cause type-validation mismatches for nested paths."
},
"edge_case_handling": {
"score_0_4": 1,
"confidence_0_1": 0.81,
"rationale": "The NATS validator only checks empty/whitespace/dot structure and misses wildcard edge cases; parser also treats non-matching malformed templates as static content instead of surfacing errors."
},
"introduced_bug_risk": {
"score_0_4": 1,
"confidence_0_1": 0.75,
"rationale": "New parsing/validation logic is cross-cutting and custom; NATS subject validation is incomplete versus canonical NATS subject semantics (wildcards/token placement), increasing regression risk."
},
"maintainability_idioms": {
"score_0_4": 2,
"confidence_0_1": 0.72,
"rationale": "Parsing is unified, but it is placed in `plan` and consumed by pubsub, creating tighter package coupling than a dedicated shared argument-template module intended for reuse."
}
},
"findings": [
{
"id": "f1",
"dimension": "correctness",
"severity": "major",
"title": "Nested template renderer uses root variable type instead of validated leaf type",
"detail": "Template resolution validates nested argument paths, but stores `VariableTypeRef` from the operation variable definition and later passes that into `NewPlainVariableRendererWithValidationFromTypeRef` for nested paths. This can misalign validation/rendering for deep fields where the expected final type is the leaf input field.",
"confidence_0_1": 0.8,
"citations": [
{
"path": "v2/pkg/engine/plan/argument_template.go",
"side": "new",
"start_line": 95,
"end_line": 113,
"anchor_kind": "diff",
"head_sha": "8354475051bd83cb5941a189f1c486dd04829090"
},
{
"path": "v2/pkg/engine/datasource/pubsub_datasource/nats_event_manager.go",
"side": "new",
"start_line": 53,
"end_line": 66,
"anchor_kind": "diff",
"head_sha": "8354475051bd83cb5941a189f1c486dd04829090"
}
]
},
{
"id": "f2",
"dimension": "edge_case_handling",
"severity": "major",
"title": "NATS subject validation omits wildcard/token rules",
"detail": "The subject validator only checks whitespace and dot formatting. It does not enforce NATS wildcard placement semantics (`*`/`>` token constraints), so invalid subjects can pass validation and fail at runtime.",
"confidence_0_1": 0.84,
"citations": [
{
"path": "v2/pkg/engine/datasource/pubsub_datasource/nats_event_manager.go",
"side": "new",
"start_line": 127,
"end_line": 142,
"anchor_kind": "diff",
"head_sha": "8354475051bd83cb5941a189f1c486dd04829090"
}
]
},
{
"id": "f3",
"dimension": "maintainability_idioms",
"severity": "major",
"title": "Shared template logic is added in `plan` package, increasing coupling",
"detail": "The patch routes pubsub template parsing through `plan.ParseArgumentTemplate` instead of a neutral shared module, coupling datasource code to planning internals and diverging from the intended reusable argument-template component.",
"confidence_0_1": 0.68,
"citations": [
{
"path": "v2/pkg/engine/plan/argument_template.go",
"side": "new",
"start_line": 1,
"end_line": 12,
"anchor_kind": "diff",
"head_sha": "8354475051bd83cb5941a189f1c486dd04829090"
},
{
"path": "v2/pkg/engine/datasource/pubsub_datasource/nats_event_manager.go",
"side": "new",
"start_line": 45,
"end_line": 49,
"anchor_kind": "diff",
"head_sha": "8354475051bd83cb5941a189f1c486dd04829090"
}
]
},
{
"id": "f4",
"dimension": "correctness",
"severity": "major",
"title": "Malformed template markers can be silently accepted as static text",
"detail": "If a value contains template-like content that does not match the regex, parsing returns a static segment rather than an error. This can mask configuration mistakes and produce incorrect runtime behavior without early failure.",
"confidence_0_1": 0.71,
"citations": [
{
"path": "v2/pkg/engine/plan/argument_template.go",
"side": "new",
"start_line": 40,
"end_line": 46,
"anchor_kind": "diff",
"head_sha": "8354475051bd83cb5941a189f1c486dd04829090"
}
]
}
],
"overall": {
"confidence_overall": 0.78,
"summary": "The patch partially addresses the feature (multiple templates and nested-path traversal), but it likely does not fully satisfy the intended change due to incomplete NATS validation, potential type-ref mismatch for nested renderer validation, and architectural divergence from the intended shared argument-template module."
},
"notes": "The patch partially addresses the feature (multiple templates and nested-path traversal), but it likely does not fully satisfy the intended change due to incomplete NATS validation, potential type-ref mismatch for nested renderer validation, and architectural divergence from the intended shared argument-template module."
},
"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.150064235084352,
"flag": false,
"severe_flag": false
},
"cost": {
"status": "tokens_only",
"token_status": "present",
"cache_token_status": "missing",
"total_input_tokens": 0,
"total_output_tokens": 0,
"total_tokens": 0,
"uncached_input_tokens": 0,
"total_cost_usd": 0,
"pricing_model_key": "gpt-5.1-codex-mini",
"pricing_mode": "legacy_input_output"
}
},
"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": "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": false,
"tb_failure_mode": "agent_timeout",
"tb_total_input_tokens": 0,
"tb_total_output_tokens": 0,
"tb_total_tokens": 0,
"tb_uncached_input_tokens": 0,
"tb_cache_creation_input_tokens": null,
"tb_cache_read_input_tokens": null,
"tb_cached_input_tokens": null,
"token_status": "present",
"cache_token_status": "missing",
"token_source": null,
"task_cost": 0,
"cost_status": "present",
"cost_pricing_mode": "legacy_input_output",
"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.150064235084352,
"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-817/task_detail.v1.json",
"exists": true
},
"trajectory": {
"path": "validation/gpt-5-1-codex-mini/flux-pr-817/trajectory.v1.json",
"exists": true,
"non_empty": true,
"size_bytes": 15387
},
"validation": {
"path": "validation/gpt-5-1-codex-mini/flux-pr-817/validation.json",
"exists": true,
"non_empty": true,
"size_bytes": 186348
},
"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-817/flux-pr-817.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": 21179
},
"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": 55611,
"sha256": "3d71b39d2346ba97de299ee9336f51b17d50a0590c6e187dfcecc438393bb746",
"required_for_rescue": true
},
"repo_tarball": {
"exists": true,
"non_empty": true,
"size_bytes": 4084558,
"sha256": "5dcef68fc3079758abd4d4c967d31b232111b763bbf4cfdb12841d5651080580",
"required_for_rescue": true
},
"agent_patch": {
"path": "runs/2026-02-28__13-38-10__gpt-5-1-codex-mini/flux-pr-817/flux-pr-817.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": 21179,
"sha256": "6f10d92d4ab84342fed4cf513252184e0ac8ce601e714891d07247a55e604867",
"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
}
]
}
}