RunRecord key 12 LowererReach set by a required --lowerer-reach flag and
shown in round and cycle lines. PROMPT_SOURCE_DIGEST covers packet.rs.
Lowering text is refused when blank, over 4096 bytes or holding a control
character. Unanswered lowering digests are listed once. Tests for the
Prompt::lower build refusal and the packets.cc discard after a port error.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
run::score_round no longer calls lower::lower. Prompt::lower prints the
meaning of an admitted view, en-US entity forms and the inventory at the
view's revision, and no item text, key, group, speaker or packet key. The
answer is a LoweringDraft {text}, held in score_round's locals and scored,
never written to run.cc, a RoundRecord, a Decision or EditFeedback. A round
or cycle asks every encode prompt, then every lowering prompt, all or
nothing. An entry an edit adds can now be lowered.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Deletes LOWERER_SOURCE_DIGEST, DriftOf::Lowerer, RunRecord key 7 and
RoundRecord key 3 (retired, never reused). PROMPT_SOURCE_DIGEST now covers
lower.rs, which the lowering prompt will read. Schemas regenerated.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
with_scene now takes the corpus store and refuses (V16) a scene that no longer
lists the speaker of every live item of its group.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Delete the source-shape tripwire for one put_prepared_batch; run_cache_over
lets a unit test run cycle over a CacheBackingStore failing write 1 or 2:
the round and the decision land together or not at all.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Clears type_complexity in daodejing.rs and large_enum_variant in main.rs.
RoundOutcome's large_enum_variant in run.rs is left for golf-loop-edit-accept, which rewrites that file.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Reading, decide and LADDER_STEP are pure; Decision (weksa.loop_decision) holds
digests and numbers; the latest Accepted decision names the run's head. The
candidate round and its decision are one batch put.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
An encode answer the port reports as InvalidData is that item's Refused(Parse),
not an aborted round.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
RunRecord.inventory is provenance only; open refuses Drift(Inventory) when the
run's own file differs. A run.cc from before has no key 11 and its open fails.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Validation and Train means are over every item of the split with scored counts
beside them, so refusing a weak item cannot raise a mean. A round that fails
before its record is put (embedder down) removes its packets.cc, and a round
starts from none, so a rerun with revised answers is not refused as a changed
packet. RoundRecord::summary_line owns the printed line and is pinned with exact
values. The RoundRecord compile_fail doctest gives every field and fails on
E0451, with its twin literal in a lib unit test.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Round reads its stores only from the run record; prompts without answers are
written to the round directory and the command exits 3. Map line 7b records
what landed and what the follow-ups still own.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
encode.rs reads a model answer into a PacketDraft (the one JSON door for
models) and the encoder step sets everything the model does not write. round
asks every offer first and writes nothing while any prompt is unanswered, then
admits into the round's own packets.cc, lowers, scores in one call and keeps a
RoundRecord with Train rows and Validation only as means and refusal counts.
The Dao stores reproduce the base scores (Train 44.18, Validation 78.56).
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The encoder's instructions are written, Prompt::encode takes the run inventory
and revision, and Prompt::digest names a prompt for AnswerFiles: a prompt with
no answer file is written to <digest>.prompt and nothing else happens.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
TrainItems::from_corpus and EncoderOffer::for_round become pub(crate). RunStores
(run.rs) creates a run over three stores, records their canonical paths and
FNV-1a 64 digests plus the prompt and lowerer source digests in run.cc, and
reopens only from that record, refusing on drift. RunRecord and RoundRecord are
published CultCache types. tests/context.rs and the context.rs doctests move to
RunStores; the two mutated-clone gate cases become a unit test.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>