Skip to content

feat: add novelty bonus to pilot priority formula (#37) - #37

Merged
cschanhniem merged 2 commits into
mainfrom
feat/pilot-priority-novelty-bonus
Jun 28, 2026
Merged

cschanhniem merged 2 commits into
mainfrom
feat/pilot-priority-novelty-bonus

Conversation

@cschanhniem

Copy link
Copy Markdown
Collaborator

Summary

  • Adds +0.05 × novelty term to _pilot_priority() in selection/pilot.py
  • Within a seed family, higher-novelty variants are now preferred during pilot panel selection
  • SEED-005 variants (novelty=0.467, pool maximum) gain up to +0.023 priority — a tiebreaker that biases Wave 1 toward the most novel sequences without overriding the ensemble score
  • Novelty defaults to 0.0 when absent (backwards compatible)

Motivation

The DISCOVERY_PREDICTION.md root-cause analysis identified "Low scaffold novelty (-15 pp)" as the single largest probability penalty. The pilot panel previously used ensemble − 0.30×disagreement + 0.05×stability. Within the SEED-005 family (41 candidates, all novelty=0.467), selection was purely by ensemble+stability, meaning the max_per_seed=4 cap could select the 4 highest-ensemble variants rather than the 4 highest-novelty. Adding the novelty term corrects this and increases the chance that the 3-4 highest-novelty SEED-005 variants (e.g. SEED-005_VAR_009, _013, _028) enter Wave 1.

New formula

ensemble − 0.30 × disagreement + 0.05 × stability + 0.05 × novelty

Tests

  • test_higher_novelty_higher_priority — novelty=0.467 beats novelty=0.10 at same ensemble
  • test_missing_novelty_defaults_to_0 — absent key gives same result as novelty=0.0
  • test_novelty_formula_contribution — verifies exact arithmetic

All 886 tests pass.

Test plan

  • pytest tests/test_pilot_panel.py — 35/35 passed
  • pytest (full suite) — 886/886 passed
  • No change to public API; select_pilot_panel() signature unchanged

🤖 Generated with Claude Code

cschanhniem added a commit that referenced this pull request Jun 28, 2026
Add +0.05×novelty term to _pilot_priority() so that within a seed
family, higher-novelty variants are preferred during pilot panel
selection. SEED-005 variants (novelty=0.467, the pool maximum) gain
up to +0.023 priority — a tiebreaker that pushes the most novel
sequence variants into Wave 1 without overriding the ensemble score.

Adds three new tests: higher-novelty-higher-priority, missing-novelty-
defaults-to-0, and formula contribution verification.
@cschanhniem
cschanhniem force-pushed the feat/pilot-priority-novelty-bonus branch from 82bf09b to f07ab65 Compare June 28, 2026 05:02
@cschanhniem
cschanhniem merged commit 9e193d5 into main Jun 28, 2026
3 checks passed
@cschanhniem
cschanhniem deleted the feat/pilot-priority-novelty-bonus branch June 28, 2026 05:08
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