Repository navigation
D-PUZZLE-0 step 2: crosswords on the same population algebra as Sudoku - #1384
Conversation
The propagation reading, the five questions, the three folds, the group fold and the timing move out of the Sudoku probe so a second domain can use them unchanged. A fence test fails if domain vocabulary appears in the shared half. The Sudoku probe's counts are identical before and after (711,990 / 263,700 / 227,189 / 221,101 / 288,076 on 1,000,066 edges). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Ten-slot 5x5 crosswords with generated fills, distractor words, two given slots and a forced-single law; every kept instance has exactly one solution (backtracking). The probe holds only the domain; questions, folds and the oracle come unchanged from shared/population_fold.rs. 1,000,052 edges, every count equal three ways and to the instances' own counters. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (10)
✨ Finishing Touches📝 Generate docstrings
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. Comment |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 66ddcd5b-f513-42ed-9c4f-39361ec033a1) |
…ReKo) words The step-2 crossword drew its words from a synthetic three-letter alphabet. This probe fills the same 5x5 template from a real dictionary, the top 1000 words per slot length: English COCA forms from the committed word_forms.csv (the file DeepNSM-v2's lexical layer reads), and German DeReKo-2014 only when DEREKO_PATH names the file at run time. DeReKo is CC BY-NC 3.0; nothing derived from it is committed. Instances are random fills, with givens added in random order until the dictionary admits exactly one fill. Law, claims, questions, fold and oracle are unchanged from step 2 and shared/population_fold.rs. Release run: EN 1,002,858 edges / 1338 instances in 4.2 s; DE 1,000,847 / 1483 in 4.7 s. Every count agrees three ways in both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Also renames the uniqueness test to what it checks: with every given removed, the dictionary admits more than one fill. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 807876d8-e7d7-4cdb-9281-03cc238046ab) |
English is now exactly what DeepNSM reads: v1's 4096-word table (word_rank_lookup.csv, ranks 1..=4096) united with v2's academic_20k.csv; word_forms.csv is no longer a source. German is the 20,000 most frequent DeReKo forms (NE and non-alphabetic excluded). The dictionary is every word of a slot's length in that vocabulary; the top-1000 cut is gone. Dictionaries: EN 1250 four-letter / 1697 five-letter, DE 802 / 1466. Release run: EN 1,005,146 edges / 1209 instances, DE 1,000,074 / 1390; counts equal three ways in both. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: 5f403cb7-4459-4494-ac24-8ec1927c386b) |
entries_index.py --check refuses three rows with id D-PUZZLE-0 (the merged Sudoku entry plus both crossword entries). The crossword steps become D-PUZZLE-0-XWORD and D-PUZZLE-0-XWORD-REAL, in the headings and the index. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: ef007150-4652-4b0d-8ab3-034ab278c06c) |
Grids: alongside the fixed step-2 template, a fresh random grid per instance under the NYT rules (180-degree symmetry, every word at least 3 letters, one connected white region, at most a sixth black). The rules are written from their statement, not from akshayravikumar/crosswords (no licence). Each rule has its own refusing fixture. Lexicon: answers of the Down-and-Across clue/answer set (text-machine-lab/xword_benchmark), read only from XWORD_ANSWERS_DIR at run time; the repo has no licence and the answers come from NYT puzzles, so nothing is committed. Word splits are rejoined, repeats counted. The asserted-claims-per-group check now follows each grid's own slot count. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: b44551db-e07a-42f3-b353-04e37a990d22) |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Bugbot couldn't run - usage limit reachedBugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit. A user or team admin can review and increase usage limits in the Cursor dashboard. (requestId: f63e9f65-9565-46ab-8ce6-7d952c21d878) |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6
Step 2 of D-PUZZLE-0: does a second domain run on the population algebra from step 1 (#1382) without changing it?
How "same algebra" is checked
4ed5e4e: the domain-free half moves out of the Sudoku probe intocognitive-shader-driver/examples/shared/population_fold.rs. That half is the propagation reading (given / forced / entailed-not-forced / candidate), the five questions asfacts_populationmasks, the filter / histogram / decode folds, the group fold and the declaration gate. A fence test fails if domain vocabulary (sudoku,crossword,chess,digit,slot,cell,letter,grid,board,move) appears in it. The Sudoku probe's counts are identical before and after the move (1,000,066 edges).0ac5d6b:crossword_population_fold_probe.rsholds only the domain. It uses a 5×5 grid with ten crossing slots, generated fills over a 3-letter alphabet, 10 distractor words per length, and two given slots. The law is the forced single, and every instance has exactly one solution (backtracking). Questions, folds and oracle are unchanged from the shared module.cc887e3,d182301(step 2b):crossword_real_words_probe.rsfills the same template with real words: every 4- and 5-letter word of the vocabulary.word_rank_lookup.csv, ranks 1..=4096) united with v2'sacademic_20k.csv, both committed.cc887e3used the top 1000word_forms.csvsurfaces;d182301replaces that, because DeepNSM does not use that list as a vocabulary.DEREKO_PATHnames the file at run time. DeReKo is CC BY-NC 3.0, so no German word or derived artifact is committed, and the German run is skipped without the variable.Measured, synthetic alphabet (1,000,052 edges, 22,455 instances)
Every count is equal three ways (filter, histogram, per-edge decode) and to the instances' own counters. Every instance holds exactly 10 asserted claims.
Release build,
avx2, the same 4-core shared Xeon, median of 7, three runs; one machine's numbers. The filter and the oracle cost the same in both domains. The histogram is slower on the crossword lane, where 77 % of edges share one code; repeated increments of one bin are the likely cause, not measured.What differs is the law, not the algebra. Forcing is rare in crosswords (13,745 of 177,640 non-given slots) against Sudoku's naked singles, so most true words stay
IndirectUnknown × Causes.Measured, real words (one run each)
Counts are equal three ways in both languages.
Falsifiers (disable-verified red)
NErows kept in the DeReKo parser → the parser test red.All three probes are registered as
[[example]] test = true, and clippy-D warningsis clean.Open
stockfish-rs(GPL; shakmaty supplies legality). How it reaches the shared half is undecided: copying it there makes a second copy, and promoting it intolance-graph-contractis a contract change.Entries:
.claude/board/entries/2026-10-07-puzzle-0-crossword-same-algebra.md,2026-10-07-puzzle-0-crossword-real-words.md.🤖 Generated with Claude Code
https://claude.ai/code/session_0177nSSyQaXqbNuGR1vMXXN6