AAYMA
RU
Войти

Delphi

Помощник для проверки реорганизации: сравнивает комплекты документов оргструктуры «До/После», показывает переданные, потерянные и пересекающиеся…

Рабочий MVP
Команда «Delphi» 8💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: Delphi
Кейс HackAlem.ai: Спецтрек — Казахтелеком
Стадия: Рабочий MVP

Задача кейса: Агент, сравнивающий документы оргструктуры до и после реорганизации

Суть

Помощник для проверки реорганизации: сравнивает комплекты документов оргструктуры «До/После», показывает переданные, потерянные и пересекающиеся обязанности со ссылками на исходные пункты. Есть ручная проверка находок и экспорт отчёта.

Как устроено

Парсеры DOCX, PDF, XLSX и Markdown режут документы на исходные блоки (в демо 966 блоков редакций 8 и 9). Ограниченный агент на OpenAI делает этапы extraction → structure → matching → missing → validation и связывает каждую находку с цитатами-доказательствами. Результаты, прогоны с чекпоинтами и решения рецензента хранятся в PostgreSQL через Alembic. Frontend на Next.js подключён через сгенерированный HeyAPI-клиент, есть очередь ручной проверки с пословным diff и переводом RU/KK/EN. Для типовых случаев (transfer, missing, overlap, conflict) собраны синтетические эталонные фикстуры.

Ключевые решения

  • document block parsing
  • clause matching
  • evidence linking
  • word-level diff
  • run checkpoints
  • human-in-the-loop review
  • agent cost tracking

Особенности

Каждая находка привязана к исходному пункту документа. Очередь ручной проверки показывает пословную разницу между парными пунктами. Синтетические эталонные кейсы покрывают передачу, пропажу, пересечение и конфликт обязанностей. Отдельный модуль agent_costs считает стоимость вызовов LLM.

Стек

Python · FastAPI · PostgreSQL · Alembic · uv · Next.js · TypeScript · HeyAPI · Better Auth · Playwright · Docker Compose

Модели

OpenAI API (OPENAI_MODEL)


Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-c49fe1b9-delphi.

README

README.md

Delphi

Помощник для проверки реорганизации: сравнивает документы «До / После», показывает изменения обязанностей и связывает выводы с исходными пунктами.

Статус: backend FastAPI/PostgreSQL подключён к frontend Next.js через сгенерированный HeyAPI-клиент и защищённый proxy. Реализованы вход/регистрация, история, загрузка комплектов, просмотр источников, экран результатов, ручная проверка, экспорт и уведомления; UI поддерживает RU/KK/EN. Миграции, заполнение БД, HTTP-сценарии, lint, typecheck и production build проверены. Прошли 10 Playwright-тестов и 10 тестов генератора отчёта; результаты AI пока проверены только через синтетические UI fixtures. Браузерный отчёт: 18 состояний страниц со скриншотами.

Для локальной проверки из backend/, после установки зависимостей через uv sync --frozen:

uv run ruff check app scripts migrations tests
uv run pytest -q
uv run --no-sync python scripts/export_openapi.py

Эти offline-проверки не доказывают качество семантического сравнения. Демонстрационная пара — исходные DOCX редакций 8/9; в локальную БД загружены оба файла и 966 исходных блоков. Вход обеспечивает Better Auth в отдельной БД, рабочая область backend общая. Сканы без OCR и отсутствующие приложения остаются ограничениями.

Локальный UI: http://localhost:3000. Демо-вход: [email protected] / password123; остальные учётные записи и воспроизводимый запуск — в frontend/README.md. Для анализа и перевода нужны OPENAI_API_KEY и OPENAI_MODEL в backend; без них доступны история и подготовка документов, а UI показывает ограничение.

Правила для coding-агентов — в AGENTS.md.

Звёзды
⭐ 0
Форки
0
Язык
Python
Последний push
в прошлом месяце
Коммиты
55
Авторы
5
Файлы
518
Ветки
11

Авторы коммитов

Нурдаулет Жумалиев 34Faizullin 7intellightkz 5Ra1-dev 5Faizullin 4

История коммитов

  • 2026-09-23 17:57docs: showcase published Delphi landing with screenshotsНурдаулет Жумалиев
  • 2026-09-23 17:56Enhance document agent and translation prompts; add comprehensive semantic testsFaizullin
  • 2026-09-23 17:54feat(landing): prepare standalone Vercel publicationНурдаулет Жумалиев
  • 2026-09-23 17:52Merge remote-tracking branch 'origin/main' into codex-landingНурдаулет Жумалиев
  • 2026-09-23 17:52chore(landing): preserve latest shared application unchangedНурдаулет Жумалиев
  • 2026-09-23 17:51chore(landing): sync product screenshots and deployment configНурдаулет Жумалиев
  • 2026-09-23 17:51Merge pull request #10 from BAITC-Hacks/nurdaulet-readme-landingintellightkz
  • 2026-09-23 17:51docs: jury path starts at the landing page (/), history moved to /historyНурдаулет Жумалиев
Все коммиты (55)
  • 2026-09-23 17:50Merge pull request #8 from BAITC-Hacks/codex-landingintellightkz
  • 2026-09-23 17:47feat(landing): isolate site and add verified product screensНурдаулет Жумалиев
  • 2026-09-23 17:45Merge pull request #6 from BAITC-Hacks/nurdaulet-readmeintellightkz
  • 2026-09-23 17:45Merge pull request #7 from BAITC-Hacks/nurdaulet-demo-finalintellightkz
  • 2026-09-23 17:45Merge pull request #9 from BAITC-Hacks/nurdaulet-vercelintellightkz
  • 2026-09-23 17:44docs: README — deployed demo link (Vercel)Нурдаулет Жумалиев
  • 2026-09-23 17:43chore(demo): Vercel config with SPA fallback for demo-frontendНурдаулет Жумалиев
  • 2026-09-23 17:35feat(ui): add guided Delphi landing pageНурдаулет Жумалиев
  • 2026-09-23 17:32docs: README section on originality and development potential (case criterion)Нурдаулет Жумалиев
  • 2026-09-23 17:29docs(demo): refresh screenshots after the QA fixesНурдаулет Жумалиев
  • 2026-09-23 17:25docs: README by the organizers' 11-point prompt, mapped to the case must-havesНурдаулет Жумалиев
  • 2026-09-23 17:25Merge pull request #5 from BAITC-Hacks/nurdaulet-demo-finalFaizullin
  • 2026-09-23 17:24fix(demo): resolve review and evidence QA findingsНурдаулет Жумалиев
  • 2026-09-23 17:19Complete Delphi lab agent stages and consolidate feedbackRa1-dev
  • 2026-09-23 17:18feat(demo): word-level differences between the paired clauses in the review queueНурдаулет Жумалиев
  • 2026-09-23 17:17docs(demo): 90-second demo script and screenshots; label the example traceНурдаулет Жумалиев
  • 2026-09-23 17:07fix(demo): empty function map for risk-only examples; design links after the moveНурдаулет Жумалиев
  • 2026-09-23 17:07Merge remote-tracking branch 'origin/main' into nurdaulet-review-queueНурдаулет Жумалиев
  • 2026-09-23 17:05feat(demo): add four synthetic reference casesНурдаулет Жумалиев
  • 2026-09-23 17:04feat(demo): clickable summary tiles; README demo path and decisions logНурдаулет Жумалиев
  • 2026-09-23 17:03feat(demo): self-contained demo on saved examples, no backend (team decision)Нурдаулет Жумалиев
  • 2026-09-23 16:57feat(ui): review queue on the new evidence contract, entry from resultsНурдаулет Жумалиев
  • 2026-09-23 16:55feat(ui): review queue — questions left, change and quotes right, decision bottomНурдаулет Жумалиев
  • 2026-09-23 16:54fix(frontend): preserve complete evidence and review decisionsНурдаулет Жумалиев
  • 2026-09-23 16:53Merge pull request #4 from BAITC-Hacks/rauan-labfeaturesFaizullin
  • 2026-09-23 16:53Enhance validation and testing for budget recovery and parser functionalityRa1-dev
  • 2026-09-23 16:51feat: add UI report generation and testing frameworkFaizullin
  • 2026-09-23 16:28docs(frontend): agent rules in demo-frontend/AGENTS.md and a Figma kickoff promptНурдаулет Жумалиев
  • 2026-09-23 16:23Merge pull request #3 from BAITC-Hacks/rauan-labfeaturesFaizullin
  • 2026-09-23 16:22Add initial implementation of Delphi bounded document agent and translation functionalityRa1-dev
  • 2026-09-23 16:20docs: keep frontend decisions inside demo-frontendНурдаулет Жумалиев
  • 2026-09-23 16:17docs: frontend ↔ backend contract, scenario statuses, historyНурдаулет Жумалиев
  • 2026-09-23 16:16fix(frontend): Russian run errors, separate retry error on progress screenНурдаулет Жумалиев
  • 2026-09-23 16:15Merge branch 'main' of https://github.com/BAITC-Hacks/hack-c49fe1b9-delphiRa1-dev
  • 2026-09-23 16:15feat(frontend): human review of findings (scenarios H1–H5)Нурдаулет Жумалиев
  • 2026-09-23 16:12fix(frontend): overlap risk sides, Russian plurals, function summariesНурдаулет Жумалиев
  • 2026-09-23 16:04feat(frontend): connect demo-frontend to the backend's granular APIНурдаулет Жумалиев
  • 2026-09-23 15:56fix(frontend): track demo-frontend/src/lib ignored by Python lib/ ruleНурдаулет Жумалиев
  • 2026-09-23 15:51Merge pull request #1 from BAITC-Hacks/nurdaulet-design-features-updateFaizullin
  • 2026-09-23 15:49chore: frontend → demo-frontend, журнал истории, handoff под реальный APIНурдаулет Жумалиев
  • 2026-09-23 15:41Add UI capture reports for Kazakhtelecom and OpenDocuments referencesFaizullin
  • 2026-09-23 15:41feat(ui): frontend Delphi — экраны, дизайн-система, офлайн-демоNurdaulet
  • 2026-09-23 15:40fix(backend): expose search evidence and preserve reviewer notesFaizullin
  • 2026-09-23 15:40docs: summarize Delphi progress and document analysisRa1-dev
  • 2026-09-23 15:21Backned- base- imeplemntations and plans updates. Refactor code structure for improved readability and maintainabilityFaizullin
  • 2026-09-23 14:44docs: consolidate Delphi MVP plan and evidence architectureFaizullin
  • 2026-09-23 13:49Add initial documentation files for handoff, history, and roadmapFaizullin
Структура репозитория (518 файлов)
.gitignore
AGENTS.md
README.md
agent_costs/.gitignore
agent_costs/README.md
agent_costs/__init__.py
agent_costs/__main__.py
agent_costs/cost_tracker.py
agent_costs/examples/prices.openai-gpt6-sol.json
agent_costs/examples/prices.openrouter.json
agent_costs/examples/prompt-scenario.json
agent_costs/examples/request.synthetic.json
agent_costs/examples/responses.synthetic.jsonl
agent_costs/examples/scenario.json
agent_costs/lab_run.py
agent_costs/requirements.txt
agent_costs/tests/test_cost_tracker.py
agent_costs/tests/test_lab_run.py
backend/.dockerignore
backend/.env.example
backend/.python-version
backend/Dockerfile
backend/README.md
backend/alembic.ini
backend/app/__init__.py
backend/app/agent/__init__.py
backend/app/agent/common.py
backend/app/agent/engine.py
backend/app/agent/extraction.py
backend/app/agent/fast.py
backend/app/agent/matching.py
backend/app/agent/missing.py
backend/app/agent/model_client.py
backend/app/agent/models.py
backend/app/agent/prompts.py
backend/app/agent/structure.py
backend/app/agent/tools.py
backend/app/agent/validation.py
backend/app/api/__init__.py
backend/app/api/analyses.py
backend/app/api/dependencies.py
backend/app/api/documents.py
backend/app/api/errors.py
backend/app/api/findings.py
backend/app/api/reports.py
backend/app/api/runs.py
backend/app/config.py
backend/app/db.py
backend/app/domain/__init__.py
backend/app/domain/errors.py
backend/app/domain/result_validation.py
backend/app/lifespan.py
backend/app/main.py
backend/app/models/__init__.py
backend/app/models/analyses.py
backend/app/models/documents.py
backend/app/models/findings.py
backend/app/models/reports.py
backend/app/models/runs.py
backend/app/models/users.py
backend/app/parsers/__init__.py
backend/app/parsers/common.py
backend/app/parsers/docx.py
backend/app/parsers/limits.py
backend/app/parsers/markdown.py
backend/app/parsers/pdf.py
backend/app/parsers/types.py
backend/app/parsers/xlsx.py
backend/app/reporting/__init__.py
backend/app/reporting/labels.py
backend/app/reporting/rendering.py
backend/app/reporting/search.py
backend/app/reporting/types.py
backend/app/schemas/__init__.py
backend/app/schemas/analyses.py
backend/app/schemas/common.py
backend/app/schemas/documents.py
backend/app/schemas/errors.py
backend/app/schemas/findings.py
backend/app/schemas/reports.py
backend/app/schemas/runs.py
backend/app/services/__init__.py
backend/app/services/analyses.py
backend/app/services/checkpoints.py
backend/app/services/common.py
backend/app/services/documents.py
backend/app/services/findings.py
backend/app/services/reports.py
backend/app/services/results.py
backend/app/services/runs.py
backend/app/services/sources.py
backend/app/services/translations.py
backend/app/services/workflow.py
backend/fixtures/README.md
backend/fixtures/demo_analysis.json
backend/fixtures/synthetic/README.md
backend/fixtures/synthetic/conflict/after.md
backend/fixtures/synthetic/conflict/before.md
backend/fixtures/synthetic/distinct-scope/after.md
backend/fixtures/synthetic/distinct-scope/before.md
backend/fixtures/synthetic/manifest.json
backend/fixtures/synthetic/missing/after.md
backend/fixtures/synthetic/missing/before.md
backend/fixtures/synthetic/overlap/after.md
backend/fixtures/synthetic/overlap/before.md
backend/fixtures/synthetic/transfer/after-audit.md
backend/fixtures/synthetic/transfer/after-risk.md
backend/fixtures/synthetic/transfer/before.md
backend/fixtures/users.json
backend/migrations/env.py
backend/migrations/script.py.mako
backend/migrations/versions/0001_initial.py
backend/migrations/versions/0002_development_users.py
backend/migrations/versions/0003_run_checkpoints.py
backend/openapi.json
backend/pyproject.toml
backend/scripts/export_openapi.py
backend/scripts/run_docx_preview.py
backend/scripts/seed.py
backend/tests/test_agent.py
backend/tests/test_agent_port.py
backend/tests/test_checkpoints.py
backend/tests/test_fast_agent.py
backend/tests/test_fast_workflow.py
backend/tests/test_model_client.py
backend/tests/test_parsers.py
backend/tests/test_report_integrity.py
backend/tests/test_synthetic_fixtures.py
backend/tests/test_translation_structure.py
backend/uv.lock
compose.yaml
demo-frontend/.env.example
demo-frontend/.gitignore
demo-frontend/AGENTS.md
demo-frontend/README.md
demo-frontend/components.json
demo-frontend/docs/decisions.md
demo-frontend/docs/demo-script.md
demo-frontend/docs/design/ASTRA-UI-PROMPTS.md
demo-frontend/docs/design/DESIGN.md
demo-frontend/docs/design/SCENARIOS.md
demo-frontend/docs/screenshots/01-history.png
demo-frontend/docs/screenshots/02-choose-example.png
demo-frontend/docs/screenshots/03-analysis-replay.png
demo-frontend/docs/screenshots/04-results-summary.png
demo-frontend/docs/screenshots/05-transfer-evidence.png
demo-frontend/docs/screenshots/06-review-queue.png
demo-frontend/docs/screenshots/07-missing-search.png
demo-frontend/docs/screenshots/08-overlap-two-after.png
demo-frontend/docs/screenshots/09-modality-word-diff.png
demo-frontend/index.html
demo-frontend/package-lock.json
demo-frontend/package.json
demo-frontend/public/demo/cases/demo-conflict.clauses.json
demo-frontend/public/demo/cases/demo-conflict.result.json
demo-frontend/public/demo/cases/demo-missing.clauses.json
demo-frontend/public/demo/cases/demo-missing.result.json
demo-frontend/public/demo/cases/demo-overlap.clauses.json
demo-frontend/public/demo/cases/demo-overlap.result.json
demo-frontend/public/demo/cases/demo-transfer.clauses.json
demo-frontend/public/demo/cases/demo-transfer.result.json
demo-frontend/public/demo/clauses.json
demo-frontend/public/demo/result.json
demo-frontend/scripts/test.mjs
demo-frontend/src/App.tsx
demo-frontend/src/components/AnalysisProgress.tsx
demo-frontend/src/components/ClauseFragment.tsx
demo-frontend/src/components/ConclusionReport.tsx
demo-frontend/src/components/EditionBadge.tsx
demo-frontend/src/components/EmptyState.tsx
demo-frontend/src/components/EvidenceDrawer.tsx
demo-frontend/src/components/ExportMenu.tsx
demo-frontend/src/components/FunctionMapTable.tsx
demo-frontend/src/components/ModeBadge.tsx
demo-frontend/src/components/RefButton.tsx
demo-frontend/src/components/ReviewControls.tsx
demo-frontend/src/components/RiskCard.tsx
demo-frontend/src/components/StatusChip.tsx
demo-frontend/src/components/SummaryTiles.tsx
demo-frontend/src/components/TracePanel.tsx
demo-frontend/src/components/UnitTable.tsx
demo-frontend/src/components/UploadZone.tsx
demo-frontend/src/components/layout/AppShell.tsx
demo-frontend/src/components/review/DecisionBar.tsx
demo-frontend/src/components/review/FindingDetail.tsx
demo-frontend/src/components/review/QueueList.tsx
demo-frontend/src/components/review/WordDiff.tsx
demo-frontend/src/components/ui/alert.tsx
demo-frontend/src/components/ui/badge.tsx
demo-frontend/src/components/ui/button.tsx
demo-frontend/src/components/ui/card.tsx
demo-frontend/src/components/ui/collapsible.tsx
demo-frontend/src/components/ui/dropdown-menu.tsx
demo-frontend/src/components/ui/input.tsx
demo-frontend/src/components/ui/progress.tsx
demo-frontend/src/components/ui/scroll-area.tsx
demo-frontend/src/components/ui/separator.tsx
demo-frontend/src/components/ui/sheet.tsx
demo-frontend/src/components/ui/skeleton.tsx
demo-frontend/src/components/ui/table.tsx
demo-frontend/src/components/ui/tabs.tsx
demo-frontend/src/components/ui/tooltip.tsx
demo-frontend/src/hooks/useAnalysis.ts
demo-frontend/src/hooks/useClause.ts
demo-frontend/src/hooks/useJob.ts
demo-frontend/src/hooks/useReviewQueue.ts
demo-frontend/src/index.css
demo-frontend/src/lib/adapter.ts
demo-frontend/src/lib/api.ts
demo-frontend/src/lib/demo.ts
demo-frontend/src/lib/evidence.ts
demo-frontend/src/lib/export.ts
demo-frontend/src/lib/format.ts
demo-frontend/src/lib/highlight.ts
demo-frontend/src/lib/status.ts
demo-frontend/src/lib/utils.ts
demo-frontend/src/main.tsx
demo-frontend/src/pages/AnalysisPage.tsx
demo-frontend/src/pages/DemoStartPage.tsx
demo-frontend/src/pages/HistoryPage.tsx
demo-frontend/src/pages/ProgressPage.tsx
demo-frontend/src/pages/ReviewQueuePage.tsx
demo-frontend/src/pages/UploadPage.tsx
demo-frontend/src/types.ts
demo-frontend/tests/demo-clauses.test.ts
demo-frontend/tests/demo-progress.test.ts
demo-frontend/tests/demo-review.test.ts
demo-frontend/tests/evidence.test.ts
demo-frontend/tests/review-queue.test.ts
demo-frontend/tsconfig.json
demo-frontend/vercel.json
demo-frontend/vite.config.ts
docs/README.md
docs/architecture.md
docs/design/ASTRA-UI-PROMPTS.md
docs/design/DESIGN.md
docs/design/SCENARIOS.md
docs/feedback.md
docs/guides/frontend-coding-conventions.md
docs/hackaton/hackaton_instructiona.md
docs/hackaton/tracks/HackAlem AI_ Beeline Tariff Marketing Campaigns Case.md
docs/hackaton/tracks/HackAlem_AI_Agentic_AI_для_прогнозирования_выработки_ВЭС.md
docs/hackaton/tracks/HackAlem_AI_Career_Quest_платформа_геймификации_жизненного_цикла.md
docs/hackaton/tracks/HackAlem_AI_Voice_Router_гибридный_голосовой_AI_робот_с_LLM_слоем.md
docs/hackaton/tracks/HackAlem_AI_«Аким_на_5_часов»_AI_симулятор_управления_городом.md
docs/hackaton/tracks/HackAlem_AI_Автоматизация_формирования_заказов_поставщикам_docx.md
docs/hackaton/tracks/HackAlem_AI_Граф_денег_восстановление_финансовой_структуры_организованной.md
docs/hackaton/tracks/HackAlem_AI_ИИ_агент_«Анализ_организационной_структуры_и_функционала».md
docs/hackaton/tracks/HackAlem_AI_ИИ_ассистент_для_чата_на_сайте_ekt_kz.md
docs/hackaton/tracks/HackAlem_AI_Система_автопротоколирования_совещаний_с_фиксацией_поручений.md
docs/hackaton/tracks/HackAlem_AI_Хакатон_задача_умный_подбор_подрядчиков.md
docs/hackaton/tracks/HackAlem_AI_кейс_по_геймификации_практических_заданий.md
docs/hackaton/tracks/Положение_о_внутреннем_аудите_редакция_8_обезличено.docx.md
docs/hackaton/tracks/Положение_о_внутреннем_аудите_редакция_9_обезличено.docx
docs/hackaton/tracks/Положение_о_внутреннем_аудите_редакция_9_обезличено.docx.md
docs/handoff.md
docs/history.md
docs/implementation-plan.md
docs/product.md
docs/research/delphi-current-feedback.md
docs/research/kazakhtelecom-ui-references/docdiffai/index.html
docs/research/kazakhtelecom-ui-references/docdiffai/manifest.json
docs/research/kazakhtelecom-ui-references/docdiffai/report.pdf
docs/research/kazakhtelecom-ui-references/docdiffai/root__desktop__light.png
docs/research/kazakhtelecom-ui-references/kazakhtelecom-governance/index.html
docs/research/kazakhtelecom-ui-references/kazakhtelecom-governance/manifest.json
docs/research/kazakhtelecom-ui-references/kazakhtelecom-governance/report.pdf
docs/research/kazakhtelecom-ui-references/kazakhtelecom-governance/ru_corporate-governance-report-html__desktop__light.png
docs/research/kazakhtelecom-ui-references/opendocuments/index.html
docs/research/kazakhtelecom-ui-references/opendocuments/joungminsung_opendocuments__desktop__light.png
docs/research/kazakhtelecom-ui-references/opendocuments/manifest.json
docs/research/kazakhtelecom-ui-references/opendocuments/report.pdf
docs/research/kazakhtelecom-ui-references/python-redlines/JSv4_Python-Redlines__desktop__light.png
docs/research/kazakhtelecom-ui-references/python-redlines/index.html
docs/research/kazakhtelecom-ui-references/python-redlines/manifest.json
docs/research/kazakhtelecom-ui-references/python-redlines/report.pdf
docs/research/kazakhtelecom-ui-references/redlines/index.html
docs/research/kazakhtelecom-ui-references/redlines/manifest.json
docs/research/kazakhtelecom-ui-references/redlines/report.pdf
docs/research/kazakhtelecom-ui-references/redlines/root__desktop__light.png
docs/source-analysis.md
docs/sources/HackAlem AI_ ИИ-агент «Анализ организационной структуры и функционала».docx
docs/sources/HackAlem_AI_ИИ_агент_«Анализ_организационной_структуры_и_функционала».md
docs/sources/Положение_о_внутреннем_аудите_редакция_8_обезличено.docx
docs/sources/Положение_о_внутреннем_аудите_редакция_8_обезличено.docx.md
docs/sources/Положение_о_внутреннем_аудите_редакция_9_обезличено.docx
docs/sources/Положение_о_внутреннем_аудите_редакция_9_обезличено.docx.md
frontend/.env.example
frontend/.gitignore
frontend/AGENTS.md
frontend/README.md
frontend/components.json
frontend/docs/report/README.md
frontend/docs/report/latest.json
frontend/docs/report/latest.md
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/001-sign-in-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/002-sign-up-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/003-results-structure-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/004-results-source-context-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/005-results-findings-filter-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/006-results-finding-evidence-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/007-results-reviewed-conclusion-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/008-results-translated-conclusion-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/009-results-running-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/010-results-failed-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/011-comparison-history-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/012-official-draft-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/013-original-source-preview-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/014-new-comparison-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/015-prepared-synthetic-draft-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/016-mobile-history-mobile-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/017-mobile-navigation-mobile-chromium.png
frontend/docs/report/screenshots/2026-09-23T11-32-49-881Z-59eaa4f8/018-mobile-new-kk-mobile-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/001-results-structure-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/002-structure-mappings-preserve-source-context-and-source-navigation-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/003-results-findings-filter-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/004-results-finding-evidence-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/005-results-reviewed-conclusion-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/006-results-translated-conclusion-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/007-results-running-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/008-results-failed-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/009-results-review-queue-linked-finding-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/010-mobile-navigation-notifications-and-persistent-ru-kk-en-selection-mobile-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-50-40-581Z-7be6fc75/011-mobile-review-evidence-mobile-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/001-results-structure-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/002-results-source-context-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/003-results-findings-filter-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/004-results-finding-evidence-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/005-results-reviewed-conclusion-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/006-results-translated-conclusion-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/007-results-running-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/008-results-failed-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/009-results-review-queue-linked-finding-desktop-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/010-mobile-history-mobile-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/011-mobile-navigation-mobile-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/012-mobile-new-kk-mobile-chromium.png
frontend/docs/report/screenshots/2026-09-23T12-52-27-350Z-d7de39fc/013-mobile-review-evidence-mobile-chromium.png
frontend/eslint.config.mjs
frontend/next-env.d.ts
frontend/next.config.ts
frontend/openapi-ts.config.ts
frontend/package-lock.json
frontend/package.json
frontend/playwright.config.ts
frontend/postcss.config.mjs
frontend/scripts/auth-config.mjs
frontend/scripts/generate-ui-report.mjs
frontend/scripts/migrate-auth.mjs
frontend/scripts/seed-auth.mjs
frontend/src/app/(auth)/layout.tsx
frontend/src/app/(auth)/sign-in/page.tsx
frontend/src/app/(auth)/sign-up/page.tsx
frontend/src/app/(workspace)/analyses/[analysisId]/page.tsx
frontend/src/app/(workspace)/layout.tsx
frontend/src/app/(workspace)/new/page.tsx
frontend/src/app/(workspace)/page.tsx
frontend/src/app/api/auth/[...all]/route.ts
frontend/src/app/backend/[...path]/route.ts
frontend/src/app/globals.css
frontend/src/app/layout.tsx
frontend/src/components/custom-ui/confirm-nice-dialog.tsx
frontend/src/components/custom-ui/empty-state.tsx
frontend/src/components/custom-ui/finding-status-badge.tsx
frontend/src/components/custom-ui/status-badge.tsx
frontend/src/components/data-table/data-table.tsx
frontend/src/components/data-table/use-data-table.ts
frontend/src/components/layout/app-sidebar.tsx
frontend/src/components/layout/language-selector.tsx
frontend/src/components/layout/notification-bell.tsx
frontend/src/components/layout/providers.tsx
frontend/src/components/layout/sign-out-button.tsx
frontend/src/components/layout/workspace-shell.tsx
frontend/src/components/ui/alert-dialog.tsx
frontend/src/components/ui/alert.tsx
frontend/src/components/ui/badge.tsx
frontend/src/components/ui/button.tsx
frontend/src/components/ui/card.tsx
frontend/src/components/ui/checkbox.tsx
frontend/src/components/ui/dialog.tsx
frontend/src/components/ui/dropdown-menu.tsx
frontend/src/components/ui/input.tsx
frontend/src/components/ui/label.tsx
frontend/src/components/ui/progress.tsx
frontend/src/components/ui/select.tsx
frontend/src/components/ui/separator.tsx
frontend/src/components/ui/sheet.tsx
frontend/src/components/ui/skeleton.tsx
frontend/src/components/ui/sonner.tsx
frontend/src/components/ui/table.tsx
frontend/src/components/ui/tabs.tsx
frontend/src/components/ui/textarea.tsx
frontend/src/components/ui/tooltip.tsx
frontend/src/features/analyses/api/analyses.ts
frontend/src/features/analyses/client/comparison-editor.tsx
frontend/src/features/analyses/client/document-card.tsx
frontend/src/features/analyses/client/history-table-view.tsx
frontend/src/features/analyses/client/index.ts
frontend/src/features/analyses/client/source-preview.tsx
frontend/src/features/analyses/client/upload-zone.tsx
frontend/src/features/analyses/model/comparison.ts
frontend/src/features/analyses/model/index.ts
frontend/src/features/auth/client/auth-card.tsx
frontend/src/features/auth/client/auth-view.tsx
frontend/src/features/auth/client/index.ts
frontend/src/features/auth/client/sign-in-form.tsx
frontend/src/features/auth/client/sign-up-form.tsx
frontend/src/features/auth/model/auth.ts
frontend/src/features/auth/model/index.ts
frontend/src/features/results/api/results-api.ts
frontend/src/features/results/client/conclusion-view.tsx
frontend/src/features/results/client/coverage-summary.tsx
frontend/src/features/results/client/evidence-card.tsx
frontend/src/features/results/client/finding-detail.tsx
frontend/src/features/results/client/findings-table-view.tsx
frontend/src/features/results/client/index.ts
frontend/src/features/results/client/request-error.tsx
frontend/src/features/results/client/results-workspace.tsx
frontend/src/features/results/client/review-form.tsx
frontend/src/features/results/client/review-queue.tsx
frontend/src/features/results/client/source-panel.tsx
frontend/src/features/results/client/structure-view.tsx
frontend/src/features/results/client/use-results-location.ts
frontend/src/features/results/client/word-diff.tsx
frontend/src/features/results/model/evidence.ts
frontend/src/features/results/model/finding-queue.ts
frontend/src/features/results/model/labels.ts
frontend/src/features/results/model/review.ts
frontend/src/features/system/api/health.ts
frontend/src/features/system/client/service-status.tsx
frontend/src/lib/auth-client.ts
frontend/src/lib/utils.ts
frontend/src/server/auth.ts
frontend/src/server/backend-proxy.ts
frontend/src/server/db.ts
frontend/src/server/env.ts
frontend/src/shared/api/errors.ts
frontend/src/shared/api/generated/client.gen.ts
frontend/src/shared/api/generated/client/client.gen.ts
frontend/src/shared/api/generated/client/index.ts
frontend/src/shared/api/generated/client/types.gen.ts
frontend/src/shared/api/generated/client/utils.gen.ts
frontend/src/shared/api/generated/core/auth.gen.ts
frontend/src/shared/api/generated/core/bodySerializer.gen.ts
frontend/src/shared/api/generated/core/params.gen.ts
frontend/src/shared/api/generated/core/pathSerializer.gen.ts
frontend/src/shared/api/generated/core/queryKeySerializer.gen.ts
frontend/src/shared/api/generated/core/serverSentEvents.gen.ts
frontend/src/shared/api/generated/core/types.gen.ts
frontend/src/shared/api/generated/core/utils.gen.ts
frontend/src/shared/api/generated/index.ts
frontend/src/shared/api/generated/sdk.gen.ts
frontend/src/shared/api/generated/types.gen.ts
frontend/src/shared/api/hey-api.ts
frontend/src/shared/documents/source-location.ts
frontend/src/shared/i18n/index.tsx
frontend/src/shared/notifications/index.ts
frontend/src/store/nice-modal-context.tsx
frontend/tests/e2e/auth.spec.ts
frontend/tests/e2e/mobile.spec.ts
frontend/tests/e2e/results.spec.ts
frontend/tests/e2e/workspace.spec.ts
frontend/tests/fixtures/results.ts
frontend/tests/reporters/ui-report.mjs
frontend/tests/reporters/ui-report.test.mjs
frontend/tests/support/cleanup.ts
frontend/tests/support/fixtures.ts
frontend/tests/unit/evidence.test.mjs
frontend/tests/unit/finding-queue.test.mjs
frontend/tsconfig.json
lab/.env.example
lab/.gitignore
lab/README.md
lab/bootstrap.ps1
lab/delphi_lab/__init__.py
lab/delphi_lab/__main__.py
lab/delphi_lab/agent.py
lab/delphi_lab/api.py
lab/delphi_lab/config.py
lab/delphi_lab/costs.py
lab/delphi_lab/diffing.py
lab/delphi_lab/models.py
lab/delphi_lab/parsers.py
lab/delphi_lab/pipeline.py
lab/delphi_lab/planning.py
lab/delphi_lab/provenance.py
lab/delphi_lab/reports.py
lab/delphi_lab/runtime.py
lab/delphi_lab/storage.py
lab/delphi_lab/validation.py
lab/docs/README.md
lab/docs/archive/final_verdict.pre-pull.md
lab/docs/backend-lab-alignment.md
lab/docs/handoff.md
lab/fixtures/README.md
lab/fixtures/expected.json
lab/fixtures/synthetic/en/after.md
lab/fixtures/synthetic/en/before.md
lab/fixtures/synthetic/kk/after.md
lab/fixtures/synthetic/kk/before.md
lab/fixtures/synthetic/ru/after.md
lab/fixtures/synthetic/ru/before.md
lab/prompts/README.md
lab/prompts/compare.md
lab/prompts/extract.md
lab/prompts/risks.md
lab/prompts/source_search.md
lab/prompts/structure.md
lab/prompts/system.md
lab/prompts/translation.md
lab/requirements.lock.txt
lab/requirements.txt
lab/run.ps1
lab/tests/test_agent_semantics.py
lab/tests/test_budget_recovery.py
lab/tests/test_cost_tracking.py
lab/tests/test_lab_workflow.py
lab/tests/test_parser_validation.py
lab/tests/test_resume_budget.py
Ветки (11)

Обсуждение 0 комментариев

Войдите, чтобы комментировать

Пока нет комментариев — будьте первым.