Files
hermes-agent/apps
kshitijk4poor 5aff954e15 refactor(desktop): dedupe the live-turn reconciler seams
- `reconcilePersistedLiveTurn` called `reconcileAuthoritativeChatMessages`
  back through a callback that was the caller itself; the projection-less
  branch is now `reconcileDurableHistory` in utils and imported directly.
- The activation path retried the live-turn reconcile inside its fallback
  with the same rows; `null` does not depend on `previous`, so the retry was
  dead work. The fallback now runs the durable path only.
- `isLiveTailReplyId` (spoken-reply) replaces the third and fourth copies of
  the `assistant-stream-`/`inflight-assistant-` prefix predicate; `normalizeWs`
  is exported from chat-messages instead of re-declared in coverage.ts and
  the journal; `isCommittedRow` names the "not a projection, not a recovery"
  predicate the journal repeated three times.
- Loop-invariant `lastPreviousUser` hoisted; `renderedText(raw)` computed once
  per row instead of per part; `snapshotIntervals` skips the code-point split
  when there are no corrections; `persistInFlightTurnState` checks for a
  recovered row before building the recoverable tail on every idle commit.
2026-09-22 12:54:27 +05:30
..