Tapa

Shade cells to build one connected wall that never fills a 2×2 block. A clue lists the lengths of the runs of shaded cells in the ring of eight around it, read cyclically, in any order — and a clue cell is never shaded itself. Click to cycle shaded → dot → blank; right-click plants a dot directly.

A 3 and a 1 1 1 put the same number of shaded cells in the ring. They are different clues, because the clue is not a function of how many neighbours are shaded — it is a function of where they are. Over a full eight-cell ring there are 23 distinct clues but only 9 possible totals: the clue partitions all 256 ring patterns 23 ways, the total only 9. Knowing the total throws information away, and you can price the loss exactly — summed over all 23 clues the satisfying tables hold 256 patterns where the count relaxation would allow 984, so the table is 26% the size. For 1 1 1 1 it is 2 patterns out of 70: 3%.

That matters because of what happened in the previous puzzle in this series. In Thermometers, per-line enumeration — the same idea as the table here — provably collapsed into plain interval arithmetic, because the variable was a water level moving in unit steps and its domain never grew holes. Tapa is the mirror image. The ring constraint's satisfying set is an arbitrary subset of {0,1}8, full of holes, so enumeration is the only rule that sees anything. Both are shipped here, and the same 900-position property test settles it: the count relaxation never saw a cell the table missed (0 of 900 — it is provably subsumed), and the table saw more in 585 of them, +5.7 cells per position on average.

Three rule sets are implemented and cross-checked, each with the 2×2 rule and connectivity (unreachable pockets get dotted; a cell whose removal would cut the wall in two gets shaded). Measured over unique boards generated without any solvability filter:

sizecount relaxationring tablesprobing
4×414%65%100%
6×62%31%100%
8×80%12%100%

Probing — assume a cell shaded, propagate, erase it if the board dies — finished every one of the 860 unique boards sampled, so every board here is solvable without guessing and the Hint button names the rule that fired: one clue's table, the 2×2 rule, connectivity, the chained fixpoint, or a probe. Soundness is pinned by an independent brute-force solver that shares no code with the propagators: four counters must agree on solution counts, and a disagreement is how an unsound rule gets caught. 77 tests.