Commit Graph
100 Commits
Author SHA1 Message Date
“Naeel” f9745e5c6b Document comparison review findings
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-27 11:24:32 +03:00
“Naeel” 811be85efe Fix comparison pipeline event and transaction handling 2026-08-27 11:23:14 +03:00
“Naeel” e5c7c88073 Avoid false garbage classification for UPD mentions
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-27 10:44:48 +03:00
“Naeel” 475efefb40 Preserve ZIP source during upload
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-27 09:45:54 +03:00
“Naeel” 65939984c3 Fix classification progress for garbage documents
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-27 08:29:59 +03:00
“Naeel” 98e18b0135 chore: v2.0.17 во фронте (заголовок + ?v= кэш-бастеры)
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 20:59:10 +03:00
“Naeel” 36144334a3 chore: bump v2.0.17 (чистка legacy-upload)
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 20:54:04 +03:00
“Naeel” c4997b06d3 test: stress_http переписан на реальный VM-путь (PUT на ВМ → /api/upload_refs) 2026-08-26 20:51:39 +03:00
“Naeel” 533aa99592 docs: History — чистка legacy-upload + сводка сессии 2026-08-26 2026-08-26 20:49:24 +03:00
“Naeel” aa585220fc refactor: удалён мёртвый legacy-код загрузки напрямую (/upload, /unzip-upload, _check_ext, _unzip, ALLOWED, константы фронта); загрузка только через ВМ (/api/upload_refs) 2026-08-26 20:47:41 +03:00
“Naeel” 08e8e3afec test: stress_http --file (реальные файлы); History: 100KB прямой POST — 83% таймаутов (шлюз рвёт >64KB), 30KB реальный — 200/200 ok 2026-08-26 20:35:48 +03:00
“Naeel” 6fcbbddbdb test: LOAD_THREADS 4 (стабильно, = MAX_WORKERS); полный прогон: not-load 102 passed, load 3 passed 2026-08-26 20:14:43 +03:00
“Naeel” 08f7e3f98e test: дефолт LOAD_THREADS 16→8 (стабильный прогон) + History: database is locked при 16 писателях (предел конфигурации) 2026-08-26 17:12:26 +03:00
“Naeel” b7d60e1d93 test: нагрузочные/стресс-тесты (маркер load): массовый pipeline, apply_ops, конкуренция, HTTP-стресс 2026-08-26 17:03:45 +03:00
“Naeel” 3b259cf160 test: README для tests/ + фикс теста test_boolean (BOOLEAN NOT NULL); 102 passed 2026-08-26 16:50:01 +03:00
“Naeel” 8f8fabf959 test: набор pytest-тестов под site/ (unit + интеграционные + безопасность) 2026-08-26 16:47:30 +03:00
“Naeel” 9a8ae0a5a3 test: удалены устаревшие тесты deploy/tests (ссылались на старую compare/-архитектуру) 2026-08-26 16:36:52 +03:00
“Naeel” 87524c54a4 docs: код-ревью (2026-08-26) + задания Sonnet по архитектуре (v2.0.16)
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 16:29:41 +03:00
“Naeel” 021c925e3c fix: full_replace очищает spec_current (не дублирует строки) + clear_current; v2.0.16
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 16:25:23 +03:00
“Naeel” e3f5581712 v2.0.15: фиксы по ревью Соннета (10 находок)
Deploy contracts-flask / validate (push) Canceled after 0s
- #1 process.py: target_id→target_hash (UPDATE/DELETE больше не UNRESOLVED)
- #2 Dockerfile: COPY upload
- #3 prompts.py: убран created_by из SELECT
- #4 prompts_bp.py: save_new_version/delete_prompt
- #5 llm.py/classify.py: LLM-конфиг из config.py
- #6/#7 compare.js: escHtml (XSS)
- #8-#10: комментарии + мёртвый gen_random_uuid
2026-08-26 15:59:21 +03:00
“Naeel” ebdab731ff v2.0.14: .doc→.docx в sink + зачистка мёртвого кода
Deploy contracts-flask / validate (push) Canceled after 0s
- contracts_upload_sink: конвертация .doc через внешний сервис (фронт грузит напрямую)
- удалены: convertDoc/addZipFile/addRegularFile (фронт), /convert-doc,/api/convert_refs,/api/unzip_refs, _pull_from_ref и хелперы pull (бэк)
2026-08-26 13:54:07 +03:00
“Naeel” 5b49e88f1e v2.0.14: этап 4 — .doc→.docx в sink, удалены /api/unzip_refs и /api/convert_refs
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 11:40:03 +03:00
“Naeel” d2894ad7c5 v2.0.13: этап 3 — выбор папок + рекурсивный клиентский ZIP
Deploy contracts-flask / validate (push) Canceled after 0s
- pages_bp: route /upload/<path> отдаёт ES-модули upload/frontend
- index.html: инпут папки (webkitdirectory) + мост listZipFiles
- files.js: expandZipClient (рекурсивный ZIP через drhider listZipFiles)
- app.js: обработчик выбора папки (фильтр .pdf/.doc/.docx/.zip)
2026-08-26 08:40:19 +03:00
“Naeel” c2344f9738 bump 2.0.12 (этап 2: модуль upload через sink)
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-26 08:15:48 +03:00
“Naeel” db58a433fb этап 2: переиспользуемый модуль upload (sink) вместо рукописного транспорта
- копирую модуль upload/ из drhider (слои 1-2)
- blueprint: параметр sink (drhider-сессия по умолчанию, сверка — DB+парсинг)
- upload_bp: contracts_upload_sink = _store_and_parse
- routes: регистрирую create_upload_refs_blueprint(cfg, sink=...)
- app.py: корень репо в sys.path (для import upload)
- History: план переиспользования + ревью Соннета
2026-08-26 08:07:43 +03:00
“Naeel” 55bd7a027d v2.0.11: вся загрузка через ВМ-буфер (ZIP + .doc)
Deploy contracts-flask / validate (push) Canceled after 0s
- /api/unzip_refs: pull ZIP с ВМ + распаковка
- /api/convert_refs: pull .doc с ВМ + конвертация в .docx
- convertDoc/addZipFile: PUT на ВМ вместо прямого multipart
2026-08-24 22:08:01 +03:00
“Naeel” 37ea5e2c31 v2.0.10: nginx /contracts-upload/ на alias + CORS как у drhider
Deploy contracts-flask / validate (push) Canceled after 0s
2026-08-24 21:51:48 +03:00
“Naeel” 78045f2c81 v2.0.10: загрузка через ВМ-буфер (паттерн drhider)
Deploy contracts-flask / validate (push) Canceled after 0s
- /api/upload_refs: pull файлов с ВМ (SSRF-guard, лимит 50МБ, ретраи, DELETE)
- uploadFile: PUT на WebDAV /contracts-upload/ → refs → pull
- nginx: location /contracts-upload/ (WebDAV + CORS для managed-фронта)
2026-08-24 21:45:46 +03:00
“Naeel” 956aed0971 v2.0.9: правильные лого и фавикон из design/ 2026-07-16 10:58:09 +04:00
“Naeel” 3b2e576284 v2.0.9: фавикон nubes.ru (U-арка) 2026-07-16 10:56:58 +04:00
“Naeel” de05d746cc v2.0.8: конвертация .doc → .docx через convert-service перед upload 2026-07-16 10:42:21 +04:00
“Naeel” c677206d03 v2.0.7: .doc в accept и подсказке 2026-07-16 10:29:14 +04:00
“Naeel” d1415d5d21 v2.0.6: convert-service интеграция 2026-07-16 10:20:44 +04:00
“Naeel” 5d8bcd61ea v2.0.5: интеграция с convert-service (HTTP вместо subprocess libreoffice) 2026-07-16 10:18:17 +04:00
“Naeel” 6334ca2e3e v2.0.5: заголовок страницы 2026-07-16 09:07:59 +04:00
“Naeel” 58bc80371d v2.0.5: вернуть версию 2.0.5 2026-07-16 09:05:50 +04:00
“Naeel” a15c3e8e94 v2.0.4: вернуть версию (честный счётчик загрузки) 2026-07-16 09:04:47 +04:00
“Naeel” f4bae5a6b9 v2.0.5: честный счётчик соединение... Nс вместо фейкового ↑N% при upload 2026-07-16 09:02:56 +04:00
“Naeel” 4f9bee4c1e v2.0.4 2026-07-16 08:30:35 +04:00
“Naeel” 2d5606d6d7 fix: check_arithmetic(ops) — was passing contract_id (string) instead of ops list 2026-07-16 08:29:33 +04:00
“Naeel” cc3a53a229 fix: spec_events.py — from compare.metrics → from services.metrics 2026-07-16 08:28:47 +04:00
“Naeel” 1bd62a51ef v2.0.3 — bump version 2026-07-16 08:23:18 +04:00
“Naeel” 2fd5f2944f fix: spec_events schema — add seq,action,target_hash,new_values,comment,status columns 2026-07-16 08:22:04 +04:00
“Naeel” b5d97bdd98 docs: НЕ МЕНЯТЬ комментарии в files.js — загрузка проверена в бою 2026-07-16 08:20:16 +04:00
“Naeel” ae8f6819fc fix: bust JS cache — version query string 1.0.179→2.0.2 2026-07-16 08:16:23 +04:00
“Naeel” 04cb3f5bfe fix: process.py — use apply_ops() instead of phantom add_row/update_row/delete_row 2026-07-16 08:09:29 +04:00
“Naeel” e4c010acd3 fix: all rows visible immediately, then upload one by one 2026-07-16 07:51:42 +04:00
“Naeel” b8340a0637 v2.0.2: fix SQLite — UUID in all INSERTs, now()→datetime, ::jsonb cleanup 2026-07-16 07:29:51 +04:00
“Naeel” 9e22182f9a v2.0.1: XHR→fetch, no .doc, progress restore, bump version 2026-07-16 07:20:28 +04:00
“Naeel” abedffe4d0 fix: restore upload progress display — fake % via setInterval, fetch() for no RST 2026-07-16 07:16:31 +04:00
“Naeel” 11015fd55b fix: remove .doc support — libreoffice unavailable on Штурвал 2026-07-16 07:01:44 +04:00
“Naeel” ea92730bd8 fix: XHR → fetch() for upload — drhider v0.0.29 fix for ERR_CONNECTION_RESET 2026-07-16 07:00:52 +04:00
“Naeel” d8d53661d9 fix: remove http2=True — h2 package not installed on Штурвал 2026-07-15 12:13:08 +04:00
“Naeel” 49dd873db3 fix: warmup fetch('/health') on page load — prevents first-upload RST 2026-07-15 11:57:03 +04:00
“Naeel” 32660d2590 fix: add app.run() — script was creating app then exiting 2026-07-15 11:46:23 +04:00
“Naeel” f176ddad71 fix: spec_events.py — get_pool → get_conn, remove FOR UPDATE 2026-07-15 11:43:01 +04:00
“Naeel” aafb038921 fix: db/*.py imports — from db.connection, not just connection 2026-07-15 11:40:59 +04:00
“Naeel” f9669755cd fix: direct imports (no site. prefix, no relative) — works with python site/app.py 2026-07-15 11:37:57 +04:00
“Naeel” 15137f8e94 fix: all imports → relative (from .xxx) — no stdlib site conflict 2026-07-15 11:32:49 +04:00
“Naeel” 85a958e2aa fix: sys.path insert + del sys.modules — stronger site conflict workaround 2026-07-15 11:29:57 +04:00
“Naeel” 0e8a8eef66 fix: del sys.modules['site'] — stdlib conflict workaround 2026-07-15 11:27:07 +04:00
“Naeel” cd77e7d709 fix: site/ with __init__.py — proper Python package, no stdlib conflict 2026-07-15 11:23:13 +04:00
“Naeel” 81aba97304 fix: site/ → src/ (stdlib conflict — site is built-in Python module) 2026-07-15 11:16:42 +04:00
“Naeel” a7b53fde19 feat: PostgreSQL → SQLite — thread-local, WAL, session-key, os.remove cleanup 2026-07-15 10:56:42 +04:00
“Naeel” 96718fc065 revert: app/ → site/ (drhider proves site/ works fine) 2026-07-14 22:56:19 +04:00
“Naeel” 38547404f5 fix: add /chat and /chat.cfm endpoint (was missing) 2026-07-14 22:33:13 +04:00
“Naeel” 8f688215cc Steps 3-8: config, blueprints (upload/pipeline/api/prompts/health/pages), new app.py (no VM proxy), process.py adapted to generator, VM_API='' 2026-07-14 22:30:58 +04:00
“Naeel” e635cb855a Step 2: copy compare/ services to app/services/ with fixed imports 2026-07-14 22:27:30 +04:00
“Naeel” fc08db0c76 Step 1: copy db/ modules + llm_prompt.py to app/ 2026-07-14 22:25:38 +04:00
“Naeel” 976e59b496 Step 0: rename site/ → app/ (Python stdlib conflict fix) 2026-07-14 22:24:24 +04:00
“Naeel” ca7b70fe41 fix: drhider modal header sticky (v1.15) 2026-07-07 17:01:40 +04:00
“Naeel” 16ef92fc74 fix: drhider help — pdfplumber not LibreOffice (v1.14) 2026-07-07 16:59:49 +04:00
“Naeel” 819193c6ad fix: drhider PDF indicator short (*.docx) v1.13 2026-07-07 16:43:47 +04:00
“Naeel” f68597f680 fix: drhider PDF→DOCX via pdfplumber (LibreOffice cant do it) v1.12 2026-07-07 16:37:36 +04:00
“Naeel” 88b63733b1 fix: drhider sticky header (v1.11) 2026-07-07 16:27:48 +04:00
“Naeel” 42855fe9b3 feat: drhider PDF→DOCX indicator in file list (v1.10) 2026-07-07 16:23:57 +04:00
“Naeel” 211f391c6c feat: drhider PDF→DOCX conversion (LibreOffice), collision dialog (v1.9) 2026-07-07 16:14:00 +04:00
“Naeel” e128b2614a fix: drhider multipart UTF-8 filename decode (v1.8) 2026-07-07 15:50:43 +04:00
“Naeel” 54be17dad5 fix: drhider _build_zip — ZipInfo UTF-8 flag for Cyrillic filenames (v1.7) 2026-07-07 15:34:36 +04:00
“Naeel” 78c5503cfd chore: bump drhider v1.5→v1.6, contracts v1.0.192→v1.0.193 2026-07-07 15:26:07 +04:00
“Naeel” 7008ed751c fix: drhider _checksum_inn12 (IndexError), revert broken _build_zip 2026-07-07 15:24:15 +04:00
“Naeel” e4e950ea18 fix: drhider _checksum_inn12 — compute n1 before s2 (IndexError fix) 2026-07-07 15:20:50 +04:00
“Naeel” aeca68340a fix: drhider _build_zip metadata_encoding=utf-8 (Cyrillic filenames) 2026-07-07 15:17:20 +04:00
“Naeel” b8a45096b7 docs: architecture diagram 2026-06-30 13:44:22 +04:00
“Naeel” db24c438c6 feat: testgen pipeline tests — generate → parse → textify → prompt (20 tests) 2026-06-30 13:40:19 +04:00
“Naeel” d17baa767c fix: audit — json try/except, ZIP-bomb drhider, classify reset only processing 2026-06-30 11:25:29 +04:00
“Naeel” 8deebc7ac4 fix: DB_NAME=baza, classify_status DEFAULT pending 2026-06-30 10:42:14 +04:00
“Naeel” 3176436b64 fix: missing columns migration (classify_status, doc_type, etc.) 2026-06-30 10:33:51 +04:00
“Naeel” 87e68bd9b1 fix: batch_id migration + nginx 8777→8766 2026-06-30 10:32:22 +04:00
“Naeel” ae64913c00 refactor: services/ → compare/ + drhider/ (разделение Сверки и Хайдера) 2026-06-30 10:08:25 +04:00
“Naeel” 5466b6df7f fix: DrHider на contractor.pythonk8s.services.ngcloud.ru/drhider, ссылка на сверку 2026-06-29 19:24:29 +04:00
“Naeel” 645d9b2c09 fix: UTF-8 BOM в mapping.csv — Excel больше не кракозябрит 2026-06-29 19:11:35 +04:00
“Naeel” 8699334c9c fix: китайский иероглиф → "более длинных" 2026-06-29 19:08:17 +04:00
“Naeel” c2f58a7e7c feat: ? справка — модальное окно с описанием сервиса (v1.4) 2026-06-29 19:01:04 +04:00
“Naeel” cb9eab38af fix: M2 word boundaries + L2 sorted_keys once (Opus review) 2026-06-29 18:57:52 +04:00
“Naeel” 64a45a18bf fix: Opus review — C1 path traversal, H1 MAX_BODY, H2 dedup, M1 passport, M3+L1 versions+imports 2026-06-29 18:52:40 +04:00
“Naeel” de66eb9b1e fix: drhider standalone server port 8767, inline SVG, DB try/except 2026-06-29 18:39:35 +04:00
“Naeel” 78f0e4d269 fix: phone negative lookbehind, docx runs guard, 15 tests 2026-06-29 18:26:54 +04:00
“Naeel” 2ebdaad2aa test: DrHider comparison test — 12/13 PASS (address needs LLM) 2026-06-29 18:19:17 +04:00
“Naeel” 091f1fbaa8 fix: phone \b boundaries, kor/sch regex 2026-06-29 18:17:06 +04:00