Z: P9 -- the first node-line draw lands on turn 64 and costs exactly 1 word
Written with the run in flight at turn 34. min_life is decrementing by exactly 1 per turn (43 down to 30), so the traffic term contributes nothing on this map and the oldest mortal line expires 30 turns out. Four ways it can be wrong, each with its own symptom. Every prediction this lane has made so far compared 0 against 0; this one does not.
This commit is contained in:
parent
6589a3985f
commit
fe39c82bea
1 changed files with 30 additions and 0 deletions
|
|
@ -150,3 +150,33 @@ Two results worth more than the predictions:
|
||||||
Two corrections went back into `combat-done-tail.md` in place: the node-line fleet check runs *after* the
|
Two corrections went back into `combat-done-tail.md` in place: the node-line fleet check runs *after* the
|
||||||
`Chance` call and cannot gate the draw, and `StrategyHost::Autosave` is `ret 8` returning the `std::string*`
|
`Chance` call and cannot gate the draw, and `StrategyHost::Autosave` is `ret 8` returning the `std::string*`
|
||||||
in EAX.
|
in EAX.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. A second prediction, written before the run reached it
|
||||||
|
|
||||||
|
Committed at turn 34 of the `zuul-turn16-noderoute` long run, with the run still in flight.
|
||||||
|
|
||||||
|
The node-line population's minimum remaining life is now decrementing by **exactly 1 per turn** —
|
||||||
|
43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 33, 32, 31, **30** at turn 34 — i.e. pure ageing, with the
|
||||||
|
traffic term contributing nothing on this map. `NodePath::RemainingLife` clamps at 0 and the loop skips on
|
||||||
|
`> 0`, so the oldest mortal line expires the turn its remaining life reaches 0.
|
||||||
|
|
||||||
|
**P9. The first phase-11 draw happens on turn 64, and costs exactly 1 word.** On that turn:
|
||||||
|
`Game::StrategyServer::NodeLineDecay` records `np_min_life = 0`, `predict_words = 1`, and a measured
|
||||||
|
`rng` delta of **1**; `OnAllCombatDone_Tail`'s total becomes **1** instead of 0 — the first non-zero tail
|
||||||
|
cost this campaign has ever recorded — and the bracket total becomes `ProcessTurn + 1`.
|
||||||
|
|
||||||
|
*Falsified by:*
|
||||||
|
* **it fires earlier than 64** — then the traffic term `nptf / npdtf` is contributing after all, and the
|
||||||
|
ageing-only reading of the last fifteen turns is wrong;
|
||||||
|
* **it fires later than 64, or not at all by turn 66** — then `min_life` is not the line that expires first
|
||||||
|
(a line dug later with a shorter `npdtn` would do it), or `S+0xc` is not the `turn` the original passes;
|
||||||
|
* **it costs more than 1 word** — then more than one line expires on the same turn, which the `np_within5`
|
||||||
|
column would have warned about (it has read 0 on every turn so far), **or** node-line decay has a draw
|
||||||
|
site the sweeps missed, which is exactly what method rule 16 says a call-graph sweep cannot rule out;
|
||||||
|
* **it costs 0 with `np_min_life = 0`** — then the expiry predicate transcribed in §6.1 of the finding is
|
||||||
|
wrong somewhere, most likely in the two never-expire early-outs.
|
||||||
|
|
||||||
|
This is the first genuinely falsifiable numeric claim this lane can make: every earlier one compared 0
|
||||||
|
against 0.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue