X_SEARCH_IN_MEMORY
Means
the in-memory driver cannot answer a full-text match
Typical cause
a search run against memoryDriver(). REFUSED rather than emulated, and that is the whole decision: to_tsvector stems, drops stop words and applies a language's own rules, and websearch_to_tsquery parses quoted phrases and -negation — a JS token comparison is a DIFFERENT question with the same shape, so it would answer green in a unit test and differently in production, which is the one outcome the two-driver split exists to prevent. 500 for the same reason as the row above
Fix
move this read into a <name>.live.test.ts and run it with TEST_DATABASE_URL set — bun test packages/entity/src/pg-search.live.test.ts is the model