Skip to content
Clairos Learn

AI systems foundations · Lesson 5 of 15 · 9 min

Read an inference contract

An inference contract specifies required fields, supported model identifiers and response shape. Validate the request before blaming a model for a rejected envelope.

Mastery 0/3Run itExplain itApply it
learner@clairosSimulated AI Ops lab
learner@clairos:~ $
↑ history · Tab complete · Ctrl+C cancel · Esc, Tab to leaveExit 0

Understand the pattern

An inference contract specifies required fields, supported model identifiers and response shape. Validate the request before blaming a model for a rejected envelope.

Interpret the evidence

Add the missing model field before sending the request again.

A tempting mistake

Repeat the unchanged request until the gateway accepts it.

All names, measurements, prices, versions, and thresholds in this exercise are fictional training data. The evidence supports this bounded scenario, not a claim about a live provider.

Worked example and expected result
$ cat /opt/ai-lab/cases/aiops-systems-foundations-005.json
{
  "fixture": "Fictional training data; not a live measurement.",
  "required": [
    "model",
    "messages"
  ],
  "request_fields": [
    "messages"
  ],
  "missing_field": "model"
}

Exit status: 0. The command completed successfully in the training fixture.

$ jq .missing_field /opt/ai-lab/cases/aiops-systems-foundations-005.json
"model"

Exit status: 0. The command completed successfully in the training fixture.

$ printf '%s\n' 'add-model-field' > /home/learner/lab/aiops-systems-foundations-005-decision.txt
(no output; exit 0)

Exit status: 0. The command completed successfully in the training fixture.

Try a variation

Name the assumption that would have to change for “add-model-field” to stop being the justified action. Do not silently replace missing evidence with a guess.

Explain it

What does the evidence in “Read an inference contract” justify?

Apply it elsewhere

A colleague concludes: “Repeat the unchanged request until the gateway accepts it.” What should you do?

Keep the momentum.

Complete the lab, then explain and apply the pattern.

Next: Distinguish training and inferenceTry an incident drill

Anonymous lesson and mastery progress lasts for this session. Sign in to keep synced lesson XP between sessions; mastery stays device-local. No speed bonus, lost lives, or hint penalties.

Keep learning

  1. 01Name the serving boundaryA serving boundary defines which process accepts inference requests and which dependencies it calls. A loopback listener is not evidence that a service is publicly reachable.Practice
  2. 02Distinguish training and inferenceTraining updates learned parameters; inference uses a selected artifact to generate output. Generation settings can change inference behavior without changing the weights.Practice
  3. 03Identify deterministic componentsApplication arithmetic, validation and routing can be deterministic even when text generation is variable. Keep hard constraints in code instead of trusting generated prose to enforce them.Practice