Files
hermes-agent/tests
John Paul Soliva 0acd671667 fix(gateway): the live and restart transcript writers share one row builder
Review follow-ups (teknium1):

- One kwargs builder, two callers. transcript_append_kwargs() in
  gateway/session_transcript.py builds the append_message kwargs, and both
  _append_transcript_message and the spool's restart replay call it, so the
  restart writer cannot lag the live writer again (display_kind and
  display_metadata were added after #84785 was written). fallback_ts applies
  only to a message with no timestamp; the live writer passes none, so its
  rows are byte-identical.
- A failed replay says what it held back: one INFO line per pass with the
  file count per blocked session, so a spool dir that never empties has a
  reason in the log.
- seq is per process and ts has one-second resolution; the sort key now
  says so where it reads seq.
- Tests fold to three invariants: drop order beats name order (seq breaks a
  same-second tie), a replayed row is the row the live writer writes, and a
  failed replay holds back that session's later messages only. The two that
  already passed on main (a corrupt file is kept; the payload-clock
  fallback) are dropped; the fallback is asserted inside the fidelity test.

(cherry picked from commit e2bacb06b3311b00aa354ffce7d53fc15ba44d04)
2026-10-06 16:24:04 -04:00
..
…