{
  "version": 1,
  "repo": "colinhacks/zod",
  "builtAt": "2026-11-10T21:40:01.697Z",
  "baseRate": 0.09487459105779716,
  "prs": 1000,
  "labelled": 917,
  "bad": 87,
  "rules": [
    {
      "id": "learned.risk.hotspot-dir:packages/zod",
      "title": "Fragile area: packages/zod/",
      "category": "risk",
      "paths": [
        "packages/zod/**"
      ],
      "kind": "hotspot-dir",
      "fileLevel": false,
      "matched": 394,
      "bad": 71,
      "rate": 0.1802030456852792,
      "lift": 1.8993815275103567,
      "examples": [
        {
          "number": 6705,
          "title": "fix(v4): stop the memoizer copying every issue below each recursive node",
          "url": "https://github.com/colinhacks/zod/pull/6705",
          "fixedBy": [
            {
              "number": 6707,
              "url": "https://github.com/colinhacks/zod/pull/6707"
            },
            {
              "number": 6738,
              "url": "https://github.com/colinhacks/zod/pull/6738"
            }
          ],
          "reverted": false
        },
        {
          "number": 6595,
          "title": "Add z.currencyCode() over a vendored ISO 4217 list with a weekly refresh",
          "url": "https://github.com/colinhacks/zod/pull/6595",
          "fixedBy": [],
          "reverted": true
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/classic/schemas.ts",
      "title": "Hotspot: packages/zod/src/v4/classic/schemas.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/classic/schemas.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 83,
      "bad": 27,
      "rate": 0.3253012048192771,
      "lift": 3.428749480681346,
      "examples": [
        {
          "number": 6595,
          "title": "Add z.currencyCode() over a vendored ISO 4217 list with a weekly refresh",
          "url": "https://github.com/colinhacks/zod/pull/6595",
          "fixedBy": [],
          "reverted": true
        },
        {
          "number": 6530,
          "title": "fix(v4): parse recursive schemas built by a factory",
          "url": "https://github.com/colinhacks/zod/pull/6530",
          "fixedBy": [
            {
              "number": 6572,
              "url": "https://github.com/colinhacks/zod/pull/6572"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/mini/schemas.ts",
      "title": "Hotspot: packages/zod/src/v4/mini/schemas.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/mini/schemas.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 56,
      "bad": 21,
      "rate": 0.375,
      "lift": 3.9525862068965516,
      "examples": [
        {
          "number": 6595,
          "title": "Add z.currencyCode() over a vendored ISO 4217 list with a weekly refresh",
          "url": "https://github.com/colinhacks/zod/pull/6595",
          "fixedBy": [],
          "reverted": true
        },
        {
          "number": 6530,
          "title": "fix(v4): parse recursive schemas built by a factory",
          "url": "https://github.com/colinhacks/zod/pull/6530",
          "fixedBy": [
            {
              "number": 6572,
              "url": "https://github.com/colinhacks/zod/pull/6572"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/core/util.ts",
      "title": "Hotspot: packages/zod/src/v4/core/util.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/core/util.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 59,
      "bad": 19,
      "rate": 0.3220338983050847,
      "lift": 3.3943113189168126,
      "examples": [
        {
          "number": 6567,
          "title": "perf(compile): for-in record walk, cheaper issue finalization, and a generative compile differential",
          "url": "https://github.com/colinhacks/zod/pull/6567",
          "fixedBy": [
            {
              "number": 6570,
              "url": "https://github.com/colinhacks/zod/pull/6570"
            }
          ],
          "reverted": false
        },
        {
          "number": 6530,
          "title": "fix(v4): parse recursive schemas built by a factory",
          "url": "https://github.com/colinhacks/zod/pull/6530",
          "fixedBy": [
            {
              "number": 6572,
              "url": "https://github.com/colinhacks/zod/pull/6572"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/core/to-json-schema.ts",
      "title": "Hotspot: packages/zod/src/v4/core/to-json-schema.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/core/to-json-schema.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 49,
      "bad": 16,
      "rate": 0.32653061224489793,
      "lift": 3.4417077175697863,
      "examples": [
        {
          "number": 6536,
          "title": "feat(v4): make z.properties() a schema, and give z.instanceof() a .properties() method",
          "url": "https://github.com/colinhacks/zod/pull/6536",
          "fixedBy": [
            {
              "number": 6582,
              "url": "https://github.com/colinhacks/zod/pull/6582"
            },
            {
              "number": 6587,
              "url": "https://github.com/colinhacks/zod/pull/6587"
            }
          ],
          "reverted": false
        },
        {
          "number": 6461,
          "title": "fix(v4): fold an intersection of object schemas into one object",
          "url": "https://github.com/colinhacks/zod/pull/6461",
          "fixedBy": [
            {
              "number": 6497,
              "url": "https://github.com/colinhacks/zod/pull/6497"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-dir:packages/treeshake",
      "title": "Fragile area: packages/treeshake/",
      "category": "risk",
      "paths": [
        "packages/treeshake/**"
      ],
      "kind": "hotspot-dir",
      "fileLevel": false,
      "matched": 31,
      "bad": 12,
      "rate": 0.3870967741935484,
      "lift": 4.080088987764182,
      "examples": [
        {
          "number": 6595,
          "title": "Add z.currencyCode() over a vendored ISO 4217 list with a weekly refresh",
          "url": "https://github.com/colinhacks/zod/pull/6595",
          "fixedBy": [],
          "reverted": true
        },
        {
          "number": 6567,
          "title": "perf(compile): for-in record walk, cheaper issue finalization, and a generative compile differential",
          "url": "https://github.com/colinhacks/zod/pull/6567",
          "fixedBy": [
            {
              "number": 6570,
              "url": "https://github.com/colinhacks/zod/pull/6570"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/core/errors.ts",
      "title": "Hotspot: packages/zod/src/v4/core/errors.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/core/errors.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 17,
      "bad": 8,
      "rate": 0.47058823529411764,
      "lift": 4.960108181203516,
      "examples": [
        {
          "number": 6567,
          "title": "perf(compile): for-in record walk, cheaper issue finalization, and a generative compile differential",
          "url": "https://github.com/colinhacks/zod/pull/6567",
          "fixedBy": [
            {
              "number": 6570,
              "url": "https://github.com/colinhacks/zod/pull/6570"
            }
          ],
          "reverted": false
        },
        {
          "number": 6420,
          "title": "feat(v4): expose the owning schema on check-originated issues",
          "url": "https://github.com/colinhacks/zod/pull/6420",
          "fixedBy": [
            {
              "number": 6426,
              "url": "https://github.com/colinhacks/zod/pull/6426"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/core/json-schema-processors.ts",
      "title": "Hotspot: packages/zod/src/v4/core/json-schema-processors.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/core/json-schema-processors.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 24,
      "bad": 9,
      "rate": 0.375,
      "lift": 3.9525862068965516,
      "examples": [
        {
          "number": 6536,
          "title": "feat(v4): make z.properties() a schema, and give z.instanceof() a .properties() method",
          "url": "https://github.com/colinhacks/zod/pull/6536",
          "fixedBy": [
            {
              "number": 6582,
              "url": "https://github.com/colinhacks/zod/pull/6582"
            },
            {
              "number": 6587,
              "url": "https://github.com/colinhacks/zod/pull/6587"
            }
          ],
          "reverted": false
        },
        {
          "number": 6461,
          "title": "fix(v4): fold an intersection of object schemas into one object",
          "url": "https://github.com/colinhacks/zod/pull/6461",
          "fixedBy": [
            {
              "number": 6497,
              "url": "https://github.com/colinhacks/zod/pull/6497"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/core/core.ts",
      "title": "Hotspot: packages/zod/src/v4/core/core.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/core/core.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 21,
      "bad": 8,
      "rate": 0.38095238095238093,
      "lift": 4.015325670498084,
      "examples": [
        {
          "number": 6482,
          "title": "feat(v4): expose the memoizer through z.config() so zod/mini can opt in",
          "url": "https://github.com/colinhacks/zod/pull/6482",
          "fixedBy": [
            {
              "number": 6500,
              "url": "https://github.com/colinhacks/zod/pull/6500"
            }
          ],
          "reverted": false
        },
        {
          "number": 6085,
          "title": "feat(v4): z.compile — ahead-of-time schema compilation",
          "url": "https://github.com/colinhacks/zod/pull/6085",
          "fixedBy": [
            {
              "number": 6441,
              "url": "https://github.com/colinhacks/zod/pull/6441"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/core/memoizer.ts",
      "title": "Hotspot: packages/zod/src/v4/core/memoizer.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/core/memoizer.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 13,
      "bad": 6,
      "rate": 0.46153846153846156,
      "lift": 4.864721485411141,
      "examples": [
        {
          "number": 6705,
          "title": "fix(v4): stop the memoizer copying every issue below each recursive node",
          "url": "https://github.com/colinhacks/zod/pull/6705",
          "fixedBy": [
            {
              "number": 6707,
              "url": "https://github.com/colinhacks/zod/pull/6707"
            },
            {
              "number": 6738,
              "url": "https://github.com/colinhacks/zod/pull/6738"
            }
          ],
          "reverted": false
        },
        {
          "number": 6530,
          "title": "fix(v4): parse recursive schemas built by a factory",
          "url": "https://github.com/colinhacks/zod/pull/6530",
          "fixedBy": [
            {
              "number": 6572,
              "url": "https://github.com/colinhacks/zod/pull/6572"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/classic/from-json-schema.ts",
      "title": "Hotspot: packages/zod/src/v4/classic/from-json-schema.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/classic/from-json-schema.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 16,
      "bad": 6,
      "rate": 0.375,
      "lift": 3.9525862068965516,
      "examples": [
        {
          "number": 6452,
          "title": "fix(v4): correct the date/time format keywords in both JSON Schema directions",
          "url": "https://github.com/colinhacks/zod/pull/6452",
          "fixedBy": [
            {
              "number": 6535,
              "url": "https://github.com/colinhacks/zod/pull/6535"
            }
          ],
          "reverted": false
        },
        {
          "number": 6305,
          "title": "feat:  support format: \"hostname\" in fromJSONSchema",
          "url": "https://github.com/colinhacks/zod/pull/6305",
          "fixedBy": [
            {
              "number": 6452,
              "url": "https://github.com/colinhacks/zod/pull/6452"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/locales/nn.ts",
      "title": "Hotspot: packages/zod/src/v4/locales/nn.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/locales/nn.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 5,
      "bad": 3,
      "rate": 0.6,
      "lift": 6.324137931034483,
      "examples": [
        {
          "number": 6595,
          "title": "Add z.currencyCode() over a vendored ISO 4217 list with a weekly refresh",
          "url": "https://github.com/colinhacks/zod/pull/6595",
          "fixedBy": [],
          "reverted": true
        },
        {
          "number": 6427,
          "title": "fix(locales): backfill the mac and Sizable.map gaps, and pin dictionary parity",
          "url": "https://github.com/colinhacks/zod/pull/6427",
          "fixedBy": [
            {
              "number": 6430,
              "url": "https://github.com/colinhacks/zod/pull/6430"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/locales/tk.ts",
      "title": "Hotspot: packages/zod/src/v4/locales/tk.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/locales/tk.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 5,
      "bad": 3,
      "rate": 0.6,
      "lift": 6.324137931034483,
      "examples": [
        {
          "number": 6595,
          "title": "Add z.currencyCode() over a vendored ISO 4217 list with a weekly refresh",
          "url": "https://github.com/colinhacks/zod/pull/6595",
          "fixedBy": [],
          "reverted": true
        },
        {
          "number": 6427,
          "title": "fix(locales): backfill the mac and Sizable.map gaps, and pin dictionary parity",
          "url": "https://github.com/colinhacks/zod/pull/6427",
          "fixedBy": [
            {
              "number": 6430,
              "url": "https://github.com/colinhacks/zod/pull/6430"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-dir:packages/tsc",
      "title": "Fragile area: packages/tsc/",
      "category": "risk",
      "paths": [
        "packages/tsc/**"
      ],
      "kind": "hotspot-dir",
      "fileLevel": false,
      "matched": 10,
      "bad": 4,
      "rate": 0.4,
      "lift": 4.216091954022989,
      "examples": [
        {
          "number": 4316,
          "title": "Drop `z.interface()` from docs",
          "url": "https://github.com/colinhacks/zod/pull/4316",
          "fixedBy": [
            {
              "number": 4359,
              "url": "https://github.com/colinhacks/zod/pull/4359"
            },
            {
              "number": 4330,
              "url": "https://github.com/colinhacks/zod/pull/4330"
            }
          ],
          "reverted": false
        },
        {
          "number": 4085,
          "title": "Add base64url",
          "url": "https://github.com/colinhacks/zod/pull/4085",
          "fixedBy": [
            {
              "number": 4119,
              "url": "https://github.com/colinhacks/zod/pull/4119"
            },
            {
              "number": 4132,
              "url": "https://github.com/colinhacks/zod/pull/4132"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/locales/ja.ts",
      "title": "Hotspot: packages/zod/src/v4/locales/ja.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/locales/ja.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 7,
      "bad": 3,
      "rate": 0.42857142857142855,
      "lift": 4.517241379310344,
      "examples": [
        {
          "number": 6595,
          "title": "Add z.currencyCode() over a vendored ISO 4217 list with a weekly refresh",
          "url": "https://github.com/colinhacks/zod/pull/6595",
          "fixedBy": [],
          "reverted": true
        },
        {
          "number": 6427,
          "title": "fix(locales): backfill the mac and Sizable.map gaps, and pin dictionary parity",
          "url": "https://github.com/colinhacks/zod/pull/6427",
          "fixedBy": [
            {
              "number": 6430,
              "url": "https://github.com/colinhacks/zod/pull/6430"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-dir:packages/resolution",
      "title": "Fragile area: packages/resolution/",
      "category": "risk",
      "paths": [
        "packages/resolution/**"
      ],
      "kind": "hotspot-dir",
      "fileLevel": false,
      "matched": 13,
      "bad": 4,
      "rate": 0.3076923076923077,
      "lift": 3.2431476569407605,
      "examples": [
        {
          "number": 6085,
          "title": "feat(v4): z.compile — ahead-of-time schema compilation",
          "url": "https://github.com/colinhacks/zod/pull/6085",
          "fixedBy": [
            {
              "number": 6441,
              "url": "https://github.com/colinhacks/zod/pull/6441"
            }
          ],
          "reverted": false
        },
        {
          "number": 5130,
          "title": "Zod 4.1",
          "url": "https://github.com/colinhacks/zod/pull/5130",
          "fixedBy": [
            {
              "number": 5145,
              "url": "https://github.com/colinhacks/zod/pull/5145"
            },
            {
              "number": 5141,
              "url": "https://github.com/colinhacks/zod/pull/5141"
            },
            {
              "number": 5139,
              "url": "https://github.com/colinhacks/zod/pull/5139"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-dir:packages/mini",
      "title": "Fragile area: packages/mini/",
      "category": "risk",
      "paths": [
        "packages/mini/**"
      ],
      "kind": "hotspot-dir",
      "fileLevel": false,
      "matched": 14,
      "bad": 4,
      "rate": 0.2857142857142857,
      "lift": 3.011494252873563,
      "examples": [
        {
          "number": 4316,
          "title": "Drop `z.interface()` from docs",
          "url": "https://github.com/colinhacks/zod/pull/4316",
          "fixedBy": [
            {
              "number": 4359,
              "url": "https://github.com/colinhacks/zod/pull/4359"
            },
            {
              "number": 4330,
              "url": "https://github.com/colinhacks/zod/pull/4330"
            }
          ],
          "reverted": false
        },
        {
          "number": 4255,
          "title": "Improve handling of `.meta()`/`.describe()` in JSON Schema converter",
          "url": "https://github.com/colinhacks/zod/pull/4255",
          "fixedBy": [
            {
              "number": 4267,
              "url": "https://github.com/colinhacks/zod/pull/4267"
            }
          ],
          "reverted": false
        }
      ]
    },
    {
      "id": "learned.risk.hotspot-file:packages/zod/src/v4/locales/en.ts",
      "title": "Hotspot: packages/zod/src/v4/locales/en.ts",
      "category": "risk",
      "paths": [
        "packages/zod/src/v4/locales/en.ts"
      ],
      "kind": "hotspot-file",
      "fileLevel": true,
      "matched": 11,
      "bad": 3,
      "rate": 0.2727272727272727,
      "lift": 2.8746081504702192,
      "examples": [
        {
          "number": 6595,
          "title": "Add z.currencyCode() over a vendored ISO 4217 list with a weekly refresh",
          "url": "https://github.com/colinhacks/zod/pull/6595",
          "fixedBy": [],
          "reverted": true
        },
        {
          "number": 4569,
          "title": "Improve tree shaking for esbuild/webpack",
          "url": "https://github.com/colinhacks/zod/pull/4569",
          "fixedBy": [
            {
              "number": 4648,
              "url": "https://github.com/colinhacks/zod/pull/4648"
            }
          ],
          "reverted": false
        }
      ]
    }
  ]
}
