practice · checks & signal
Signal reading
Five lines. Written on the date the brief said it would be written. Either the prediction was met, or it was not, or it cannot be checked. The fourth outcome — not checked — is the only worthless one.
TL;DR
A signal reading is five lines: prediction, baseline, target, measured, gap. Written on the calendar-committed check date. Read by the trio and contributed to by CS. The signal reading is the input to the retrospective and the model update. If the check date passes without a reading, mark the outcome as not checked honestly — do not paper over.
What it is
The signal reading is named in After We Build · Signal and the Prediction. It is the moment the cycle's prediction meets reality. The reading is short on purpose — five lines forces honesty; longer readings hide.
Distinguish from
Retrospective — the team's response to the signal. Model update — the corpus's amendment after both. Metrics review — periodic; not cycle-bound. See Confusable with at the foot.
Why it matters
Without the signal reading:
- The cycle ran blind. The team built something whose effect on the world is unmeasured.
- The next cycle inherits the same model. The wrong assumption is wrong twice.
- Calibration over time cannot be measured. A team cannot get better at predicting if it never recorded predictions and their outcomes.
The signal reading is the corpus's hardest discipline — most teams skip it because the date is hard to defend, the result is sometimes uncomfortable, and the value compounds slowly. The corpus rule from Principles · Not checked is the only worthless outcome: the cycle that did not run the check ran blind.
How to do it
Step 1 — Hold the check date
The check date was in the brief. It is in the PO's calendar with a one-hour block. Do not move it. If you must move it, mark the move as a chain-level signal at the next retro.
Step 2 — Run the check method named in the brief
The method was decided in Discovery, not at check time. Run it. If the method requires observation, schedule the sessions. If it requires instrumentation, the instrumentation should have shipped with the cycle's first story (it should already be reading; see the first 48h watch).
Check method (from brief): Three observation sessions across
three named graders, in the field, stopwatch + time-on-task
event log as cross-check. Minimum 8 cycles total.
Sessions run:
- 2026-06-12 · Gal · 3 cycles
- 2026-06-13 · Yael · 3 cycles
- 2026-06-14 · Dina · 3 cycles
Total: 9 observed grading cycles.Step 3 — Write the five lines
The five-line form is non-negotiable.
Prediction: Gal completes a grading cycle in under 15 min.
Baseline: 47 min mean, n=12, observed 2026-04-22.
Target: <15 min mean, n>=8 observed cycles.
Measured: 13.2 min mean, n=9 observed cycles (2026-06-12–14).
Gap: Target met (-1.8 min below ceiling). Three of nine
cycles ran >15 min — all involved the legacy
unicode forms not in the supported set. Next-cycle
work: extend the locale map.The gap line is the discipline. "Better than predicted" alone is not a gap line. "Better than predicted — three cycles ran over because of legacy unicode forms not in the supported set; locale map needs extending" is.
Step 4 — Read with the trio + CS
Within 24 hours of writing, read the five lines together with PO, Designer, TL, and (when relevant) CS. CS adds the voice-of-customer paragraph. The reading is now complete.
Step 5 — Classify the outcome
One of four:
| Outcome | What it means | What happens next |
|---|---|---|
| Met | Measured ≥ target | Retro + model update; consider scaling the bet |
| Missed honestly | Measured < target; the gap is named | Retro + model update; the cycle was not waste |
| Refuted | The mechanism the bet relied on did not hold | Retro + model update; consider killing the initiative |
| Not checked | The date passed without measurement | The worthless outcome. Retro names it as a chain-level signal |
A missed outcome that produces honest learning is more valuable than a met outcome that produces no learning. The chain rewards honesty over wins.
Step 6 — Hand to retro + model update
The signal reading lives next to the brief. The retro reads it at the start. The model update amends the corpus based on what the reading said.
A complete signal reading
# Signal reading — Hebrew-name grading flow · 2026-06-15
Prediction: Gal completes a grading cycle in under 15 min.
Baseline: 47 min mean, n=12, observed 2026-04-22.
Target: <15 min mean, n>=8 observed cycles.
Measured: 13.2 min mean, n=9 observed cycles (2026-06-12–14).
Gap: Target met (-1.8 min below ceiling). Three of nine
cycles ran >15 min — all involved legacy unicode
forms not in the supported set. Next-cycle work:
extend the locale map.
Outcome: Met.
Voice-of-customer (CS):
Three graders requested afternoon batches enabled by default
rather than opt-in. None complained about the new flow.
Two tickets in the 48h window were about discoverability of
the new keyboard shortcut, not about the flow itself.
Linked: Feature Brief 2026-Q2 · TDB 2026-Q2 ·
First 48h watch note 2026-05-25.
Signed: Alex (PO) · 2026-06-15.Evidence
Across cycles, signal readings that produced compounding learning shared three properties.
- The check date was held. Cycles whose check date held within 48 hours of the brief's date produced model updates in 90% of cases. Cycles whose date slipped by more than a week produced model updates in 40%.
- The gap line named something specific. Readings whose gap line read better than predicted were treated as conclusive. Readings whose gap line named a specific anomaly produced 1.5× more next-cycle work.
- The reading was written before the retro, not derived from it. Reading-first retros surfaced chain-level signals 2× more often than retros where the team reconstructed the signal during discussion.
Anti-patterns
| Pattern | What it looks like | Where to fix |
|---|---|---|
| Check date drifted | Date passed; PO promised to write next week | Mark not checked. Chain-level signal at retro. |
| Gap line says better than predicted | One sentence; no anomaly named | Re-read the data; the gap is in the variance, not the mean |
| Check method reused the baseline's method | Same dashboard, same query | The baseline's method was not witnessed; see Clinic — A brief that didn't witness |
| Reading written after the retro | Retro discussed feelings; reading reconstructed | Reading-first is the discipline |
| No CS voice | Only quantitative signal recorded | CS contributes the voice-of-customer paragraph |
| Reading hidden in a sheet | Read-once, never linked | Lives next to the brief, linked from the retro and the model update |
Confusable with
| This | Not this | Difference |
|---|---|---|
| Signal reading | Retrospective | Reading = the what; retro = the team's response |
| Signal reading | Model update | Reading = the data; model update = the corpus's amendment |
| Signal reading | Metrics review | Reading is cycle-bound and prediction-bound; metrics review is periodic and broad |
| Gap | Variance | Gap is a named anomaly; variance is a statistic |
Further reading
- Canon — After We Build · Signal & The Prediction · The Model Update
- Practice — Retrospective · Model update · Writing predictions
- Template — Signal reading
- Skill path — PO foundations · Step 8 · CS Lead foundations · Step 8
- Principle — Not checked is the only worthless outcome
- Reference — Area · Signal Reading