docs: OQ-50 ruled and applied - the half-open span is now doc 02's stated convention
docs: OQ-50 measured - a centred voxel cube contradicts gate C1's own region arithmetic
docs: OQ-62 - the toolchain is a moving target, and what that cost in red trunks
docs: register OQ-61, the divergent-payload rule no question owned Six citations in the repo pointed at OQ-46 - wire identities - for a decision about which payload survives a clash. The register now carries the question the way docs/13 does, including what catch_up already settles and the four parts it refuses.
docs: OQ-60 is a first-impression-versus-predictability trade, not a performance one
docs: OQ-60's settle curve, and the Safari/ARM64 leg that closes P1.5's browser clause short of the named machine
docs: OQ-59 - a streamed frame can be cut but not carried, plus the sub-ray ceiling law
docs: OQ-58's thresholds measured - distance-invariant frame, 2^24 placement limits, three architectures agreeing
docs: the far region cell that rounded geometry away - R5's measurement, OQ-56's correction, OQ-58
docs: AS5's compile-time ceiling exists, calibrated 27.3x loose, and the threshold stays the owner's call
docs: the descent is worth 443x where one bound was worth nothing, and compaction's lever turned out to be capacity (ADR-024, OQ-49, OQ-53)
docs: JavaScriptCore agrees - Safari on the ARM64 runner produces the native digest (P1.5, S3, OQ-41)
docs: the browser job is in CI on three architectures, and the run that taught the shim to derive its imports (P1.5, OQ-41)
docs: the boot's roots now print inside a browser, and what that does and does not close (P1.5, OQ-41)
docs: mirror gate P1.4's directory, its measured cost, and OQ-52 (P1.4, OQ-49, OQ-52)
wiki: the roots run inside a WASM engine, and the blocker we cited for it was a misreading docs/11's claim was that WASM execution needs the export-lint decision because a runner would have to be wit-bindgen output. Both premises are true and the conclusion is not: a WASI command exports _start from the Rust runtime, so nothing in this repository writes an export or an unsafe. The engine now builds for wasm32-wasip1, runs in CI under Node's WASI, and diffs identical against the native build - 13 lines, EPOCH_0 91b97a52... among them, main green in 38265695965. The step fails on empty output, because an empty diff between two empty files is a green check that means nothing. Home, Open-questions and the status log all repeated the old claim, so all three are corrected rather than one of them quietly updated. Stated alongside it: this is a fourth kind of target, not spike S3's fourth device - M1-browser still means a browser on an M1 - and the marched f32 values riding in the same lines are presentation, not evidence (ADR-017). OQ-41 stays open for mods exporting functions; it was never what blocked this.
wiki: the frame law is steps x nodes, and OQ-50 blocks the visible edit raster_probe's tree-growth sweep: the march step count barely moves with tree size (659,801 steps for one node, 627,890 for 31) while the work per step scales with the node count - about 1.5 ns per extra node per step here. Recorded with the caveat that the timings varied 2x between runs of the same binary while the counts repeated exactly, so a budget belongs in node-steps rather than milliseconds. The second half is a gap, not progress: projecting an edited voxel into an A-07 cube needs to know which world span GlobalVoxelPos names, and no doc says. Nothing hashed depends on it, so it is not a determinism question, but the raster path, doc 07's collision and the future base terrain must agree - ADR-021's single coordinate authority. Filed as OQ-50 on the Open-questions page rather than guessed in code, and gate P1.7's row now names it as why the frame-visibility half has no implementation.
wiki: spike S2 part three - where P1.3's line falls, and what batching across regions is worth Roadmap gains the sweep table and the two findings that contradict what the docs asserted: spreading 65,536 edits over eight regions computes 548,192 digests against 483,285 in one (13.4% MORE work, so that OQ-49 lever is parallelism rather than reduction), and 1 to 16 slot rows commit in 4.10-4.43 ms, so the live -region count is not the cost driver. The 1 ms line sits between 128 and 512 edits per region per epoch. Open-questions' OQ-49 entry was two spikes stale - still quoting 4.9 ms for the pass and 93 ms for the commit, from before the O(N^2) resolution pre-pass was removed. It now carries the current range, the packet command, and the caution that CI repeats the digest counts on three runners while its timings disagree about which arrangement is faster. Which lever moves remains the owner's call.
wiki: mirror the commit path, crates/memory, and spike S2's first numbers (OQ-49) Phase 0's table goes to 61 tests with the two new suites named, the spike row records that P1.2 is met (57.2 M appends/sec, p99 200 ns) and P1.3 is not (4.9 ms pass / 93 ms commit for one full 64 KB slab region), and the still-unmet paragraph is rewritten: the commit path landed the same day it was listed as missing, the insertion sort became an octant partition, the pass became linear, and no digest changed. Open-questions gains OQ-49 and corrects OQ-47's trigger — slabs append records now; what is still absent is the projection into M_active. Home's status blurb follows.
wiki: mirror ADR-030's sign-off, A-10's freeze and crates/ledger's first roots Five pages move. Decision-log gains ADR-030 with its rejected alternatives and the note that ADR-028's "not settled by it" half is now settled; Roadmap-and-status's Phase 0 table records run 38181630859 — 51 tests on three runners, the fifteen A-10 vectors byte-identical across them, cargo-deny's first real audit now that BLAKE3 is in the graph, and the still-unmet list extended to the commit path the hasher does not do yet; Home's status blurb; Glossary adds Epoch root, Tree shape and Intensional commitment; Open-questions marks OQ-44 live and OQ-47's trigger partly reached.
wiki: mirror A-03/A-08 drafting and the ADR-026/028 sign-offs Repo truth at 3934020: 48 OQ (OQ-45..48 registered), 32 tests green on all three CI architectures, SPEC-04's hashing half locked, A-03 and A-08 drafted under DRAFT headers, and ADR-026 (wgpu) plus ADR-028 (BLAKE3-256) promoted from proposed to locked.
docs: mirror the ADR-029 sign-off, A-01's freeze and the licence SPEC tally is 4 locked / 4 proposals / 1 open now that SPEC-01, SPEC-03 and SPEC-09 are locked; SPEC-06 survives as doc 03's allocation choice. Home gains a License section, OQ-37 and OQ-43 lose the licensing half of their scope, A-03 and A-08 are recorded as unblocked, and the Phase 0 numbers move to CI run 38150859744 with 242 doc links.
docs: mirror the Phase 0 landing, ADR-029 and OQ-44 into the wiki The pages still said "not a line of engine code exists" and 43 open questions. First code has landed and been measured on three architectures, so the status boards, the SPEC-03/06/09 rows and the ADR count (29, including the still-unsigned ADR-029) now match docs/. Also carries the earlier fidelity fixes: the rejected render-pass equation stays visible next to its sanctioned reading, Rollback points at doc 10, and the VAD abbreviation is gone because docs/14 does not define it.
docs: add architecture, vision, roadmap, decision log, open questions and glossary pages