Skip to content

fix(ios): consume bounded live events without dropping delta fragments - #277

Merged
p697 merged 2 commits into
mainfrom
codex/native-runtime-live-buffer
Oct 16, 2026
Merged

p697 merged 2 commits into
mainfrom
codex/native-runtime-live-buffer

Conversation

@p697

@p697 p697 commented Oct 16, 2026 •

Copy link
Copy Markdown
Owner

Rapid live fragments could exhaust the native presentation stream’s fixed 64 slots while the main actor was still rendering. Keep the public AsyncThrowingStream and the 64-entry/16MiB limits, but pull from one bounded queue and concatenate only adjacent pure deltas with identical internal revisions and byte-exact route, segment and lineage. Every other event remains a barrier; all original weights count, real overflow still retires, and no write is replayed.

Validation: 14 new Swift test methods (15 parameter inputs), including actual Hermes/Pi mapper → coordinator → public stream with a paused consumer; existing SessionLifecycle (5 methods/11 inputs) and RuntimeOperations (6/12) passed individually with Swift 6/jobs2. Documentation checks: 16 instruction pairs and 7 regressions. Independent read-only review of head 6d2fd82 found no new blocker in cancellation/termination, lifecycle, bounds, scope ownership or the actual-mapper test boundary; all 13 checks passed on this exact current-main head before squash merge 6f1e623. CI executed 479 package tests (59 XCTest + 420 Swift Testing) and 315 native App tests with zero failures; the compiled resource check verified 19 locales, 2 tables and 9,082 exact values. Local strict Swift 6/iOS 16.4 development App compilation succeeded for both Simulator architectures, and its signature was verified. A protected QA development copy was handed off separately; no local full suite or device acceptance is claimed.

This is native iOS experiment code only; React Native remains the default. Actual debugging observed the host event-stream catch and later activate breakpoint, but stale PCM prevented sampling the failure enum or count-vs-weight subtype. This change is not proof of the complete original incident cause, successful actual Stop, or capacity-state recovery in the host. Cross-tool aggregate-final semantics remain a separate known limitation. No service/configuration, account, approval, distribution or release action.

@p697
p697 force-pushed the codex/native-runtime-live-buffer branch from d5d2e6a to 6d2fd82 Compare October 16, 2026 13:03
@p697
p697 merged commit 6f1e623 into main Oct 16, 2026
13 checks passed
@p697
p697 deleted the codex/native-runtime-live-buffer branch October 16, 2026 13:16
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