core/generate/constraint_comprehension
Shay babcf2fdb2 feat(constraint): exact integer 2-var solver — Cramer's rule, refusal-first (R2 C3)
generate/constraint_comprehension/solver.py: solve_two_var_linear (order-independent 2x2 integer Cramer's rule over typed constraints), the solve_two_var_count_weight specialization, and solve/answer_constraint_problem driving it from a ConstraintProblem. Four typed refusals: indistinguishable_weights (det==0), non_integer_solution (numer%det!=0, never rounds), negative_solution, verification_failed (identity backstop).

Ties to the C2 gold: solves all 7 solved fixtures to their gold value and refuses all 3 solver_refuses fixtures with EXACTLY the gold-claimed reason (the gold's reason is now solver-verified, not just annotation). Per-refusal meaningful-fail + positive re-substitution. Off-serving. 9 tests.
2026-06-07 07:23:23 -07:00
..
__init__.py feat(constraint): exact integer 2-var solver — Cramer's rule, refusal-first (R2 C3) 2026-06-07 07:23:23 -07:00
expr.py feat(constraint): R2 linear-constraint IR — typed problem model (R2 C1) 2026-06-07 07:10:20 -07:00
model.py feat(constraint): R2 linear-constraint IR — typed problem model (R2 C1) 2026-06-07 07:10:20 -07:00
solver.py feat(constraint): exact integer 2-var solver — Cramer's rule, refusal-first (R2 C3) 2026-06-07 07:23:23 -07:00