Cases
AI Context Gap

One column. Three meanings.

Same column name. Different operational meaning. No way to tell from the schema.

One column. Three meanings.

The column is called status. It appears in three tables: accounts, users, and support_tickets. The name is identical across all three. The meaning is completely different in each.

In accounts, status reflects billing state: active means currently paying. In users, it reflects product engagement: active means logged in within 30 days. In support_tickets, it reflects queue state: active means currently being worked.

None of this is in the schema, which says status: varchar and nothing else. Who defined active, what counts, which team owns the definition: all of that lives outside the warehouse.

When a query filters on status = 'active', the join path determines which definition applies. A wrong join means the filter applies to the wrong table's version of active. The query runs. The filter applies. The result reflects the wrong population.

Reused column names with divergent meanings are a standard feature of any warehouse that has grown across multiple teams over multiple years. The naming isn't the problem. There's just no mechanism to carry the meaning alongside the structure.