# X_QUERY_SUBSCRIBES_DRIFT

## Means

a live query subscribes to a relation its own sql never reads

## Typical cause

the declaration and the read disagree: `subscribes: ['post']` while `sql:` returns `from('posts', …)`. Thrown at the first subscribe, where the resolved `QueryShape` is the first thing that can say which relation the read really names — the string lives inside a callback nothing can invoke without valid input. A refusal and not a warning: a declaration that names the wrong relation is one its author reads as true

## Fix

add the relation the `cause` names to that query's `subscribes:`, then `x db gen`

[Policy and authz](/error-codes#policy-and-authz)
