Constraint Lab v3 — adjustable
Like v2, but every clue is editable: change a clue's columns/house and
its predicate regenerates automatically. The browser posts the (possibly adjusted)
predicates; the BE parses each into a safe shape (columns A1…E5, constants
1–5) — so non-standard clues work, but raw SQL still can't get through.
Clues — tweak the dropdowns to adjust a clue
Combinations remaining
…
Request & response
Column legend — each column A1…E5 is one property; its value is
the house sequence (1–5) that property occupies.
A Nationality
A1 Englishman · A2 Spaniard · A3 Ukrainian · A4 Norwegian · A5 Japanese
B Color
B1 Red · B2 Green · B3 Ivory · B4 Yellow · B5 Blue
C Drink
C1 Coffee · C2 Tea · C3 Milk · C4 Orange juice · C5 Water
D Smoke
D1 Old Gold · D2 Kools · D3 Chesterfields · D4 Lucky Strike · D5 Parliaments
E Pet
E1 Dog · E2 Snails · E3 Fox · E4 Horse · E5 Zebra
The browser posts the predicate strings to the FE proxy; the FE forwards them to the secured BE, which parses + re-composes the SQL server-side.
Request — predicates sent to the BE
Response — JSON (BE → FE proxy → browser)