Inspiration git bisect is a powerful tool for finding regressions, but it assumes test results are deterministic. Modern CI often isn't, flaky tests can mislead the search. We wanted a bisector that treats uncertainty as a first-class signal instead of assuming every result is trustworthy.
What it does Finds the commit that introduced a regression while classifying each test result as pass, fail, or flaky. Flaky outcomes trigger rerun-tier escalation (3→7→15) before influencing the search. Once the culprit is confirmed, GPT-5.6 explains the likely cause and proposes a patch, which is verified in a disposable worktree using target, smoke, and invariant checks. Runs via Docker with a browser-based timeline for inspecting the bisect.
How we built it Codex generated the initial scaffold - CLI, core modules, fixtures, and tests. We added GPT-5.6 tier routing and escalation, a three-stage verification pipeline (target, smoke, and property-based invariant checks), and Docker packaging for reproducible, zero-setup execution.
Challenges we ran into Without a paid GPT-5.6 API key, we couldn't validate escalation on our hardest fixture. Rather than simulate hidden behavior, we built a clearly disclosed mock harness, enabled only via an explicit flag and labeled analysis_provider: "mock" throughout. We also fixed a packaging issue caused by a missing wheel build dependency.
Accomplishments that we're proud of We're most proud of adding rigor rather than shortcuts. The invariant gate catches shallow AI-generated patches that pass surface tests without fixing the underlying issue, and the mock harness lets us validate the orchestration honestly despite API constraints. We applied the same standard to every project claim: verified where tested, clearly disclosed where not.
What we learned Reliable automation depends as much on verification as generation. We learned to treat our own claims the same way Sentinel treats test results, revalidate after every meaningful change instead of assuming earlier results still hold.
Log in or sign up for Devpost to join the conversation.