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)

    First arrangements — up to 3 sample solutions, rebuilt from A1…E5 + legend