Skip to content

Fix native Hermes live delta accumulation - #275

Merged
p697 merged 3 commits into
mainfrom
codex/native-hermes-live-deltas
Oct 16, 2026
Merged

p697 merged 3 commits into
mainfrom
codex/native-hermes-live-deltas

Conversation

@p697

@p697 p697 commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Hermes live replies were replacing the accumulated body with the latest fragment. The Bridge sends incremental chat.delta.message.content, while the native mapper treated every chat delta as a complete snapshot. Map only Hermes fragments to .delta and keep snapshot identity absent; OpenClaw cumulative snapshots, full finals and SDK text modes retain their existing behavior.

Six pure package tests (eight parameterized cases) cover the actual producer-shaped synthetic envelopes, whitespace and Unicode bytes, Direct/Relay mapping, tool boundaries, full/final-only snapshots and source-metadata isolation. Only Hermes raw fragments bypass the cumulative silent-prefix filter, so NO + RMAL remains NORMAL; full-final, OpenClaw, SDK and subagent filtering stays unchanged. One actual app regression feeds SessionEvents.map directly into NativeLiveMessages to verify a single segment's intermediate accumulated body, stable render UUID and corrected whole final replacement. Multi-segment aggregate-final reconciliation remains unchanged and is explicitly not claimed. App report minimum is 315, including a 314-case rejection.

Validation:

  • git diff --check passed.
  • Production source 653895db: the new package file passed all six methods/eight cases; the actual new mapper-to-consumer app case passed 1/1. The dual-architecture development build compiled all 315 app methods. No full local app suite ran.
  • Docs: 16 instruction pairs/seven regressions; report validator: three regressions passed. Exact-head full CI runs on this PR.
  • The signed QA development app, Swift modules, matching dSYMs and source map are preserved privately for follow-up debugging. The owned app stopped, QA simulator shut down and leases were released; the exact guarded synthetic document retained its three draft references, empty draft and held item without queued/sending items.
  • The generic failure alert and real Stop acceptance remain separate, unresolved work. No Bridge, React Native default, shared service, protocol, credential, version or release changes.

@p697
p697 merged commit 3efd84b into main Oct 16, 2026
13 checks passed
@p697
p697 deleted the codex/native-hermes-live-deltas branch October 16, 2026 12:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants