Contrastive-LM CLM Surges as Fast System-One Verifier
Contrastive-LM’s open CLM repository surged past 1,500 GitHub stars within days of launch as developers chased a System One verifier that scores states against actions with contrastive embeddings
PromptCrates Editorial
Staff Writer

Contrastive-LM’s open CLM repository surged past 1,500 GitHub stars within days of launch as developers chased a System One verifier that scores states against actions with contrastive embeddings instead of running a full generative loop for every decision. The project serves CLM-8B behind a TypeSafe-compatible API, ships pip install contrastive-lm plus clm-serve, and publishes Apache 2.0 code with a model card release dated 19 September 2026 for clm-latest. Fine-tuned as a verifier, the stack claims 87.6 percent on Terminal-Bench 2.1 and 81.6 percent on DeepSWE while running 4.1 to 5.7 times faster than Jev on those suites.
What Contrastive Language Models actually are
CLMs are framed as System One models: fast, cached scorers that connect states and actions through a contrastive objective rather than producing long chain-of-thought answers for every choice. CLM-8B is pre-trained on 60 million Nemotron question-answer pairs, mid-trained on 30 million synthetic hard negatives, and post-trained on 1 million agentic trajectories. States and actions use disaggregated embeddings that can be cached independently, which is the practical reason training and serving stay cheap when candidate sets are large or reused across steps.
Under the hood, CLM trains a state encoder and an action encoder with a bidirectional InfoNCE objective, pulling each state toward the action actually taken and pushing it away from the rest of the batch. Each encoder is a frozen LLM backbone, Qwen3-8B in the reference release, plus a 20M-parameter trainable projection head, so inference costs one embedding per fresh text and a dot product per cached candidate. The mid-training hard negatives were generated by Gemini 2.5 Flash-Lite, and post-training draws on the Agent Data Protocol dataset plus terminal traces from Endless-Terminals and LiteCoder-Terminal-SFT, with 40 percent Nemotron replay mixed in to preserve earlier skills.
Zero-shot, the README positions CLM-8B on par with Jev across computer-use, gaming, and tool-calling tasks with up to 9× lower latency. The largest speedups appear when many candidate actions must be ranked or when actions repeat across states—exactly the pattern agent harnesses hit when they sample tools, patches, or next moves. As a verifier, lightweight fine-tuning pushes the model past pass@1 baselines that trip slower generative judges: held-out Terminal-Bench 2.1 at 87.6 percent and DeepSWE at 81.6 percent, with latency measured against Jev on H100-class hardware in the project’s charts.
Installation is intentionally boring. pip install contrastive-lm (or editable install from a clone) plus a pooling encoder serve and clm-serve yields an HTTP API and a local playground UI. Clients can ask typed questions—Noul, Choice, Score—or call rank over free-form candidates. That TypeSafe-compatible surface is why agent authors are starring the repo: drop-in scoring without rewriting every harness around a new chat template.
Why verifier latency is driving the star spike
Agent coding benchmarks have turned verification into a bottleneck. Sampling several candidate solutions from a strong generator is useless if the judge is slower than the sampler or fails to serve on long-horizon tasks. Contrastive-LM’s pitch is that a contrastive head can pick the best of N faster than a generative verifier while still hitting SOTA success rates after light fine-tuning. For teams already tracking terminal and SWE agents, that combination explains the launch surge more than novelty branding.
The verifier setup is specific. For each task the team samples several candidate solutions, using Opus 5 for DeepSWE and Fable 5 for Terminal-Bench 2.1, and then CLM or Jev picks the best one. Results cover 38 held-out DeepSWE tasks and 30 held-out Terminal-Bench 2.1 tasks, and the README states that Jev scores below pass@1 as a verifier on these long-horizon tasks.
The author list—Jacky Kwok, Hangoo Kang, Tarun Suresh, Jon Saad-Falcon, Marco Pavone, Christopher Ré, Azalia Mirhoseini—signals an academic-industry bridge familiar to systems and ML systems readers. The Notion site and Hugging Face org publish heads, embeddings, and reproduction scripts for DeepSWE and Terminal-Bench held-outs, which lowers the trust tax that dooms many one-day GitHub rockets. Apache 2.0 licensing further reduces adoption friction for startups that will not touch non-commercial research dumps.
PromptCrates readers comparing open agent tooling can place CLM beside Tech Leads Club agent skills, T1 terminal agent RL for long horizons, and harness-centric repos such as ECC agent harness. CLM is news because of the star velocity and verifier claims, not because it is a how-to for installing yet another CLI.
What to watch as the project cools or compounds
Star counts move fast and fade faster. Durable signals will be whether outsider agents keep the TypeSafe API wired in production, whether fine-tuned heads remain competitive as Terminal-Bench and DeepSWE evolve, and whether disaggregated caching still wins when state contexts grow past the default 2048-token encoder window. The README already notes that longer states need coordinated raises of encoder and serve limits, with more GPU memory as the price.
Serving economics also deserve scrutiny. clm-serve reserves a fixed vector cache on the device at startup, and the README’s RTX 4090 measurements show loops that revisit states answering about 2.8 times faster, while loops that never repeat still pay the encoder cost. The published roadmap lists larger backbones, vision and multimodal support for robotics and computer-use tasks, and a scaled-up data recipe.
For now, the documented launch packet is clear. A System One contrastive model serving CLM-8B; 60M / 30M / 1M pretrain, mid-train, and post-train scales; parity with Jev at up to 9× lower latency on computer-use, gaming, and tool-calling; fine-tuned verifier SOTA at 87.6 percent Terminal-Bench 2.1 and 81.6 percent DeepSWE with 4.1–5.7× speedups versus Jev; independent state/action embedding caches; pip install contrastive-lm and clm-serve; Apache 2.0; clm-latest model card dated 19 September 2026; repository created around 23 September 2026 and already past 1,500 stars within days.
Primary sources: Contrastive-LM/CLM on GitHub and the Contrastive-LM Notion site.


