Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Section model

A .oxbin is a preamble followed by a sequence of typed sections. Ten section types are defined — five mandatory, five optional:

SectionMandatoryLoad disciplineHolds
global-controlsynchronousSection directory; the two sub-hashes; tier caps
symbol-tablesynchronousEvery reference resolves through it
eventssynchronous (mmap)Source of truth for axioms, retractions, derived events
standpoint-latticesynchronousThe lattice each event row’s standpoint_id indexes into
tier-tablesynchronousPer-rule tier-pair classification consumed by Layer 2 (Load-time validation — two layers)
fork-lineageoptionalsync when presentOmitted by artifacts without forks (most published packages)
projection-cacheoptionalLAZY mmapMaintained projections; runtime re-saturates if absent
arrangement-sectionoptionalLAZY mmapDBSP-shaped Z-set arrangements; forward-compat for IVM
pathology-flagsoptionalsync when presentCompile-time-detected reasoning pathologies
doc-blocksoptionalLAZY per-itemDoc strings; the runtime works without them, ox doc requires them

Optional and LAZY are independent: optional governs presence in the artifact; LAZY governs whether the runtime mmaps the section on first access rather than reading it in the synchronous load prefix. Section type-ids live in one uint8 namespace — 0..99 standard, 100..199 Argon-future, 200..255 user-custom (unknown custom sections are ignored on load unless MANDATORY-flagged). The section directory in global-control indexes every section; its order is canonical load order. The runtime tolerates a mandatory section that is present but empty. Byte layout of the preamble, per-section sub-headers, and per-section encodings is documented in the oxc-oxbin crate.