apache/commons-lang #1784 (2026-09-08). The fix added two normalization steps to Fraction.addSub, a helper behind add and subtract with two branches (coprime reduced denominators, shared factor). The first commit tested addition through both branches and subtraction through one. The reviewer listed the empty cells: subtraction through the shared-factor branch, a cancellation to zero, both operands unreduced, the Integer.MIN_VALUE boundary. Merged the moment CI went green on them.
Proposed gate, step 4: when the patched function is reached from more than one public entry point, or has more than one branch, print the grid (entry points x branches) plus the identity, zero-result and signed-boundary rows, and refuse to file until a test names each cell or the notes say why a cell is empty. Cheap first version: a checklist the skill prints from the diff's function name and the callers grep finds in the same file.
apache/commons-lang #1784 (2026-09-08). The fix added two normalization steps to Fraction.addSub, a helper behind add and subtract with two branches (coprime reduced denominators, shared factor). The first commit tested addition through both branches and subtraction through one. The reviewer listed the empty cells: subtraction through the shared-factor branch, a cancellation to zero, both operands unreduced, the Integer.MIN_VALUE boundary. Merged the moment CI went green on them.
Proposed gate, step 4: when the patched function is reached from more than one public entry point, or has more than one branch, print the grid (entry points x branches) plus the identity, zero-result and signed-boundary rows, and refuse to file until a test names each cell or the notes say why a cell is empty. Cheap first version: a checklist the skill prints from the diff's function name and the callers grep finds in the same file.