Inspectable Scores: What a Trace Should and Shouldn't Be
When a platform tells you a skill scored 82%, the honest follow-up is "based on what?" This note describes how we think about inspectability, and what we deliberately chose not to store.
Abstract
A skill score on Versalist is paired with a Trace, a read-only view of the behavior behind the score, attached to the Episode that produced it. This note describes what a Trace is in our design, what it explicitly is not, and the trade we made between completeness and liability. The thesis is narrow on purpose: a Trace lets you walk back through what the system did, not through what was sent or returned.
The honest question
When a platform reports a number like "your skill scored 82%," the next question that decides whether the number means anything is *based on what?* If the answer is "trust the pipeline," the number is a verdict. If the answer is a view of the work that produced it, the number is something you can argue with.
We wanted the second answer to be the default. Every Episode, one execution of a skill against a challenge with scored steps, is paired with a Trace.
What a Trace is
A Trace is a read-only view over a single Episode. It is an ordered list of behavior events with status, model, latency, and token counts, plus a summary that includes how many events fired and, deliberately, whether the view might be incomplete. We would rather show "this view may be missing two events" than present a tidy story that is not true.
What we chose not to store
This is the decision we want to be judged on. A Trace contains bounded behavior metadata. It is not a recording of raw prompts, raw completions, or full transcripts. We do not store those, and the viewer does not surface them by design. Where reproducibility matters, we keep hashes: enough to tell whether two Episodes used the same inputs, without warehousing the inputs themselves.
The failure mode we care most about is not "not enough data." It is a platform that hoovers up every prompt and completion its customers send, and then has to be trusted to handle that data well forever. Behavior metadata answers the question that matters for trust without taking on that liability.
What the claim is not
A Trace shows what the system did. It is not a tamper-proof audit log, and it does not by itself prove that a score is incorruptible. Those are different, harder guarantees, and we are not going to claim them before they are real. Behavior inspection is the honest claim; it is the only claim we make.
Where this goes
Two directions we expect to keep pulling on: widening the inspection surface so more kinds of behavior show up in the view, and rendering learning across many Episodes as a view rather than as a new stored entity. We will keep writing about what we add and, just as importantly, what we deliberately leave out.
- Cite this note
- Versalist Research (2026). Inspectable Scores: What a Trace Should and Shouldn't Be.
- Publication record
- Published May 21, 2026
More from the research notebook
Evaluation Generation as a Post-Selection Step
Most generated challenges never ship, and evaluations written for them are wasted work, so the pipeline defers evaluation generation until promotion. What that buys, what regenerate-not-edit means in practice, and what the generated module is not.
Read note →Skills as Accuracy PrimitivesSkills as Accuracy Primitives
On Versalist a skill is a named, versioned bundle of instructions and tool access. We call skills accuracy primitives because every run is observed, and every proposed change must win a scored comparison on the skill's own history before it can be promoted.
Read note →Agent Training MethodologyThe Adversary Agent: Hostile Review as a Pipeline Step
A second agent, prompted to assume the code is broken until proven otherwise, reviews changes it did not write. We describe the prompt shape, how the step is enforced, and what happened the day it returned nothing.
Read note →