Versions

Reproducibility

The system fingerprint tells you when anything behind a verdict moved, and the model identifier reproduces a verdict.

Applies to a8-1. Last reviewed 2026-10-22.

This page as Markdown: https://u22a8.ai/docs/a8-reproducibility.md. The index of every docs page: https://u22a8.ai/llms.txt.

The system fingerprint is the system_fingerprint value on every response. It covers everything that determines a verdict: your teaching and our software. It answers one question: has anything behind this verdict moved?

The fingerprint detects change, and the model identifier reproduces. Read the fingerprint to learn that something moved, and send the model back to get the earlier verdict.

§1What it is

The fingerprint names your model and the software that served it. It changes when a fit of your teaching completes, when we publish a new reference model for yours to build on and when we ship a correction to how A8 judges. Between those events, it stays the same from request to request.

Read it as an opaque token and compare it for equality. Its format is ours, and a new model generation can bring a new one.

JSON, annotated
// annotated, trimmed: the response fields this page is about
{
  "model": "a8-1-1:90@20260715t140322z", // the identifier that answered
  "system_fingerprint": "fit-1a2b3c4d5e6f7890.9e2a1b3c" // what served it
}

§2What a comparison tells you

Compared with last timeIt means
The sameEverything that determines a verdict is as it was: your data and our software. A changed verdict means your input changed.
DifferentSomething moved: a fit landed, we published a new reference model or we shipped a correction. Re-check anything you hold as a baseline.
Table 1.

The two readings of a fingerprint comparison.

Under the same fingerprint, A8 is deterministic: the same request returns the same verdict. The fingerprint covers every input to a verdict except the request itself.

§3Reading a change

§3.1The model identifier reproduces

You read the fingerprint, and you send back the model. The model names the exact horizon that answered, and sending it back reproduces the verdict. A correction we ship is the one change that reaches a pinned horizon, and the fingerprint marks it. To store one value for reproducibility, store the model. See Reproduce a verdict.

§3.2It moves with our releases

Most fingerprint changes are your own teaching landing. The rest are a new reference model, or a correction we ship. A correction reaches pinned callers too, because a pin holds what the model learned and the software that serves it stays current. A fingerprint that changes while your model identifier stays the same is our change. See Model identifiers.

§3.3A change means re-check

Every completed fit mints a new fingerprint, including a fit of teaching the model already agreed with. A changed fingerprint means re-check: a baseline that still passes stands.

§3.4It belongs to one organization

A fingerprint is scoped to the organization that owns the teaching, in one environment. Compare fingerprints within that scope.

§4Reproduce a verdict

Every response names the exact horizon that answered, with the minimum accuracy as its tag, including when the request asked for a8. Send that value back as model, and the request returns the same verdict. A pinned horizon answers from the reference model it was fitted over, so later releases move the alias and leave the pin where it was.

Shell
curl https://api.u22a8.ai/eval/v1/chat/completions \
  -H "Authorization: Bearer $U22A8_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "a8-1-1@20260715t140322z",
    "messages": [
      {"role": "system", "content": "Does the reply promise a refund?"},
      {"role": "user", "content": "We will refund you in full by Friday."}
    ]
  }'

A stored result carries its own provenance when you keep the response’s model beside the verdict. The fingerprint tells you the alias has moved on since, and the model takes you back. See Horizons.

§5Practical patterns

You want toUse
Cache verdicts and know when to empty the cacheKey the cache on system_fingerprint. A new fingerprint empties it.
Detect that your model moved between two runsCompare the two runs’ fingerprints
Publish a number someone can re-deriveRecord the response’s model beside the number
Run a regression suite against a fixed modelPin a horizon, and move the pin on your schedule
Know when your teaching is being servedWatch the fingerprint change, or the new horizon turn active in GET /models
Table 2.

The fingerprint is a signal and the pin is a control.

  • Horizons: pinning, and the models list
  • Teaching: the usual reason a fingerprint changes
  • Testing: checking that a change did what you meant

Next steps