phase-13 log: night-7 session research state (collision economy, myomer system complete, coolant leaks, the seek 4.0-vs-4.10 drift) + open-questions entry for the seek player version-probe

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019Zh7PTkFy4KwTzVighLR9J
This commit is contained in:
Joe DiPrima
2026-07-31 09:55:42 -05:00
co-authored by Claude Fable 5
parent c18929b23a
commit ba4af90d6b
2 changed files with 118 additions and 0 deletions
@@ -0,0 +1,107 @@
# Phase 13 — Night-7 follow-ups: collision economy, myomer system, coolant leaks (2026-07-31)
One session, six commits (`054c3f2..c18929b`), driven by the night-7 field reports (build
4.11.659, testers SAURON / RajelAran / Oracle — Oracle is new, with hands-on original-pod
experience). Every fix is bench-verified; field verification is the next playtest.
KB authority per topic: [[multiplayer]], [[subsystems]], [[locomotion]], [[combat-damage]],
[[pod-hardware]] §Manual, [[translocation-warp]], [[open-questions]].
## 1. #94 — zone-less-death un-wreck (`054c3f2`) [T1 root cause / T2 verified]
Peers saw SAURON's live mech as flaming wreckage after a ram. Root cause: the peer wreck
lifecycle's two halves listened to different signals — wreck ON = the replicated death
explosion (unconditional); wreck OFF = a damage-zone falling-edge latch that a COLLISION
death never produces (type-0 prices as internal rattle, zones never move). Fix: the un-wreck
(+ peer respawn warp) now rides the death-state EXIT edge of the replicated MovementMode
({2,9} → alive; only `Mech::Reset` leaves the death modes; the state rides every record
header). Bench: 14/14 zone-less deaths un-wrecked, 12/12 explosive regression.
Gitea #94: awaiting-verification. (#81's earlier fix stands — different hole, same machinery.)
## 2. Collision-pricing audit → two economy fixes (`37dd7f9`) [T1 formula / T2 verified]
The formula layers were verified authentic (crash gate @0x4ab178 == 0.0 read from the exe;
StaticBounce kinetic-loss pricing [T0]; divert scale + 0.5-pt free floor). Two port defects:
- **A. Grind pacing**: the 0.4 s `gBlockCooldown` hysteresis suppressed the knockdown during
sustained contact → full-commanded-speed crash price EVERY frame → the 2-3 s grind death
(SAURON's ram death, 110 priced frames at |v|≈34.7). Removed; the binary's pacing
(knockdown zeroes the drive; free floor needs v>~18.5 while the knockdown fires at v>6.3)
makes wall grinding free taps + ~1.2 s staggers. Bench: 150 s full-throttle wall push =
125 paced binds, 4,767 crash frames all free, 0 deaths.
- **B. Raw ram dispatch**: the ×0.001 "ram economy normalization" (2026-07-12) predated the
#83 divert and compounded with its ~4e-5 scale — no physically possible ram could clear the
free floor; rams were a no-op against the victim. Raw restored [T1 @part_012:15324].
Bench: tx==rx byte-identical (66239.1), victim priced 2.55 pts rattle, 108 knockdowns ↔
exactly 108 type-5 records on the observer (no skating regression).
## 3. #85 — myomer drive heat LIVE (`1570983`) [T1 operands / T2 verified]
The integrator @004b8d18 was fully reconstructed but its five Mech motion operands were
`return 0.0f` shims → `ratio² × damageGain × 0` forever (Oracle's "ice cold at seek 4").
Operands re-grounded from raw disasm + decomp: `+0x1C4`=localVelocity, `+0x82C`=the 15-ring
smoothed AccelerationLastFrame, `+0x20C`=moverMass, `*(+0x250)`=environment gravity pointer
(FUN_00421e2c). Physics: `heat += ratio²(1+dmg)[0.005·½mv² + 0.2·mg|vy|dt + 0.2·m|v||a|dt]`.
Authored tuning extracted from BTL4.RES (18 records, one tuning): eff 0.995/0.8, gears
0.3/0.5/0.7/0.9999 rec idx 2; myomer thermal 77/1000/2000, thermalMass 2.5e5. Bench: hard
circling drove T 77→1225 and the coolant loop pulled it back to ~520. Caveats documented:
the kinetic term is per-tick (no dt — 1995 fixed-frame assumption, mild fps dependence);
the climb term reads g=0 (environment gravity unwired — open-questions). Gitea #85:
awaiting-verification.
## 4. #88 — coolant leaks, both halves (`a8a0042`, `31552c0`) [T1 root cause / T2 verified]
- **Arming** (the #64 shadow): `UpdateCoolant` prices the leak from the qualified ENGINE
member `Subsystem::damageZone` — which the MechSubsystem ctor never assigned (it filled
only its re-declared shadow). zoneDamage read 0 forever → leaks structurally impossible.
Fix: both ctors alias the engine member to the same zone (#64 half-fix; the de-shadow
sweep stays open). Bench: rattle + weapon crits both drive `[cool]` leak pricing.
- **Central pull-through**: `HeatSink::DrawCoolant` was a `return 0` stub (the operator
noticed the coolant panel bar never moved). Real base @0x4add00 disassembled: the draw
RECURSES up the sink linkage (× coolantFlowScale@0x15C per hop) and terminates at the
Reservoir's supply (@0x4af3b0, already faithfully ported). The bank's `helper@0x1D8`
member is its reservoir connection (not vestigial). Bench: a destroyed myomer's leak
drained the central tank 6.0→5.58 over ~30 s — the cockpit coolant BAR now drops.
Gitea #88: awaiting-verification; #64 half-closed.
## 5. Myomer system COMPLETE — the "WAVE 6 mover cutover" was a phantom (`cf8618b`) [T1]
`@004b9550/@004b95b8` ("ConnectToMover") are MechWeapon::ConfigureMappables/ChooseButton —
the `+0x31C` there is weapon TriggerState and `**(mech+0x128)` is the CONTROLS MAPPER's
button roster. **The binary has NO dynamic myomer→speed feed.** Full data-flow closure
(every check [T1]): the demand fn @004afd10 (all three control-mode branches + turn clamp)
has no myomer term; all `mapper->speedDemand` writers = that fn + the gimp clamps;
`AvailableOutput` has exactly 2 callers (RegisterMaxOutput @assembly + the graph sampler);
the virtual slot-0x3C sweep finds only the graph + the mapper detach; the SpeedEffect
attribute string has 1 reference (its own table row); `mech+0x7A0` writers = ctor-zero +
RegisterMaxOutput. The authentic system, all live: heat; VITAL death (myomers are the only
authored vital=1 subsystem — also the ram-death mechanism, rattle weight 0.35); the
assembly cap (RegisterMaxOutput → mech+0x7A0 = base×~1.4284, now really registered);
the ENG power curve at true scale; electrical sourcing. REMOVED as inventions: the
`speedDemand *= speedEffect` demand multiplier + BTMyomersDriveOf + the Myomers mover
family. #75 CLOSED (premise falsified: myomer damage does not slow a live mech; the
damage slowdown is the leg-damage gimp gait).
## 6. The seek dial — decoded end-to-end, one question OPEN for the players
What seek does in 4.10 [T1]: heat ratio² (floors at 1 — gears 1-3 heat identically);
the generator brown-out threshold, whose real stake is TORSO TWIST (the Torso PowerWatcher
zeroes twist while the myomers are not Ready; generator has NO load model — demand never
pulls the bus down); the ENG graph. Gear 4 = double heat + hair-trigger dropout for a
taller graph. **The 1995 manual (4.0) says otherwise**: seek "translates to a lower or
higher top speed", gear 4 is named SUPERCHARGE (expert-only), stat sheets print three top
speeds (Loki/Thor: Normal 143 / Super Charged 182 / Gimped 40 kph). The printed ratio
(1.27) doesn't even match 4.10's vestigial gear table (1.43) → a documented 4.0→4.10 DRIFT
(third alongside experience gates + coolant-loop redistribution). Plausible motive: MP
fairness (expert-only speed advantage patched out of mixed-experience pods).
**OPEN — the player version-probe**: the operator is asking SAURON/Oracle whether seek 4
made their pod-era mechs faster. If the pods they played had supercharge, resurrecting it
would be an opt-in deviation (all plumbing exists: gear ratio, the 0x7A0 cap, heat penalty,
heatFactor overheat-to-zero — one authorized multiplication in the demand path).
## Carried opens (unchanged this session)
Cross-fire combat stall; silent node crash (procdump armed); 17s-late kill credit; #93
end-of-round PerformAndWatch use-after-free (one occurrence, symbolized); goto
release-to-manual freeze; environment gravity unwired; the #64 full de-shadow sweep;
mech3 CreateStreamedSubsystem stub bridges (/FORCE known-cold).
## Field re-test list for the next session (all labeled awaiting-verification)
1. #94: ram-kill victims respawn visibly (no zombie wreck) on every screen.
2. Collision economy: wall-humping harmless; rams stagger + rattle BOTH parties; no 2-s
grind deaths.
3. #85: myomers warm on the ENG panel while driving; ~2× at seek 4; loops respond.
4. #88: subsystem damage arms the leak warning and the coolant BAR bleeds down.
5. Seek: heat changes with gear, speed does NOT (correct per 4.10) — plus the version-probe
question above.