CodeInstances Adds Diff, Comparing a Passing Run With a Failing One
CodeInstances shipped its second release the same day as its first. Version 0.2 adds the third verb on its plan, compare: codeinstances diff passing.instance failing.instance lines up two recorded runs and shows where they part ways. Binaries are out for Linux, macOS and Windows.
Calls are paired by method, URL and request body, then by method and URL alone, so a request sent with a different body shows as one changed call rather than one missing and one extra. Response bodies in JSON are compared member by member, down to a line like “at $.items: 12 items in a, 0 in b”. How each run ended and what it printed are compared too, and a fixed build run against the old one gets a note, not a difference. Each call now keeps how long it took, so the slowest changes show at a glance. That’s an addition to the open format, and older files still read.
The self-checking demo went from 11 checks to 14, and 70 Go tests pass with a clean race detector run. In the recorded demo, comparing a 23-call run with a second run that made one extra request took 7 ms, and the extra request was found. Cost figures (money, tokens, bytes sent) are held back for now. Shrinking a failing run to the smallest one that still fails is next on the plan.