cycle floor: paired_floor over round 1 and three prompted replicates #73

Merged
weksa merged 4 commits from weksa-lowering/cycle-floor-paired into main 2026-11-13 05:02:31 +00:00
Member

The cycle's noise floor is now paired_floor (the relower formula, FLOOR_Z 3, pooled variances) of round 1 against rounds 2 to FLOOR_ARMS_MIN + 1, per panel language, read from the rounds' per-item Validation scores. floor_of is the one owner; spread() and the two-round spread are deleted. Spec weksa-lowering:cut_spec:cut-cycle-floor-paired.r1; builds on #71 (scores) and #72.

Operator-visible cost: a run needs four loop round calls (each prompt answered by a fresh subagent) before its first loop cycle, where it needed two. Missing, score-less, cycle or other-inventory rounds in 1..=4 are RunError::NoFloor with the new text; ragged scores give a NaN floor (fail closed).

Tests: the_floor_is_paired_over_four_replicates (hand-worked floor), cycle_noise_term_is_pinned_through_cycle (answers finding cycle-noise-unpinned; reverting decide_panel's noise term to the step fails it, and only it), rewritten distinct_replicates_... and cycle_needs_a_floor (incl. a pre-scores round), all golf_loop/cli fixtures moved to four replicate rounds. clippy -D warnings clean, full cargo test -p weksa green, schema output unchanged.

Not merged by Hands. Follow-up: recalibrate on a cycle's own readings.

🤖 Generated with Claude Code

The cycle's noise floor is now `paired_floor` (the relower formula, `FLOOR_Z` 3, pooled variances) of round 1 against rounds 2 to `FLOOR_ARMS_MIN` + 1, per panel language, read from the rounds' per-item Validation scores. `floor_of` is the one owner; `spread()` and the two-round spread are deleted. Spec `weksa-lowering:cut_spec:cut-cycle-floor-paired.r1`; builds on #71 (scores) and #72. Operator-visible cost: a run needs four `loop round` calls (each prompt answered by a fresh subagent) before its first `loop cycle`, where it needed two. Missing, score-less, cycle or other-inventory rounds in 1..=4 are `RunError::NoFloor` with the new text; ragged scores give a NaN floor (fail closed). Tests: `the_floor_is_paired_over_four_replicates` (hand-worked floor), `cycle_noise_term_is_pinned_through_cycle` (answers finding `cycle-noise-unpinned`; reverting `decide_panel`'s noise term to the step fails it, and only it), rewritten `distinct_replicates_...` and `cycle_needs_a_floor` (incl. a pre-scores round), all golf_loop/cli fixtures moved to four replicate rounds. clippy -D warnings clean, full `cargo test -p weksa` green, schema output unchanged. Not merged by Hands. Follow-up: recalibrate on a cycle's own readings. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
floor_of reads the per-item Validation scores of rounds 1 to FLOOR_ARMS_MIN + 1
(cycle None, run's first inventory) through paired_floor, the formula relower
uses. Missing or score-less replicates are NoFloor.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Kills sum-of-squares, sum-of-floors, largest-floor and full-revert mutants of
decide_panel's noise term. The strict > is not pinned: no scored fixture ties.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
weksa merged commit 2dcc90796f into main 2026-11-13 05:02:31 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/Weksa!73
No description provided.