Checkpoint
One last thing before we move on. Same surface as a write step — but the lesson doesn't complete until this passes.
Checkpoint: the triage router — every ticket lands in one of three lanes before a builder touches it.
Write route_ticket(spec) returning (lane, reasons):
- Lint first. Run the lesson's lint rules (owner → acceptance →
vague words → scope fence, same reason strings as the last step).
Any reasons → lane
"spec-first", with those reasons. - Then the frontier. If the spec's
ground_truthfield is missing or falsy — no checkable way to verify the output — lane is"pair-review", reasons[]. - Otherwise lane is
"delegate", reasons[].
Four tickets run. Expected output:
DS-501: delegate
DS-502: spec-first — A1 vague: robust
DS-503: pair-review
DS-504: spec-first — no owner