Pipeline Blueprint
One document per pipeline that produces a number somebody reads
What it reads, including the inputs nothing declares
Every input at the grain it arrives in. The seed file nobody has edited in nineteen months, the mapping table somebody maintains by hand, the list of plan codes hardcoded inside the transformation. None of those appear in a generated lineage graph, and they are where the numbers actually go wrong.
The transformations that are not obvious
Not a restatement of the SQL. Which rows are excluded and why, how a record arriving three days late is attributed, which timezone a day boundary uses, what the deduplication keys on, and every hardcoded value listed individually.
What is not checked at all
The explicit list: volume, freshness on the output rather than the input, referential integrity across a join, plausibility of a total. Naming a gap is documentation. Leaving it out is a promise nobody made, and a blueprint that says the pipeline is tested is worse than one that says nothing, because it stops the reader looking.
How to tell whether today's number is right
The numbered procedure, cheapest check first, naming which passing checks mean nothing for this pipeline specifically. Did the run happen at all, did the output rebuild or only the input arrive, is the volume plausible for this weekday, do the parts add up to the whole. This is the section people actually open.
Who to tell when it is wrong
The consumer list, with the undeclared consumers marked. Whoever reads the number from a scheduled export or a workbook connection will never see an incident banner, and they are usually the ones presenting it.