LynxContract

llmagentscontractsmcptypescriptkotlin

LynxContract gives developers control over LLM-generated code by anchoring every change to a contract, a requirement, and a verification check. Git records what changed; LynxContract records why the code exists at all.

Every code unit carries a //@contract block — signature, pre/post conditions, behavior — enough for an agent to generate the implementation without inventing anything. Tests are derived from contracts, not from implementations, so silent bugs have nowhere to hide. When a contract can’t cover a requirement, the honesty protocol stops the agent, records the gap, and marks the location instead of improvising.

Behind it sits the Lynx Graph: an MCP-based index that answers “why does this line exist?” through method → contract → rule → requirement paths — 18 query tools for provenance, impact analysis, and drift detection. Divergences between contract and code are classified as predicted, catalogued, or defects.

Language-agnostic spec (v1.6) with a JVM edition (Kotlin/Java), a TypeScript/Node.js graph indexer, and a VS Code extension with LSP diagnostics. MIT licensed.

Source: github.com/dimaq12/lynxcontract