From b5df981724557f8d0bbe3901f76ac918eabaeedd Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 16 Sep 2026 19:52:27 +0000 Subject: [PATCH 1/2] blackboard (13): the tail-site count is 23, not 12 (12 tail + 7 ta + 3 td + 1 ts) Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01DCfrD5y19cvFc4AoyydXYv --- .claude/blackboard.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.claude/blackboard.md b/.claude/blackboard.md index b194b08e..ec44b133 100644 --- a/.claude/blackboard.md +++ b/.claude/blackboard.md @@ -48,6 +48,13 @@ built: `U64x4::ternlog` / `U64x2::ternlog` on the facade + rewire `mask_ternlog`'s tail; an un-gated `pack` sibling of `pack_under` to retire the 12 hand-rolled `if !tail.is_empty()` sites. +> *Correction 2026-09-16 (counted, after Codex on lance-graph #1244):* "12" +> is the number of branches literally named `tail`; the full set of +> hand-rolled tail branches in `simd_masking_ops.rs` at `c746735` is +> **23** — 12 `tail` + 7 `ta` + 3 `td` + 1 `ts` (`mask_shift_morton`) — and +> `pack` would retire all of them. Whether the Morton-shift tail +> fits the same helper is that follow-up's question. + ### 2. `examples/ternlogq_sparse_reapply_probe.rs` — FULL-WIDTH sparse frontier. NO. 1 024 words (65 536 rows, the MQ / `lgj_hop` population), `dst = src ∧ gate ∧ From 695fb630feb68235c81ee8328fbeffd044f37e06 Mon Sep 17 00:00:00 2001 From: Claude Date: Wed, 16 Sep 2026 19:55:09 +0000 Subject: [PATCH 2/2] =?UTF-8?q?blackboard=20(13):=20the=2023=20tail=20site?= =?UTF-8?q?s=20are=20two=20kinds=20=E2=80=94=2012=20predicate=20tails=20(p?= =?UTF-8?q?ack)=20+=2011=20algebra=20tails=20(VL=20descent),=20per=20Codex?= =?UTF-8?q?=20on=20#312?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01DCfrD5y19cvFc4AoyydXYv --- .claude/blackboard.md | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.claude/blackboard.md b/.claude/blackboard.md index ec44b133..0845faf8 100644 --- a/.claude/blackboard.md +++ b/.claude/blackboard.md @@ -51,9 +51,15 @@ retire the 12 hand-rolled `if !tail.is_empty()` sites. > *Correction 2026-09-16 (counted, after Codex on lance-graph #1244):* "12" > is the number of branches literally named `tail`; the full set of > hand-rolled tail branches in `simd_masking_ops.rs` at `c746735` is -> **23** — 12 `tail` + 7 `ta` + 3 `td` + 1 `ts` (`mask_shift_morton`) — and -> `pack` would retire all of them. Whether the Morton-shift tail -> fits the same helper is that follow-up's question. +> **23** — 12 `tail` + 7 `ta` + 3 `td` + 1 `ts` (`mask_shift_morton`). +> *Scope, corrected same day (Codex on #312):* they are TWO kinds. The 12 +> `tail` branches are predicate-packing tails (one `values` slice → output +> words) — an un-gated `pack` retires exactly those. The 11 +> `ta`/`td`/`ts` branches are mask-ALGEBRA tails (multi-input, in-place, +> and the accumulating Morton shift) — a packer cannot express them; they +> are what the VL descent (`U64x4::ternlog` / `U64x2::ternlog` + a +> `tail_descend` helper over the lane op) is for. Two follow-ups, one per +> kind; neither retires the other's set. ### 2. `examples/ternlogq_sparse_reapply_probe.rs` — FULL-WIDTH sparse frontier. NO.