Spaces:
Running
Running
Commit History
-
Surface the active-learning surrogate as the Learn-phase "wow" moment
Tengo Gzirishvili +1: Claude Sonnet 5Research finding: the field's actual bottleneck isn't tool routing, it's getting smarter after every real measurement (ALDE, Nat. Commun.: 12%->93% yield in 3 rounds via uncertainty-aware active learning) — and our biggest funded competitor's headline feature is exactly "learns each time you upload experimental data." We already had both technical pieces (the per-user surrogate in active_learning.py, the cross-user aggregate + scheduled rebuild in aggregate.py/server.py) — they were just invisible, reduced to a one-line note nobody would notice. This makes them visible. Backend: - active_learning.Surrogate gains `components` (prior/learned/explore/ n_measured per mutation) and a new narrate() helper — a deterministic, template-only explanation of why a mutation's score moved (or didn't). Never fabricates: it's a pure decomposition of numbers fit_surrogate already computes. - _de_round2_library now also blends the cross-user global prior (parity with round 1, pr…874f438
-
test: cover DE active-learning surrogate (Design→Build→Test→Learn)
Tengo Gzirishvili +1: Claude Opus 4.8Adds tests/test_active_learning.py (16 cases) for dee/core/active_learning.py, the round-2 learning core that previously had no committed test: - label parsing (1→0 indexing) + malformed rejection - honest fallback below the measurement floor / with no value spread / empty - headline property: a deliberately anti-correlated ESM-2 prior is overridden by bench measurements (Spearman recovery >0.6, large lift over the prior) - adjust_pool swaps delta_ll into the SA Mutation pool without touching position/wt_aa/mut_aa (frozen dataclass intact) - unmeasured mutations fall back toward the prior, not invented Pure numpy — no torch/ESM needed. Full suite now 241 passing. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>2d37996