Skip to content

refactor(seqopt): single NSGA-II kernel (drop engine knob) + rename tutorial to protein engineering#272

Merged
breimanntools merged 1 commit into
masterfrom
refactor/seqopt-single-engine
Jun 25, 2026
Merged

refactor(seqopt): single NSGA-II kernel (drop engine knob) + rename tutorial to protein engineering#272
breimanntools merged 1 commit into
masterfrom
refactor/seqopt-single-engine

Conversation

@breimanntools

Copy link
Copy Markdown
Owner

Summary

Two follow-ups to PR #271 (both requested):

  1. Drop the redundant engine knob. engine="exact" and "fast" produced byte-identical fronts, so the dual-engine parameter was pure redundancy. Collapsed to a single memory-bounded chunked-vectorized non-dominated sort: fast_non_dominated_sort now uses the chunked dominance matrix; removed fast_non_dominated_sort_vec / select_nsga2_engine / the engine branch in rank_and_crowding; dropped the engine run() param + LIST_SEQOPT_ENGINE + validation + the engine-specific tests. DEAP parity tests, the comparison script (now ours vs deap), ADR-0045 (D2/D4), the release note and CONTEXT.md updated. Output unchanged.

  2. Rename the tutorial tutorial7_protein_designtutorial7_protein_engineering (+ toctree), so the filename matches the protein-engineering framing.

Verification

464-test broad gate green locally; engine removed from the public API; docstrings clean; comparison script runs (ours faster than DEAP). Merged current with master.

🤖 Generated with Claude Code

…protein engineering

(1) Engine simplification: exact/fast were byte-identical, so the dual-engine knob was
pure redundancy. Collapse to a single memory-bounded chunked-vectorized non-dominated
sort: fast_non_dominated_sort now uses the chunked dominance matrix; remove
fast_non_dominated_sort_vec / select_nsga2_engine / the engine-branch in rank_and_crowding;
drop the engine run() param + LIST_SEQOPT_ENGINE + validation + the engine tests. The DEAP
parity tests, comparison script (ours vs DEAP), ADR-0045 D2/D4, release note and CONTEXT.md
are updated to the single kernel. Output unchanged (464-test gate green).

(2) Rename tutorial7_protein_design -> tutorial7_protein_engineering (+ toctree) so the
filename matches the protein-engineering framing.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 90.47619% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 96.14%. Comparing base (2178624) to head (c9127da).
⚠️ Report is 13 commits behind head on master.

Files with missing lines Patch % Lines
...alysis/protein_design_pro/_backend/seqopt/nsga2.py 86.66% 1 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master     #272   +/-   ##
=======================================
  Coverage   96.13%   96.14%           
=======================================
  Files         176      176           
  Lines       16733    16739    +6     
  Branches     2863     2856    -7     
=======================================
+ Hits        16087    16093    +6     
- Misses        363      364    +1     
+ Partials      283      282    -1     
Files with missing lines Coverage Δ
aaanalysis/_constants.py 100.00% <ø> (ø)
...analysis/protein_design_pro/_backend/seqopt/run.py 94.02% <100.00%> (-0.38%) ⬇️
aaanalysis/protein_design_pro/_seqopt.py 88.88% <ø> (-0.04%) ⬇️
...alysis/protein_design_pro/_backend/seqopt/nsga2.py 95.53% <86.66%> (-1.40%) ⬇️
Components Coverage Δ
cpp_core 94.95% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@breimanntools breimanntools merged commit f0bf23b into master Jun 25, 2026
17 checks passed
@breimanntools breimanntools deleted the refactor/seqopt-single-engine branch June 25, 2026 17:47
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.

1 participant