{
  "schema": "completion-repair-root-causes.v1",
  "hiddenOracleUsedForRepairs": false,
  "taskSpecificHintsAdded": false,
  "changes": [
    {
      "commit": "ca43d0a98f",
      "cause": "Redundant provider Read/completion turns and repair counters reset by mutation",
      "repair": "Authorized host Read, observed assertion execution, cumulative repair bound and one strict native-call regeneration."
    },
    {
      "commit": "a5d8f6a1c4",
      "cause": "Earlier passing check could survive a later failed shell check",
      "repair": "Clear proof per batch/shell/mutation and require fresh successful evidence; prevent third repair before execution."
    },
    {
      "commit": "e4e758492e",
      "cause": "Model repeated Read and tested untouched starter despite completed host preparation",
      "repair": "For one completely read pinned code edit, intersect first request tools with permitted edit tools; normal tools return after mutation."
    },
    {
      "commit": "ca43d0a98f",
      "cause": "Local model explicitly lacks native calls",
      "repair": "Explicit text-json-v1 wire protocol with strict normal parser, scope, approvals and terminal/accounting validation."
    },
    {
      "commit": "23e93a779c",
      "cause": "Transport files could change after a candidate timeout receipt was hashed",
      "repair": "Bounded post-terminal settlement and immutable terminal byte snapshots, with live transport files explicitly mutable."
    },
    {
      "commit": "40a2a9f5df",
      "cause": "Initial edit-only tool narrowing hid caller-authorized behavioral review and permitted compile-only completion",
      "repair": "Determine behavioral review eligibility before narrowing schemas; preserve Bash behavioral gate. Earlier 1.4.563 observations remain diagnostic."
    },
    {
      "commit": "4f13c65a0a",
      "cause": "Host-prepared source lacked target absolute path and working directory; Haiku searched the entire host filesystem",
      "repair": "Include the exact authorized target location and working directory in prepared context, without adding task-specific hints."
    },
    {
      "commit": "a3c785764c",
      "cause": "Safe checks prefixed with literal cd to the declared working directory were not recognized as behavioral evidence",
      "repair": "Recognize only literal absolute cd to the declared cwd or target parent followed by a supported Python check; reject shell expansion and unrelated directories."
    },
    {
      "commit": "072968497c",
      "cause": "GPT-6 Luna native tools with default reasoning were rejected by upstream Chat Completions",
      "repair": "Use Responses for both arms, retain default reasoning, convert complete tool history, require terminal usage, and omit unsupported custom sampling. Do not disable reasoning to force Chat."
    },
    {
      "commit": "d6caca47d2",
      "cause": "Launcher bootstrap PYTHONPATH contaminated Bash check imports, so external temporary checks loaded the Verdict checkout instead of candidate code",
      "repair": "Mark exact launcher-injected prefix; remove only that prefix for Bash children and prepend the declared workspace while retaining user PYTHONPATH entries and parent CLI environment. Actual ToolRegistry regression exercises conflicting modules."
    }
  ],
  "infrastructure": [
    {
      "cause": "Concurrent external Gateway restarts interrupted historical and modern metadata preflights",
      "disposition": "Retain interrupted attempts and diagnostic metadata; no coding result inferred."
    },
    {
      "cause": "One campaign-owned Gateway reload was required for the Responses repair",
      "campaignOwnedGatewayRestarts": 1,
      "disposition": "Drained inflight work before reload. Reload wrapper reported moving-HEAD mismatch; runtime healthy and deployed files independently hash-matched the intended source. See responses-runtime-proof.json."
    },
    {
      "cause": "Qwen candidate check imported repository solution through inherited CLI bootstrap PYTHONPATH",
      "disposition": "Repaired generically in d6caca47d2; one causal retry, same task/model/limits; every prior attempt retained."
    },
    {
      "cause": "A local credential rotated during Qwen execution; recorder cached old credential and received explicit invalid_local_secret401",
      "disposition": "Recorder refreshes once only after exact local401 invalid_local_secret, retains both HTTP attempts, and never retries provider authorization failures. First rejected request never dispatched inference; regression tested."
    }
  ],
  "limits": [
    "Model self-checks are not hidden-test proof.",
    "Same exact model and reasoning defaults retained.",
    "Shared runtime and provider load prevent isolated speed claims.",
    "Malformed call bytes never guessed or executed.",
    "Latest completed GLM-5.3-Flash attempt failed18/20 despite an earlier20/20 pass. Latest attempt remains primary; no quality reroll.",
    "RTH regression comparison unavailable: integrity error due missing comparable PMR/MoMR ground truth. Not a passing check."
  ]
}
