mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-24 04:33:17 +00:00
5f5f7ac7fc
The completion guard's CI mode now compares contract text against the evaluated commit (#2502), but it still decided which contracts a commit owed from HEAD's registry and contract index. CI walks a branch with HEAD at the tip (or at main after a merge), so a later commit could change an earlier commit's verdict. If a later commit added a Shared Boundaries reference to a file, an earlier commit that was complete when written got blocked. If a later commit dropped ownership of a file, an earlier commit that changed it without its contract passed. The pre-commit hook read both from the commit's own index, so CI and the hook could still disagree. repo_file_io and subsystem_contracts can now read from a revision as well as the working tree or index. A revision read uses only that commit's tree and fails closed rather than falling back to the disk. In diff-base mode the guard reads the registry and contract index from the evaluated commit, as does the Prettier-only inference that --commit enables. Replaying CI's per-commit loop over the last 120 commits on main gives the same verdicts as before.