Step 1 of 5
Determine searchable entities and choose engine
Identify which tables/fields need full‑text search and select a compatible indexing solution.
The app uses PostgreSQL. Prefer built‑in tsvector or a lightweight external like SQLite FTS5 if the stack allows. No external SaaS.
1. Examine the existing PostgreSQL schema (list of tables and column types). 2. Identify which tables and specific text columns should be searchable (e.g., articles.title, articles.body, users.bio). 3. Choose between PostgreSQL native full‑text search (using tsvector columns and GIN indexes) or a lightweight embedded engine like SQLite FTS5 if the project already uses SQLite for some components. 4. Justify the choice in one sentence referencing performance, ease of migration, and existing stack. 5. Output the final decision in JSON: {"engine":"postgres","tables":[{"name":"articles","columns":["title","body"]},{"name":"users","columns":["bio"]}]}
Expected after this step
A JSON block specifying engine = "postgres" and a list of tables with columns to index.
Should not happen
- ✕AI returns only UI mockups or placeholder components.
- ✕Migration missing trigger or backfill logic.
- ✕Backend endpoint uses string interpolation instead of parameterized queries.
- ✕Frontend omits debounce or uses hard‑coded sample data.
Verify before continuing
Do not move on until every check is true. The complete button stays locked until then.
Do not continue if…
- !AI returns only UI mockups or placeholder components.
- !Migration missing trigger or backfill logic.
- !Backend endpoint uses string interpolation instead of parameterized queries.
- !Frontend omits debounce or uses hard‑coded sample data.
- !Self‑audit sections are omitted or contain fabricated PASS.
If the AI messes this up
Use this when the AI fakes progress or breaks the feature. It forces a real fix.
The AI omitted the required JSON or did not include the justification. Reply with: "Provide the complete JSON decision object for the search engine, including all tables and columns, a one‑sentence justification, and a PASS/FAIL self‑audit as specified."