agentleFS
odinfreeodinfree/storm-ecdsa-harness/skills/constraint-construction-search/SKILL.md

constraint-construction-search

Skill4 starsChanged 20 days agoMITView on GitHub

Encode and verify finite construction or optimization searches with CryptoMiniSat, Z3, OR-Tools CP-SAT or Gurobi, including witness extraction, model audits, and calibrated UNSAT or optimality claims.

The file

We split this skill into the rules it gives an agent

11 rules. About 0 are common, 11 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈11

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Read references/solver-routing.md when choosing between Boolean, SMT, CP-SAT, and MIP formulations.

    line 12
  2. Distinctive:

    Use CryptoMiniSat for Boolean structure with substantial XOR or parity constraints.

    line 14
  3. Distinctive:

    Use Z3 for bit-vectors, bounded integers, arrays, symbolic relations, or mixed logical structure.

    line 15
  4. Distinctive:

    Use OR-Tools CP-SAT for bounded-integer combinatorial models with global or scheduling-style constraints.

    line 16
  5. Distinctive:

    Use Gurobi for linear or mixed-integer formulations when a licensed installation is available and numerical tolerances are controlled.

    line 17
  6. Distinctive:

    Test the encoding on hand-built satisfiable and unsatisfiable fixtures, including boundary cases.

    line 23
  7. Distinctive:

    Treat feasibility, infeasibility, bounded objective, and proved optimum as different outcomes.

    line 26
  8. Distinctive:

    Stop if the independent verifier reconstructs the solver's encoding instead of checking the original object.

    line 31
  9. Distinctive:

    Stop if a real-valued tolerance, big-M constant, overflow, or implicit coercion can change feasibility.

    line 32
  10. Distinctive:

    Stop if symmetry breaking has no proof that every equivalence class retains a representative.

    line 33
  11. Distinctive:

    Stop before using licensed software, remote services, or paid compute without the required authority.

    line 34

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Constraint construction search

Translate a finite mathematical construction problem into constraints, solve it, and verify the result outside the solver. The encoding is a proof obligation, not clerical glue.

Choose the formulation

Read references/solver-routing.md when choosing between Boolean, SMT, CP-SAT, and MIP formulations.

  • Use CryptoMiniSat for Boolean structure with substantial XOR or parity constraints.
  • Use Z3 for bit-vectors, bounded integers, arrays, symbolic relations, or mixed logical structure.
  • Use OR-Tools CP-SAT for bounded-integer combinatorial models with global or scheduling-style constraints.
  • Use Gurobi for linear or mixed-integer formulations when a licensed installation is available and numerical tolerances are controlled.

Encoding contract

  1. Define variables, domains, symmetry breaking, constraints, objective, and the mathematical map between models and objects.
  2. Bound every integer and bit-vector operation. State overflow, wraparound, and signedness semantics.
  3. Test the encoding on hand-built satisfiable and unsatisfiable fixtures, including boundary cases.
  4. Emit a witness in a solver-neutral format and verify the original mathematical predicate with separate code.
  5. Freeze model text or generated-model hash, solver version, parameters, seed, time limit, termination status, and logs.
  6. Treat feasibility, infeasibility, bounded objective, and proved optimum as different outcomes.
  7. Apply the certification rules in references/certification.md before reporting UNSAT or optimality.

Stop conditions

  • Stop if the independent verifier reconstructs the solver's encoding instead of checking the original object.
  • Stop if a real-valued tolerance, big-M constant, overflow, or implicit coercion can change feasibility.
  • Stop if symmetry breaking has no proof that every equivalence class retains a representative.
  • Stop before using licensed software, remote services, or paid compute without the required authority.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.