All GAMELOG lines (EV/SHOT/SCORES/AWARD in mode.log, the runtime's MODE
START/END and AWARD lines) and every switch.log line now carry the wall
clock as RFC 3339 UTC with millisecond precision; the +Nms stamps relative
to runtime load are gone (dur= on MODE END stays: it is a duration). The
timestamp comes from a new gl_rfc3339() in the runtime: clock_gettime
(CLOCK_REALTIME) plus the civil-from-days algorithm, no libc time calls.
switch.log now logs only the human-activated buttons (34 lockdown, 36
start, 62/63 flippers) with quoted names. The upper-flipper button
switches (64/65) fire in parallel with the main flipper buttons on this
cabinet and are left out with every non-button switch.
Deployed and verified on the machine: the boot banner reads
2026-10-13T01:39:39.640Z against the machine's own UTC clock.
Co-Authored-By: Claude Code <noreply@anthropic.com>
Snapshot of the stern-event-agent work (as of 2026-10-12):
- gamelog.c: passive PAD mode logging bus events (game/ball/bonus/tilt),
all named shots and all-players' scores to /dump/mode.log
- pad_mode_runtime.c: the SDK runtime + a GAMELOG section (passive
stock-mode and award watching, gl_award_seq()/gl_last_award_id()),
a per-edge switch logger to /dump/switch.log (switch_names.inc), and
a passive Insider Connected gate; docs/runtime-patch.diff shows the
exact changes vs the upstream runtime
- event_probe.c / event_read.py: event-bus measurement tooling for
identifying bus event ids on another game
- ports/king_kong_le-0.97.port: 121 verified sites, 55 named shots, 6
bus events (emulator-proven by the SDK repo authors)
Deployed and verified on the machine: events, shots, stock modes and
awards. The /dump/switch.log feature is implemented but NOT yet
deployed or verified, and the extra-ball award id (default 13) is
unconfirmed. See README.md for build/install/log usage and unfinished
work.
Co-Authored-By: Claude Code <noreply@anthropic.com>