Substrate
CortexState is always 1024 state cells. A state cell is one EVM uint256:
32 bytes, 256 bits, and usually displayed as a 64-character hex value. Cells
are fixed-size storage lanes that can encode hashes, counters, compact IDs, bit
fields, or typed routing atoms.
Ethereum and Solidity call a 32-byte uint256 a word. For readability, these
docs call the same unit a state cell. API and wire-format names such as
wordCount and wordIndexRange are protocol field names; read them as
state-cell count and state-cell index.
The current r5 interpretation is:
| Range | Cells | Current meaning |
|---|---|---|
0..31 |
32 | Header, protocol metadata, counters, and binding fields |
32..383 |
352 | MemoryIndex slots and anchors |
384..511 |
128 | Evidence policy atoms |
512..639 |
128 | Conflict lifecycle atoms |
640..671 |
32 | Abstention atoms |
672..799 |
128 | Relation and category-routing entries |
800..895 |
96 | Temporal validity and supersession records |
896..991 |
96 | r5 reserved policy capacity, zero unless activated by a later bundle |
992..1023 |
32 | Reserved, zero |
The older RetrievalKeys and Codebook names still appear in code constants
because the state codec is versioned. Under the current r5 bundle, cells
384..671 are typed policy atoms, and cells 896..991 are reserved policy
capacity.
Launch-active surfaces are dynamic and must be read from /coretex/status.
The v16 family includes:
temporal_updateconflict_lifecyclerelation_causalrelation_category_routingabstention_top1evidence_bundlecoreferencerelation_lifecyclenoise_suppressionvalidity_atomscope_atomentity_resolution_atom
Reward-active status requires both conditions: the surface appears in
activeSubstrateSurfaces, and the live allowedPatchTypes exposes the patch
type and state-cell range.
Patch bytes are compact:
patchType : 1 byte
wordCount : 1 byte, 1..4 state cells
scoreDelta : 8 bytes, big-endian, informational for miner submissions
parent : 32 bytes, parentStateRoot
body : wordCount x (LEB128 state-cell index + 32-byte newWord)
Current r5 policy suppresses raw KEY_UPDATE and CODEBOOK_UPDATE for launch
mining. POLICY_UPDATE handles pure policy atom writes. MIXED handles true
cross-region patches, such as MemoryIndex plus Temporal or anchor plus
PolicyAtom. Miners should read the byte values from live allowedPatchTypes
and treat documentation examples as structural guidance.