OpenSentience.orgUnboxed PatternsChapter 32 of 32 · Agency

UP-032 · Agency · STATED CHECKABLE RUNNABLE EXECUTED STAGED

Understanding Boundary

A locus keeps apart what exists, what it can observe, what it believes, what it understands, what it intends and what it may alter.

A locus distinguishes what exists, what it can observe, what it believes, what it understands, what it intends and what it may alter; a claim in one register is never promoted to another without evidence.
Standing
STATED CHECKABLE RUNNABLE EXECUTED STAGED PUBLISHED REPRODUCED
Last checked
never run
Source
none — this record cites no check
Limit
Shows 'later canonical wins', which is not 'disputed'. A disputed outcome needs the SAME event key from two claims, and the scenario for this chapter does not construct one — so the harder case is unshown, not resolved.
Next rung
in_tree — a scenario that constructs the same (writer, sequence) twice, so the film has to show a genuine dispute rather than an ordering.
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

Six registers, each narrower than the last. A claim in one is not a claim in the next: an observation is not a belief until it is established; a belief is not understanding until it is connected to why; intent is not permission. Agent Omniscience is the failure of promoting a claim across registers without evidence for the step.

Technical register

AGENCY.md §3's chain: observation exposes a scoped view; invariants establish operational state; policy and grant establish scoped authority; authority constrains admissible action. The epistemic rung of the box-and-box ladder is where 'do we know enough?' is asked. Graphonomous Bot spec: a Bot knows its projection, not the world; STALE ≠ UNESTABLISHED. STATED; the neighbouring vocabulary pattern's lint is the closest witness.

Problem

'I saw it, so I know it, so I may change it.' Three promotions in one sentence, none earned. Agents built on this collapse act on stale observations with full confidence and call the result knowledge.

Solution

Name the registers. Require evidence for each promotion. Put 'do we know enough?' on its own rung, before action. Write copy with establish, never know or detect.

Real-world analogy

A detective's board: seen, suspected, understood, planned, permitted. Arresting on 'seen' is the error every good story is about.

Structure — on the surface

compute surfacewhat existswhat it can observewhat it believeswhat it understandswhat it intendswhat it may alterca claimSix things a locus must keep apart. A claim in one ring is not a claim in the next.

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 32 of 32 — the fragment _patterns/wrl/chain/understanding-boundary.wrl, sealed alone by wrl.js

; UNDERSTANDING BOUNDARY — two writers claim the same locus in one batch; both are Applied and the later
; canonical wins; the Film's `recognition:` lines are the register between observed and believed. ub_in is
; the entry — the last module on the board, fed by the descent router.
[relay:ub_in]{sig_in, sig_out}
[spinner:ub_locus](w=16, n=8, rotor=quarter_turn_z, configurable){sig_in, socket}
[orb:ub_view]{pose}

[ub_in] --sig--> [ub_locus]
[ub_locus] --socket--> [ub_view]

Its test bench _patterns/wrl/chain/understanding-boundary.bench.wrl — drives the entry for this chapter's own film; never part of the chain

; TEST BENCH — drives this chapter's entry alone; the chain replaces it with a wire from an earlier chapter
[pulser:ub_bench](every 1){sig_out}
[ub_bench] --sig--> [ub_in]

module + bench seal to → sem-d55eddde7b7de757e9ddf1d4e848e042591cd4342d84eff2b9cbbae1f1844262

Run inputs — a ScenarioV1, the forge's own document, bound to this world's id and never part of it (D3) · ScenarioDigest scen-6531361126055823815… (the run inputs' own identity, computed by the forge)

epochwriter · seqoptargetrotorlabel
1w1 s1SetRotorub_locus255.0.0.0SetRotor ub_locus 255.0.0.0; SetRotor ub_locus 0.255.0.0
1w2 s1SetRotorub_locus0.255.0.0SetRotor ub_locus 255.0.0.0; SetRotor ub_locus 0.255.0.0

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

compute surfacesigsigsocketub_bench · Pulserub_benchpulserub_in · Relayub_inrelayub_locus · Spinnerub_locusspinnerub_view · Orbub_vieworbledger · receipts · Ledgerledger · receiptsno receiptsThis chapter's world alone, before epoch 1. Reduced by TRVM's forge in 3.305s; the forge's id equals the seal above.

Receipts in the last epoch's Film

receipt:w=1,s=1,accepted=43,apkey=0.0.255.0.0.0,epoch=1,outcome=Applied
receipt:w=2,s=1,accepted=24,apkey=0.0.0.255.0.0,epoch=1,outcome=Applied
The Film, epoch by epoch (6)

epoch 1 · sha256:0ff93e61541b8a76fb6d3657b0b1434424ec6cea93c2db5e2b7bb9f24877a42f

FILM v0.7
t=1
spinner:ub_locus:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,rotor=0000,00ff,0000,0000,socket=ub_view,config=configurable
orb:ub_view:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,pose=0100,0000,0000,0000,controller=ub_locus,fault=0
pulser:ub_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
relay:ub_in:cur_out=0,next_out=1
wire:w__ub_bench__ub_in:cur=1,nxt=1
wire:w__ub_in__ub_locus:cur=0,nxt=0
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0
claim:w=1,s=1,digest=43,pkey=0.0.255.0.0.0,payload=SetRotor:ub_locus:255.0.0.0
claim:w=2,s=1,digest=24,pkey=0.0.0.255.0.0,payload=SetRotor:ub_locus:0.255.0.0
receipt:w=1,s=1,accepted=43,apkey=0.0.255.0.0.0,epoch=1,outcome=Applied
receipt:w=2,s=1,accepted=24,apkey=0.0.0.255.0.0,epoch=1,outcome=Applied
recognition:w=1,s=1,state=unambiguous
recognition:w=2,s=1,state=unambiguous

epoch 2 · sha256:f6769b386f696f6a4b21edf89f0bdd92c40fd76c6a62e0a490eb11e017c77937

FILM v0.7
t=2
spinner:ub_locus:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,rotor=0000,00ff,0000,0000,socket=ub_view,config=configurable
orb:ub_view:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,pose=0100,0000,0000,0000,controller=ub_locus,fault=0
pulser:ub_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
relay:ub_in:cur_out=1,next_out=1
wire:w__ub_bench__ub_in:cur=1,nxt=1
wire:w__ub_in__ub_locus:cur=0,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0
claim:w=1,s=1,digest=43,pkey=0.0.255.0.0.0,payload=SetRotor:ub_locus:255.0.0.0
claim:w=2,s=1,digest=24,pkey=0.0.0.255.0.0,payload=SetRotor:ub_locus:0.255.0.0
receipt:w=1,s=1,accepted=43,apkey=0.0.255.0.0.0,epoch=1,outcome=Applied
receipt:w=2,s=1,accepted=24,apkey=0.0.0.255.0.0,epoch=1,outcome=Applied
recognition:w=1,s=1,state=unambiguous
recognition:w=2,s=1,state=unambiguous

epoch 3 · sha256:5679933e8cce801e987db933fb4dfd7ae2b5e79d2cba2c29577defd3566fd097

FILM v0.7
t=3
spinner:ub_locus:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,rotor=0000,00ff,0000,0000,socket=ub_view,config=configurable
orb:ub_view:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,pose=0000,00ff,0000,0000,controller=ub_locus,fault=0
pulser:ub_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
relay:ub_in:cur_out=1,next_out=1
wire:w__ub_bench__ub_in:cur=1,nxt=1
wire:w__ub_in__ub_locus:cur=1,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0
claim:w=1,s=1,digest=43,pkey=0.0.255.0.0.0,payload=SetRotor:ub_locus:255.0.0.0
claim:w=2,s=1,digest=24,pkey=0.0.0.255.0.0,payload=SetRotor:ub_locus:0.255.0.0
receipt:w=1,s=1,accepted=43,apkey=0.0.255.0.0.0,epoch=1,outcome=Applied
receipt:w=2,s=1,accepted=24,apkey=0.0.0.255.0.0,epoch=1,outcome=Applied
recognition:w=1,s=1,state=unambiguous
recognition:w=2,s=1,state=unambiguous

epoch 4 · sha256:3c5984c182d86c4d823354b5802146d733af9cfe2052fb2a3f733e3ff1d38659

FILM v0.7
t=4
spinner:ub_locus:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,rotor=0000,00ff,0000,0000,socket=ub_view,config=configurable
orb:ub_view:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,pose=ff02,0000,0000,0000,controller=ub_locus,fault=0
pulser:ub_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
relay:ub_in:cur_out=1,next_out=1
wire:w__ub_bench__ub_in:cur=1,nxt=1
wire:w__ub_in__ub_locus:cur=1,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0
claim:w=1,s=1,digest=43,pkey=0.0.255.0.0.0,payload=SetRotor:ub_locus:255.0.0.0
claim:w=2,s=1,digest=24,pkey=0.0.0.255.0.0,payload=SetRotor:ub_locus:0.255.0.0
receipt:w=1,s=1,accepted=43,apkey=0.0.255.0.0.0,epoch=1,outcome=Applied
receipt:w=2,s=1,accepted=24,apkey=0.0.0.255.0.0,epoch=1,outcome=Applied
recognition:w=1,s=1,state=unambiguous
recognition:w=2,s=1,state=unambiguous

epoch 5 · sha256:f0360644d9d7a2f4c6b6a3db12165c2b9f9f6a94cd9a64a6201c0b5e9ec3e822

FILM v0.7
t=5
spinner:ub_locus:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,rotor=0000,00ff,0000,0000,socket=ub_view,config=configurable
orb:ub_view:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,pose=0000,ff03,0000,0000,controller=ub_locus,fault=0
pulser:ub_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
relay:ub_in:cur_out=1,next_out=1
wire:w__ub_bench__ub_in:cur=1,nxt=1
wire:w__ub_in__ub_locus:cur=1,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0
claim:w=1,s=1,digest=43,pkey=0.0.255.0.0.0,payload=SetRotor:ub_locus:255.0.0.0
claim:w=2,s=1,digest=24,pkey=0.0.0.255.0.0,payload=SetRotor:ub_locus:0.255.0.0
receipt:w=1,s=1,accepted=43,apkey=0.0.255.0.0.0,epoch=1,outcome=Applied
receipt:w=2,s=1,accepted=24,apkey=0.0.0.255.0.0,epoch=1,outcome=Applied
recognition:w=1,s=1,state=unambiguous
recognition:w=2,s=1,state=unambiguous

epoch 6 · sha256:a12e047ba3a7ca933d02748da2ed88a141c139e33533ecdec183b388b030f136

FILM v0.7
t=6
spinner:ub_locus:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,rotor=0000,00ff,0000,0000,socket=ub_view,config=configurable
orb:ub_view:policy=forge_motor_widemac_tz_sat_v1,quat4,w=16,n=8,pose=00fc,0000,0000,0000,controller=ub_locus,fault=0
pulser:ub_bench:mode=periodic,p=1,phase=0,armed=0,done=0,nf=1
relay:ub_in:cur_out=1,next_out=1
wire:w__ub_bench__ub_in:cur=1,nxt=1
wire:w__ub_in__ub_locus:cur=1,nxt=1
admit:policy=admit_candidate_min_firstreceipt_v1,fact_capacity_fault=0,receipt_capacity_fault=0,capacity_fault=0
claim:w=1,s=1,digest=43,pkey=0.0.255.0.0.0,payload=SetRotor:ub_locus:255.0.0.0
claim:w=2,s=1,digest=24,pkey=0.0.0.255.0.0,payload=SetRotor:ub_locus:0.255.0.0
receipt:w=1,s=1,accepted=43,apkey=0.0.255.0.0.0,epoch=1,outcome=Applied
receipt:w=2,s=1,accepted=24,apkey=0.0.0.255.0.0,epoch=1,outcome=Applied
recognition:w=1,s=1,state=unambiguous
recognition:w=2,s=1,state=unambiguous

Composes with the 31 chapters before it

The chain through this chapter — every earlier fragment, this one, and the links — seals to sem-8fe22e0e468a46b82bce215f83cf0ee2f622cc5a94e952cdefca8e6dadd19bc2: 111 objects, 101 edges (was 108 / 98; every earlier object and edge is still present — checked, or the build refuses).

Links only the chain carries

[dd_in] --sig--> [ub_in]
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 WorldV · Agencyal_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_vieworbcx_in · Relaycx_inrelaycx_machine0 · Relaycx_machine0relaycx_machine1 · Relaycx_machine1relaycx_replay0 · Doorcx_replay0doorcx_replay1 · Doorcx_replay1doordb_clock · Pulserdb_clockpulserdb_locus · Spinnerdb_locusspinnerdb_view · Orbdb_vieworbdd_child · Spinnerdd_childspinnerdd_cv · Orbdd_cvorbdd_in · Relaydd_inrelaydd_parent · Spinnerdd_parentspinnerdd_pv · Orbdd_pvorbec_in · Relayec_inrelayec_ledger · Doorec_ledgerdoorec_subject · Spinnerec_subjectspinnerec_witness · Orbec_witnessorben_act · Dooren_actdooren_established · Relayen_establishedrelayen_in · Relayen_inrelayer_a · Relayer_arelayer_b · Relayer_brelayer_clock · Pulserer_clockpulserer_player · Doorer_playerdoorip_in · Relayip_inrelayip_view · Orbip_vieworbip_world · Spinnerip_worldspinneris_id · Orbis_idorbis_in · Relayis_inrelayis_seal · Spinneris_sealspinnerlc_core · Relaylc_corerelaylc_locus · Spinnerlc_locusspinnerlc_machine · Relaylc_machinerelaylc_thread · Relaylc_threadrelaylc_view · Orblc_vieworbmh_clock · Pulsermh_clockpulsermh_gate · Doormh_gatedoorop_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_vieworbrg_in · Relayrg_inrelayrg_page · Doorrg_pagedoorrg_sufficiency · Relayrg_sufficiencyrelayrj_join · Doorrj_joindoorrj_r · Relayrj_rrelaysd_in · Relaysd_inrelaysd_state · Spinnersd_statespinnersd_view · Orbsd_vieworbsm_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_openspinnerub_in · Relayub_inrelayub_locus · Spinnerub_locusspinnerub_view · Orbub_vieworb

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 chain (AGENCY.md §3) AGENCY.md:129

observation   →  exposes a scoped view of it
invariants    →  establish / characterize operational state
policy+grant  →  establish scoped authority
authority     →  constrains admissible action
transition    →  changes the world
certificate   →  justifies what changed

Forces

Keeping six registers is expensive in prose and in code; most systems keep two (true/false) and call the rest metadata. The registers are only worth keeping if something checks the promotions — a lint for prose, a ladder rung for verdicts.

Applicability

Agent architectures, belief revision, any copy that says an agent 'knows'.

Transformations

Preserving
  • promoting a claim one register with evidence
  • demoting a claim when its observation goes stale
Refusing
  • 'observed, therefore may alter'
  • confidence inflated across registers without evidence

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

Confidence becomes a position in a ladder rather than a number. The honest status: STATED — this is vocabulary and doctrine, witnessed only through the lint on the neighbouring pattern.

Failure mode it answers

Agent Omniscience — Letting an agent's claims exceed its evidence boundary. Paid for at: AGENCY.md §6 (what is established vs a reading)

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 animationThe claim moved inward one ring at a time, and the jump to the smallest ring was refused.
  2. from the syntaxobservation → exposes; invariants → establish; policy + grant → authority; authority → constrains action.
  3. from the literatureHintikka's epistemic logic; the DIKW ladder, with the difference that here each step needs a check.
  4. from the witnessSTATED: doctrine and vocabulary; the lint on State Does Not Grant Authority is the nearest mechanical falsifier.

Prior art — and what is not claimed

workrelationwhat it shareswhere it differs
Hintikka, epistemic logicantecedentformal treatment of what an agent knows and knows it does notnone claimed
The box-and-box ladder's epistemic rungrealizationthe tree's own place where 'do we know enough' is askedthe rung governs one decision; the pattern is about a standing boundary
Graphonomous Bot spec — 'a Bot knows its projection, not the world'partial overlapthe tree's sharpest statement of the boundaryfrozen for one component

Novelty not claimed. Epistemic logic has formalized this for sixty years. The chapter's job is to keep the boundary visible, not to advance the logic.

Realizations in the tree

Relations with other patterns

Established, Not Known definition