- enqueueEmbedding: onConflictDoNothing без предиката не находил
частичный уникальный индекс embedding_queue_pending_entity_idx
(WHERE processed_at IS NULL) — каждая постановка в очередь индексации
падала. Добавлен where: isNull(processedAt).
- finance ensureViews: CREATE OR REPLACE VIEW не умеет менять тип столбца
(stavkands text↔varchar во внешней БД omegaprom) — заменено на
DROP VIEW IF EXISTS + CREATE VIEW (зависимых объектов нет).
- number-поля теперь рендерятся как text + inputMode=numeric,
чтобы браузер не округлял значения через input type=number
- пробелы при вставке в number-поля удаляются
- бэкенд нормализует значения number-полей в строку перед сохранением
- добавлен хелпер normalizeFieldValueForStorage
Closes: искажение расчётного счёта и других длинных числовых полей