admins
1ce11155f0
docs(pitch): отчётная презентация дня 1 на /day1
...
- pitch/day1/ — reveal-дека: стек, решения, готовность по ТЗ, результаты
- развёрнута: https://med.secondbrain.tools/day1/ (маршрут /day1 в Caddy)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 17:56:03 +05:00
admins
3d7b12d63d
deploy: система живая на med.secondbrain.tools + актуальный README
...
- infra/deploy/ — реальный compose (API-контейнер за Caddy) + Caddyfile
- docs/quality_report.json — отчёт: 8871 позиций, 73.9% автонормализации
- README переписан под факт: стек, результаты, запуск (ru-text 8.6)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 17:47:28 +05:00
admins
787092dc02
fix(api): сравнение — одна строка на клинику с показательной ценой
...
Проверено end-to-end на реальной БД: 8871 позиций, 73.9% автонормализации,
живое сравнение цен по клиникам во фронте.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 17:37:33 +05:00
admins
985faadf36
feat: конвейер ingest→SQLite, API на БД, фронт сравнения цен
...
- etl/pipeline.py — extract→normalize→validate→SQLite, дедуп партнёров, версии цен, отчёт качества
- api/main.py — 7 эндпоинтов на SQLite; ядро /services/{id}/partners (сравнение)
- web/index.html — одностраничный фронт (палитра Nomad): поиск, сравнение, дашборд, unmatched
- загрузчик справочника: уникальный service_id
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 17:30:10 +05:00
admins
1de66eaa85
feat(etl): нормализация на Gemini-эмбеддингах (API), Vision подключён
...
- эмбеддинги переведены с локального torch на Gemini API (лёгкий контейнер)
GeminiEmbedder: gemini-embedding-001, 768d, RETRIEVAL query/document
- фильтр настоящих названий: коды/числа не уходят в сопоставление
- порог косинуса 0.70 → ~73% автонормализации (цель ТЗ ≥70%), остальное в unmatched
- Vision (gemini-2.5-flash, новый SDK) подключён в диспетчер для скан/нулевых PDF;
проверено: Клиника 5 — 34 чистые позиции со страницы
- зависимости: убран torch/sentence-transformers, добавлен google-genai+numpy
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 17:17:06 +05:00
admins
14462e8c10
feat(etl): нормализация (каскад), валидация (8 правил), Vision-fallback
...
- etl/normalize/matcher.py — каскад код→точное→эмбеддинги→fuzzy→unmatched
- etl/validate/rules.py — правила ТЗ §4.4; проверено: 15588 done / 11 needs_review
- etl/extractors/vision.py — Gemini Vision для битых/нестандартных PDF
- замер % автонормализации — после установки модели эмбеддингов
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 16:46:18 +05:00
admins
efae54fbad
feat(etl): извлечение по форматам (агент B) — docx/xlsx/xls/pdf
...
- единый грид-экстрактор: поиск шапки, роли колонок, секции, N тарифов
- отсев колонок-индексов и не-цен; название по доле кириллицы
- PDF: реконструкция таблицы по координатам слов (нет линий → extract_tables пуст)
- детектор битого текстового слоя → пометка scan_pdf для Vision
- проверено на реальном архиве: 6/8 клиник нативно, 15599 позиций; 2 файла → Vision
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 15:40:27 +05:00
admins
a6a6609c48
feat: Фаза 0 — каркас, контракты, загрузчик справочника
...
- db/migrations/001_init.sql — схема (4 сущности, prices jsonb, pgvector/pg_trgm)
- contracts/models.py — общие модели (RawRow, ParsedDocument, MatchResult, *Out)
- etl/dictionary.py — загрузчик справочника (1281 услуга, нормализация)
- api/main.py — FastAPI: 7 эндпоинтов ТЗ + /stats (контракт)
- infra/ — docker-compose (pg+pgvector, api, web), Caddyfile
- scripts/proof/phase0_proof.py — проверка каскада на реальных данных (35% без эмбеддингов)
- data/ в .gitignore: данные клиник в публичный репо не коммитятся
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 15:23:06 +05:00
admins
f35957a31e
docs: план реализации MedArchive, заземлённый на реальный датасет
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 14:59:04 +05:00
admins
39b45567a1
chore: убрать имя заказчика из артефактов + правки деки
...
- вычищен бренд из деки/дизайна/README/outline (нейтральные --brand токены)
- слайд 1: «на разных языках» вместо «на казахском»
- убрана лишняя угловая плашка в презентации
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 13:21:18 +05:00
admins
1e2ce2caf7
feat(pitch): reveal.js презентация на /demo (палитра Nomad, 7 слайдов)
...
- pitch/deck/index.html — колода reveal.js (fullscreen F, листание, speaker view S)
- pitch/deck/fetch-reveal.sh — вендоринг reveal локально (offline-proof)
- развёрнуто: https://med.secondbrain.tools/demo
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 13:12:29 +05:00
admins
062ff5fc11
feat(pre-flight): канон-справочник + golden-нормализация, дизайн Nomad, питч
...
- contracts/service_canon.json — 15 канонов медуслуг RU/KZ/EN + синонимы
- fixtures/normalized/golden.json — 52 эталонные строки (оракул TDD)
- design/ — tailwind-токены + shadcn-тема Nomad
- pitch/ — структура слайдов + демо-сценарий
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 13:03:08 +05:00
admins
fa2fbc59b0
chore: seed repo — README, .gitignore, synthetic price fixtures (6 форматов)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-26 12:53:04 +05:00