Commit Graph

  • d137074ed5 fix(core): ходить в CORE через sing-box — с российских адресов ключ не работает main jze9 2026-09-17 15:48:43 +05:00
  • 9123844a87 fix(ops): не хоронить источник после одного пустого прогона jze9 2026-09-16 18:34:14 +05:00
  • 263a521d63 fix(ops): перезапускать worker-indexer, когда менялись парсеры jze9 2026-09-16 18:32:11 +05:00
  • 7adccd0362 fix(core): резать выборку по архивам, а не по годам — AND в API не работает jze9 2026-09-16 18:15:38 +05:00
  • 7348051c7b chore(ci): перезапустить деплой после чистки сервера Gitea jze9 2026-09-16 17:56:43 +05:00
  • 3d4fcecbb2 feat(core): подключить CORE как источник полных текстов jze9 2026-09-16 17:05:34 +05:00
  • 20c1d00443 fix(pmc): не давать залипшему запросу съесть весь бюджет прогона jze9 2026-09-15 13:39:45 +05:00
  • 5ceec1e2e3 fix(ops): сторож не снимает живой прогон на долгом COPY jze9 2026-09-15 13:39:36 +05:00
  • d86bb606c7 fix(wikipedia): позиция — байтовое смещение, а не номер статьи jze9 2026-09-05 23:26:16 +05:00
  • d3106efeee feat(ops): заливка идёт сама — автоперезапуск порций по cron jze9 2026-09-05 21:56:48 +05:00
  • eb2dee9093 perf(ops): начинать листинг PMC после последней залитой статьи jze9 2026-09-05 21:53:07 +05:00
  • a76e46c561 feat(ops): замер качества детекции — первые честные цифры jze9 2026-09-05 20:45:59 +05:00
  • fed4b54cfc fix(ops): мониторинг под реальную топологию + проверка воркеров jze9 2026-09-05 20:43:01 +05:00
  • 26de1b9de1 refactor(ops): массовая заливка — в общий конвейер вместо отдельных скриптов jze9 2026-09-05 20:32:53 +05:00
  • 1b1ca3b7e3 fix(admin): починить панель отладки — она отдавала 500 jze9 2026-09-05 20:17:28 +05:00
  • 39951d6a0f feat(admin): показывать зависшие проверки в панели отладки jze9 2026-09-05 19:13:01 +05:00
  • f4092e5331 fix(ops): заливки переживают обрывы базы и сети jze9 2026-09-05 19:13:01 +05:00
  • 476682741e fix(L1): обрезать отпечатки равномерно по тексту, а не произвольно jze9 2026-09-05 19:13:01 +05:00
  • 9145de8e54 docs(worker-gpu): объяснить, почему параллельность воркера жёстко равна 1 jze9 2026-08-31 21:11:19 +05:00
  • 780a0a1061 fix(ops): читать дамп Википедии с диска — сетевой поток рвётся на 5.6 ГБ jze9 2026-08-31 20:54:59 +05:00
  • 06363c7401 feat(ops): заливка русской Википедии — единственный доступный источник объёма jze9 2026-08-31 20:53:10 +05:00
  • e4ca4a7150 docs: сервер эмбеддингов переехал на .1.40 + честные итоги проверок jze9 2026-08-31 17:06:41 +05:00
  • 2d38dfd1f4 feat(ops): путь к миллионам статей — массовая заливка из бакета PMC (не закончен) jze9 2026-08-28 17:58:17 +05:00
  • d7c004af76 feat(ops): углубление индексации КиберЛенинки + общий store_full_text jze9 2026-08-28 17:45:48 +05:00
  • d8630ca0f9 fix(admin): покрытие L3 мерить по индексу, а не по отметкам в базе jze9 2026-08-28 17:17:41 +05:00
  • ea62f10829 feat(admin): состояние инфраструктуры на странице отладки jze9 2026-08-28 17:00:19 +05:00
  • 4008b5019f test(admin): закрепить смысл таймингов прогона + время работы в отладке jze9 2026-08-28 16:58:42 +05:00
  • 99bf14fe6a feat(admin): честная длительность прогона + добор эмбеддингов jze9 2026-08-28 16:51:25 +05:00
  • f1a8d07cb3 fix(openalex): пауза между страницами и живой backoff — заливка тонула в 429 jze9 2026-08-27 17:54:42 +05:00
  • 78e27806b9 feat(admin): шкала загрузки источников, отладка и загрузка работ в корпус jze9 2026-08-27 17:40:23 +05:00
  • 95d2903766 docs(DR-HA): зафиксировать риск RabbitMQ consumer_timeout + Infisical failover jze9 2026-08-27 16:54:26 +05:00
  • fc40793f4d docs: актуализировать документацию (Infisical, OpenRouter, bge-m3, PMC) + чистка jze9 2026-08-27 16:51:31 +05:00
  • 6c53213103 fix(compose): опубликовать порт 8000 у api — прод отвечал 502 на все запросы jze9 2026-08-27 16:38:27 +05:00
  • c152fafa70 feat(deploy): переключить .env на проде на Infisical вместо ручного файла jze9 2026-08-27 16:25:28 +05:00
  • 1dd3f1569f fix(indexer): не превышать consumer_timeout RabbitMQ в retry-бэкоффе OpenAlex jze9 2026-08-26 20:08:16 +05:00
  • 76e221f856 fix(embeddings): не терять батч на таймауте Ollama, уменьшить пачку jze9 2026-08-26 18:37:49 +05:00
  • e05e658d81 feat(proxy): sing-box для обхода блокировки OpenRouter из РФ jze9 2026-08-26 17:37:26 +05:00
  • c156fb2b78 feat(embeddings): добавить облачный бэкенд (DeepInfra, та же bge-m3) jze9 2026-08-26 17:18:11 +05:00
  • 96a4530a93 feat(llm): переключаемый бэкенд для L4 — Ollama или OpenRouter jze9 2026-08-26 17:11:46 +05:00
  • 344f78b795 fix(openalex): ограничить retry на 429 и добавить экспоненциальный backoff jze9 2026-08-26 16:32:02 +05:00
  • 237e1767a7 feat(embeddings): переключить эмбеддинги на Ollama/bge-m3 (GPU через Vulkan) jze9 2026-08-26 15:08:30 +05:00
  • 74cbf1b8f4 fix(plagiarism): не матчить против чужих/своих же загруженных работ jze9 2026-08-25 17:42:23 +05:00
  • 43034eda33 fix(indexer): не дублировать полный текст, если он уже есть у парсера jze9 2026-08-25 16:27:21 +05:00
  • 729b41bbfb feat(corpus): добавить прикладные/техникумовские темы в русский сидинг jze9 2026-08-25 15:52:12 +05:00
  • 29301c3a4c feat(cabinet): дать пользователю самому удалять задачи из кабинета jze9 2026-08-25 15:24:46 +05:00
  • 5eac465917 fix(frontend): не прятать блок с текстом работы по умолчанию jze9 2026-08-25 15:02:46 +05:00
  • d02596cedb feat(plagiarism): показывать текст работы с подсветкой совпадений jze9 2026-08-25 14:32:16 +05:00
  • 53d0de3d71 feat(plagiarism): показывать тематически близкие источники, а не только нарушения jze9 2026-08-25 14:16:09 +05:00
  • 12eb954838 fix(indexer): возвращать месячную квоту при провале извлечения файла jze9 2026-08-24 21:32:02 +05:00
  • df2dfcc456 fix(indexer): понятная ошибка, если загруженный "PDF" на самом деле не PDF jze9 2026-08-24 18:55:24 +05:00
  • 712dc383ea fix(api): лимит одновременных задач считать по БД, не по Redis-счётчику jze9 2026-08-24 18:42:29 +05:00
  • 61c903ae0e fix(api): 500 на GET /tasks/{id} при обращении к закэшированному юзеру jze9 2026-08-24 18:31:20 +05:00
  • c76f60df69 fix(auth): логировать тело ответа при ошибке OAuth-обмена кода jze9 2026-08-24 18:21:23 +05:00
  • 9f35ae8de1 feat(auth): вход через Google и Яндекс (OAuth2 authorization code flow) jze9 2026-08-24 17:59:10 +05:00
  • 251be1d77b fix(ci): не валить джобу на неудачной уборке временного чекаута jze9 2026-08-24 17:07:46 +05:00
  • b471ec767a feat: две доработки в духе коммерческих систем — цитаты и авто-корпус jze9 2026-08-24 15:09:43 +05:00
  • 92a1ce0f57 feat(ingestion): скрипт бэкфилла full_text для CyberLeninka из OCR jze9 2026-08-24 15:09:18 +05:00
  • 2aac40ed3e feat(parsers): новый источник PubMed Central (PMC) — реальный полный текст jze9 2026-08-24 14:47:15 +05:00
  • cc87a11f07 feat(parsers): CyberLeninka full_text из OCR-фрагментов поиска (без доп. запросов) jze9 2026-08-24 14:37:12 +05:00
  • 92e23b5209 feat(ingestion): расширение охвата корпуса — 64 новые дисциплины jze9 2026-08-24 13:53:01 +05:00
  • ea5c3a962c docs: визуальная схема системы (Mermaid) — docs/DIAGRAM.md jze9 2026-08-24 13:47:45 +05:00
  • 6099ef621f fix(parsers): ленивый импорт bs4 в CyberLeninka + добавить в зависимости jze9 2026-08-12 21:10:55 +05:00
  • 9d005486df fix(parsers): починить CyberLeninka + подготовить русскую заливку корпуса jze9 2026-08-12 21:02:16 +05:00
  • e6c44f30dd docs: полное описание проекта — docs/ARCHITECTURE.md jze9 2026-08-11 20:45:23 +05:00
  • d32a07d0a8 feat(ops): DR-тест восстановления бэкапа PG + runbook HA/DR jze9 2026-08-11 20:40:03 +05:00
  • d2d99d8231 feat(obs): наблюдаемость Prometheus + Grafana под профилем observability jze9 2026-08-11 20:37:47 +05:00
  • 012b17304f feat(gpu): Qdrant как векторный бэкенд под флагом — снимает SPOF FAISS jze9 2026-08-11 20:34:43 +05:00
  • 37ee18ac55 docs(readme): секция «Тестирование и качество» + фикс устаревших фактов jze9 2026-08-11 20:22:45 +05:00
  • ccc3521e74 refactor(gost): вынести сборку списка литературы в app.bibliography + 7 тестов jze9 2026-08-11 20:20:01 +05:00
  • b2d2061a83 refactor(indexer): вынести разбиение на фрагменты в app.fragments + 5 тестов jze9 2026-08-11 20:17:33 +05:00
  • 4c15f11efa refactor(gpu): вынести скоринг плагиата в чистый app.scoring + 8 тестов jze9 2026-08-11 20:13:27 +05:00
  • 426796a9a7 test(gpu): покрыть L4 OllamaClient (парсинг парафраза, 12 тестов) jze9 2026-08-11 20:10:34 +05:00
  • e79f254af6 chore(lint): добавить mypy в CI-гейт — старт градуальной типизации jze9 2026-08-11 20:07:44 +05:00
  • 2daaa8c8a4 chore(lint): ruff-гейт в CI + фиксы (0 находок) — блокирует кривой деплой jze9 2026-08-11 17:20:24 +05:00
  • ecc10a4413 test: юнит-суит L1/L2/L3 + ГОСТ (41 тест) и гейт в CI перед деплоем jze9 2026-08-11 17:11:08 +05:00
  • a2d3625f2a refactor(gpu): убрать мёртвый _reverse_map/_use_gpu из FAISSManager jze9 2026-08-11 16:57:03 +05:00
  • e328236d0f fix(ci): pip через Tsinghua-зеркало во всех Dockerfile — надёжные сборки jze9 2026-08-07 16:46:08 +05:00
  • 52e5550f91 fix(indexer): гонка дублей ext_id (IntegrityError→duplicate) + откат Dockerfile jze9 2026-08-07 16:05:42 +05:00
  • c4596f2c3a fix(ci): устойчивость сборки worker-indexer к медленному/флоки pypi jze9 2026-08-07 15:13:37 +05:00
  • 9b7becf4d1 feat(ingest): is_oa-фильтр OpenAlex + PDF-ссылка arXiv → покрытие full-text ↑ jze9 2026-08-07 15:04:03 +05:00
  • 61b2275972 fix: гонка dispatch-before-commit (search/plagiarism) + detached user в notify jze9 2026-07-30 13:04:49 +05:00
  • 8dc51a4f65 ci: пересобирать только изменённые сервисы + полный клон для diff jze9 2026-07-29 13:34:30 +05:00
  • 34fa495fb1 ci: авто-деплой в прод через Gitea Actions (push в main) jze9 2026-07-29 13:23:04 +05:00
  • b0e1eadcbb feat(indexer): MinHash LSH (уровень 2) в общем Redis вместо памяти jze9 2026-07-29 13:09:51 +05:00
  • f1c1530cea fix(frontend): убрать неиспользуемый импорт React в Settings jze9 2026-07-27 13:40:49 +05:00
  • 5cbc1e127b feat(profile): редактирование персональных данных и смена пароля jze9 2026-07-27 13:22:05 +05:00
  • 3af79e9d03 fix(auth): сбрасывать Redis-кэш пользователя после подтверждения email jze9 2026-07-27 12:22:37 +05:00
  • 673e72a15a feat(infra): переход прод/test на общую инфраструктуру вместо self-hosted jze9 2026-07-27 12:22:36 +05:00
  • 25e55a3f7d fix(detection): пофрагментная локализация уровня 1 + полное хранение отпечатков jze9 2026-07-23 19:57:05 +05:00
  • ef2723e1d3 feat(indexer): скачивание полного текста статей + батчинг эмбеддингов jze9 2026-07-23 19:42:02 +05:00
  • 38b000703a fix(gpu): рабочий FAISS-индекс вместо необучаемого IVFFlat jze9 2026-07-23 19:28:34 +05:00
  • 9ca2bd1742 fix(notifier): маппинг input_data в модели Task для уведомлений о завершении jze9 2026-07-23 19:16:13 +05:00
  • c1cf1ddd2f feat(auth): подтверждение email + актуализация SMTP/Ollama конфигов jze9 2026-07-23 18:37:22 +05:00
  • 9894fa9320 feat: админ-панель, лицензия, тестовый стек на распределённой инфраструктуре jze9 2026-05-30 20:45:53 +05:00
  • 9ee5ccdc3f chore: remove obsolete version field from compose files jze9 2026-05-25 00:16:14 +05:00
  • c1bfb5f40e fix(api): security, caching, atomic rate limits, url obfuscation jze9 2026-05-24 19:51:51 +05:00
  • 7758315632 feat: initial microservices project structure jze9 2026-05-24 19:42:39 +05:00