From 2d19fce2d34a3a4fda40c37f4ec382e9480bd502 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 12 Jul 2026 07:25:21 +0000 Subject: [PATCH] knowledge: rung POV correction (codex #8) + ladder-table MD058 spacing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The rung probe's third oracle defect, found by codex and fixed in stockfish-rs 8e563ab: evaluate() is side-to-move POV, so cross-ply sign comparisons were move-parity noise. Post-fix a real convergence gradient appears (mean first-third 0.48 -> last-third 0.74, 13/25 games) — previously erased — but still below the pre-registered gate; D-SF-RUNG-1 stays INCONCLUSIVE/[H] with the two remaining defects (mate-blindness, unsettled playouts) binding. Standing lesson banked: normalize POV before any cross-ply eval comparison (the L5 corpus never caught this — all five FENs are White-to-move). Also: blank lines around the tenant-ladder table (coderabbit MD058 on #684). Board: EPIPHANIES E-RUNG-POV-CORRECTION-1 prepended (same commit). Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01Awg6TXocHcwTtc6eGsHcdD --- .claude/board/EPIPHANIES.md | 9 +++++++++ .../stockfish-nnue-as-perturbation-cascade.md | 10 ++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/.claude/board/EPIPHANIES.md b/.claude/board/EPIPHANIES.md index 480fea26..948ddf9b 100644 --- a/.claude/board/EPIPHANIES.md +++ b/.claude/board/EPIPHANIES.md @@ -1,3 +1,12 @@ +## 2026-07-12 — E-RUNG-POV-CORRECTION-1 — codex found a third rung-oracle defect (evaluate() is side-to-move POV); fix reveals a real 0.48→0.74 convergence gradient previously erased by parity noise; verdict stays INCONCLUSIVE/[H] +**Status:** CORRECTION (MEASURED, `AdaWorldAPI/stockfish-rs` commit 8e563ab, 2026-07-12). Refines the D-SF-RUNG-1 numbers in E-CHESS-PROBE-SWEEP-COMPLETE-1 (below); the verdict is unchanged, the mechanism understanding is sharper. + +**The defect (codex on stockfish-rs #8):** `evaluate()` returns side-to-move-POV internal units, so the probe's cross-ply `signum()` comparisons alternated perspective every ply — the flat "no convergence" (0.53 ≈ 0.54) was move-parity noise, and the hindsight sign came from whichever side moved last. Fix: normalize every eval to a fixed White POV before `signum()`. + +**Post-fix measurement (not tuned, just measured):** mean first-third agreement 0.48 → last-third 0.74, 13/25 games show the split — a REAL convergence gradient in the direction the rung thesis predicts, previously erased. Still below the pre-registered gate (pass 0.75 / mean-last 0.9), so D-SF-RUNG-1 remains INCONCLUSIVE and stays [H]: the two remaining oracle defects bind (NNUE not mate-aware — sacrificial mates invert the label; random playouts never settle). The path to a gradeable verdict is unchanged: played-out game-result labels or a mate-aware search. + +**Standing lesson:** any probe comparing NNUE evals ACROSS plies must normalize POV first — `evaluate()` is stm-relative; the banked L5 parity corpus never caught this because all five FENs are White-to-move (the two conventions are indistinguishable there). + ## 2026-07-12 — E-CHESS-PROBE-SWEEP-COMPLETE-1 — MEASURED ×4 (parallel): escalation structure GREEN+fence, episodic-keys GREEN+gap, vector-palette ladder GREEN at Base17 anchor (96-bit pair-tenant > cam_pq, operator-confirmed), rung INCONCLUSIVE (oracle, stays [H]) **Status:** FINDING (MEASURED, `AdaWorldAPI/stockfish-rs`, 2026-07-12). The final four probes of the perturbation-cascade synthesis queue, run in parallel; every negative is a finding, not a force. Reads with E-CHESS-GRIDLAKE-BASIN-GREEN-1 (below) and E-PALETTE-NNUE-COSINE-GREEN-1. diff --git a/.claude/knowledge/stockfish-nnue-as-perturbation-cascade.md b/.claude/knowledge/stockfish-nnue-as-perturbation-cascade.md index 64638efa..9d427bc8 100644 --- a/.claude/knowledge/stockfish-nnue-as-perturbation-cascade.md +++ b/.claude/knowledge/stockfish-nnue-as-perturbation-cascade.md @@ -125,12 +125,14 @@ Stated as deliverables so it can be executed and falsified, never hand-waved: the actual VECTOR tenant shapes: codebooks trained on 2048 FT columns, measured on 256 DISJOINT held-out columns (32 640 pairs — no memorization degeneracy; an earlier same-set run gave a degenerate ρ=1.0 and was discarded): + | lane | bytes/col | ρ_all | near-orth ρ | MAE | |---|---|---|---|---| | cam_pq 48-bit (6×256, `CamCodebook`) | 6 B (341×) | 0.929 | 0.823 | 0.083 | | **V3-L4 96-bit (6×256², the le-contract `6×(u8:u8)` ²centroid pairs)** | 12 B (170×) | **0.966** | 0.881 | 0.053 | | 64×256 512-bit (64 subspaces × 16d — "one centroid per square", board-shaped) | 64 B (32×) | 0.977 | 0.918 | 0.042 | | + turbovec-style n×4bit edge residue (uniform FLOOR) | ~526 B (3.9×) | **0.998** | **0.994** | 0.009 | + **Operator ruling confirmed by measurement: the full 96-bit `6×(256×256)` V3 tenant is strictly better than 48-bit cam_pq** (it is the faithful/"perfect" tenant shape; cam_pq is the lossy approximation). The 96-bit tenant clears the @@ -307,8 +309,12 @@ Games flow: `apply_move` → temporal-stream version → le-contract basin → - **D-SF-RUNG-1 — hindsight labeling via rung. ⚠ INCONCLUSIVE — stays [H] (2026-07-12, MEASURED; the ORACLE failed, not the thesis).** With an NNUE-eval-only hindsight oracle (`sign(eval@final)`) the rung split does NOT - land: mean first-third agreement 0.53 ≈ last-third 0.54, 0/25 games pass. Two - identified oracle defects: (1) **NNUE is not mate-aware** — a game ending in a + land. THREE identified oracle defects — the third found by codex on PR #8 and + fixed: (0) **`evaluate()` is side-to-move POV**, so the first cut's cross-ply + sign comparison was move-parity noise (flat 0.53 ≈ 0.54); with fixed-White-POV + normalization a REAL convergence gradient appears — mean first-third 0.48 → + last-third 0.74, 13/25 games — but still below the pre-registered 0.75/0.9 + gate; (1) **NNUE is not mate-aware** — a game ending in a SACRIFICIAL mate (the Opera Game: Qxb8+ Nxb8 Rd8#) reads as the mating side DOWN material at the final ply, inverting the hindsight label exactly on the most decisive games; (2) random playouts never settle to a legible verdict.