mirror of
https://github.com/pbakaus/impeccable.git
synced 2026-09-12 22:26:38 +03:00
context-signals hardcoded ['main', 'master'] as diff-base candidates, so repos integrating through develop (or any other branch) diffed against the wrong base: git.changedFiles carried the entire divergence and downstream commands scanned the wrong set (issue #302). The base is now detected, most specific signal first: the branch's configured upstream (@{u}; a branch pushed with -u tracks itself and is skipped by the self-check), then the remote's default-branch symref (origin/HEAD), then the conventional integration names including develop. The conventional fallbacks are withheld when the current branch is itself one of them, so sitting on main in a repo that also has develop keeps the working-tree scope instead of diffing two integration branches against each other. Five tests (three failing-first): develop-based feature branch, origin/HEAD detection with a non-standard default name, upstream tracking, on-the-integration-branch fallback, and the integration-vs-integration guard. Prepared with AI assistance (Claude Code), directed by @pbakaus. Co-Authored-By: Claude Code <noreply@anthropic.com>