Conversation
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 3 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
This is the final PR Bugbot will review for you during this billing cycle
Your free Bugbot reviews will reset on March 24
Details
You are on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle.
To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.
| self.model.Add(len_n == clue_value).OnlyEnforceIf(is_ne_turn) | ||
| self.model.Add(len_e == clue_value).OnlyEnforceIf(is_ne_turn) | ||
| else: | ||
| self.model.Add(len_n == len_w).OnlyEnforceIf(is_ne_turn) |
There was a problem hiding this comment.
NE turn constraint uses wrong arm variable
High Severity
For ? clues at an NE turn (north + east), the equal-arm constraint incorrectly compares len_n with len_w (west arm) instead of len_e (east arm). The other three turn cases (NW, SE, SW) all correctly compare the two arms involved in the turn. This will produce incorrect solutions for any puzzle containing ? clues where the loop makes an NE turn.
| status = self.solver.Solve(self.model) | ||
|
|
||
| if iteration > 50 and not add_new: | ||
| print("DUMPING NEW CONSTRAINT!") |
There was a problem hiding this comment.
| else: | ||
| print("-", end=" ") | ||
| print() | ||
|
|
There was a problem hiding this comment.
Unused debug and incomplete methods committed
Low Severity
Three methods appear to be development leftovers: _temp_display is a debug helper never called anywhere, _find_all_cycles_in_component is incomplete (implicitly returns None for components with 4+ cells), and _get_cycle_edges is never called. These add dead code to the optimized heyawake solver.


Note
Medium Risk
Adds several new CP-SAT models and modifies
HeyawakeSolver’s iterative constraint logic, which could introduce correctness/performance regressions in solving and verification across multiple puzzle types.Overview
Updates PuzzleKit to v0.3.2 and expands the library to 100+ solvers, adding new implementations for
cojun,geradeweg,nanro,nurikabe,pipes,shimaguni,shirokuro,shugaku,tatamibari, andusoone, and wiring them into the solver/parser/verifier/viz registries.Improves tooling and docs:
README.mdis refreshed (new dataset counts, roadmap, related projects, updated examples),mkdocs.ymlnavigation includes the new puzzles,scripts/benchmark.pyadds--skip, andscripts/quick_start.pyis updated.Performance/behavior tweaks include a reworked
HeyawakeSolver(new heuristics/cuts and optional connectivity enforcement) and a small robustness change in line rendering (viz/drawers.py) to accept any connector string composed ofn/s/w/echaracters.Written by Cursor Bugbot for commit 0016acd. This will update automatically on new commits. Configure here.