Most teams treat "it's just a prompt tweak" as a single category. That is the root of both wasted compute and missed regressions. A prompt is not just text: it includes instructions, system messages, variables injected at runtime, model parameters, tool configuration and output constraints, and all of these travel together as one versioned unit LangWatch's prompt management guide. If your diff tool only compares strings, you are blind to half of what changed.
The practical first step is to sort every edit into one of five classes before you open the eval dashboard:
- Wording: synonyms, tone, reordering sentences, removing redundancy, clarifying an already-present instruction.
- Structural: new sections, changed precedence between instructions, added examples, split or merged steps, changed variable placement.
- Tool or format: tool descriptions, schemas, allowed tool lists, output schema, enum values, refusal tokens, JSON keys.
- Model or parameter: temperature, max tokens, reasoning settings, model swap, retrieval configuration.
- Safety or policy: refusal rules, escalation paths, data-handling instructions, tone toward vulnerable users, injection defenses.
The class tells you which risks are plausibly in play. It does not tell you the scope yet, because a wording change inside a refusal clause is also a safety change. Use the class as a starting hypothesis, then check the "risk review triggers" section below.
A useful discipline: store the class and scope decision in the prompt version metadata. Prompt versioning only pays off when each version records the model, parameters, tools and rationale alongside the text, so a later score difference can be traced to the right cause Braintrust on prompt versioning. A one-line "class: structural, scope: full suite, why: changed instruction precedence" note is worth more than a hundred chat messages.



