Read evidence, receipts and driftLesson 3 of 6
Understand frozen expectations
Read the catalogue, oracle definition and expected-value bindings without changing the lock.
What you'll do
Read a synthetic scenario catalogue, oracle definition and expected-value binding as three distinct artifacts. Explain why an observed mismatch cannot be solved by editing the lock. Your output is a review worksheet and a recommendation for investigation or explicitly governed expectation change.
Define the claim before running it
The scenario catalogue names the required checks and qualification scope. The oracle definition states the independently authored source questions. Frozen values preserve the reviewed expectations and their bindings. Together they make the gate's comparison meaningful; none can be replaced by a producer's preferred output.
For synthetic Sales, a catalogue might require a total and territory groups. The oracle explains which posted lines count, which dates apply and how amounts are rounded. Expected values capture the independently established answers for that scope. A matching total does not compensate for missing territory keys.
| Artifact | Question it answers | Review risk |
|---|---|---|
| Scenario catalogue | What must qualify? | Dropping a difficult required check |
| Oracle definition | Which independent question is asked? | Copying the transformation under test |
| Frozen values | Which reviewed answers apply? | Replacing expected with actual |
| Binding/epoch | Which scope and version are selected? | Mixing observations from different epochs |
Keep independence real
An independent oracle is not a second label for the same code. If the transformation drops cancelled lines incorrectly and the expected query copies that filter, both can agree while answering the wrong question. Review the business definition and the expectation separately from the implementation.
Synthetic mismatch investigation
Expected posted-line revenue: 150
Observed Gold revenue: 149
Questions: included keys, date scope, rounding, quarantined rows
Forbidden shortcut: replace the frozen 150 with the observed 149This worksheet is illustrative, not an executable expectation file. Use the actual approved schema and manifest for a lab. Never use zero/empty placeholders from a negative regression as live business expectations.
Read binding and precision together
A value belongs to its source, definition, population and observation. A changed definition can invalidate an old answer even when its displayed number happens to match. An expectation epoch identifies an explicit retained version; it is not permission to relabel an old run as current.
The gate recomputes numeric comparisons and grouped-key coverage. Review scale, rounding and unit policy as part of the comparison. A display rounded to whole currency units can conceal a difference that exact retained evidence must still explain. Conversely, a documented display policy should not be replaced with an arbitrary tolerance just to suppress a discrepancy.
Decide the next action
First confirm the selected files and their bindings. Then inspect whether the mismatch comes from a wrong actual, an obsolete expectation, a population change or incomplete evidence. A genuine expectation error can require correction, but that is an explicit reviewed workflow with new evidence, not an in-place edit to an old qualification.
Write the investigation recommendation precisely. "Reobserve the territory grouping after the join correction, then re-evaluate dependent checks" gives an engineer a bounded next step. "Refresh the expected numbers until green" removes the very independence the gate is meant to preserve.
For the academy, create a synthetic case where the grand total agrees but one required group is absent. State why exact grouped-key coverage must fail. Your expected output records the original lock, mismatch, business question, proposed owner action and limits. It does not require a source connection, a new freeze or permission to change a real project's expectations.
Check your understanding
- How do catalogue, oracle definition and frozen values differ?
- Why can a matching total still fail exact grouped-key coverage?
- What separates a legitimate expectation correction from silently rewriting a failed test?