jonnify·bcs /bcs/ideas/system-substrate/the-six-gates

B1.1 · dive — the six gates

Six crimes, six refusals.

The rung's check script attempts the architecture's canonical crimes on stage and records each refusal; the committed transcript closes PASS 6/6. This dive reads it line by line.

Source: content/bcs1.1.md, quoting bcs_rung_1_1_check.out; the check script is bcs_rung_1_1_check.exs, committed beside its output.

The gate stepper. Select a gate to read its verbatim transcript line.
G1 reach-through G2 traveling-object G3 typed G4 ordered G5 placed G6 canon
readout · Select a gate to read its transcript line, verbatim, with a one-sentence reading. The full transcript is frozen in §1 below.
§1

The transcript

bcs_rung_1_1_check.out · verbatim
content/echo_data/runtimes/elixir/bcs_rung_1_1_check.outfrozen
G1 reach-through ok -- outside lookup -> ArgumentError, insert -> ArgumentError; info reports protection: :private (metadata visible, data refused)
G2 traveling-object ok -- map/tuple/integer ids -> FunctionClauseError 3/3; inter-store message carried {:entity, id} only; :burned recorded BRL0NsHLqGoDbd
G3 typed ok -- rejects 4/4 as :invalid; GRD id on BRL store -> {:error, :namespace}; raising twin -> NamespaceError
G4 ordered ok -- page_desc(2000) == byte-sort desc over 2000 minted ids; store holds no clock
G5 placed ok -- placement(USR0KHTOWnGLuC) -> 234878118
G6 canon ok -- self_check! -> {:ok, :native} (init gates on the same check)
PASS 6/6

Seven lines, committed beside the check script that produced them. A gate is not a claim about what the substrate would refuse; it is a recording of what it refused, on stage, with the platform's own error in the log.

§2

Reading the lines

content/bcs1.1.md · What
G1

The reach-through

An outside process attempts lookup and insert on the store's table; the VM refuses both with ArgumentError. info returns full metadata — protection: :private included — to a process that cannot read one row: metadata visible, data refused.

G2

The traveling object

Map, tuple, and integer ids die in pattern matching — FunctionClauseError 3/3 — before any store code runs. The inter-store message carried {:entity, id} only; the receiving store recorded :burned under BRL0NsHLqGoDbd.

G3

Typed

Four malformed inputs reject 4/4 as :invalid; a GRD id presented to the BRL store is a typed refusal, {:error, :namespace}; the raising twin raises NamespaceError. Coarser than the wire contract's four atoms by decision — no second parser.

G4

Ordered

page_desc(2000) equals byte-sort descending over 2000 minted ids; the store holds no clock. Chronology comes from the keys — the ownership dive reads the mechanism.

G5

Placed

placement(USR0KHTOWnGLuC) → 234878118 — the contract's canonical vector, reproduced by the store's arithmetic.

G6

Canon

self_check! → {:ok, :native}; init gates on the same check, so a store that cannot prove its codec refuses to start.

§3

The gate, exercised

a model of the boundary path

The boundary path runs shape check, parse, namespace check — in that order. The model below runs that classification as a pure function over five fixed candidates presented to a BRL store. The first two ids are the transcript's own; the rest demonstrate the refusal classes. The BEAM speaks everything past the namespace coarsely as :invalid — the no-second-parser decision.

Five candidates at the boundary. Select one; the readout names the verdict and the check that fired.
candidate shape binaries only parse 14 bytes · Base62 · range namespace this store admits BRL table touched last
readout · Select a candidate. Static verdicts: the transcript's BRL id is admitted; the canonical USR vector parses cleanly but refuses as {:error, :namespace}; a tuple dies as FunctionClauseError; a 14-byte string with a bad charset and an 11-byte string both collapse to {:error, :invalid}.
§4

References

sources · related

Sources

Related