textopt@0.2.0
Minor Changes
- c2c4d3e:
GepaOptimizerrefuses an acceptance policy that cannot accept anything at the
configuredminibatchSize. A sign-flip test over three instances bottoms out at
p = 0.125, sopairedPermutationAcceptance({ alpha: 0.05 })at the default
minibatch rejected every proposal and returned the seed after spending the whole
budget. Acceptance policies report the batch they need asminimumPairs; raise
minibatchSizeto at least that, or loosenalpha. - c2c4d3e:
createFileCacherequires anamespacenaming the system its scores measure,
and never serves an entry written under a different one. A durable log outlives
the model behind an alias, the decoding settings, and the scorer version — every
part of a measurement a cache key does not name. Pass the same string you would
pass ascacheNamespace. - c2c4d3e:
GepaAdapter.evaluatereturns aReflectiveBatch— anEvaluationBatchwith
feedbackrequired. An adapter that returned scores and no prose left the
reflection prompt rewriting instructions from empty feedback blocks, which is
blind search reported as a normal run. Adapters that already returnfeedback
need no change; the rest now fail to compile. - c2c4d3e:
JudgeCriteriontakesweightandgate. A gated criterion that grades below
its bar scores the instance 0 whatever the other criteria said, so a hard
requirement is no longer something a search can trade away against three
cosmetic ones. Whenexpectedis passed, the default judge prompt also forbids
the feedback from restating it — feedback is rewritten into a reusable
instruction, and a fact copied out of the gold answer becomes an answer key
memorised in the prompt. - c2c4d3e: Every result and
finishevent carrieswarnings: what a run could see about
its own measurement that its numbers cannot say. A run given novalidationSet
reports that selection ran on the instances reflection read, and a seed the
metric scores identically on every validation instance reports that there was
nothing to rank. PassvalidationSet: "reuseTraining"to accept the reuse by
name. Custom optimizers implementingOptimizerResultor emittingRunFinished
must now populatewarnings.
Patch Changes
-
3f5824b: The long-form guides ship in the tarball, under
docs/, so an installed copy
documents the version installed rather than whatevermainhas become. Two of
them are new:data-prep.mdon splitting a dataset a search can be trusted
with, andmetric-preflight.mdon checking a metric separates candidates —
and moves over a wide enough interval — before a budget is spent on it.Doc comments on the API carry the traps that belong beside the code: that
weight: 0removes a criterion from the aggregate but not from
objectiveScores, that agateand a heavyweighton the same criterion
enforce a requirement twice and narrow the range a search has left to move in,
and that a SIMBA run has to be funded past its finalist reserve before any step
happens.