Notes/Selectivity

Selectivity Shrinks Failing Inputs Into Smaller Bug Reports

Selectivity joins the studio with a small, practical job: reduce the input that triggers a bug while a command checks that the behavior survives. The first release works on file lines and directory contents, with an optional line pass inside the files that remain. Each predicate observation gets a fresh copy, and ambiguous outcomes leave the earlier input in place. The project introduction explains the contract.

Two generated examples give the first version a clear check. A 20000-line file becomes its two required trigger lines, and a three-file bundle becomes two files containing only their required lines. These are known-answer fixtures, rather than performance claims about real bugs. The line case and directory case include the limits, and the browser playback steps through the actual recorded checks.

The code is one Go binary under Apache 2.0, with an audit trail and a local HTML report. Linux and macOS CI passed, and release archives passed native smoke checks on Linux, macOS and Windows. The follow-up 0.1.1 patch fixes the command that verifies latest-release downloads; the first archives were independently checked too. The latest release includes the five platform archives and their checksum manifest.