💼 Business

dbt Model Lineage Map from Manifest Inventory (No Invented Row Counts)

Turn a dbt manifest inventory into a model lineage map only. No invented row counts, runtime minutes, or warehouse costs beyond the inventory.

0.0
0Reviews
P
September 9, 2026

Prompt

Act as a dbt analytics engineer who only uses a pasted manifest inventory. You write a model lineage map the inventory already supports. You do not invent row counts, runtime minutes, warehouse costs, or freshness SLAs. This is not a live dbt run and not a warehouse cost audit.
You work only from Inputs. Do not invent stats, citations, quotes, URLs, names, IDs, or records that are not in Inputs.

Inputs:
- Manifest inventory I lock (model stubs, ref cues, status notes): [Inventory]
- dbt / adapter version notes I lock: [Version]
- Project or workspace label I may quote (or UNKNOWN): [Workspace]
- Required model or source names I may quote (or UNKNOWN): [SpecNames]
- Words I must not use: [Banned]
- What I must never invent (row counts, runtime minutes, warehouse costs, freshness SLAs): [Never]
- Output format: [Format]
- Language: [Lang]

Generate:
1. Honesty ledger: Inventory nouns, Version, Workspace, SpecNames, Lang. Forbidden: invented row counts, runtime minutes, warehouse costs, freshness SLAs. Banner: not a live dbt run; not a warehouse cost audit.
2. Lineage map table: one row per Inventory model stub or ref cue. Missing status notes write NOT IN INPUTS. Use dbt ref(), source(), exposures, and manifest.json language when Inventory supports it. Never print row-count VALUES not in Inventory.
3. Spec name set: only names in SpecNames. Unnamed models stay NOT IN INPUTS. Never print runtime or cost VALUES not in Inventory.
4. Version lock: print Version. Refuse dbt features newer than Version if Version is named (no unreleased unit-test claims).
5. Refuse list: inventing row counts, inventing runtime minutes, inventing warehouse costs, inventing freshness SLAs.
6. Compliance pass: quote Banned and Never hits. Cut them. Format as Format.

Constraints:
- Map from Inventory only. No invented row-count VALUES. Teach dbt model lineage mapping, not a generic DAG swap.
- Honor Version. No emojis.

Instructions

Replace every [bracket] with your details before running. Works on ChatGPT, Claude, and Gemini.

Generated Output

This image was generated using the prompt above.

dbt Model Lineage Map from Manifest Inventory (No Invented Row Counts) - Result

Examples

Example Input

Inventory: model Harbor Quay fct_berth_events as pasted ref cue stg_tide_logs as pasted status note draft as pasted; model River Ops dim_lock_gates as pasted ref cue stg_gate_status as pasted. Row count NOT IN INPUTS. Runtime NONE.
Version: dbt Core 1.8.0 Snowflake adapter as pasted (do not invent unreleased unit-test APIs)
Workspace: Harbor Quay Analytics Project as pasted
SpecNames: fct_berth_events as pasted; dim_lock_gates as pasted. int_tide_rollups UNKNOWN.
Banned: guaranteed row count, runtime invent, cost invent, freshness invent
Never: invent row counts, invent runtime minutes, invent warehouse costs, invent freshness SLAs
Format: ledger + table + specs + version + refuse + compliance
Lang: English

Example Output

1. Ledger. Inventory: model Harbor Quay fct_berth_events ref cue stg_tide_logs status note draft; model River Ops dim_lock_gates ref cue stg_gate_status. Row count NOT IN INPUTS. Runtime NONE. Version dbt Core 1.8.0 Snowflake adapter. Workspace Harbor Quay Analytics Project. SpecNames fct_berth_events; dim_lock_gates; int_tide_rollups UNKNOWN. Lang English. Banner: not a live dbt run; not a warehouse cost audit. Forbidden: invented row counts, runtime minutes, warehouse costs, freshness SLAs, guaranteed row count, runtime invent, cost invent, freshness invent.

2. Lineage map.
1. Harbor Quay fct_berth_events | ref stg_tide_logs as pasted | status draft as pasted | rows NOT IN INPUTS | runtime NONE | dbt ref() / manifest.json map only. Row-count VALUES not printed.
2. River Ops dim_lock_gates | ref stg_gate_status as pasted | status NOT IN INPUTS | rows NOT IN INPUTS | runtime NONE.
Warehouse costs not printed. Freshness SLAs not invented.

3. Spec name set. fct_berth_events; dim_lock_gates as SpecNames. int_tide_rollups UNKNOWN so write int_tide_rollups NOT IN INPUTS. No row-count VALUES printed. No third model invented.

4. Version lock. dbt Core 1.8.0 Snowflake adapter as pasted. Unreleased unit-test APIs not used. metricflow schema NOT IN INPUTS.

5. Refuse. Row-count invent: refused. Runtime invent: refused. Cost invent: refused. Freshness invent: refused. Guaranteed row count: refused.

6. Compliance. Banned hits none. Format ledger+table+specs+version+refuse+compliance. Gaps: status for River Ops dim_lock_gates, int_tide_rollups decision, source freshness config, exposure owners, materialization type if any.

Missing-data policy: if a field was blank, write NOT IN INPUTS rather than guessing. Lock any tool version named in Inputs; if unnamed, write unknown. No invented testimonials, star ratings, or press logos. If legal, clinical, insurance, HR, education-plan, or veterinary content appears, add a one-line not-advice and de-identify banner. Quote banned-word hits and cut them. End with a gaps list of five bullets the user still owes you. Character and byte caps in the job are hard; print counts when relevant. Refuse to backfill DOIs, exam dumps, PHI, PII, or compensation promises not in Inputs.

Reviews (0)

Please login to leave a review.
Loading reviews...