Then
Move the tenant predicate below the handler
The durable fix was to stop expressing tenancy as something each handler remembers to add. The constraint moved into the data-access layer, applied to every query that touches a tenant-scoped table, sourced from the server-side session rather than from anything in the request — so a handler that forgets now returns nothing, instead of returning somebody else’s row. The export worker resolves its scope the same way, from the session that owns the job rather than from the parameters the job was queued with.