Integration case

Help desk: what happens when the model's answer goes wrong

A support application asks an LLM to turn ten customer messages into tickets. Only one thing changes: how the answer is read. It runs in your browser with js/mini.js, the same engine as the playground, on recorded answers or —with your own key— calling DeepSeek or Groq for real.

How the answer is read
Model
What the model answered

The model's answer .mini


    

Registered tickets 0

The only thing that changes: the instruction the model receives

The ten incoming messages

With .mini — the contract's prompt block


      

With JSON — the ticket's JSON Schema


      

The tk contract was not written by hand: it comes from that same JSON Schema via mini from-schema. The application's domain and database do not change.

With a real model

In Recorded mode the simulation above replays stored answers, so the result is always the same; picking DeepSeek or Groq with your key makes those same calls for real. These figures come from the equivalent desktop application, with the same ten messages and temperature 0.

How to integrate it

Three steps, without touching the application's domain: the contract comes from the schema you already had, the prompt comes from the contract, and reading validates and repairs.

  1. 1

    Generate the contract from your JSON Schema.

    mini from-schema ticket.schema.json -p tk --out contrato_tk.json
  2. 2

    Ask for the answer using the contract's prompt block.

    spec_block(contrato, "es")
  3. 3

    Read in lenient mode and repair only what failed.

    parse(texto, contrato, strict=False) · repair_request · merge_repair

Full walkthrough in the quickstart · error index at /docs/errors/ · try your own documents in the playground.