{
  "id": 7969845,
  "title": "Freeze a Bisect SHA and Public API Before an OSS Patch Review",
  "url": "https://urgent.news/2026/09/17/freeze-a-bisect-sha-and-public-api-before-an-oss-patch-review",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-17T06:36:18.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/gitrs_5994/freeze-a-bisect-sha-and-public-api-before-an-oss-patch-review-444j"
  },
  "original_language": "en",
  "account": "Before an open-source patch review, two frozen artifacts must be created. The first is a git bisect SHA, which identifies the specific commit that introduced the bug. The second is a snapshot of public names, capturing all top-level functions and classes that could be impacted by the change. These artifacts serve as hard merge gates, restricting any model-generated edits to within their defined boundaries. The process begins with a maintainer cloning the project at a specific tagged version, creating a virtual environment, and activating it. The maintainer then runs a test to confirm that the bug exists in that version. Next, the bisect process is initiated, narrowing down the range of commits to the exact one that caused the failure. This SHA is recorded as the FIRST_BAD file. The snapshot of public names is also generated at this point, providing a reference for what is exposed to other parts of the system. By keeping these two artifacts in the issue thread and treating them as gatekeepers, any subsequent changes will be strictly limited, preventing models from inventing additional files or APIs without cause. This workflow helps maintainers focus on fixing the original bug rather than dealing with unwanted scope creep or downstream breakages.",
  "summary": "An OSS patch needs two frozen artifacts before model review. The first artifact is a git bisect SHA. The second is a snapshot of public names. Models that skip those bounds invent extra files. They also invent extra public APIs without cause. Review then drifts away from the real bug. This workflow is for maintainers who already reproduced the bug. It does not replace a real failing test. It only…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}