Commit Graph
100 Commits
Author SHA1 Message Date
naeel 9dd1afd832 v1.0.178: Фаза 1.1 — statusToHTML. Статусы из HTML-строк в структуры {kind,pct,text,count,elapsed}. Чистая функция statusToHTML(st). renderTable использует statusToHTML(f.status). 2026-06-25 08:54:39 +04:00
naeel 7490568b4b v1.0.178: Фаза 0 — state + render(state). Введён state.js (центральное состояние), render(state) вызывает renderTable(). fileQueue/contractId/batchId/_activeCompare → state.*. app_utils.js адаптирован. Подробные комментарии из decoupling-final-plan.md. 2026-06-25 08:44:52 +04:00
naeel b994da8c4c v1.0.177: inline onclick на diff-section-header — переживает markGroupDone 2026-06-24 20:25:07 +04:00
naeel 6806ee5027 v1.0.177: клик на файл сам переключает diff-section-body (addEventListener теряется) 2026-06-24 20:19:21 +04:00
naeel 332fad2e1a v1.0.177: клик на имя файла в обработанной группе — раскрыть/свернуть результаты 2026-06-24 20:18:29 +04:00
naeel 84898e10d6 v1.0.177: необработанная — только кнопка; обработанная — только раскрытие 2026-06-24 20:08:09 +04:00
naeel 38ade38573 v1.0.177: markGroupDone сохраняет HTML результатов — раскрытие работает 2026-06-24 20:05:02 +04:00
naeel 5955c03677 v1.0.177: buildGroupCard + markGroupDone — разная вёрстка для необработанных и готовых 2026-06-24 20:02:46 +04:00
naeel 08220fa4b9 v1.0.177: группы независимы — изменения в одной не касаются других 2026-06-24 20:01:14 +04:00
naeel fa06c758f4 v1.0.177: Готово НЕ сбрасывается при сравнении другой группы 2026-06-24 19:57:55 +04:00
naeel 0562c16897 v1.0.177: блокировка ВСЕХ кнопок сравнения пока идёт процесс 2026-06-24 19:52:23 +04:00
naeel 7f6d912010 v1.0.177: Готово → span, не кнопка — нельзя перезапустить сравнение 2026-06-24 19:47:34 +04:00
naeel a58df099b6 trigger Lucee redeploy v1.0.177 2026-06-24 19:40:09 +04:00
naeel 7a780e457e v1.0.177: Готово — disabled + data-done, клик не перезапускает 2026-06-24 19:37:58 +04:00
naeel 498bee90d8 v1.0.177: сравнение внутри карточки группы, только одно одновременно 2026-06-24 19:34:00 +04:00
naeel c223fc04c0 v1.0.177: О сервисе — полная инструкция с промежуточными результатами 2026-06-24 19:30:50 +04:00
naeel 2a566869aa v1.0.176: classify_input + elements_json в промежуточных результатах 2026-06-24 19:23:34 +04:00
naeel 3974a032a5 v1.0.176: раскрывающиеся результаты классификации прямо в таблице 2026-06-24 18:42:47 +04:00
naeel 3f58f6adcd v1.0.176: FOR UPDATE fix — ORDER BY LIMIT 1 вместо MAX() 2026-06-24 18:37:48 +04:00
naeel d44f8f3e6c v1.0.176: fix self.path → urlparse for ?v= cache bust 2026-06-24 18:27:17 +04:00
naeel 0b27832292 v1.0.176: X-Content-Type-Options nosniff for ORB fix 2026-06-24 18:23:19 +04:00
naeel 8953af0c19 v1.0.176: version bump + cache bust 2026-06-24 18:08:35 +04:00
naeel b26728d9da v1.0.176: remove verify=False — MITM fix 2026-06-24 18:07:44 +04:00
naeel a36c8fa2bf v1.0.176: prompts — seed per-role + _serialize non-mutating 2026-06-24 18:07:02 +04:00
naeel 0e0939bb32 v1.0.176: spec_events — FOR UPDATE + transaction for seq race 2026-06-24 18:06:05 +04:00
naeel cd5ba7470e v1.0.176: spec_current cascade fix + keep_ids DoS limit 2026-06-24 18:04:59 +04:00
naeel 044a83a43d v1.0.176: grouping.py — apply_groups error handling + doc_id null check 2026-06-24 18:04:05 +04:00
naeel 780e52d072 v1.0.176: XSS ×5 fix + syncDB await + escHtml(null) 2026-06-24 18:03:12 +04:00
naeel 666f85b743 v1.0.176: upload.py — path traversal + size limit + UUID + data loss 2026-06-24 18:01:18 +04:00
naeel 60dc41e83f v1.0.175: общее сравнение → compareCard, diffBody только для групп 2026-06-24 17:42:31 +04:00
naeel 8267149190 v1.0.175: cache busting ?v=1.0.175 на скрипты 2026-06-24 17:40:36 +04:00
naeel f205f0f547 v1.0.175: compareCard отдельно от diffCard — группы не исчезают при сравнении 2026-06-24 17:39:19 +04:00
naeel 475d0b8dc7 v1.0.175: виртуальные группы + classify_raw + stepper 2026-06-24 17:06:25 +04:00
naeel b5d35f57fc v1.0.174: reset/list_pending без фильтра status=parsed 2026-06-24 15:21:17 +04:00
naeel e939c320cc v1.0.174: classify_batch сбрасывает статус на pending — работает после удаления файлов 2026-06-24 15:17:45 +04:00
naeel 592041ab89 v1.0.174: 'файлов не распознано' вместо 'не распознано' 2026-06-24 15:13:32 +04:00
naeel 70a7c8bfb4 v1.0.174: /api/sync — БД = зеркало таблицы, удаление ВСЕГО кроме keep_ids 2026-06-24 15:11:57 +04:00
naeel b19e6ba06e v1.0.174: fix groups count — не считаем __unresolved__ за группу 2026-06-24 15:03:17 +04:00
naeel b325a6b2c2 v1.0.174: sync-batch — удаление мусора после загрузки, DELETE /api/documents/<id> 2026-06-24 14:59:46 +04:00
naeel 7538c0a5c9 v1.0.174: fix FK cascade in delete_by_document — spec_current → spec_events → supplement → document 2026-06-24 14:50:31 +04:00
naeel ef4536a437 v1.0.174: classify tab in prompts UI — activePromptId + openPromptModal 2026-06-24 14:43:22 +04:00
naeel cf4fc016bd v1.0.174: fix \n → real newlines в seed-промптах (parameterized queries) 2026-06-24 14:40:38 +04:00
naeel f693acce6f v1.0.174: пояснения 'для чего' к кнопкам промптов 2026-06-24 14:33:58 +04:00
naeel c98f190cbc v1.0.173: О сервисе в топбар, новый контент — инструкция без упоминания Lucee/VM 2026-06-24 14:32:36 +04:00
naeel 9cc6e43868 v1.0.172: вкладка classify в редакторе промптов 2026-06-24 14:29:36 +04:00
naeel b49523677c v1.0.171: detailed SSE results for group compare 2026-06-24 14:07:31 +04:00
naeel cbdfc7a8c1 v1.0.171: ▶ Сравнить группу via SSE + classify timer/progress 2026-06-24 13:55:22 +04:00
naeel e0cff8d85f v1.0.170: green dot instead of checkmark for active prompt 2026-06-24 13:49:43 +04:00
naeel 7cbfdc9589 v1.0.170: show prompt notes in history 2026-06-24 13:47:23 +04:00
naeel 6f2c0fd910 v1.0.170: simple text buttons — активировать / удалить 2026-06-24 13:45:20 +04:00
naeel c21a50cd14 v1.0.170: clear activate/delete buttons with lucide icons 2026-06-24 13:43:37 +04:00
naeel 15bd4ad322 v1.0.170: fix prompts list — datetime serialization 2026-06-24 13:32:13 +04:00
naeel e2348eaf4e v1.0.170: remove fake drag-drop text 2026-06-24 13:28:02 +04:00
naeel 1aa22767ef v1.0.170: допник → допсоглашение 2026-06-24 13:19:08 +04:00
naeel d848caacb2 v1.0.170: UI — Общее сравнение, Классификация и группы, пояснения для нераспознанных 2026-06-24 13:17:50 +04:00
naeel abba9c4f1d v1.0.169: prompts CRUD via VM API — /api/prompts, no more prompt.cfm dependency 2026-06-24 10:27:59 +04:00
naeel dd558e00e7 v1.0.168: detailed О сервисе — architecture, pipeline, Event Sourcing, security 2026-06-24 10:22:41 +04:00
naeel 115e71b2a1 v1.0.167: fix grouping dead code (classified→docs) + max_tokens 500→1000 2026-06-24 09:35:42 +04:00
naeel 49c472b46d v1.0.166: aggressive JSON repair — close unterminated strings/braces 2026-06-24 09:14:07 +04:00
naeel d0326ee9ce v1.0.166: fix missing _smart_extract function 2026-06-24 09:09:26 +04:00
naeel c2c92d0a37 v1.0.166: classify prompt v2 (LLM-suggested) + safe JSON parse with auto-repair 2026-06-24 09:04:31 +04:00
naeel fe1f76fa1d v1.0.165: app_utils.js + detailed comments (Opus analysis) in classify/grouping/connection 2026-06-24 08:46:40 +04:00
naeel d86a369d2b v1.0.164: remove ↕ column — auto-classify determines order 2026-06-24 08:41:15 +04:00
naeel 8a5d93a5c7 v1.0.163: classify UI — batch_id, Классифицировать button, group cards 2026-06-24 08:27:29 +04:00
naeel eb98790802 v1.0.162: /api/classify-batch + batch_id UUID validation 2026-06-24 08:23:40 +04:00
naeel 7a96f5b95b v1.0.162: auto-classify backend — classify/grouping services, 7 new columns, /classify-batch, /api/groups, /apply-groups 2026-06-24 08:22:21 +04:00
naeel 740f75a791 v1.0.161: cgi.FieldStorage for UTF-8 filenames 2026-06-23 21:09:27 +04:00
naeel e4cbc59f7e v1.0.161: LLM_KEY fallback to LLM_API_KEY 2026-06-23 21:02:33 +04:00
naeel c74be9782a v1.0.161: nginx /api/ → Python :8766 2026-06-23 18:58:08 +04:00
naeel 15ea2325da v1.0.161: fix app.js — remove HTML tags, parseInfo lowercase keys 2026-06-23 18:01:46 +04:00
naeel ca01247fc0 v1.0.160: bump version 2026-06-23 17:49:40 +04:00
naeel 493d75e51a v1.0.159: /static/app.js (nginx location / matches) 2026-06-23 17:30:25 +04:00
naeel 4b0e5c04de v1.0.159: fix app.js path 2026-06-23 17:23:26 +04:00
naeel 9b23148c16 v1.0.159: SO_REUSEADDR + app.js via Python 2026-06-23 17:17:58 +04:00
naeel 79b6554316 v1.0.159: serve app.js via Python (nginx alias not working) 2026-06-23 17:16:23 +04:00
naeel 04ca79a489 v1.0.159: JS extracted to app.js on VM — Lucee is now HTML shell only (191 lines) 2026-06-23 17:15:03 +04:00
naeel a788e9e23d v1.0.158: fix r.OK→r.ok (Python lowercase) + add /convert-doc endpoint 2026-06-23 17:00:49 +04:00
naeel ddc0a8b42d v1.0.157: VM API /api/supplements + /api/documents — index.cfm no longer calls Lucee api.cfm 2026-06-23 16:40:19 +04:00
naeel 3a93c48907 v1.0.156: fix index.cfm — lowercase Python API keys, no parser.cfm calls 2026-06-23 16:17:31 +04:00
naeel ee374171d8 v1.0.155: VM PostgreSQL + modular db/ & services/ — Lucee stays SPA shell only 2026-06-23 16:01:26 +04:00
naeel 568758a23c v1.0.154: overwrite existing file on re-upload (same filename+contract → DELETE old before INSERT) 2026-06-23 15:34:51 +04:00
naeel 17742d51b4 v1.0.153: fix double base64 decode — chunk.cfm stores base64 string, parser.cfm decodes it 2026-06-23 15:26:51 +04:00
naeel e0d7346080 v1.0.152: bump version 2026-06-23 15:15:27 +04:00
naeel 0d266d43c2 v1.0.152: base64 chunks (parser expects base64) 2026-06-23 15:11:52 +04:00
naeel cdaee4509d v1.0.151: bump version 2026-06-23 15:01:06 +04:00
naeel f7cecc6ce3 v1.0.151: fix chunk assemble — decode hex to binary before storing 2026-06-23 12:45:12 +04:00
naeel 3c05acd338 v1.0.150: bump version + revert parser.cfm 2026-06-23 12:42:00 +04:00
naeel 2e15228160 v1.0.150: revert parser.cfm to working v1.0.144 (PDF→VM, DOCX→Lucee POI) 2026-06-23 12:37:44 +04:00
naeel 34a34ee6d7 v1.0.149: bump version 2026-06-23 12:24:52 +04:00
naeel 9351347a11 v1.0.149: VM parses PDF + stores elements_json in Lucee 2026-06-23 12:22:05 +04:00
naeel 2399b01a26 v1.0.148: PDF parsing via PyPDF2 on VM (replaces broken PDFBox on Lucee) 2026-06-23 12:18:48 +04:00
naeel 6c288b2b0e v1.0.147: bump version 2026-06-23 12:11:25 +04:00
naeel ea3299df80 v1.0.147: PDFBox — load(byte[]) instead of streams/files 2026-06-23 12:09:37 +04:00
naeel 73b647f58d v1.0.146: PDFBox — use PDFParser instead of PDDocument.load 2026-06-23 12:08:10 +04:00
naeel bf25600f56 v1.0.145: PDFBox — write to temp file, load via File 2026-06-23 12:03:46 +04:00
naeel a6c2c58948 v1.0.144: fix PDFBox — use ByteArrayInputStream for PDDocument.load + bump version 2026-06-23 12:00:38 +04:00
naeel bb44378ad8 v1.0.144: fix duplicate CORS /upload 2026-06-23 11:55:20 +04:00
naeel 064774e020 v1.0.143: chunked upload 10KB — restore after Lucee limit still ~30KB 2026-06-23 11:42:08 +04:00
naeel 800ae657f6 v1.0.142: direct upload — one piece, Lucee k8s limits increased 2026-06-23 11:33:21 +04:00
naeel 9b11b62b7f v1.0.141: verify=False + nginx 300s timeout for chunked upload 2026-06-23 10:10:02 +04:00