The receipt as data
Run it. Three rows, one defendable line. Walk the fields the way you walked the ticket:
owner— a name, singular. Same rule as the spec. A receipt without a name is a slide. R-13 has hours that look great and an empty owner, so it never reaches the dollar line.shipped— what actually left the room. A function, a script, a report. Not "AI adoption." If you cannot point at the artifact, you do not have a receipt.accepted— the gate from lesson two. R-12 is a demo with a token chart behind it. Demos are not receipts. The hours on an unaccepted row are a forecast, and forecasts do not get summed into the staff-meeting total.before_hours/after_hours— the same unit of work, counted the same way. R-11 is the weekly RAG roll-up you just built: four hours of collecting status by asking people, one hour of reading the derived roll-up and writing the narrative. Three hours. Not "the org is faster."LOADED_RATE— finance's number, sitting outside the row on purpose in this run so you can see it as an input, not a guess. The drills ahead put the same field on the row so a missing or zero rate can block the line the way a missing owner does. You do not derive it from tokens, and you do not pick it from a blog. This fixture is $85 because that is the rate in the drill, the way DS-401 is a ticket. In the building, you paste the rate they already defend.
Why the dollar line is last
Notice the function does not compute dollars until the lint is empty. That order is the policy. A blocked row with a pretty $595 on it is how company-wide savings slides get written: the math runs before the evidence does. Hours times rate is arithmetic a CFO can redo on a napkin. The lint is what makes the arithmetic honest.
R-11 is the bar for the rest of the lesson: one named function, counted hours, finance's rate, a name, an accepted ship. Small enough to read out loud. The drills ahead grade the gate that keeps every other row from joining it.