diff --git a/plan/candidates.md b/plan/candidates.md index c928c19..d778ca7 100644 --- a/plan/candidates.md +++ b/plan/candidates.md @@ -2649,3 +2649,45 @@ enemy settles, one of ours moves so the stand set gains and loses stands, and that same step lands inside a third enemy's envelope so its positions shift under it - then asserts the fixture produced all three before comparing against a full re-sweep of the same state. + +### Across a round boundary it carries nothing, and the reason is a product + +With rebuilds two to four cheap, the *first* rebuild of each round is what is +left: about three quarters of a round's movement planning. `Memos::take` drops +every entry from an older round, so that rebuild is always a full sweep. The +obvious next question is whether it has to be. + +It does. Measured the same way, before anything was built - 11 boundary +crossings over four rounds of a pinned 4v4: + +| | within a round | across a boundary | +|---|---|---| +| stands shared | 93-100% | 0-11% (one outlier at 80%) | +| enemy positions shared | 93-99% | 0-18% | +| **pairs carried (ceiling)** | **91-99%** | **0-3%, median 0%** | + +**A pair needs both halves, and the shares multiply.** Within a round one unit +moves between rebuilds, so `0.97 x 0.97` is about 94% and the carry pays. +Between round `N`'s last rebuild and round `N + 1`'s first, *every* unit has +moved: our own reachable set is drawn from a new hex, and a `Reach` pins MP +spent, so even a hex we can still reach is usually a different stand. About +`0.06 x 0.04` is a fifth of one percent. The one crossing that kept 80% of its +stands still carried 3%, because all four enemies had moved regardless. + +No relaxation of the key recovers this, and the instrument checked rather than +assumed it: reading "the same machine" three ways - the whole wire record, the +record without position and turn state, and that without heat as well - reached +**0%** in every case, because the geometry is already gone before state is +asked about. + +**What this also confirms.** `carry::Carried` pins the *whole* wire record of +our unit and of every enemy, which includes `locations` and their armour. The +hazard that armour changes in the firing phase is therefore already guarded, and +the instrument shows the guard firing exactly when it should: **0 of 4** enemies +kept their whole record across any boundary, and `mover` equality failed at all +11 crossings because our own unit had moved. Within a round neither of those +ever fires, which is why the strictness costs nothing there. + +So the first rebuild of a round is not reachable this way. If it is worth +attacking, it is worth attacking as a sweep - the volley memo, or the size of +`L x M` - and not as a carry.