Muse child-approval visibility proof PR: https://github.com/pingdotgg/t3code/pull/19306 Base: 1451e7cb23034d29774338608368a15d8845df36 Head: 781a2789e50d856a21ee02ef6b4350336fd1bc45 Headless native-protocol tests, real orchestration replays and installed SDK Connection with artificial in-memory NDJSON peer. Not a live Muse host/account or UI-timing claim. BEFORE: five assertion failures on main adapter ⎯⎯⎯⎯⎯ Failed Tests 5 ⎯⎯⎯⎯⎯⎯⎯ FAIL packages/provider-muse/src/server/adapter.test.ts > MuseAdapterV2 > hides a workflow child's automatic approval after its turn ended and retains completed history AssertionError: expected [ { …(9) } ] to deeply equal [] - Expected + Received - [] + [ + { + "createdAt": "1970-01-01T00:00:00.000Z", + "id": "runtime-request:provider:muse:native-request:approval-1:5a674484-ae61-4251-9185-75adefce92d5", + "kind": "command", + "nativeRequestRef": { + "driver": "muse", + "nativeId": "approval-1", + "strength": "strong", + }, + "nodeId": "node:runtime-request:runtime-request%3Aprovider%3Amuse%3Anative-request%3Aapproval-1%3A5a674484-ae61-4251-9185-75adefce92d5", + "providerTurnId": null, + "resolvedAt": null, + "responseCapability": { + "providerSessionId": "session-muse_work", + "type": "live", + }, + "status": "pending", + }, + ] ❯ packages/provider-muse/src/server/adapter.test.ts:1023:16 1021| providerThread: harness.providerThread, 1022| }); 1023| assert.deepStrictEqual(snapshot.runtimeRequests, []); | ^ 1024| assert.deepStrictEqual(harness.allEvents.slice(before), []); 1025| if (!turnEnded) { ❯ IteratorImpl.~effect/Effect/successCont node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1422:28 ❯ ExitPrimitive.~effect/Effect/evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/core.ts:585:30 ❯ FiberImpl.runLoop node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:654:41 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:595:23 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:589:27 ❯ node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1159:17 ❯ Array. node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1697:11 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[1/5]⎯ FAIL packages/provider-muse/src/server/adapter.test.ts > MuseAdapterV2 > hides a workflow child's automatic approval while its turn runs and retains completed history AssertionError: expected [ { …(9) } ] to deeply equal [] - Expected + Received - [] + [ + { + "createdAt": "1970-01-01T00:00:00.000Z", + "id": "runtime-request:provider:muse:native-request:approval-1:6311dc0e-7d7b-45de-9aba-bed4801da8f3", + "kind": "command", + "nativeRequestRef": { + "driver": "muse", + "nativeId": "approval-1", + "strength": "strong", + }, + "nodeId": "node:runtime-request:runtime-request%3Aprovider%3Amuse%3Anative-request%3Aapproval-1%3A6311dc0e-7d7b-45de-9aba-bed4801da8f3", + "providerTurnId": null, + "resolvedAt": null, + "responseCapability": { + "providerSessionId": "session-muse_work", + "type": "live", + }, + "status": "pending", + }, + ] ❯ packages/provider-muse/src/server/adapter.test.ts:1023:16 1021| providerThread: harness.providerThread, 1022| }); 1023| assert.deepStrictEqual(snapshot.runtimeRequests, []); | ^ 1024| assert.deepStrictEqual(harness.allEvents.slice(before), []); 1025| if (!turnEnded) { ❯ IteratorImpl.~effect/Effect/successCont node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1422:28 ❯ ExitPrimitive.~effect/Effect/evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/core.ts:585:30 ❯ FiberImpl.runLoop node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:654:41 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:595:23 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:589:27 ❯ node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1159:17 ❯ Array. node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1697:11 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[2/5]⎯ FAIL packages/provider-muse/src/server/adapter.test.ts > MuseAdapterV2 > reveals only the current failed child approval and sends the user's decline AssertionError: expected [ { …(4) }, { …(4) } ] to have a length of 1 but got 2 - Expected + Received - 1 + 2 ❯ packages/provider-muse/src/server/adapter.test.ts:1106:14 1104| }); 1105| assert.deepStrictEqual(snapshot.runtimeRequests, [asked.runtimeR… 1106| assert.lengthOf( | ^ 1107| harness.allEvents.filter((event) => event.type === "runtime_re… 1108| 1, ❯ IteratorImpl.~effect/Effect/successCont node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1422:28 ❯ ExitPrimitive.~effect/Effect/evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/core.ts:585:30 ❯ FiberImpl.runLoop node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:654:41 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:595:23 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:589:27 ❯ node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1159:17 ❯ Array. node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1697:11 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[3/5]⎯ FAIL packages/provider-muse/src/server/adapter.test.ts > MuseAdapterV2 > does not resurrect a settled child approval when its automatic answer fails AssertionError: expected 'pending' to equal 'resolved' Expected: "resolved" Received: "pending" ❯ packages/provider-muse/src/server/adapter.test.ts:1135:14 1133| yield* fake.emit("approval/resolved", child); 1134| const resolved = yield* harness.takeEvent("runtime_request.updat… 1135| assert.strictEqual(resolved.runtimeRequest.status, "resolved"); | ^ 1136| acknowledgement.reject( 1137| new MspError({ ❯ IteratorImpl.~effect/Effect/successCont node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1422:28 ❯ ExitPrimitive.~effect/Effect/evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/core.ts:585:30 ❯ FiberImpl.runLoop node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:654:41 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:595:23 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:589:27 ❯ Object.resume node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1159:17 ❯ releaseTakers node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/Queue.ts:2506:11 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[4/5]⎯ FAIL packages/provider-muse/src/server/adapter.test.ts > MuseAdapterV2 > does not reveal an automatic approval after the Muse connection closes AssertionError: expected [ 'pending', 'cancelled' ] to deeply equal [ 'cancelled' ] - Expected + Received [ + "pending", "cancelled", ] ❯ packages/provider-muse/src/server/adapter.test.ts:1177:14 1175| acknowledgement.reject(new Error("Connection closed")); 1176| yield* Effect.promise(() => fake.host.exited); 1177| assert.deepStrictEqual( | ^ 1178| harness.allEvents.flatMap((event) => 1179| event.type === "runtime_request.updated" ? [event.runtimeReq… ❯ IteratorImpl.~effect/Effect/successCont node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1422:28 ❯ ExitPrimitive.~effect/Effect/evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/core.ts:585:30 ❯ FiberImpl.runLoop node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:654:41 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:595:23 ❯ FiberImpl.evaluate node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:589:27 ❯ node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1159:17 ❯ node_modules/.pnpm/effect@4.0.5/node_modules/effect/src/internal/effect.ts:1093:14 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯[5/5]⎯ Test Files 1 failed (1) Tests 5 failed | 32 passed (37) Start at 09:12:56 Duration 2.35s (transform 50%, import 29%, tests 16%, setup 5%) AFTER: frozen whole Muse package and orchestration replays note: You are running `vp test` as a Vite+ built-in command. If you meant to run the test npm script, use `vpr test` instead. RUN v5.0.1 Test Files 10 passed (10) Tests 247 passed (247) Start at 09:17:21 Duration 133.37s (tests 87%, transform 7%, import 5%, setup 1%) AFTER: primary-agent installed-SDK fallback probe note: You are running `vp test` as a Vite+ built-in command. If you meant to run the test npm script, use `vpr test` instead. RUN v5.0.1 ✓ packages/provider-muse/src/server/adapter.test.ts > MuseAdapterV2 > reveals only the current failed child approval and sends the user's decline 49ms Test Files 1 passed (1) Tests 1 passed | 36 skipped (37) Start at 09:20:57 Duration 2.04s (transform 57%, import 35%, setup 5%, tests 3%)