1. Read a relational schema and declare grain
There are 48 lines, 48 unique line IDs and 24 parent orders. Orders and products have unique text keys; lines reference both. A product price is current descriptive data, whereas line unit_price_cents is the historical transaction value.

2. Run an explicit SELECT in a local client
The ordered projection returns O001, O002 and O003. An unchanged incidental order without ORDER BY is an observation, not a contract. The packaged runner opens only the supplied fixture in read-only mode.

3. Validate relationships before trusting analysis
The orphan query returns zero rows for the supplied fixture. A foreign-key-enabled insert of a missing parent must fail. The contract still states 24 orders and 48 lines; absence of orphans alone cannot establish completeness.
