OpenSentience.orgUnboxed PatternsChapter 20 of 32 · Persistence and World

UP-020 · Persistence and World · STATED CHECKABLE RUNNABLE EXECUTED STAGED

Three Sizes of World

WORLD, WORLD VERSION and WRL GRAPH are three sizes with three names; a head is always qualified.

WORLD (the machine, 10 GB–10 TB), WORLD VERSION (a content-addressed root, KB) and WRL GRAPH (the semantic layer inside, KB–MB) are three sizes with three names; no field is called current_head — a head is always qualified.
Standing
STATED CHECKABLE RUNNABLE EXECUTED STAGED PUBLISHED REPRODUCED
Last checked
never run
Source
none — this record cites no check
Limit
A vocabulary ruling (R11), frozen in CLOUD_V1.md §2. It establishes which word means which size. It does not establish that any system respects the distinction — WORLD_SIZE.md §11 records one occasion where this tree did not.
Next rung
in_tree — a lint that refuses a sentence using 'world' where the size is ambiguous, the way IDENTITY_ASSERTED refuses its class.
Why this page says STATED — the derivation, not the word
  • ✗ a witness is named
  • ✗ its evidence kind is one the ledger already uses
  • ✗ the witness path resolves in this tree
  • ✗ its rung is in_tree or above
  • ✗ a run is recorded for these exact bytes
  • ✓ no claim is cited that could be REFUTED
  • ✗ a counterexample is shipped (required once WITNESSED)
  • ✗ not staged on this site, so it cannot run from the page

WITNESSED requires every line above to hold. The label is computed from them by build.mjs and cannot be typed into the registry — the build refuses a record that carries it.

Intent

Three things are called 'world' in this stack and they differ by six orders of magnitude. The WORLD is the machine, ten gigabytes to ten terabytes. A WORLD VERSION is a content-addressed root describing that machine at an instant — kilobytes. The WRL GRAPH is the semantic layer inside a world, with its own head. Conflating them once produced a measurement of 0.21 % reported as the whole.

Technical register

CLOUD_V1.md §2, frozen vocabulary. There is no current_head field anywhere: a head is always manifest_root or wrl_head. The scope error is recorded in WORLD_SIZE.md §11 — a 247 KB world layer was reported as a conclusion about a 10 TB product. T&R backs up the user's machine, not the shell's graph.

Problem

One word, three referents. A backup plan sized for the graph; a benchmark run against the manifest and reported for the machine; a 'current head' that meant different things in two files. Every one of these happened here.

Solution

Name each size. Forbid the bare word in technical copy. Qualify every head. Record the scope error where it happened so the next reader finds it before repeating it.

Real-world analogy

A city, a map of the city, and the map's legend. Each has a size; a plan to move the city that was budgeted from the map is the §11 error.

Structure — on the surface

compute surfaceWORLD · the machine · 10 GB – 10 TBWORLD VERSION · a manifest root · KBWRL GRAPH · the semantic layer · KB – MBheadwrl_head — always qualifiedThree things called 'world', three sizes, three names — frozen because the confusion was made once.

An illustration on a compute surface: loci above, carriers below. Press Play or Step; the takeaways collect as you go. Nothing here is evidence — the witness section is.

The chapter in WRL — and the chain so far

Chapter 20 of 32 — the fragment _patterns/wrl/chain/three-sizes-of-world.wrl, sealed alone by wrl.js

; THREE SIZES OF WORLD — this fragment is a WRL GRAPH (the smallest size). ts_version fires ONCE at epoch 3:
; a version is a root taken at an instant. The chain so far is the graph; its seal is a wrl_head.
[pulser:ts_version](once at 3){sig_out}
[door:ts_root]{sig_in}

[ts_version] --sig--> [ts_root]

module + bench seal to → sem-2ca883ccac604098eb7e4a10da1ad4fa41a1260a95105351f87453e76716ba84

Reduced by the native reducer (ic32); the reference reducer reproduces every epoch's film hash (0.003s).

compute surfacesigts_root · Doorts_rootdoorts_version · Pulserts_versionpulserThis chapter's world alone, before epoch 1. Reduced by TRVM's forge in 0.005s; the forge's id equals the seal above.
The Film, epoch by epoch (4)

epoch 1 · sha256:ff3991dabbb08a77f06fa199617a4dd3c9befd1d1628a596c1713219c16de350

FILM v0.7
t=1
pulser:ts_version:mode=once,p=3,phase=3,armed=0,done=0,nf=1
door:ts_root:open=0,next_open=0
wire:w__ts_version__ts_root:cur=0,nxt=0
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 2 · sha256:530edbfb61be7640c69b4c35b10efaa7d5609e6db1c18871f615bdf82964670d

FILM v0.7
t=2
pulser:ts_version:mode=once,p=3,phase=3,armed=0,done=1,nf=-1
door:ts_root:open=0,next_open=0
wire:w__ts_version__ts_root:cur=0,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 3 · sha256:b6737e5404cab878e4488c3ce5ac12d21839edf7b51c7198a48df40395193c40

FILM v0.7
t=3
pulser:ts_version:mode=once,p=3,phase=3,armed=0,done=1,nf=-1
door:ts_root:open=0,next_open=1
wire:w__ts_version__ts_root:cur=1,nxt=0
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

epoch 4 · sha256:3a64e6bf93d5c5406d6b9b59c1c972209a29b40f8c44b64b9621b3e82afbb1aa

FILM v0.7
t=4
pulser:ts_version:mode=once,p=3,phase=3,armed=0,done=1,nf=-1
door:ts_root:open=1,next_open=0
wire:w__ts_version__ts_root:cur=0,nxt=0
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0

Composes with the 19 chapters before it

The chain through this chapter — every earlier fragment, this one, and the links — seals to sem-ee97f22c94ad2b4e46a26aa642db76fd92e280edee1872b3f3553b80a511e373: 76 objects, 68 edges (was 74 / 67; every earlier object and edge is still present — checked, or the build refuses).

How to read this board

Five kinds of object, two kinds of wire, and one band per Part of the book. Signal flows left to right: it starts at a clock, travels through relays, and ends at a door — or turns a spinner, which drives an orb. Nothing below is the book's own vocabulary; each line is quoted from where the definition lives.

shapeisand so
a clock; the only source of signalEvery signal on the board starts at one of these. Nothing else can make one.
a pass-through, so signal can travelOne arrives, any number leave — a relay that fans out is the board's router.
a sink; signal arrives and stopsIt latches what reached it and passes nothing on. A door is where a path ends.
rotation: takes signal, drives a poseThe only object on the board that holds a value a claim can rewrite — and only if its config says configurable.
the thing that gets movedIt is driven, never driving: an orb is what you watch to see whether anything happened.
not a WRL role — the book's own drawing of the receipts in the epoch's FilmIt counts what the run admitted, and turns red on a Rejected outcome.
SignalWiresignal: a sig_out to a sig_inLegal from a Pulser or Relay, into a Relay, Door or Spinner. This is how the board moves.
SocketControlcontrol: a socket to a poseLegal only from a Spinner into an Orb. At most one may land on any input port — fan-in is a typed refusal.

Hover any object for what it is, which chapter put it there, and every field of its line in that epoch's Film — split into what it is doing now and how it was built. Click to pin the readout, then click a wired name to follow the signal. The field definitions come from TRVM/forge/film.py (the emitter), TRVM/forge/forge_state.py (nf, derived from the decoded counter and never from t), TRVM/forge/lower_e2a.py (the commit/react law), TRVM/FORGE_SEMANTIC_IR_v1_MEASURE.md §1.3; the shapes from WRL/learn.html and WRL/docs/spec/README.md. The build refuses if a Film emits a field this key does not explain.

compute surfaceI · The LocusII · CompositionIII · ProgressIV · Persistence and Worldal_locus · Spinneral_locusspinneral_view · Orbal_vieworbal_world · Pulseral_worldpulsercb_fixed · Spinnercb_fixedspinnercb_gate · Doorcb_gatedoorcb_in · Relaycb_inrelaycb_view · Orbcb_vieworbcc_carrier · Doorcc_carrierdoorcc_grant · Relaycc_grantrelaycm_in · Relaycm_inrelaycm_locus0 · Doorcm_locus0doorcm_locus1 · Doorcm_locus1doorcm_locus2 · Doorcm_locus2doorcm_locus3 · Doorcm_locus3doorcm_slot0 · Relaycm_slot0relaycm_slot1 · Relaycm_slot1relaycm_slot2 · Relaycm_slot2relaycm_slot3 · Relaycm_slot3relayct_in · Relayct_inrelayct_locus · Spinnerct_locusspinnerct_view · Orbct_vieworbdb_clock · Pulserdb_clockpulserdb_locus · Spinnerdb_locusspinnerdb_view · Orbdb_vieworbis_id · Orbis_idorbis_in · Relayis_inrelayis_seal · Spinneris_sealspinnerlc_core · Relaylc_corerelaylc_locus · Spinnerlc_locusspinnerlc_machine · Relaylc_machinerelaylc_thread · Relaylc_threadrelaylc_view · Orblc_vieworbop_clock · Pulserop_clockpulserop_locus · Spinnerop_locusspinnerop_view · Orbop_vieworbpj_artifact · Spinnerpj_artifactspinnerpj_in · Relaypj_inrelaypj_view_a · Orbpj_view_aorbpj_view_b · Orbpj_view_borbpp_homeA · Relaypp_homeArelaypp_homeB · Relaypp_homeBrelaypp_in · Relaypp_inrelaypp_locus · Spinnerpp_locusspinnerpp_view · Orbpp_vieworbpq_a · Relaypq_arelaypq_b · Relaypq_brelaypq_clock · Pulserpq_clockpulserpq_done · Doorpq_donedoorpu_admitted · Orbpu_admittedorbpu_busy · Pulserpu_busypulserpu_hop0 · Relaypu_hop0relaypu_hop1 · Relaypu_hop1relaypu_hop2 · Relaypu_hop2relaypu_locus · Spinnerpu_locusspinnerpu_progress · Pulserpu_progresspulserpu_sink · Doorpu_sinkdoorrb_record · Orbrb_recordorbrd_in · Relayrd_inrelayrd_real · Spinnerrd_realspinnerrd_view · Orbrd_vieworbrj_join · Doorrj_joindoorrj_r · Relayrj_rrelaysm_in · Relaysm_inrelaysm_inside · Spinnersm_insidespinnersm_outside_a · Orbsm_outside_aorbsm_outside_b · Orbsm_outside_borbso_in · Relayso_inrelayso_pose · Orbso_poseorbso_rotor · Spinnerso_rotorspinnerts_root · Doorts_rootdoorts_version · Pulserts_versionpulsertv_a · Orbtv_aorbtv_b · Orbtv_borbtv_fixed · Spinnertv_fixedspinnertv_in · Relaytv_inrelaytv_open · Spinnertv_openspinner

The board so far: one band per Part, signal flowing left to right; relays that fan out are routers, doors are switches, pulsers are clock domains. Hover an object — or click the board and walk it with the arrow keys — for its role, its Part and what it is wired to. This board is the chain’s sealed shape; no Film drives it, so it has no state to report, and the whole board in the conclusion is where every object’s state is read epoch by epoch. Wheel zooms · drag pans · double-click fits.

Syntax — quoted from the tree at build time

The frozen table row (CLOUD_V1.md §2) CLOUD_V1.md:48

| **WORLD VERSION** | a content-addressed description of that machine state at one instant | KB (it is a *root*) | Pigsty holds `manifest_root`; R2 holds the manifest |

The anti-relapse rule CLOUD_V1.md:52

**The rule that prevents the relapse:** there is no `current_head` field anywhere. A head is always

Forces

Short names are convenient and the three things are genuinely nested, so 'the world' will always be reached for. Freezing the vocabulary costs a sentence per use; it buys measurements that mean what they say.

Applicability

Any system with a machine-sized state, a snapshot format and a semantic layer — which is every backup, every VM image with a manifest, every document store with a graph in it.

Transformations

Preserving
  • describing a WORLD by a WORLD VERSION
  • embedding a WRL GRAPH in a WORLD
Refusing
  • reporting a graph-sized measurement as a machine-sized one
  • a field called current_head

A refusing transformation is not one that is discouraged: it is one that, applied, makes the invariant above false. The word is the tree's, and it is the same word the join uses.

Consequences

Sizes and heads become unambiguous. This is A Number in Two Places, prevented at the vocabulary rather than at the number.

Failure mode it answers

A Number in Two Places — A count or definition typed where it is displayed instead of derived from its source; the two drift. Paid for at: STACK_COMPLETION.md corrections §1 (law counts 129→116→118); UNBOXED_PATTERNS.md v0.1 (32 labels over 30 rows; 890 vs 924)

Witness

No witness. This pattern is STATED — the tree has no check for its invariant.

Counterexample

No counterexample shipped (required only when WITNESSED).

What to take away

  1. from the animationThree rings, three sizes; the inner ring taken for the outer is the recorded error.
  2. from the syntaxNo current_head anywhere: manifest_root or wrl_head, always.
  3. from the literatureGit's object / ref / worktree split makes the same three-way distinction.
  4. from the witnessSTATED: frozen vocabulary; the witness is the retraction record in WORLD_SIZE.md §11.

Prior art — and what is not claimed

workrelationwhat it shareswhere it differs
Git's object / ref / worktree splitclose analoguethe same three-way distinction between the store, a named root, and the checked-out shapegit's three are concrete files; WORLD / WORLD VERSION / WRL GRAPH are scopes of authority

Novelty not claimed. The structure is git's. The vocabulary is frozen in CLOUD_V1.md §2 for one reason: WORLD_SIZE.md §11 mistook 0.21 % of the thing for the whole thing, and a frozen word is cheaper than that mistake.

Realizations in the tree

Relations with other patterns

Orthogonal Persistence STATED · World Boundary PROPOSED

← Orthogonal PersistencePersistence and WorldWorld Boundary →Persistence and World