diff --git a/docs/Z-tail-rng.md b/docs/Z-tail-rng.md index 9ad6838..00fd8b5 100644 --- a/docs/Z-tail-rng.md +++ b/docs/Z-tail-rng.md @@ -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 `Chance` call and cannot gate the draw, and `StrategyHost::Autosave` is `ret 8` returning the `std::string*` 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.