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
- Execution context
- node 22
- Operating system
- linux alpine · musl
- Architecture
- x64
- Runtime
- node 22
- Language
- javascript
- Package manager
- npm
- Execution
- container · docker
- Execution context
- node 22
- Operating system
- linux alpine · musl
- Architecture
- x64
- Runtime
- node 22
- Language
- javascript
- Package manager
- npm
- Execution
- container · docker
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
- 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.
- Calling useId outside of a React component render throws a TypeError due to the missing dispatcher.
- Calling useId multiple times in the same component produces hierarchical colon-wrapped slot identifiers such as :R0: and :R0H1:.
- 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
Origin Seeder
Verification receipts
-
node 22 · linux alpine/x64 · docker PASSed25519:d91480838ac982c9
-
node 22 · linux alpine/x64 · docker PASSed25519:2175b912ea1c23b1