{
  "unbreak_version": "0.1.7",
  "repo": "fixtures/crocswap-ambient-spot-5172",
  "pr": 2,
  "head_sha": "local:head",
  "base_sha": "local:base",
  "package": {
    "name": "typescript",
    "from": "6.0.3",
    "to": "7.0.2",
    "ecosystem": "npm"
  },
  "skill": "typescript-6-to-7",
  "outcome": "green",
  "billable": true,
  "baseline": {
    "passed": 17,
    "failed": 0,
    "flaky": []
  },
  "candidate": {
    "passed": 17,
    "failed": 0
  },
  "regressions": [],
  "missing": [],
  "runner": {
    "name": "vitest",
    "command": "npx -y pnpm@11.0.0 run test && npx -y pnpm@11.0.0 run build"
  },
  "characterization": {
    "generated": 0,
    "passed": 0
  },
  "changes": [
    {
      "file": "src/components/Global/Explore/DexTokens/DexTokens.tsx",
      "reason": "classname?: boolean; → classname?: string; — All remaining edits applied: `HeaderItem.classname` typed as `string` in both DexTokens.tsx and TopPools.tsx, and the three `x && styles.y` conditional `className` expressions converted to ternaries with `undefined` fallback in RangeBounds.tsx and PointsBanner.tsx (both occurrences). Ending turn for the runner to re-verify."
    },
    {
      "file": "src/components/Global/Explore/TopPools/TopPools.tsx",
      "reason": "classname?: boolean; → classname?: string; — All remaining edits applied: `HeaderItem.classname` typed as `string` in both DexTokens.tsx and TopPools.tsx, and the three `x && styles.y` conditional `className` expressions converted to ternaries with `undefined` fallback in RangeBounds.tsx and PointsBanner.tsx (both occurrences). Ending turn for the runner to re-verify."
    },
    {
      "file": "src/components/Global/RangeBounds/RangeBounds.tsx",
      "reason": "<section className={isRangeBoundsDisabled && styles.advanced_disabled}>… — All remaining edits applied: `HeaderItem.classname` typed as `string` in both DexTokens.tsx and TopPools.tsx, and the three `x && styles.y` conditional `className` expressions converted to ternaries with `undefined` fallback in RangeBounds.tsx and PointsBanner.tsx (both occurrences). Ending turn for the runner to re-verify."
    },
    {
      "file": "src/pages/platformAmbient/Trade/PointsBanner.tsx",
      "reason": "<p className={isSmallScreen && styles.small_text}> → <p className={isSm… — All remaining edits applied: `HeaderItem.classname` typed as `string` in both DexTokens.tsx and TopPools.tsx, and the three `x && styles.y` conditional `className` expressions converted to ternaries with `undefined` fallback in RangeBounds.tsx and PointsBanner.tsx (both occurrences). Ending turn for the runner to re-verify."
    }
  ],
  "forbidden_touches": [],
  "cost": {
    "input_tokens": 17880,
    "cached_tokens": 217055,
    "output_tokens": 4282,
    "usd": 0.1511
  },
  "turns": 10,
  "wall_seconds": 261,
  "attestation": "unsigned"
}
