Norinori

The grid is cut into regions. Shade cells so that every region holds exactly two shaded cells, and every shaded cell has exactly one shaded neighbour — the shaded cells fall apart into dominoes, which are free to straddle a border. Click to cycle shaded → white → blank; right-click marks a cell white directly.

Look at the board again: there is nothing written on it. Every other puzzle in this series hands you numbers — a room holds three shaded cells, a row starts with a 4 — and the generator's job is to carve those numbers away until the board is about to stop being unique. Norinori has none. The partition is the puzzle, which changes both halves of the problem: there is nothing to carve, and the natural variable is not the cell.

Take the region as the variable instead. A region of k cells has exactly one decision to make — which two of its cells are shaded — so its domain is the C(k,2) pairs, and the domain is small: the mean region here is 4 cells, which is 6 pairs. Under that lifting the rule about dominoes wandering across the board becomes an ordinary binary constraint between neighbouring regions, and enforcing it is textbook AC-3. Three rule sets ship — local (count the region, look at the four neighbours, repeat), pairs (the same, plus arc consistency on the region variables) and probe (singleton consistency on top). Measured over unique boards generated with no solvability filter, so the last column is not circular:

sizelocalpairsprobemean region
5×50%55%100%4.2
6×63%53%100%4.0
7×70%33%100%4.1
8×80%62%100%4.1

A 900-position property test says the same thing from the other side: the cell-local rules never decided a cell the lifting missed (0 of 900, and it is subsumed by construction), while the lifting decided more in 509 of them, +11.4 cells on average.

Generation is the strange part. With no clues to remove, the only thing to vary is the partition — and a partition drawn at random is essentially never a puzzle. It is usually not even solvable:

sizeno shading at allexactly onetwo or more
5×562%5%33%
6×677%2%22%
7×793%0%7%

So the generator works backwards: draw the shading first — an induced matching, a set of dominoes no two of which touch, which is already a legal shaded set — then grow one region around each pair of shaded cells. One number decides whether that produces a puzzle or mush. Every region holds exactly two shaded cells, so the mean region size is pinned at 2 / shaded fraction: a matching covering 36% of the board forces regions of 5.4 cells and partitions with hundreds of solutions, while one covering 50% forces regions of 4. Plain greedy matching stalls at 36%; a remove-one-and-refill pass takes it to 48–50%, which is the packing limit for a grid. What is left over is closed by walking counterexamples: find a rival shading, move one cell it shades into a neighbouring region, repeat.

Two rules, both load-bearing. Take the shipped 5×5 boards and switch one rule off in the validator. Without the region counts, every board gives the same 7,358 shadings — with only the domino rule left the partition is not read at all, so the answer is a property of the 5×5 grid rather than of the puzzle. Without the domino rule, every region picks its pair independently and the median board gives 54,000. Zero of the 80 stay unique.

And a free theorem. Every region holds exactly two shaded cells; every shaded cell sits in exactly one domino. So if you project a solution onto the regions — each domino becomes an edge between the regions of its two cells, an edge that becomes a self-loop when both cells are in the same region — every region has degree exactly 2. The projection is a 2-regular multigraph, which is to say a disjoint union of cycles covering every region. Over 919 regions of shipped boards: 87% of the cycles are a single region with its own domino inside it, 11% are pairs of regions swapping halves, the longest seen is 4, and 25% of all dominoes cross a border.

Soundness is pinned by two brute-force counters that share no code with the propagators — one walking the cells, one walking the regions — plus an independent validator; four counters must agree on solution counts, and a disagreement is how an unsound propagator gets caught. 124 tests.