## TL;DR

The agent dropped a column something still reads. Restore the column (revert the model or re-add it as a deprecated alias), fix the dashboards or downstream models to stop using it on a schedule, and only then drop it for real. Column removal is a migration, not a one-line edit.

## Error

```text
agent schema change dropped a column dashboards still query
```

## Steps

1. Confirm the breakage: check dashboard errors or dbt compile failures naming the missing column, and git diff the agent's change to see the drop.
   Expected: You see the dropped column and every downstream reference to it.

2. Restore the column immediately: revert the model's select to include it again (even as a deprecated pass-through) and rebuild.
   Expected: Dashboards and downstream models work again.

3. Inventory all consumers of the column: grep the dbt project, check BI tool definitions, and ask owners. Migrate each consumer to the replacement.
   Expected: A consumer list with migration status per consumer.

4. Once no consumer references it, drop the column with a changelog note. Add a policy: agents may not drop columns without a consumer check.
   Expected: Clean removal, no breakage, policy in place.

## When to use

- an agent dropped a column that dashboards or models still query
- dashboard errors naming a missing column after an agent edit
- dbt compile fails on a column that existed yesterday

## When not to use

- the column drop was planned with all consumers migrated (that is a proper deprecation)
- the column never existed (that is a different bug)
- nothing references the column (then the drop is fine, carry on)

## Tool compatibility

- git diff to see the agent's schema change
- dbt compile to find downstream references
- BI tool field usage to inventory dashboard consumers

## Variant phrasings

### agent renamed the column instead of dropping
Same breakage, different shape. Restore the old name as an alias, migrate consumers, then remove the alias.

### agent dropped the column from a seed
Seeds feed models directly; restore the CSV column and rebuild the seed with --full-refresh.

## Why it happens

Agents see an unused-looking column in one model and remove it, not knowing the BI layer or a downstream mart reads it. dbt's ref graph does not include dashboards, so the agent's blast-radius check misses them entirely.

## Edge cases

- Exposures in dbt can track dashboard dependencies; define them so the next agent sees the consumers.
- A deprecated column should carry a comment with the removal date, or the migration never finishes.

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_DSuTU3RYmjVzQhShfrEsaQ
