Namespace Architecture

Single NS entry model: one lump, one Inform E-GT, CALL splits by clistCount. Navana is sole NS writer. CLOOMC++ compiles JS and Haskell to 20-instruction target.

Namespace (Navana) NS Table (0xFD00) — 3 words per entry W0: location W1: B|F|G|C|type(2)|clistCount(9)|limit(17) W2: version(7)|seal(25) type=01 (Inform) for all abstractions E-GT points here Lump (power-of-2 allocation) Code — Turing domain (RWX) method_table + code words CR14: loc=base, lim=clistStart-1 FREESPACE — inaccessible (no CR covers it) C-list — Church domain (L only) GT slots (clistCount entries) CR6: loc=base+clistStart, lim=clistCount-1 offset 0 ─────────────────── allocSize (pow2) CALL splits lump CR14 (code) loc = base lim = clistStart - 1 perms = RWX (hardcoded) CR6 (c-list) loc = base + clistStart lim = clistCount - 1 perms = L (hardcoded) R001: domain purity enforced CLOOMC++ Compiler JavaScript Haskell Resident Object Model c-list = symbol table 32-bit code words 20 instructions Output: compiled abstraction → Navana.Abstraction.Add → lump GT Type Legend 00 NULL — zero value 01 Inform — NS entry 10 Outform — remote (F-bit) 11 Abstract — GT IS value E-GT Format ver(7)|idx(17)|perms=E(6)|01 32 bits, unforgeable word1 Layout 31: B (bind) 30: F (far) 29: G (GC) 28: chain 27-26: type (01=Inform) 25-17: clistCount (0-511) 16-0: limit (17 bits) Private Digital Shadow — Namespace Isolation (R009) Each namespace protects itself. No external actor can reach inside without a valid, unrevoked Inform GT. Revoking a GT (incrementing version) instantly cuts ALL access — every copy becomes invalid.