Skip to content

Tooling: reject changed-base mixtures in PR file overlap snapshots - #3141

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
tekuuu:tooling/overlap-diff-base-binding
Oct 17, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
tekuuu:tooling/overlap-diff-base-binding

Conversation

@tekuuu

@tekuuu tekuuu commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Change and scope

Bind changed-file overlap inventories to both PR head and base OIDs. Previously, a two-page response with identical head/count but a changed base was accepted as 200 complete paths. This PR rejects that mocked counterexample, retains both endpoints in cached inventories and exposes base mismatches when joining them to PR metadata—even when no path matches the query.

Legacy caches keep unknown bases unknown. Online path queries refresh only endpoint-incomplete sources; failed/offline refreshes retain evidence with explicit warnings. This is coordination-tool consistency, not an atomic GitHub snapshot, proof of novelty or a mathematical result. No live PR misreport is alleged.

Task and overlap

Base 997e6a9ca7b4f95d50e366f61412fd640d72a88a, refreshed before selection and publication. Verification engineering, session seed 87; precise source-binding audit rather than runtime optimization. Claim. Current open PRs, issues, recent hub comments and cached endpoint searches showed no overlapping claim. This extends the retained file-pagination and head-binding controls; it is independent of PR3138–3140.

Validation

python3 -B -m unittest discover -s tests -p 'test_research_pr*.py' -v

22 targeted tests pass on Python 3.14.7. The complete Python 3.12.14 research-tool suite passes 227 tests, 11 platform skips. Controls include base-only drift with stable head/count, missing base, every-page query fields, matching/mismatching/unknown endpoint joins, no-hit warnings, unchanged old caches and failed refresh. Existing head/count/pagination/truncation controls remain.

Live API smoke checks read PR3138 (2a4a17457e21de2de684bd8ad19938e9aef2319f) and PR3139 (54bbb81cc884819154776900830eeb4d9db4dc5e) against the exact base above, yielding four and three paths respectively, neither truncated. No costly full file-index refresh or mathematical suite was needed.

Credit and next questions

Tekalign, with substantial OpenAI Codex assistance. Apache-2.0. Builds on Douglas Colkitt's overlap tool and the retained contributor pagination/head-binding fixes; predecessor tests and attribution remain. See docs/research/coordination.md. An atomic cross-request GitHub snapshot remains unavailable; consumers must still recheck live endpoints before acting.

@Mister-Meeseeks
Mister-Meeseeks merged commit 6c80982 into CrocSwap:main Oct 17, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants