Z: P10 -- what Auto Resolve should cost, written before the click
The turn-54 End Turn stopped on a Von Neumann encounter at Gallandro. That is the workload the finding says does not exist and lane J asks for: every encounter measured so far had the no-battle flag set, so the combat resolver has never run under an instrument. Three falsifications, and the interesting one is the third: a non-zero cost that does not appear under ApplyEncounterResult means combat proper is drawing, which nothing hooks, and the bracket residual goes positive for the first time.
This commit is contained in:
parent
fe39c82bea
commit
d7e2080fb6
1 changed files with 39 additions and 0 deletions
|
|
@ -180,3 +180,42 @@ cost this campaign has ever recorded — and the bracket total becomes `ProcessT
|
||||||
|
|
||||||
This is the first genuinely falsifiable numeric claim this lane can make: every earlier one compared 0
|
This is the first genuinely falsifiable numeric claim this lane can make: every earlier one compared 0
|
||||||
against 0.
|
against 0.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 7. P10, written with the encounter dialog on screen and unclicked
|
||||||
|
|
||||||
|
The turn-54 End Turn on the Zuul long run stopped on an **Encounter at Gallandro**: the player's 5 ships
|
||||||
|
(3 DE Colonizer, 2 DE Armor) against a **Von Neumann**, with the dialog offering Fight Manually / Auto
|
||||||
|
Resolve / Fight Manually If Opponent Does / Retreat. Auto Resolve has not been clicked yet.
|
||||||
|
|
||||||
|
This is the workload `sots-re/findings/control-flow/tail-rng-ledger.md` §8 says does not exist and lane J's
|
||||||
|
`combat-resolver.md` asks for: **every encounter measured so far had `res->+0x4` set, so
|
||||||
|
`ApplyEncounterResult` was a whole-function no-op and the combat resolver has never executed under any
|
||||||
|
instrument this campaign has built.**
|
||||||
|
|
||||||
|
**P10. Clicking Auto Resolve produces the first non-zero tail cost this campaign has recorded.**
|
||||||
|
Specifically: `ApplyEncounterResult` records `res_no_battle = 0` for the first time; its measured `rng`
|
||||||
|
delta is **greater than 0**; and `OnAllCombatDone_Tail`'s total equals that delta, because node-line decay
|
||||||
|
is still 30-odd turns from firing and every other phase has measured 0 across 54 turns.
|
||||||
|
|
||||||
|
On the size, following lane J's map of the three conditional sites: there is no node cannon here, so R1
|
||||||
|
should not fire. A **Von Neumann is salvage** — R2 is one inlined `NextFloat` per back-engineering candidate
|
||||||
|
per combatant with a non-zero salvage slot, and R3 one `NextInt` per successful R2 roll. So the expected
|
||||||
|
cost is **small and odd-shaped: a handful of words, not a multiple of anything.** I am deliberately not
|
||||||
|
naming a single number, because I have not read the resolver and lane J has: a range with a mechanism
|
||||||
|
behind it is the honest form of this prediction.
|
||||||
|
|
||||||
|
*Falsified by:*
|
||||||
|
* **tail cost 0 with `res_no_battle = 0`** — then the resolver really has no draw on a plain battle path,
|
||||||
|
which would make lane J's "no unconditional draw" stronger than either of us expected, and would mean a
|
||||||
|
battle is free to a reimplementation;
|
||||||
|
* **a large cost (tens or hundreds of words)** — then something in the battle path draws per ship or per
|
||||||
|
round, and the resolver's three sites are not the whole story;
|
||||||
|
* **a non-zero cost that does NOT show up under `ApplyEncounterResult`** — then the draw happens in combat
|
||||||
|
proper (`RunCombatRound` / the combat server), which runs *between* `ProcessTurn` and the tail and is
|
||||||
|
hooked by nobody; the bracket residual would go positive for the first time and that is where it would
|
||||||
|
appear.
|
||||||
|
|
||||||
|
The third case is the one to watch: it is the only way this workload can produce a **non-zero residual**,
|
||||||
|
which every prediction so far has said should be 0 on a quiet turn.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue