Skip to content

docs(EAW-6): chess-first temporal NNUE × Thought-Git research scratchpad - #1826

Merged
AdaWorldAPI merged 2 commits into
mainfrom
research/eaw-6-chess-nnue-temporal-crosswalk-20261027
Oct 28, 2026
Merged

AdaWorldAPI merged 2 commits into
mainfrom
research/eaw-6-chess-nnue-temporal-crosswalk-20261027

Conversation

@AdaWorldAPI

Copy link
Copy Markdown
Owner

Scope

Preserve the full operator thought chain before further staging: #1819–#1825 DR64³/Epi5/Quack/TERNLOG world separation, strict temporal chess lookahead, Stockfish NNUE incremental parity, independent deep-teacher hindsight, legal tiny-heuristic follow-on and all owner fences. Adds one docs-only research file, no ABI/runtime/test/training/merge authorization.

Checked sources

Existing #1819 and EAW-0..5 #1820–#1825, stockfish-rs temporal_replay.rs, hindsight_stream.rs, DecisionEpisodeV1, expert_iteration_stream.rs, D-CHESS-NARS-0 plan, canonical planner temporal.rs and contract temporal_pov.rs, plus EXO-50's 2026-10-27 15:01Z message. Do not duplicate existing stages or claim test evidence from plans.

Follow-ons

Proposes independent EAW-7/8/9/10 docs gates (chess temporal frontier, NNUE deltas, hindsight-blind rediscovery, legal minimal AST). No code execution or tests run. #1812 quarantined, cross-account CC delivery not asserted.

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 39f96fce-7ae3-4d2a-8c90-1446644b0d7b
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Warning

Billing warning: we have not been able to collect payment for this subscription for more than 72 hours. Please update the payment method or pay any pending invoices in Billing to avoid service interruption.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copy link
Copy Markdown
Owner Author

Review of EAW-6 at 5c223c6: preserve the idea, tighten the falsifier boundaries

I read the actual one-file docs diff against the current stockfish-rs temporal, hindsight, expert-iteration, decision-episode and incremental-NNUE sources, plus lance-graph-planner::temporal and contract::temporal_pov. The architectural direction is coherent with #1820–#1825: chess supplies an exact small-domain legality oracle, Thought-Git preserves independent counterfactuals, NNUE supplies a sparse incremental numeric carrier, and retrospective teachers must not become strict-time facts. One new scratchpad and independent main base are appropriate; no new interpreter/DR³ physical ABI is needed.

Review findings to resolve in the EAW-7/8/9 plans (not implementation approval):

  1. P1 | Separate historical knowledge time from simulated branch depth. TemporalPov::at(v,0) and QueryReference::at(v,0) admit source-version rows at or before v; they do not by themselves model a legal speculative child position at simulated depth d>0. If a simulated child is stamped as historical version v+1, Strict falsely refuses the legitimate computation; if a later actual PGN position is passed as a thought-local child, merely renaming the lane risks hindsight leakage. Preregister two separate axes: immutable observed source horizon v and branch-local simulated move lineage (T slot + generation + parent position/move + depth). A child may use exact legal move generation from T0 and its own ancestors, but no historic source row >v, future result, teacher label, or learned checkpoint that saw this episode's future. planner::temporal::classify handles time classification; the DependsClosure data axis is presently NoDeps by default, so source-input dependency closure is not automatically proven. Negative controls: a legal simulated v+1 child must be allowed as hypothetical, while a recorded historical v+1 row must be refused under Strict. Compare the same board as two different historical episodes.

  2. P2 | Regrade the cited 34/34 and 11/11 temporal evidence precisely. stockfish-rs/examples/temporal_replay.rs::digest computes FNV-1a-64 over accumulator bytes and Gates A/B compare the digest, not the byte arrays. That is strong replay evidence but not direct byte-by-byte equality, and Gate B has 11 queries including a repeated ply 33. The example exits success with “skipping” if the NNUE net is absent. Keep the separately established HalfKA L4 chained byte-exact evidence distinct from this temporal probe. For any new exact EAW-7/8 claim, require an actually loaded pinned net, compare full accumulator/PSQT content or bytes independently (rather than only hashes), report distinct/versioned cases, and make missing resources SKIPPED/UNCHECKED, never test-pass evidence.

  3. P2 | NNUE parity scope is HalfKA, not complete position evaluation. stockfish-rs/src/eval/incremental.rs::HalfKaAccumulator updates feature columns with i16 wrapping arithmetic and refreshes the moving king's perspective; its PSQT lane is i32, and FullThreats is NOT incrementally maintained. The chess evaluate() path refreshes that part. EAW-8 should explicitly keep feature-index oracle, accumulator parity, PSQT arithmetic, full-network output/eval parity and optional search-ranking utility as separate grades. Test capture, promotion, en passant, castle, king-bucket changes, source-net/feature-generation drift, and illegal-move refusal. Do not call a partial accumulator parity result proof of a full learned score or a generic CausalEdge64/DR64³ feature equivalence.

  4. P2 | Hindsight withdrawal is broader than hiding RetroLabel. DecisionEpisodeV1 physically separates StrictObservation and RetroLabel; that is an important existing guarantee. But for a historical rediscovery test, also pin the policy/network checkpoint, opening-book/TT/cache history and any trained ARM/NARS/NNUE ranker so the strict-time selector has not indirectly trained on this game's future. Game-disjoint splits are necessary but may contain identical PositionKey transpositions; quantify/exclude position overlap in at least one held-out arm. Freeze strict candidate ordering before deep teacher computation; report teacher-only privileged headroom separately. Use PGN Result as retrospective outcome evidence, not NNUE(final_position) (the existing rung_hindsight inconclusive oracle).

  5. P2 | Preserve provenance and admission in the shared 'awareness' bridge. The CE64 59..63 Epi5 class/rail/generation declaration is a categorical epistemic filter, not an NNUE weight, a causal certificate or a new chess feature index. CE64 W=53..58 is a reusable live slot, not the persistent episode or source witness. DR64³ relationship-presence, K3 applicability, Epi5 selection and NNUE sparse features are distinct coordinate domains; source-witnessed alignment is a separately falsifiable step, subject to EXO-46/140. Keep multiple valid mappings on one polyfill and lawful in-world rule convergence; forbid silent sibling-world union (EAW-WORLD-0) and cross-root causal upgrades.

Suggested smallest EAW-7 gate: one pinned real FEN at historical ply v, two legal distinct simulated first moves from T0 (one transposing later), one deliberately injected historically recorded v+1 row, and one alternate episode with the same PositionKey. The independent shakmaty legality/reference checks should admit hypothetical children, reject historic hindsight, preserve distinct episode/world identities, and remain byte-/set-equivalent on replay. Disable the horizon check and then the branch-generation check separately; both should turn the independent oracle RED.

No tests were run for this review, and I am not requesting code, an owner-branch retarget, or a merge. Verdict: sound research scratchpad with the five above evidence/semantics corrections to carry into #1827+ stage plans. #1812 remains fully quarantined.

@AdaWorldAPI
AdaWorldAPI marked this pull request as ready for review October 27, 2026 16:02
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-27T16:03:09.668962Z 37bc5dc Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@AdaWorldAPI
AdaWorldAPI merged commit 49ebdb9 into main Oct 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant