Every data tool has an intermediate representation, whether it admits to one or not. It is the thing a model becomes after parsing and before execution, and it quietly decides what the tool can do. dbt's IR is templated text, which is why ref() is a string and why a macro can produce SQL no ana...
Source: [Dev.to](https://dev.to/5c4989ca297ed/the-ir-is-a-sqlglot-ast-e40)