5bf61c1815
The port is correct across 6000 samples. The only failure was arithmetic in the assertion: 4 ops + 3 structural = 7, and I wrote 6. But two numbers that PASSED are the real finding. 65 of 6000 samples landed in open cave (1.1%), so the equivalence mostly compared solid rock to solid rock — the carve, pits, chimneys and worm carve only run near the network. And 3 of 400 probe points genuinely differed between the two param sets, so the stale-cache check asked its question three times and said "fine" 397 times about points that could never have answered it. Both counters were written to say exactly this, and did. Both guards only fired at ZERO, so the run went green with the coverage of a much smaller test. A coverage guard that only trips at zero does not measure coverage, it notices absence. Both are now fraction thresholds that print a percent. RoomSpacing 80 -> 42, RoomDensity 0.35 -> 0.85. New check 3b: rebuild the stack with PitDensity = ChimneyDensity = 0 and count the points that move. Enabling a feature in the params is not evidence it fired — SDFCache.Pits can come back empty and the test stays green — and these are the two loops DECOMPOSITION §2 calls the fiddliest in the plugin. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>