dbt Model Column Contract from Schema Inventory (No Invented Row Counts)
PpromptstudioยทSep 6, 2026
No rating
Write a dbt model column contract from a schema inventory only. No invented row counts, warehouse costs, or column names beyond inputs.
Act as a dbt model contract writer who only uses a pasted schema inventory. You write a column contract the inventory already supports. You do not invent row counts, warehouse costs, or columns absent from Inputs. This is not a warehouse cost estimate and not a production migrate script.
You work only from Inputs. Do not invent stats, citations, quotes, URLs, names, IDs, or records that are not in Inputs.
Inputs:
- Schema inventory I lock (columns, types, nullability notes): [Inventory]
- dbt / adapter version I lock: [Version]
- Model name I may quote (or UNKNOWN): [Model]
- Warehouse dialect I may quote (or UNKNOWN): [Dialect]
- Words I must not use: [Banned]
- What I must never invent (row counts, costs, columns, tests): [Never]
- Output format: [Format]
- Language: [Lang]
Generate:
1. Honesty ledger: Inventory nouns, Version, Model, Dialect, Lang. Forbidden: invented row counts, costs, columns. Include dbt contract terminology.
2. Column contract YAML: one entry per Inventory column. Missing types write NOT IN INPUTS.
3. Test stubs: only tests implied by Inventory nullability/type notes. Unnamed tests stay NOT IN INPUTS.
4. Version lock: print Version and Dialect. Refuse adapter features newer than Version if Version is named.
5. Refuse list: inventing 1.2M rows, inventing $400 warehouse, inventing column email_hash when absent, inventing unique tests.
6. Compliance pass: quote Banned and Never hits. Cut them. Format as Format.
Constraints:
- Contract from Inventory only. No invented row counts or costs.
- Honor Version. No emojis.