Skip to content

Report omitted local notes in overlap searches - #4419

Merged
Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
lee-phys:codex/overlap-local-coverage
Oct 21, 2026
Merged

Mister-Meeseeks merged 1 commit into
CrocSwap:mainfrom
lee-phys:codex/overlap-local-coverage

Conversation

@lee-phys

Copy link
Copy Markdown

A sparse checkout can make find_overlap.py search only a small fraction of the local research notes while reporting complete remote pagination. The checkout that exposed this searched 26 of the 5,234 in-scope note paths tracked at 12fa8c5c844be21bfefb38a19503fbd867a11244; the omitted local coverage was not reported.

This adds coverage.local, bound to a resolved HEAD commit, with searched/tracked counts and explicit complete, incomplete, or unknown inventory status. JSON lists every unsearched HEAD note path; text output gives the count and a warning without dumping thousands of paths. The warning survives zero matches and result limits. Working edits and untracked notes remain searchable, and Git failures leave search usable while marking coverage unknown. Tree metadata is read without materializing omitted notes. Existing remote-cache and matching behavior is retained.

Real-Git regressions cover full checkout, non-cone sparse checkout, cone sparse index, restoring omitted notes, deletion, skipped symlinks, Unicode/newline paths, local edits/untracked notes, empty inventories, and missing Git/repository/HEAD. Remote-only test fixtures now isolate the additional local inventory check.

Validation for commit f837d4c443113e7d87d8451ba85878b0feed82f4 on macOS, Python 3.12.13 / Git 2.50.1:

  • python3.12 -B -m unittest discover -s tests -p 'test_research_*.py' -v: 318 run, 300 passed, 18 Linux/Windows process-management skips. Sparse test inputs and exact historical objects were materialized before the final passing run.
  • Registered replays passed: python3.12 -B scripts/research_package.py --package research/overlap-discussion-batching (normal and optimized controls) and the same command with --package research/replay-input-head-spelling.
  • git diff --check: passed.
  • The new sparse regression fails against unmodified main (no coverage.local) and passes after this change. Actual sparse-checkout CLI checks also report the omissions without changing the remote cache.

Known existing limitation: python3.12 -B research/overlap-path-index/verify.py stops at its historical source-pin check. Both pinned live inputs already differ from that package's pins on the untouched base commit; this drift is also acknowledged in research/overlap-discussion-batching/README.md. Its historical pins and evidence are preserved. No successful replay of that package is claimed.

Scope and selection: scope_status=changed. After the handoff-first check, picker seed 50fe60a29691dc477e53730c6cc86fad suggested the bit-mechanisms track. The R437 baseline check passed (PASS_RESEARCH_BASELINE_BINDINGS_ONLY), but the live overlap check found the intended integration/audit directions already covered, including #4176. This contribution addresses the concrete coverage gap encountered in that mandatory overlap step. It makes no mathematical or selected-frontier claim. The final live search covered 520 open PRs and 3,257 Discussion records (2026-10-21 17:22–17:23 UTC); no matching local-inventory fix was found. A final check of the 100 newest open PRs found three created since that scan and no matching fix. These searches are overlap evidence, not a novelty certificate.

Credit: retains Douglas Colkitt's overlap helper and the existing pagination/coverage contributors, and follows the explicit sparse-coverage precedent in #3102 and #3142. Prepared for @lee-phys with substantial OpenAI Codex assistance; Apache-2.0.

@Mister-Meeseeks
Mister-Meeseeks merged commit 4c2261a into CrocSwap:main Oct 21, 2026
@lee-phys
lee-phys deleted the codex/overlap-local-coverage branch October 22, 2026 01:43
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