Marcin Pawlowski 525d081a3c
Keep the deployed rule as the default; make the proposal an explicit arm
I had planned to flip uncle_window_anchor's default to "parent" so new configs
would measure the proposed design by default. Tried it, and it breaks a
documented guarantee: key() appends the anchor only when it is not "uncle", so
with "parent" as the default an --old run's key is no longer byte-identical to
the pre-redesign key and --old stops bit-reproducing historical runs (sec 9).
o.key() == o._base_key() fails outright.

Reverted, and on reflection the default was wrong for a second reason anyway.
The report's job is to describe the protocol as deployed and to RECOMMEND
changes; the default should therefore be the deployed rule, with the proposal
as an explicit arm. That is exactly the convention fixed_point already follows
(default exact f = the analysis convention, explicit True = spec-faithful).
Both reasons are recorded on the field.

To make the distinction visible rather than implicit, the spec-as-is studies
now pin uncle_window_anchor: uncle explicitly -- spec_point.py, spec_jitter.py
and the three spec-point-*.yaml configs answer "what does the DEPLOYED chain
do", so they must not drift onto a proposal if a default ever moves.

Adds uncle_window_anchor as a sweep axis (SweepConfig field plus _SWEEP_AXES),
and configs/absorption-window-anchor.yaml: the sec 3.4 absorption sweep re-run
under both anchors at three delays. That study is the one that can move a
recommendation -- the W >= 7/f floor was measured against the uncle gap, and the
parent gap runs about one block-interval longer, so the floor should sit higher
and the margin behind W = 10/f shrink.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-07 17:53:47 +02:00
..
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00
2026-07-30 18:57:10 +02:00