Skip to content

Commit 8812c47

Browse files
authored
Merge pull request #924 from AdaWorldAPI/claude/jirak-math-theorems-harvest-rfii13
eval plan ACTIVE: audit fold (22/24 claims confirmed, 0/11 specs sound → all v2) + #923 board record
2 parents 373d3b7 + f2e0d2c commit 8812c47

6 files changed

Lines changed: 356 additions & 128 deletions

File tree

.claude/board/AGENT_LOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,19 @@
1+
## 2026-08-11 — Workflow `wf_99d677e6-b45` — eval-plan verify/attack (13 agents; orchestrator-consolidated)
2+
3+
13/13 completed, 0 errors, 0 empty; ~4.42 M subagent tokens, 165 tool calls,
4+
~20 min. 7 × Sonnet source-verifiers over the K-1..K-25 ledger (READ-ONLY, no
5+
cargo, per-claim CONFIRMED/PARTIAL/REFUTED with file:line quotes) + 6 × Opus
6+
falsifier-auditors attacking EV-1..EV-10 (can-it-fail / two-sided /
7+
inert-thresholds / vacuous-pass-routes / apparatus).
8+
9+
Outcome: verify 22 CONFIRMED, 2 PARTIAL (K-23 path `src/bitwise.rs` not
10+
`src/hpc/`; K-21 sprite-not-field + toroidal note); attack **11/11 NOT SOUND**
11+
(10 VACUOUS, 1 UNDERSPECIFIED). Consolidated by the main thread into: plan §3
12+
fully rewritten to v2 specs, §8 audit record, §1 K-row corrections, DRAFT →
13+
ACTIVE flip; knowledge doc §12.18 (§12.16 sprite correction); EPIPHANIES
14+
`E-ZERO-FOR-ELEVEN-…-1`. Sole-writer rule observed: agents wrote no board
15+
files; this entry is the orchestrator's consolidation.
16+
117
## 2026-08-05 — lance 9 / DataFusion 54 / Rust 1.97.1 cross-repo bump (main thread + 2 Sonnet grindworkers)
218

319
- **Agents:** main thread (design, adjudication, all commits/pushes) + 2 Sonnet

.claude/board/EPIPHANIES.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,39 @@
1+
## 2026-08-11 — E-ZERO-FOR-ELEVEN-THE-AUTHOR-CANNOT-AUDIT-HIS-OWN-FALSIFIERS-1
2+
3+
**Status:** FINDING `[G]` — measured by the 13-agent verify/attack pass on
4+
`weather-substrate-evaluation-v1.md` (run `wf_99d677e6-b45`; plan §8 is the
5+
full record).
6+
7+
**Every one of the eleven EV test specs failed adversarial pre-registration
8+
audit** — 10 VACUOUS, 1 UNDERSPECIFIED, zero SOUND — despite being written by
9+
an author who had *just* been corrected through seven sections
10+
(§12.10–§12.17) for exactly these failure modes and cited the falsifiability
11+
rule inside the specs themselves. Meanwhile the same pass CONFIRMED 22 of 24
12+
KNOWN-ledger claims outright (2 PARTIAL: a file path; "whole-field shift"
13+
overstating a sprite translate).
14+
15+
**The asymmetry is the finding:** the author was reliable about what IS
16+
(evidence-backed claims, 22/24) and near-uniformly unreliable about what WOULD
17+
FALSIFY (0/11). Specimen defects, each a house classic reborn: a silence half
18+
that was an identity comparison (calm tiles, where the shift rounds to 0); a
19+
silence half that was an arithmetic tautology (`circular == linear` for
20+
`|a−b| ≤ 128` — the 90° sector spans 64); `count > 0` implied by the sampling
21+
design (`elimination_rate()` verbatim); a vacuity guard pre-satisfied by
22+
committed data; "monotone" satisfiable by a dead knob; a fixture that 404s at
23+
the pinned timestep feeding a pipeline whose anomaly step destroys the very
24+
bound-mass under test; an "exact to 1e-4" gate over 3-sig-fig prose constants
25+
AND Monte-Carlo statistics; a claim naming top-k with no criterion touching
26+
top-k; a stale-fixture route where a "winter" run re-measures summer bytes;
27+
`cos(lat)` missing from the one formula that fires where winds are strong.
28+
29+
**Rule:** *pre-registration review by independent adversarial readers is
30+
load-bearing, not ceremony.* Naming a discipline is not applying it, and the
31+
spec's author is structurally the wrong person to find its vacuous pass
32+
routes — same-author review already failed measurably ONCE this arc (§12.10
33+
announced the right frame and shipped the wrong one). Route every probe spec
34+
through an attack pass BEFORE its first run; the attack is cheap relative to a
35+
probe that cannot fail.
36+
137
## 2026-08-11 — E-THE-FRAME-WAS-ALREADY-SHIPPED-FOUR-TIMES-1
238

339
**Status:** FINDING `[G]` — read in source this session.

.claude/board/LATEST_STATE.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
## 2026-08-11 — lance-graph #923 (MERGED) — the evaluation plan + `DistanceLut::circular()`
2+
3+
### Current Contract Inventory — one new public constructor; one new plan
4+
5+
- **`helix::DistanceLut::circular()`**`min(|a−b|, 256−|a−b|)`, the cycle-graph geodesic on `Z_256`. **A metric, proven EXHAUSTIVELY: 0 violations / 16 777 216 triples.** Use for any quantity whose range **wraps** (bearing, phase, angle); `linear()` is simply the wrong table there — it puts index 255 and 0 at *maximum* distance when they are adjacent. Same `[a,b]` amortization as every other constructor.
6+
- **`.claude/plans/weather-substrate-evaluation-v1.md`** — the arc's known-vs-test ledger. **§1** 25 KNOWN claims with `file:line` + per-row grades; **§2** the honesty split (only K-12/K-13 lack a committed reproducer); **§3** EV-1..EV-10 in three waves (0 = no data · 1 = one fixture re-fetch · 2 = scale); **§5** the D-1..D-6 operator decision register. **Ships DRAFT-pending-audit** — §8 folds a 13-agent verify/attack pass and flips it ACTIVE.
7+
- **The `[a,b]` amortization, stated `[G]`:** `quantize()` normalizes once per element at ingest (`quantize.rs:99`); `from_floor()` folds the SAME normalization into the table (`distance.rs:39`). Afterwards there is no `lo`, no `hi`, no division — a pure index lookup in **unit-free** units. That is what licenses cross-variable comparison, and it is O(256²) once rather than O(N²).
8+
- **Field-vs-element, locked:** judge a normalized representation by what its **field** does. nearest-`n` = ONE palette index → 2 × LUT u8 lookups, L1 metric, CAKES-safe, `U8x64`, feeds `int8_gemm_amx_tiled(a_u8, b_i8, …)` directly. u8-palette azimuth under `circular()` = **0.352° mean**, beating nearest-`n`'s 0.972° while keeping that shape. Raw u16 azimuth is circular and tileless.
9+
- **The stack is BUILT, not proposed** (§12.17): `perturbation-sim` (`rolling_floor` = the CI-threshold frame, Jirak-cited · `splat`/`sketch` = the magnitude/sign two-algebra rule · `cascade_key::morton48` · `hhtl` by Cheeger bisection), `ndarray::hpc::splat3d` (3DGS, `TILE_SIZE=16`, depth cascade already HHTL), `symbiont/domino.rs` (16 SoA boards per AMX 16×16 tile GEMM, real `TDPBF16PS`). **The `mu+kσ` frame ships 4× — new probes must be its 5th instance, not its 5th implementation.**
10+
- **Still open, operator calls:** D-1 noise floor · D-2 saturation window · D-3 `from_bearing` API · D-4 dormant-lane fix shape · D-5 helix CI wiring (`[G-absence]`: excluded from the root workspace, in no workflow) · D-6 harness-of-record.
11+
112
## 2026-08-11 — lance-graph #921 (MERGED) — the wind reuse, measured: the prescribed bearing-encode is 10× worse than the direct one
213

314
### Current Contract Inventory — no new types (one committed measurement, one doc section, board hygiene)

.claude/board/PR_ARC_INVENTORY.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,15 @@
1+
## 2026-08-11 — lance-graph #923 (MERGED) — the evaluation plan (KNOWN vs TO TEST), `DistanceLut::circular()`, and the two verdict inversions that reshaped both
2+
3+
- **Added.** `.claude/plans/weather-substrate-evaluation-v1.md` — the arc's known-vs-test ledger: **§1 KNOWN K-1..K-25** each with `file:line` and an honest grade (`[G]` / `[G-session]` probe-source-committed-fixture-fetched / `[H]` measured-but-no-committed-reproducer / `[G-absence]`), **§2** the honesty split naming the only two `[H]` rows, **§3 EV-1..EV-10** in three waves, **§4** wave gating, **§5** the D-1..D-6 operator decision register. `DistanceLut::circular()` + 3 tests (`crates/helix/src/distance.rs`). Knowledge-doc §12.14–§12.17. Three EPIPHANIES entries.
4+
- **Locked.** **Topology selects the TABLE FORMULA; it never decides whether a quantity belongs in the palette domain.** `circular()` = `min(|a−b|, 256−|a−b|)`, the cycle-graph geodesic on `Z_256`, proven a metric **exhaustively — 0 violations over all 256³ = 16 777 216 triples** (not stride-sampled), wrap falsifier `d_circ(255,0)=1` vs `d_linear(255,0)=255`. So `distance.rs:8-10`'s *"raw-azimuth is NOT a metric (the 2π wrap)"* is a statement about the **formula**, not about angles. **The LUT is the `[a,b]` AMORTIZATION POINT** — `quantize()` normalizes once per element at ingest, `from_floor()` folds the SAME normalization into the table; afterwards comparisons are pure lookups in **unit-free** units (which is what licenses cross-variable comparison), O(256²) once instead of O(N²). **Judge a normalized representation by what its FIELD does, not by what one element decodes to** — a per-element accuracy number is the round-trip metric wearing a different hat. **A doctrine written for one domain is not automatically right for the next one that reuses it.** **Before writing a frame, grep the workspace for the frame.**
5+
- **Measured `[G]`.** Bearing encodes at N=65536: nearest-`n` **0.972°** mean vs direct `(polar,azimuth)` **0.097°** — but at field scale nearest-`n` collapses direction to ONE palette index (2 × `DistanceLut` u8 lookups, L1 metric, CAKES-safe, `U8x64`, feeds `int8_gemm_amx_tiled(a_u8, b_i8, …)` directly) while raw u16 azimuth is circular and tileless. **u8-palette azimuth under `circular()` = 0.352° mean** — beats nearest-`n` AND keeps the field ergonomics. Morton motion is **O(1) in pixels** (`dx=7 dy=5 bit_exact=1 motion_bytes=2 sprite_px=576`, interior residual 0, `disocc_frac=0.1215`); comma fence `three_gap_distinct=3`, `coprime_full_perm=1`. `64×64 = 4096 cells = 4096 bit = 512 B = 64×u64` = **the CANON node stride** — a node's bits ARE a bitboard, `masked_popcount_batch(words, mask)` IS `popcount(attacks & targets)`.
6+
- **⊘ Corrections this PR carries (three verdict changes on ONE question).** §12.13 ranked the bearing encodes by angular **reconstruction** error — the metric §12.10 rules out — and was inverted by §12.14 on field ergonomics; §12.14 was then itself **too strong**, and §12.15 resolved it: the fix was never "abandon the direct path", it was **give the wrapping lane its own table**. **`crates/perturbation-sim::rolling_floor::RollingFloor` already IS the "corrected evaluation frame"** of §12.10/§12.11 — `threshold()` = *"the confidence-interval floor"* `mu+k·σ`, `z()` = *"the Jirak-honest noise-floor units; significance via n^(p/2−1), not IID"*, `band()`, `preheat()`, rolling `observe()`**and I re-derived it in Python.** It is the **fourth** instance of one frame (`ndarray::Cascade::expose`, `perturbation-sim`, `helix::RollingFloor`, `domino`'s 3σ top-K).
7+
- **Deferred.** The plan ships **DRAFT-pending-audit** by its own header — a 13-agent verify/attack pass folds in as §8 and flips it ACTIVE. No public `from_bearing` minted (D-3). EV-1..EV-10 all **Queued**, none run. D-1..D-6 open. Filed-not-fixed: the `Signed360::sign()` dormant-lane defect (pinned by a defect test that a fix must break deliberately).
8+
- **Docs.** `weather-substrate-evaluation-v1.md`; knowledge §12.14–§12.17; EPIPHANIES `E-JUDGE-THE-FIELD-NOT-THE-ELEMENT-1`, `E-TOPOLOGY-PICKS-THE-TABLE-NOT-THE-DOMAIN-1`, `E-THE-FRAME-WAS-ALREADY-SHIPPED-FOUR-TIMES-1`; INTEGRATION_PLANS + STATUS_BOARD (11 EV rows).
9+
10+
**Confidence (2026-08-11):** merged. `circular()` is `[G]` on an exhaustive proof. The plan's K-ledger is graded per-row and **its audit had not completed at merge** — treat any `[H]` row as unconfirmed until §8 lands. `helix` is root-workspace-excluded and in **no CI workflow** `[G-absence]`, so every helix test here runs **only by hand**. Two PRE-EXISTING clippy findings (`walk_spectrum.rs:81`, `probe_mantissa_fill.rs:174`, new 1.97 lints) were deliberately **left alone** rather than sweeping files outside this change's scope.
11+
**Process note — the merge race.** #922 merged mid-push, leaving five commits stacked on merged history; they were rebased onto main and reopened as #923, and #922's description was **restored** to describe only what it merged (two post-merge edits had wrongly attributed later content to it). A merged PR is finished — it cannot absorb follow-up work.
12+
113
## 2026-08-11 — lance-graph #921 (MERGED) — the reuse IS the process: the wind bearing-encode measured, and the doctrine that does not fit it
214

315
- **Added.** `crates/helix/tests/bearing_encode_paths.rs` — a committed measurement of the two candidate `bearing → Signed360` encodes at N=65536. `.claude/knowledge/weather-normalized-substrate.md` §12.13. Board hygiene for #920 (its own arc + `LATEST_STATE` entries, plus the `Correction`/`Confidence` pair on #917).

.claude/knowledge/weather-normalized-substrate.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1354,3 +1354,16 @@ never questioned; this is an **implemented, documented, Jirak-cited frame
13541354
re-written in another language**. The `Consult, don't guess` rule in `CLAUDE.md`
13551355
orders card → knowledge doc → board → source; nothing in that ladder says *grep
13561356
the sibling crates for the thing you are about to build* — and it should.
1357+
1358+
#### 12.18 — ⊘ audit correction to §12.16: a SPRITE moves for 2 bytes, not the field
1359+
1360+
The verify pass on the evaluation plan (plan §8, run `wf_99d677e6-b45`)
1361+
regraded §12.16's Morton row: `morton_shift_motion_probe.rs` legA
1362+
rigid-translates a **24×24 `Sprite` within a 256×256 field** via one
1363+
`(dx,dy)` address-delta — bit-exact vs a ground-truth re-render, and genuinely
1364+
O(1) in sprite pixels — but *"2 bytes moves the whole field"* **overstates**:
1365+
2 bytes moves one sprite/tile; a whole-field advection is one `(dx,dy)` **per
1366+
tile**. The shift is also **toroidal** (`wrapping_add` per lane); the clipped
1367+
variant is a separate helper — EV-1 (evaluation plan §3) pins the clipped
1368+
semantics and masks disocclusion accordingly. legB/legC verified exact as
1369+
stated.

0 commit comments

Comments
 (0)