B2.2 · dive 3 — the review, performed
One export, one review.
Chapter 2.1 decided that adding an export is an architecture review with the surface gate as its instrument. P5 is that decision exercised for the first time: the surface grew by exactly one export — window/3 — and the full export set re-asserted, domain plus OTP callbacks and nothing else.
Source: content/bcs2.2.md, quoting bcs_rung_2_2_check.out (line P5) and the frozen bcs_rung_2_1_check.out — the pre-amendment surface evidence.
window/3, in oxide red on the right panel; nothing was removed.The transcript
bcs_rung_2_2_check.out · line P5 + the tally · verbatimP5 review ok -- surface grew by exactly one export: window/3 -- the review Chapter 2.1's decision required, performed
PASS 5/5
The review procedure, now precedent: the diff that adds a function carries the gate update that admits it — one export, one gate update, one sentence in the record. And no fourth read has earned an export yet, which is the review bar working.
The pre-amendment record
bcs_rung_2_1_check.out · frozen · verbatimEvidence outputs are frozen snapshots of their day; scripts evolve with the surface,
committed records do not. The amended bcs_rung_2_1_check.exs re-runs green under the grown
surface, while its committed output stays exactly as it was — the historical proof of what the surface
used to be:
boot: two stores under one_for_one; native codec self-check passed at each init R1 surface ok -- exports: six domain functions plus OTP callbacks, nothing else -- no table, no pid, no internals R2 existence ok -- existence restored, data not: fresh table after kill -- durability is a different chapter's job R4 radius ok -- sibling untouched (one_for_one): ord_store pid stable, row intact through prt_store's crash R3 checkpoint ok -- recovered through the boundary, not the heap: re-put from a read-back row R5 gate ok -- prt_store refuses an ORD name with {:error, :namespace} -- admitted kinds are per-boundary PASS 5/5
R1's "six domain functions plus OTP callbacks, nothing else" is the line the amendment was measured against. A record is what was true on its day, and the day is in the file — the freeze policy the agent guides stated for benchmarks, generalized to every rung in the series.
The desk reads
content/bcs2.2.md · Whenget/2
What is this instrument — the name is known, and the name is the key. The gate runs before the lookup.
page_desc/2
What are the latest orders — a prev walk from the table's end. No timestamp
column consulted.
window/3
What happened between 14:30 and 14:32 — window(store, lo, hi) is
[lo, hi), ascending, bounds gated against the store's namespace, cursors synthesized by
min_for.
Window bounds are ingress — synthetic or not, a cursor is an id arriving at a boundary, and it meets the gate like any other.
get/2; latest is
page_desc/2; between is window/3; and who holds this asset
has no read here — the pair is a relation, and Chapter 2.5 owns it.References
sources · relatedSources
- Erlang/OTP — the ets moduleordered_set term order; select/2 — the mechanics behind the reviewed export
- Erlang/OTP — the supervisor behaviourthe one_for_one tree the 2.1 record speaks in
Related
- B2.2 — Property Stores on ETSthe module hub; the full rung in context
- B2 — The Elixir BCS Corethe chapter landing; the Part II arc
- BCS — the course homethe law, the id anatomy, the chapter map
- Functional Programming in Elixirthe umbrella where echo_data lives