Ideal State
- Before anything changed, the target's ideal state was located (its ISA criteria, its standing checks, or the ask it serves), and a baseline was measured by an existing instrument and recorded in the climb ledger with how it was measured.
- The misses behind the climb are real: Errata complaints, false passes, failing cases, broken-rule exemplars. None are invented.
- A climb the principal asked for runs in one go from baseline through experiments to its stop: a stated target, a budget stated when the climb opened (
start --budget <n experiments>, optionally--budget-reads <n candidate reads>), after whichexpandscreenrefuse, or, with neither given, a plateau thatplateauconfirms.plateaucounts experiments in a single-proposer climb and generations once the climb runs Ideate's population. While the reverts since the last keep span fewer than three kinds of change,plateauanswerswidenand the climb tries other kinds rather than stopping. It never halts after the baseline to ask for a budget; it stops early only at a safety gate, at a stop its intent names (IsaClimb's restate, Prompt's suite review, Eval's restart decision), or at an abort: continuing would cross an ethical line, the climb has failed with no path to recovery, or its resources are better spent elsewhere. - Across a climb, proposals come from varied minds: proposers that differ in background, vendor and reach (careful to dreamy), drawn in code, whose changes span the kinds the ledger records (knob, wording, rule, structure, delete, add, import). Each experiment row carries its kind, origin and parent, so the close can say which kinds and which proposers earned keeps. A recombination names the earlier experiments it draws on.
- Each change rests on behaviours named on train cases, with how many cases show each, and its size is free: one word or a new stage. A kept change with several parts credits a part with the gain only after a variant without that part was measured; until then the gain is reported as unattributed.
- No proposer's context ever held test, screen or holdout cases or their scores. Proposers read train case transcripts from the run file under
MEMORY/STATE/Evals-Results/<suite>/<run>/and the climb's history throughdigest <id> --train-only; the session that decides keeps sees scores only, and the target under test never sees the suite's expected outputs or rubric. - Only held-out measurement keeps a change, and the keep rule lives in code: the test score clears the noise floor, at a significance corrected for every candidate read on test since the last keep, the instrument and served model are unchanged, and standing checks did not drop. A tie inside the noise is kept only when it removes material (
--simpler). A judge's opinion of a proposal decides at most which proposals get measured, never which are kept. Every experiment, kept or reverted, is in the ledger, and a revert that gained on train stays in the climb's archive as material for recombination. - When many candidates compete, a screen split cuts them down so test reads stay few; the ledger counts every test read, and a declared holdout is scored once, at close, beside the test delta.
- When
plateauasks for it (two reverts in a row, or in population mode the run of generations without a keep thatplateaucounts), astallcategorization (artifact, grader, harness, structural, variance) is recorded before any further content change, and each category goes to the system that fixes it. - Every kept win is landed as a standing check (a suite case, a judgment-layer question, a
bunker miss, a sharper criterion, a fixed tool or a Gotcha) so the same miss cannot recur. What a climb learned is never landed as a longer prompt. - A climb closes with baseline, best and delta plus the diff that produced them, the holdout delta when one was declared, the test-read count and the keep rate by kind and origin.
close --stoprecords why it stopped (plateau, target, budget, abort, or reviewed for a Loop) and refuses a close with no reason or one the ledger contradicts: plateau needsplateauto answer plateaued, budget a spent budget, target a keep, abort a--reason, reviewed a climb with noexprows and a--reasoncarrying the measured delta. It lists every baseline abaseline --force --reasonreplaced, with that reason; it files an Upgrades record naming the climb, and is marked verified only when Errata shows its complaint rate fell. - With no target, the survey ranks real hills from Errata, Assay and Upgrades and reports any unreadable source as unavailable, never as zero pain.
- A Loop run puts the principal's review between full Algorithm passes in place of the code keep rule, opens and closes in the same climb ledger, and still ends on a measured delta against baseline.
The Bunker CLI is maintainer-private and not in the public release; run code rows with
bun test ./<path>and suite rows withbun skills/Assay/Tools/EvalRunner.ts.
