#108 forensics block (pre-717): ghost detector + IDs + field envs
The night-11 instrumentation that makes the next ghost/K-D report diagnosable instead of anecdotal: - UNGATED [ghost] stale-replicant detector: ReadUpdateRecord stamps every applied record; the death-handler tick logs ONE line per starvation episode (>600 frames, unburied) with entity id + mode + last position, plus a GHOST matchlog record. Verified both ways: zero false positives on a healthy 2-node session; fires on both nodes at frame 601 after a mid-session relay kill. - Entity IDs on the render forensics (MakeMechRenderables / RemakeEntity / wreck-swap fallbacks) and the replicant un-wreck line un-gated -- ghost triage no longer needs players to set envs. - players/*.bat (steam + both joins): BT_MATCHLOG/BT_SCORE_LOG/BT_DEATH_LOG on for every field session. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
c38377a6d2
commit
81dda84e9b
@@ -2424,6 +2424,13 @@ Logical
|
||||
void
|
||||
Mech::ReadUpdateRecord(Simulation::UpdateRecord *message)
|
||||
{
|
||||
// #108 ghost forensics: stamp the staleness detector on every applied
|
||||
// record (replicants only -- the detector lives on the death handler).
|
||||
if (GetInstance() == ReplicantInstance)
|
||||
{
|
||||
extern void BTMechNoteUpdateApplied(void *mech_v);
|
||||
BTMechNoteUpdateApplied((void *)this);
|
||||
}
|
||||
// RECORD-CADENCE probe (BT_RXJIT): quantify how EVENLY records arrive (wall-clock
|
||||
// ms between arrivals) -- the jitter that makes the peer's corrections random.
|
||||
if (getenv("BT_RXJIT") && GetInstance() == ReplicantInstance)
|
||||
|
||||
Reference in New Issue
Block a user