Vlna vylepšení — multi-tenant 88-iter hardening, test infraštruktúra a coverage push, AI logy DRY refactor
· Infraštruktúra
Komplexná vlna vylepšení naprieč produktom, konsolidovaná do jedného záznamu. (1) Multi-tenant 88-iterový hardening loop — 100+ raw dataSource.query a createQueryRunner callsites prepísaných na zdieľaný withTenantTx util, takže codebase je pripravený na zapnutie DATABASE_ENFORCE_RLS=1 (engaguje non-superuser monokaido_app rolu bez BYPASSRLS). 29 nových SECURITY DEFINER wrapperov (migrácie 304–332) na cross-tenant cron a worker cesty. Pokryté: scheduler, flow-execution, translation-scheduler, loyalty cron, AI writing scheduler, sf-payment stale cleanup, ERP transfer executor, subvendor sync, signup flows, plan-counter atomic functions, loyalty subsystem, storefront mutation paths. 343 migrácií, 38 SECDEF funkcií, 1368/1368 testov zelených. (2) Test infraštruktúra a coverage push — pridaný CI gate pre admin web testy + pre-push hook pre celý workspace + Playwright selectors + CI badge (4314044f, 95c84929, d08f4cd8). Tier 1–5 push pridal +117 nových API testov: comprehensive auth.service (+35 — login lockout, selectCompany guard, refresh fallback), ai-config Monokaido billing invariants (+24), erp-order advisory-lock dedup (+22), sf-payment provider routing + credentials + webhook orphan log (+23), client-ip util XFF parsing (+13), common guards + file-upload RBAC + path traversal (+52). (3) AI logy DRY refactor — stránka /ai-logs rozdelená na zdieľateľné komponenty (AiContextSection, AiLogsBadges, AiLogsTable, AiLogsPagination, AiRequestDetailsDialog), ktoré teraz okrem globálnej stránky používa aj nový ProductAiLogsBlock v detaile produktu — 555 riadkov duplicitného kódu odstránených. (4) Production hardening sweep — race fixy, dark-mode konzistencia naprieč admin UI, i18n compliance audit (žiadne hardcoded strings), test cleanup; jeden zhrnutý refaktor s desiatkami drobných polishov. (5) Category-mapping hardening loop — 28 iterácií, 5-bug fix v matcheroch + templates: productMatchesRule matcher pinnut testami pre stabilnú sémantiku, lazy-load parametrov v applyRulesToProduct (perf), DTO validácia operator + matchMode enum, destructure priceRange pre type narrowing, harden correctness + perf. (6) CLAUDE_TESTS.md — AI-session test playbook, dokumentuje proven mock patterns z Tier 1–6 push, footguns, what-to-test-next roadmap. (7) i18n plural toasty — kategória-mapping toast hlásenia teraz používajú správne plurály v slovenčine (1 produkt / 2 produkty / 5 produktov) namiesto „2 product(s)" anglicizmu. previewRule fast path pre okamžitú spätnú väzbu. (8) CI hardening — lint-diff pathspec opravený na workspace prefix + grep extension; coverage threshold pridaný; loyalty backfill migrácia 334 pre cleanup historických chybných stavov.