clone

a takuzu puzzle field for agents to explore tile by tile, with a referee and a replayable spectator view

plan: item 2 proven (G=200 scatter in one attempt, 67 s); goal complete

dami committed 098f59d
commit
098f59d4a77397a2168a3528c242448203e6cece
parent
ee049c577a27eab4889baba0128bbc14fae2bfc3
author
dami <gazey55@gmail.com>
1 file changed, +23 -25
MPLAN.md48++++++++++++++----------------
M PLAN.md +23 -25
@@ -471,31 +471,29 @@ cut is to make those wave-level retries too, and `--jobs` closer to the
471471 core count now that a chunk process is mostly single-threaded again472472 (the incremental loop serialises per tile; waves still run in parallel).473473 474-### Item 2 outcome (2026-08-26, night): converges, not one attempt475-476-`gen --seed a --G 200 --kind scatter`, idle: 444 tiles, **842 s**, of which477-the successful attempt was 92 s (fill 3.5 s, givens 24.5 s, settle and478-coupled count 64 s, 7 interior redraws, 67 regivens) and **750 s were479-nine wasted attempts**: five "too many backjumps" in the fill phase,480-two "shared cells stay ambiguous with every one given" in repair, one481-policy failure ("pinned tile falls to propagation alone"), one 6x6 whose482-only overlap is too small for any flip. Two real fixes landed on the483-way: the coupled-uniqueness count is SAT (`sat.Coupled`; the484-backtracking version spun 24 min at 450 tiles), and a mutually485-unwitnessed pair is broken by redrawing the stuck tile's interior, with486-repair rounds capped at 60 (the previous loop ran 40 min). So the repair487-converges, which was the point, but the proof as written (one attempt)488-is not met: the monolithic fill phase thrashes at 444 tiles.489-490-Judgment, flagged rather than silently narrowed: monolithic boards above491-~150 tiles are not a product path any more — the field (chunks of ~20-30492-tiles, 86 attempts over 81 chunks at 9x9) is — so the next cut for the493-fill phase (conflict-directed backjumping, or filling in overlap-graph494-order per connected component) is worth doing for robustness, not for495-the daily. If a single-pass G=200 is wanted, that is the work.496-497-Goal tally: items 1, 3-10 done and proven; item 2 half (converging498-repair, no one-attempt proof).474+### Item 2 outcome (2026-08-26, night): one attempt at G=200475+476+The road there, each step measured on `gen --seed a --G 200 --kind477+scatter`, idle:478+479+| state | wall | attempts | what failed |480+|-------|-----:|---------:|-------------|481+| repair as first written | 40 min timeout | - | 24 min spinning in the backtracking coupled count, then a repair loop cycling on one pair |482+| coupled count as SAT; redraw a mutually unwitnessed tile; rounds capped | 842 s | 10 (9 wasted) | 5x fill thrash (backjumps), 2x "shared cells stay ambiguous", 1x policy, 1x no pinning flip |483+| local escalations: fill redrawn with a new salt inside the attempt, two-hop joint completion, technique policy keyed on free cells, repair redraws the interior, layout-class failures re-pack | 418 s | 6 (5 wasted) | 4x "shared cells stay ambiguous" (in wave and in repair), 1x repair round cap |484+| neighbours' planted cells as last-resort seam clues | **67 s** | **1 (0 wasted)** | - |485+486+Final: 444 tiles, fill 5.0 s, givens 23.2 s (53 waves), settle and487+coupled count 36.6 s, 37 regivens, 1 interior redraw, 0 backjumps.488+`gen.Version` stays gen-v5: the 2x2 fixture still reproduces byte for489+byte (the grid path has no shared-cell ambiguity to escalate on), and490+the X=15 fixture re-verifies.491+492+Goal tally: **all ten items done and proven.** Remaining known gaps are493+recorded as ideas, not as goal items: the field's per-chunk tail (a few494+chunks at 30-47 s), `observe`'s O(tiles) frontier scan, seed-tile495+reservations that never expire, and the harness field's dependence on496+what real MCP clients send.499497 500498 ### Status of the v2 items under this goal501499