{
  "id": "dbt/agent-grounding",
  "slug": "agent-grounding",
  "name": "Stop your agent guessing what `status` means",
  "tagline": "An LLM writing SQL against your warehouse has three bad options: guess from the column name, read the SQL, or ask a human. Give it a fourth.",
  "description": "Every text-to-SQL tool and coding agent pointed at your warehouse is inferring meaning from column names and whatever free text happens to be in a description. It cannot know that `status` has exactly five permitted values, that `return_pending` is a kind of return rather than a peer of it, that `customer_id` means the same thing here as `cust_id` does two models over, or that this column is the one bound to a public term the rest of the industry uses. So it guesses confidently, and a confident wrong answer about meaning is worse than no answer. This workspace makes the governed definitions readable by machines: an agent connects over MCP and can ask what a column means, which values are permitted and what each one is, what the column is bound to externally, and what else carries the same concept — and it gets the governed answer a human curated, not an inference. dbt's own agent surfaces expose dbt's contents; this exposes the meaning behind them.",
  "url": "https://coremodels.io/recipe/agent-grounding",
  "json": "https://coremodels.io/recipe/agent-grounding.json",
  "markdown": "https://coremodels.io/recipe/agent-grounding.md",
  "status": "ga",
  "connectors": [
    {
      "slug": "dbt",
      "name": "dbt",
      "url": "https://coremodels.io/connector/dbt",
      "recipeUrl": "https://coremodels.io/connector/dbt/recipe/agent-grounding",
      "capabilities": [
        "import"
      ]
    }
  ],
  "steps": [
    "Import the manifest; each accepted_values list becomes a governed vocabulary.",
    "Fill the three columns agents get wrong, meaningNote, commonMistake, doNotUseFor, on the 20 columns that matter.",
    "Connect your assistant to the read-only endpoint and replay a question it used to get wrong."
  ],
  "start": {
    "label": "Start with this recipe →",
    "href": "https://go.coremodels.io/app/new/dbt/agent-grounding",
    "note": "No warehouse credential. No dbt Cloud token. Read-only."
  },
  "stories": [],
  "guides": [
    {
      "slug": "h5-agents",
      "title": "The Fourth Option for a Column Named status",
      "summary": "This is no longer a hypothetical audience. dbt Labs' [2026 State of Analytics Engineering](https://www.getdbt.com/resources/state-of-analytics-engineering-2026) (n=363) reports **72% of teams prioritizing AI-assisted coding** and **71% concerned about incorrect data reaching stakeholders** — the same teams, describing both halves of the problem below.",
      "audience": "strategy",
      "url": "https://coremodels.io/connector/dbt/h5-agents"
    },
    {
      "slug": "t6-agent-grounding",
      "title": "Grounding an Agent in Your dbt Project: What It Reads, and What Changes",
      "summary": "An agent pointed at your warehouse can already write SQL. The question is what it knows about the columns it writes against, and the honest answer is: the names, the types, and whatever free text happens to be in a description. Everything else it infers.",
      "audience": "engineering",
      "url": "https://coremodels.io/connector/dbt/t6-agent-grounding"
    }
  ]
}
