Repository navigation
Conversation
Co-authored-by: Codex <noreply@openai.com>
Co-Authored-By: Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
Add native batched edit histograms
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
This was referenced Oct 11, 2026
Co-Authored-By: Codex <noreply@openai.com>
There was a problem hiding this comment.
🟡 Changes recommended
Removed documentation leaves dangling references and provenance unavailable, while gap-block documentation contradicts the new paired-sum API.
2 open findings
What changed in this PR
Consolidates native reductions, positional/group scoring, stable calibration, and TextIndex E-values for the 1.1.0 release.
Changes:
- Adds native edit histograms and expanded gap-block reductions.
- Adds distinct-record TextIndex calibration and stable Poisson tails.
- Updates packaging, setup, documentation, and regression coverage.
| File | Description |
|---|---|
.gitignore |
Ignores local planning files. |
CHANGELOG.md |
Documents release 1.1.0. |
CLAUDE.md |
Removes repository instructions. |
ROADMAP.md |
Removes downstream roadmap. |
SOURCES.md |
Removes data provenance document. |
docs/api.rst |
Documents histogram and text calibration APIs. |
docs/design/text_index.md |
Updates TextIndex adoption status. |
docs/gapblock.rst |
Documents new scoring geometry and reductions. |
docs/roadmap.rst |
Updates significance roadmap. |
docs/text-index.rst |
Introduces TextIndex calibration. |
include/seqtree/seqtree.hpp |
Declares histogram and gap-block APIs. |
include/seqtree/text_index.hpp |
Declares record-distance reduction. |
pyproject.toml |
Bumps version and adjusts sdist exclusions. |
python/seqtree/__init__.py |
Exports text calibration functions. |
python/seqtree/evalue.py |
Stabilizes Poisson probabilities. |
python/seqtree/gapblock.py |
Exposes new gap-block options and reducers. |
python/seqtree/text_evalue.py |
Implements TextIndex E-values and cutoffs. |
setup.sh |
Combines extras and propagates failures. |
skills/seqtree/SKILL.md |
Removes agent API reference. |
src/_bindings.cpp |
Binds the new native APIs. |
src/count_unit.hpp |
Implements unit-edit histogram acceleration. |
src/gapblock.cpp |
Implements weighted/grouped reductions. |
src/index.cpp |
Implements edit histogram batching. |
src/text_index.cpp |
Implements distinct-record reduction. |
tests/python/test_doc_coverage.py |
Registers text calibration documentation. |
tests/python/test_edit_histogram.py |
Tests histogram equivalence. |
tests/python/test_evalue.py |
Tests stable probability tails. |
tests/python/test_gapblock_group_audit.py |
Tests streaming audits. |
tests/python/test_gapblock_group_offsets.py |
Tests group penalties. |
tests/python/test_gapblock_linear_mass.py |
Tests linear mass reduction. |
tests/python/test_gapblock_paired_sum.py |
Tests linked sum reductions. |
tests/python/test_gapblock_position_weights.py |
Tests length-based weights. |
tests/python/test_gapblock_sequence_weights.py |
Tests per-input weights. |
tests/python/test_setup.py |
Tests setup behavior. |
tests/python/test_text_evalue.py |
Tests TextIndex calibration. |
tests/python/test_unit_histogram_fastpath.py |
Tests histogram fast path. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Consolidates the pending seqtree APIs into release 1.1.0: exact batched edit histograms, symmetric positional weights and group penalties, gap-block balls/counts/linear mass/linked sum reductions, streaming group audits, stable Poisson tails, and distinct-record TextIndex E-values and cutoffs. Existing unweighted scoring and identity exclusion remain intact; duplicate reference rows retain their multiplicity. Supersedes #7–#12.
TextIndex record reduction runs in one GIL-released native call. Native batches resolve one CPU budget, respect detected allocations, reject excessive positive requests, and use the caller plus B−1 workers for a budget of B. Serial execution is inline; pools close before returning. Setup combines extras and propagates installation failures. Internal notes remain local, while public data provenance is preserved in the Sphinx docs.
Validation: 603 Python tests passed locally (4 platform/optional skips), all 70 C++ test cases passed, Sphinx built with zero warnings, oracle/performance gates passed, distribution contents and metadata checked, and clean wheel smoke checks passed. Live-thread measurements on 512 queries × 8,000 references peaked at exactly 1, 2 and 16 threads for serial, explicit two-core and automatic modes; counts matched and peak RSS stayed below 30 MiB. Linux CI exercises restricted one-CPU affinity and excessive-request rejection. Final cross-platform CI is required before merge.
Copilot's two documentation findings were fixed and their threads resolved. Review focus: native score/overflow bounds, histogram equivalence, positional symmetry, grouped and linked reduction semantics, record deduplication/exclusion, GIL and resource cleanup.