feat(ADM-018): completed feature

This commit is contained in:
chattie
2026-08-17 22:23:10 +02:00
parent cf1c69fc8b
commit d595b4871f
871 changed files with 47411 additions and 281 deletions

View File

@@ -0,0 +1 @@
{"feature_id":"FE-048","agent":"leader","verdict":"APPROVED","summary":"FE-048 closed: word-by-word ILIKE fallback + composite ranking + suggestion endpoint.","timestamp":"2026-08-17T20:00:24Z"}

View File

@@ -0,0 +1 @@
{"feature_id":"FE-048","agent":"qa","verdict":"APPROVED","summary":"Live search works for 'almendra', 'almen', 'acei', 'aceite'. Suggestions work. Header shows product results + suggestions on no-match.","evidence":["curl /products/search?q=almendra -> 1 item","curl /products/search?q=almen -> 1 item","curl /products/suggest?q=aceit -> ['aceite','aceites']"],"timestamp":"2026-08-17T20:00:24Z"}

View File

@@ -0,0 +1 @@
{"feature_id":"FE-048","agent":"reviewer","verdict":"APPROVED","summary":"Fuzzy search implemented: word-by-word ILIKE fallback handles partial stem mismatches (FE-048). Ranking improved with composite score. SuggestCorrections endpoint returns word suggestions from products/brands/categories.","evidence":["/products/search returns results for 'almendra' and 'almen'","/products/suggest returns word suggestions like 'aceite' for 'aceit'","TypeScript clean in backend and frontend","Migration 026 adds pg_trgm indexes (ready when superuser is available)"],"timestamp":"2026-08-17T20:00:24Z"}

View File

@@ -0,0 +1 @@
{"feature_id":"FE-048","agent":"security","verdict":"APPROVED","summary":"No security concerns: word-level ILIKE is safe SQL. No new injection surfaces.","evidence":["Params passed via parameterized queries only","No user input directly in SQL strings"],"timestamp":"2026-08-17T20:00:24Z"}