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_update
  • conflict_lifecycle
  • relation_causal
  • relation_category_routing
  • abstention_top1
  • evidence_bundle
  • coreference
  • relation_lifecycle
  • noise_suppression
  • validity_atom
  • scope_atom
  • entity_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.