Skip to content

Release seqtree 1.1.0: consolidate native reductions and text calibration - #13

Merged
mikessh merged 13 commits into
masterfrom
dev
Oct 11, 2026
Merged

mikessh merged 13 commits into
masterfrom
dev

Conversation

@mikessh

@mikessh mikessh commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

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.

mikessh and others added 7 commits October 10, 2026 07:19
Co-Authored-By: Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
Co-Authored-By: Codex <codex@openai.com>
Co-Authored-By: Codex <noreply@openai.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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.

Comment thread docs/gapblock.rst Outdated
Comment thread pyproject.toml
mikessh and others added 3 commits October 11, 2026 23:32
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>
@mikessh
mikessh merged commit 5e96fe0 into master Oct 11, 2026
20 checks passed

This branch was successfully deployed

1 active deployment
github-pages — 5d390a60 Deployed Oct 11, 2026 by mikessh via deploy #41
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