Skip to content

Commit 56d7dc7

Browse files
committed
docs(board): correct the "ruff #36 unlocked the FieldMask" claim in LATEST_STATE
LATEST_STATE.md:674 credited ruff PR #36 with unlocking the soc FieldMask to a byte-cardinality / class-conditioned cap. An adversarial cross-repo audit (both P0 claims unrefuted, high confidence) shows the opposite: ruff #36 (origin/main tip 3d04e37, payload c613094 "soc FieldMask cap 64 -> 256 (quadruplet) + bucket chaining") merged the PRE-veto LOCKED quadruplet (FIELD_MASK_MAX_BUCKETS=4, field_mask_buckets(), FIELD_MASK_CAP=256). The veto edit was authored but never committed, so #36 shipped the pre-veto code. The unlock actually lands via ruff commit 101928a, not yet on ruff main. Per the append-only board rule, the prior line is kept as record and a dated correction bullet is appended. lance-graph's own facet.rs is correctly class-conditioned on main and needs no change.
1 parent c30742e commit 56d7dc7

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

.claude/board/LATEST_STATE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -672,3 +672,4 @@ PR sequence: #360 → #361 → post-#360 substrate-sweep (this PR).
672672
- **`canonical_node::GUIDS_PER_NODE = 32` + the clean/SoC-over-packed doctrine** (operator 2026-06-29): the 512-byte node = `NODE_ROW_STRIDE / 16` = **32 × 16-byte GUID slots** (`key` + `edges` = 2; value slab = 30). Doctrine: when a class needs more than fits cleanly in one slot, **Tetris each concern into its own slot (SoC)** rather than bit-pack — the 32-slot capacity is *why* the `G4D3` straddle / packing is almost never needed (it's the headroom that also lets a ClassView rotate and lets the rare classid-stacking-entropy case spread to a fresh slot instead of minting another classid). Compile-time assert (`GUIDS_PER_NODE == 32 && ·16 == NODE_ROW_STRIDE`) + test `guids_per_node_is_32_slots_clean_soc_over_packed` (asserts the 2+30 split). `facet::CascadeShape` cross-refs it from the `G4D3` worst-case doc.
673673
This generalises the OGAR GUID `3×4`-vs-`4×3` debate from nibble-units to byte/field-units and lands on the canon's verdict (aligned 3×4 default; straddling 4×3 worst-case). **The shared substrate the three language SDKs (§1.6) all read.** +4 facet tests (`cascade_rotations_are_total_but_only_aligned_are_defaults`, `classid_switch_separates_view_from_functions`, `tier_bytes_ladder_and_per_carving_grouping`, `cascade_group_shared_is_per_group_lcp`) + canonical_node `guids_per_node_*` + 4 compile-time asserts. Lib facet 8/8 + canonical_node 43/43 green; clippy `-D warnings` + rustfmt clean (probe-workspace verified offline — the workspace ndarray git dep is 403 offline).
674674
- **2026-06-29 correction (operator veto):** the "G4D3 = worst case to prevent" framing above is SOFTENED — **the shape is class-conditioned, not locked**. A ClassView is mapped from the class's *inherited* format and selected by `classid` (the filter); the shape follows: **Rails → `6×2`, other frameworks → `4×3`, the GUID → `3×4`** (operator: "Rails might need 6x2x8bit, others 4x3x8bit"). So `4×3` (`G4D3`) is **legitimate per-class**, not a thing to "reject" — its `group_of` divides (a per-class *cost* a class opts into), and `is_byte_aligned()`/`shift()`/`ALIGNED` now read as "distinguishes the shift fast-path from the divide shape," not "prevent." NEW `CascadeShape::from_levels(d)` — the class-conditioned `D ∈ {2,3,4}` selector (`2→G6D2`/`3→G4D3`/`4→G3D4`), inverse of `levels()`; the classid resolves `D`, never a global lock. Test renamed → `cascade_shapes_are_total_and_class_conditioned` (adds the `from_levels` round-trip). The earlier "quadruplet/4-bucket FieldMask" framing in ruff `soc` was likewise unlocked → byte-cardinality cap, class-conditioned shape (ruff #36). Facet 7/7 + canonical_node 43/43 green post-correction.
675+
- **2026-06-29 (later) correction — the "(ruff #36)" attribution on the line above is WRONG (append-only, prior line kept as record):** ruff PR #36 (`origin/main` tip `3d04e37` = "Merge PR #36", payload commit `c613094` "soc FieldMask cap 64 -> 256 (quadruplet) + bucket chaining") merged the **pre-veto LOCKED quadruplet** — `FIELD_MASK_BUCKET_BITS = 64`, `FIELD_MASK_MAX_BUCKETS = 4`, `field_mask_buckets()`, `FIELD_MASK_CAP = 64*4 = 256` — **NOT** the unlock. The veto edit was authored but never committed, so #36 shipped the pre-veto code. The actual unlock (`FIELD_MASK_CAP = MAX_SIBLINGS_PER_TIER` = byte cardinality, class-conditioned shape, `quadruplet`→`classview` test renames) lands via ruff commit `101928a` ("apply dropped operator veto"), which is **not yet on ruff `main`** — it is in the PR-to-main on branch `claude/odoo-rs-transcode-lf8ya5` (this arc). Until that ruff PR merges, ruff `soc` on `main` is still the locked quadruplet; the "unlocked (ruff #36)" reading becomes true only after it merges. (Confirmed by adversarial cross-repo audit, both P0 claims unrefuted at high confidence; lance-graph's own `facet.rs` is correctly class-conditioned on `main` and needs no change.)

0 commit comments

Comments
 (0)