Problem
Current master at 0ce34aedc9729c7ac006d79b34e86fae3fb0ec0a is red: Node.js CI run 31566084951 fails two tests while 1,081 pass.
The failures reproduce locally in both the full suite and a focused single-fork run:
src/client.test.ts:412 — disconnected-command output is still pending when the test reads the store.
src/createConfiguredClient.test.ts:323 — channel/output history is still pending when the lifecycle test reads the stores.
Root cause
PR #108 intentionally changed outputStore and channelHistoryStore appends to flush in a microtask. PR #91 was based on older master (3ff3dfa) and merged later; its new lifecycle tests assert those stores synchronously. Each PR was green against its own base, but their merge result violates the new store contract.
This is an integration regression, not evidence that either the batching or owner-reset architecture should be rolled back.
Acceptance criteria
Problem
Current
masterat0ce34aedc9729c7ac006d79b34e86fae3fb0ec0ais red: Node.js CI run 31566084951 fails two tests while 1,081 pass.The failures reproduce locally in both the full suite and a focused single-fork run:
src/client.test.ts:412— disconnected-command output is still pending when the test reads the store.src/createConfiguredClient.test.ts:323— channel/output history is still pending when the lifecycle test reads the stores.Root cause
PR #108 intentionally changed
outputStoreandchannelHistoryStoreappends to flush in a microtask. PR #91 was based on oldermaster(3ff3dfa) and merged later; its new lifecycle tests assert those stores synchronously. Each PR was green against its own base, but their merge result violates the new store contract.This is an integration regression, not evidence that either the batching or owner-reset architecture should be rolled back.
Acceptance criteria
close()is eventually preserved in user history/output.reset()contract that deliberately discards pending entries for stores that are reset.npm testis green in full, not only for the two focused files.npm run typecheckpasses.