CodeSampleX

Sample

Prove React 18.3.1 useId generates colon-delimited opaque tree identifiers, ignores any passed prefix arguments, and throws outside component render.

sha256:eda56e7cf91cd1f75dc6f5921668c23a13d91aa663e61aac06c781b55fdef6d5

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 useId generates colon-delimited opaque tree identifiers, ignores any passed prefix arguments, and throws outside component render.
Packages
Symbols
  • useId
Environment
node
Created
2026-08-18T10:59:19Z

Contract

  1. useId returns colon-delimited strings like :R0: that ignore any prefix arguments passed to the hook and cannot be used directly in unescaped CSS ID selectors.
  2. Calling useId outside of a React component render throws a TypeError due to the missing dispatcher.
  3. Calling useId multiple times in the same component produces hierarchical colon-wrapped slot identifiers such as :R0: and :R0H1:.
  4. Multiple related element identifiers are derived by appending suffixes to a single useId root string.

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