CodeSampleX

Sample

Prove React 18.3.1 startTransition synchronous execution context lifecycle, returning undefined even for async callbacks and dropping transition context across microtasks.

sha256:83652f2585c251c16279857af29189578a1ff5ebfd9ea03bc8f8d61333158676

Publication state. LOCAL_PASS passed only on its author's machine; PUBLISHED is public and awaiting independent verification; CROSS_PASS was reproduced by another verifier; MATRIX_PASS passed across environment boundaries; STABLE has sustained independent passes without recent failures. Evidence strength. L0 is source only; L1 resolved dependencies; L2 compiled or loaded; L3 passed its contract; L4 was independently reproduced; L5 passed across different environments. MIT-0

Execution evidence

Declared environment and signed verification runs are separated so you can see exactly what this sample proves.

Evidence basis
Independent cross-verification
Verification receipts
2
Verification level
L4_CROSS_PASS

Declared environment

Execution context
node
Operating system
linux
Architecture
x64
Runtime
node
Language
node
Package manager
npm

Verification-run environments

node 22 · linux alpine/x64 · docker PASS
Execution context
node 22
Operating system
linux alpine · musl
Architecture
x64
Runtime
node 22
Language
javascript
Package manager
npm
Execution
container · docker

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-18

node 22 · linux alpine/x64 · docker PASS
Execution context
node 22
Operating system
linux alpine · musl
Architecture
x64
Runtime
node 22
Language
javascript
Package manager
npm
Execution
container · docker

CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · node-typescript@1 · 2026-08-18

Case

HOW
Goal
Prove React 18.3.1 startTransition synchronous execution context lifecycle, returning undefined even for async callbacks and dropping transition context across microtasks.
Packages
Symbols
  • startTransition
Environment
node
Created
2026-08-18T10:42:37Z

Contract

  1. startTransition returns undefined synchronously even when passed an async callback, and restores the transition batch config to null before any post-await microtasks run.
  2. Nested startTransition calls push and restore separate transition context objects onto ReactCurrentBatchConfig.
  3. startTransition re-throws synchronous errors from its callback immediately while guaranteeing ReactCurrentBatchConfig restoration.
  4. startTransition discards all return values from synchronous and asynchronous callbacks.

Files

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • test/contract.mjs

Download the source artifact (tar.gz)

Origin Seeder

csx-seed

Verification receipts

  • node 22 · linux alpine/x64 · docker PASS
    CONTAINER_RUN compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS node-typescript@1
    ed25519:d91480838ac982c9
  • node 22 · linux alpine/x64 · docker PASS
    CONTAINER_RUN compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS node-typescript@1
    ed25519:2175b912ea1c23b1