What problem does it solve? Data pipelines often run without errors yet produce wrong numbers — totals that don't reconcile, inflated revenue after a join, or coefficients with the wrong sign. This Skill replaces guess-and-patch debugging with a systematic bisection method that traces provenance backward through joins, filters, aggregations, and recodes to find the exact stage where the number went bad. ## Core Features & Use Cases - Pipeline Bisection: Reproduce the wrong number minimally, then binary-search the pipeline stages (load, join, filter, group-by, recode) to localize the bug in a few checks. - Fix-at-Source Discipline: Distinguish data-bug fixes (restoring the agreed analysis) from analytical-design changes (sample, spec, or estimand changes that must be surfaced to the user before proceeding). - Regression Prevention: Add a data-contracts invariant that would have caught the bug, verify it fails on the broken version, and log the lesson to the project's docs/LESSONS.md. - Use Case: Revenue tripled after a join in an R or Python analysis. The Skill checks key uniqueness and row counts before and after each join, identifies the fan-out caused by a non-unique key, fixes the join at the source, and adds a standing uniqueness check. ## Quick Start Ask the assistant to debug why a computed total looks wrong by bisecting the data pipeline stage by stage instead of patching the output.