О проекте
Команда: Steppe digital
Кейс HackAlem.ai: Спецтрек — Казахтелеком
Стадия: Доведённый продукт
Задача кейса: Агент, сравнивающий документы оргструктуры до и после реорганизации
Суть
Next.js-приложение, которое сравнивает оргдокументы до и после реорганизации (DOCX, PDF, XLSX): строит diff структуры и трассировку каждой функции (UNCHANGED, MODIFIED, TRANSFERRED, POSSIBLE_LOSS), выявляет дубли и конфликты, привязывает каждый вывод к цитате из документа и отдаёт его на Human Review.
Как устроено
Документы разбираются на фрагменты с локаторами пунктов, затем извлекаются подразделения, функции, полномочия и их владельцы. Сопоставление структуры и функций идёт каскадом методов: детерминированные правила, текстовое сходство, семантическое сходство по embeddings и LLM-интерпретация, которая проверяется по дословной цитате. Каждый вывод получает бейдж метода и evidence со ссылками на пункты ДО и ПОСЛЕ. Эксперт отмечает Confirm, Reject или Needs Review; счётчики вызовов модели и кэша показывают, когда анализ перешёл в резервный режим.
Ключевые решения
- парсинг DOCX/PDF/XLSX
- извлечение функций и владельцев
- embeddings для семантического сопоставления
- Function Lineage
- верификация LLM-вывода по цитате
- word diff
- синтетический eval и gold baseline
Метрики
Автотесты 54/54 PASS, acceptance evaluation 47/47 PASS, синтетические сценарии S01–S06 PASS
Особенности
Анализ ведётся на уровне функции, а не строки, поэтому перенос функции в другое подразделение не принимается за её потерю. У каждого вывода есть бейдж метода (правило, текстовое сходство, семантика или ИИ), а LLM-интерпретация принимается только при наличии дословной цитаты. Есть собственный набор оценки: синтетические DOCX и ручной gold baseline по реальной паре редакций 8 и 9.
Стек
TypeScript · Next.js · React · shadcn/ui · Vitest · ESLint
Проект создан за 5 часов на финале хакатона HackAlem.ai (23 сентября 2026, Астана). Код — BAITC-Hacks/hack-c1355568-steppe-digital.
README
README.mdOrgTrace AI
Explainable organizational intelligence for restructuring analysis
OrgTrace AI анализирует организационные документы ДО и ПОСЛЕ реорганизации, отслеживает судьбу подразделений, функций, полномочий и зон ответственности и показывает, какими исходными положениями документов подтверждается каждый существенный вывод.
Не просто сравнение двух файлов. OrgTrace AI показывает, что произошло с каждой функцией организации.
Upload → Analyze → Structure Diff → Function Lineage → Finding → Evidence → Conclusion → Human Review
Verified Hackathon Prototype
| Проверка | Результат |
|---|---|
| Automated tests | 54 / 54 PASS |
| TypeScript typecheck | PASS |
| Lint | PASS |
| Production build | PASS |
| Synthetic scenarios | S01–S06 PASS |
| Original DOCX smoke | PASS |
| Acceptance evaluation | 47 / 47 PASS |
| Browser E2E flow | PASS |
| Backend | Real backend |
| Mock mode | isMock=false |
Метрики разбора и анализа контрольной пары — в разделе Real Document Validation.
Проверенный application SHA:
f4dadd8254806b47c6f44d7900396fe9f9e22bdc
Финальные изменения документации не изменяют проверенный application code.
Что решает OrgTrace AI
При реорганизации недостаточно сравнить названия подразделений или найти изменившиеся строки.
Одна и та же функция может:
- сохраниться без изменений;
- изменить формулировку;
- перейти другому подразделению;
- разделиться между несколькими владельцами;
- оказаться продублированной;
- потенциально исчезнуть;
- создать пересечение полномочий или зон ответственности.
При ручном сравнении больших редакций организационных положений такие изменения легко пропустить.
OrgTrace AI отвечает на более важный вопрос:
Что произошло с каждой функцией между состоянием ДО и состоянием ПОСЛЕ — и какими фрагментами документов это подтверждается?
Главная идея — Function Lineage
Главный объект анализа OrgTrace AI — не документ и не отдельная строка.
Главный объект анализа — функция организации.
BEFORE
Department A
└── Function X
│
│ OrgTrace AI
▼
AFTER
Department B
└── Function X
Result:
TRANSFERRED
Evidence:
BEFORE → source clause
AFTER → source clause
Система строит Function Lineage — трассировку функции между двумя состояниями организации.
Поддерживаемые состояния включают:
UNCHANGED— функция сохранена;MODIFIED— функция изменилась;TRANSFERRED— функция перешла другому владельцу;POSSIBLE_LOSS— возможно, функция потеряна.
Это позволяет анализировать семантическое изменение функционала, а не только текстовые различия документов.
Чем OrgTrace AI отличается от обычного document diff
Обычный diff отвечает:
«Какие строки изменились?»
OrgTrace AI отвечает:
«Что произошло с функцией?»
Например:
ДО
Департамент A
→ Контроль финансовых рисков
ПОСЛЕ
Департамент B
→ Контроль финансовых рисков
Текстовое сравнение может показать изменения в документах.
OrgTrace AI определяет, что функция не исчезла, а перешла другому владельцу.
Function:
Контроль финансовых рисков
BEFORE owner:
Department A
AFTER owner:
Department B
Status:
TRANSFERRED
Основной workflow
Документы ДО
+
Документы ПОСЛЕ
│
▼
Parsing
│
▼
Source Fragments + Locators
│
▼
Structure Extraction
│
▼
Functions / Rights Extraction
│
▼
Owner Identification
│
▼
Structure Matching
│
▼
Function Matching
│
▼
Function Lineage
│
├── UNCHANGED
├── MODIFIED
├── TRANSFERRED
└── POSSIBLE_LOSS
│
▼
Risk Detection
│
├── Possible Loss
├── Duplication
└── Conflict Signal
│
▼
Evidence
│
▼
Conclusion
│
▼
Human Review
Core Capabilities
1. BEFORE / AFTER Document Analysis
Пользователь загружает два состояния организации:
BEFORE / ДО
Документы до реорганизации.
AFTER / ПОСЛЕ
Документы после реорганизации.
Проверенный прототип принимает:
- DOCX;
- PDF;
- XLSX.
Степень проверки форматов различается и подробно описана ниже в разделе Format Validation.
2. Structure Diff
OrgTrace AI извлекает организационные сущности и сравнивает структуру ДО и ПОСЛЕ.
Система может показывать:
- сохранённые подразделения;
- преобразованные подразделения;
- новые подразделения;
- удалённые подразделения;
- связанные структурные изменения.
3. Function Lineage
Система извлекает функции и полномочия вместе с владельцами и пытается определить их судьбу между редакциями документов.
Пример:
BEFORE
Department A
└── Function X
↓
AFTER
Department B
└── Function X
Status: TRANSFERRED
Смена владельца не интерпретируется автоматически как потеря функции.
4. Possible Function Loss
Если функция присутствует в BEFORE, система ищет её продолжение в AFTER.
Поиск не ограничивается подразделением с похожим названием.
BEFORE
Department A
→ Function X
AFTER
Department B
→ Function X
В таком сценарии функция может быть классифицирована как:
TRANSFERRED
а не:
POSSIBLE_LOSS
POSSIBLE_LOSS является диагностическим сигналом и требует проверки человеком.
5. Possible Duplication
OrgTrace AI выявляет случаи, когда похожий функционал закреплён одновременно за несколькими владельцами.
Система не утверждает автоматически, что это доказанное организационное нарушение.
Результат интерпретируется как:
Potential duplication candidate
и передаётся на Human Review.
6. Conflict Signals
Система может выявлять потенциальные пересечения функций, ролей, полномочий или зон ответственности, а также должность, указанную в перечнях подчинения у нескольких руководителей.
Такие сигналы являются рекомендательными и требуют экспертной проверки: функциональное и административное подчинение могут различаться по замыслу документа.
7. Режим анализа и происхождение выводов
Результат сообщает, какими средствами он получен: применялись ли embeddings и языковая модель, сколько было обращений к модели и сколько ответов пришло из кэша, а также на каких этапах анализ перешёл в резервный режим.
Панель «Режим анализа» показывает это на дашборде, а каждое замечание и каждая строка связей функций несут бейдж метода:
Правило — детерминированное правило по тексту и структуре
Текстовое сходство — сравнение нормализованных формулировок без модели
Семантическое сходство — близость векторных представлений
ИИ — интерпретация модели, проверенная по дословной цитате
Если AI отключён или недоступен, предупреждение о резервном режиме показывается над результатами: счётчики собираются из фактических вызовов, поэтому непроизошедшее обращение к модели не может быть объявлено выполненным.
Evidence — ключевой слой системы
Главный принцип OrgTrace AI:
Ни один существенный вывод не должен существовать отдельно от источника.
Для finding система сохраняет связь с evidence:
Finding
│
├── Risk type
│
├── Function
│
├── BEFORE owner
│
├── AFTER owner
│
├── BEFORE document
│
├── AFTER document
│
├── Locator / clause
│
├── Source fragment
│
└── Review status
Evidence может включать:
- исходный документ;
- BEFORE / AFTER state;
- владельца функции;
- locator;
- пункт документа;
- исходный текстовый фрагмент;
- связь
finding → evidence.
Пользователь может открыть finding и проверить, на каких положениях документа основан вывод.
Не просто вывод — прослеживаемая цепочка
OrgTrace AI строится вокруг цепочки:
Requirement
↓
Document
↓
Fragment
↓
Function
↓
Matching
↓
Finding
↓
Evidence
↓
Conclusion
↓
Human Review
Для QA используется аналогичный принцип:
Requirement
↓
Implementation
↓
Test
↓
Result
↓
Evidence
Human Review
OrgTrace AI — система поддержки принятия решений.
Она не должна автоматически заменять юридическую, организационную или управленческую экспертизу.
Для findings предусмотрены статусы:
- Confirm
- Reject
- Needs Review
Эксперт также может сохранить комментарий.
Human Review особенно важен для:
- потенциальной потери функции;
- возможного дублирования;
- неоднозначного владельца;
- сложного переноса полномочий;
- потенциального конфликта;
- диагностических findings.
Analytical Conclusion
После анализа система формирует итоговое заключение.
Оно может содержать:
- изменения структуры;
- изменения функционала;
- переданные функции;
- изменённые функции;
- возможные потери;
- возможные дублирования;
- потенциальные конфликтные сигналы;
- вопросы, требующие Human Review.
Критический принцип:
Диагностический сигнал не должен автоматически превращаться в доказанный организационный факт.
Example Finding
Пример логики finding:
Function:
Контроль функции X
BEFORE:
Department A
Clause 5.4.4(b)
AFTER:
Department B
Clause 5.3.3(b)
Relation:
TRANSFERRED
Evidence:
✓ BEFORE source found
✓ AFTER source found
Review:
Needs Review
Таким образом, пользователь видит не только classification, но и путь:
Finding
→ Function
→ BEFORE owner
→ AFTER owner
→ Original clauses
→ Human decision
Architecture
flowchart TD
A[BEFORE Documents] --> C[Document Ingestion]
B[AFTER Documents] --> C
C --> D[Document Parsers]
D --> E[Source Fragment Registry]
E --> F[Structure Extraction]
E --> G[Functions & Rights Extraction]
F --> H[Structure Matching]
G --> I[Owner Identification]
I --> J[Function Matching]
H --> J
J --> K[Function Lineage]
K --> L[Findings Engine]
L --> M[Possible Loss]
L --> N[Duplication]
L --> O[Conflict Signals]
M --> P[Evidence Layer]
N --> P
O --> P
P --> Q[Analytical Conclusion]
Q --> R[Human Review]
P --> S[Frontend]
R --> S
Architecture Principles
Хакатонный прототип сознательно построен как компактная система.
Приоритеты:
- reproducibility;
- traceability;
- explainability;
- end-to-end reliability;
- быстрый локальный запуск;
- Human Review.
Для рабочего прототипа не добавлялись инфраструктурные компоненты, которые не были необходимы для демонстрационного сценария.
Это позволяет запустить проверенный режим без:
- отдельной vector database;
- graph database;
- message queue;
- Kubernetes;
- отдельной production database.
Jobs сохраняются локально в:
.data/
Semantic Engine
Проверенный режим текущей версии преимущественно использует:
deterministic / rule-based extraction and matching
Мы сознательно не заявляем, что все проверенные результаты текущей версии были получены live LLM.
Это позволяет сохранить:
- воспроизводимость;
- контролируемость;
- связь с конкретными источниками;
- предсказуемое поведение demo-flow.
При этом архитектура проекта предусматривает развитие semantic layer.
Будущее направление:
Deterministic Extraction
↓
Candidate Matching
↓
LLM Semantic Verification
↓
Structured Finding
↓
Evidence Validation
↓
Human Review
Принцип развития:
Deterministic where reproducibility matters. AI where semantic reasoning adds value. Human review where judgment matters.
Evaluation
Проект проверяется на двух типах данных.
Synthetic Evaluation
Создан отдельный искусственный контрольный набор документов с заранее определёнными сценариями.
Expected-results хранятся отдельно и не передаются pipeline до получения фактического результата.
| Case | Проверяемый сценарий | Result |
|---|---|---|
| S01 | Преобразование подразделения | PASS |
| S02 | Функция сохранена | PASS |
| S03 | Possible function loss | PASS |
| S04 | Функция сохранена | PASS |
| S05 | Функция сохранена | PASS |
| S06 | Possible duplication | PASS |
Принцип:
EXPECTED ≠ APPLICATION INPUT
Gold / expected данные не используются как вход analysis pipeline.
Real Document Validation
Система также тестировалась на оригинальных обезличенных редакциях организационного положения.
Revision №8 → BEFORE
Revision №9 → AFTER
Результаты проверенного smoke:
| Metric | Result |
|---|---|
| BEFORE fragments | 492 |
| AFTER fragments | 491 |
| Units / owners BEFORE | 14 |
| Units / owners AFTER | 24 |
| Functions / rights BEFORE | 133 |
| Functions / rights AFTER | 167 |
| Lineage records | 130 |
| Mock mode | false |
Результат анализа этой пары:
| Структура | Кол-во | Связи функций | Кол-во | Замечания | Кол-во |
|---|---|---|---|---|---|
| PRESERVED | 6 | UNCHANGED | 88 | REORGANIZATION | 26 |
| RENAMED | 3 | TRANSFERRED | 23 | SCOPE_CHANGE | 9 |
| CREATED | 15 | MODIFIED | 9 | DUPLICATION | 10 |
| REMOVED | 5 | NEW | 7 | BROKEN_REFERENCE | 4 |
| POSSIBLE_LOSS | 3 | LOSS | 3 | ||
| AMBIGUITY | 2 | ||||
| CONFLICT | 1 | ||||
| UNDEFINED_ROLE | 1 |
Ожидания по этой паре зафиксированы в tests/fixtures/samples/expected-findings.json и проверяются командой npm run eval (47 проверок): статусы подразделений и должностей, конкретные связи пунктов, подтверждённые потери полномочий и правила подачи находок.
Эти значения подтверждают работу pipeline на реальных документах.
Они не означают, что каждый автоматически извлечённый элемент является безусловно корректным.
Все находки публикуются со статусом NEEDS_CHECK: решение принимает ответственный сотрудник.
QA Results
Состав и результат проверок — в таблице Verified Hackathon Prototype. Ниже — проверенный сценарий в браузере.
Проверенный browser flow:
Structure
↓
Function Lineage
↓
Finding
↓
Evidence
↓
Conclusion
↓
Human Review
Human Review также проверялся с сохранением решения через API.
Hackathon Criteria → Evidence
Официальные веса критериев задания:
| Criterion | Weight | Что демонстрирует OrgTrace AI |
|---|---|---|
| Соответствие задаче и работоспособность | 25 | Рабочий BEFORE → AFTER end-to-end flow, Structure Diff, Function Lineage, Conclusion |
| Техническая реализация | 25 | Parsing, extraction, matching, findings, evidence, local persistence, Human Review |
| README и воспроизводимость | 25 | Exact tested SHA, npm ci, synthetic dataset, QA matrix, reproducible local mode |
| Ценность и применимость | 15 | Анализ судьбы функций и организационных рисков с evidence |
| Потенциал развития и оригинальность | 10 | Function Lineage, explainability, Human Review, расширяемый semantic layer |
Общий принцип submission:
Не просто показать feature — показать evidence того, что feature работает.
Requirements Coverage
Подробная матрица соответствия официальным требованиям находится здесь:
Она связывает:
Requirement
→ Implementation
→ Test
→ Status
→ Evidence
Для каждого requirement используется один из статусов:
PASS
PARTIAL
NOT RUN
Мы не присваиваем PASS, если требование не подтверждено воспроизводимой проверкой.
Format Validation
DOCX
Статус:
Full tested E2E path
Проверено на оригинальных обезличенных редакциях №8 и №9.
Результаты:
BEFORE fragments: 491
AFTER fragments: 490
Functions / rights BEFORE: 133
Functions / rights AFTER: 167
Evidence включает source document и locators.
Статус:
Parser validated
Проверен реальный parser fixture:
- непустой fragment;
documentId;documentName;- page locator;
- section locator;
- warning для пустой страницы.
Полный semantic PDF E2E отдельно не аттестован.
OCR не заявлен.
XLSX
Статус:
Parser validated
Проверен реальный XLSX fixture:
- fragments;
documentId;documentName;- sheet;
- row locators.
Полный semantic XLSX E2E отдельно не аттестован.
Demo Flow
Рекомендуемый demo-flow рассчитан примерно на 3–5 минут.
1. Upload
Загрузить:
BEFORE
+
AFTER
2. Analyze
Запустить реальный analysis pipeline.
Показать:
isMock=false
3. Structure Diff
Показать:
- сохранённые сущности;
- изменения структуры;
- новые сущности.
4. Function Lineage
Выбрать конкретную функцию.
Показать:
BEFORE
↓
FUNCTION
↓
AFTER
И её status:
UNCHANGED
MODIFIED
TRANSFERRED
POSSIBLE_LOSS
5. Finding
Открыть finding.
Например:
Possible Loss
Duplication
Transfer
Modified Function
6. Evidence
Показать:
Document
Owner
Clause
Locator
Original fragment
Ключевой момент demo:
Мы показываем не только вывод системы, но и путь от вывода к исходному положению документа.
7. Conclusion
Открыть итоговое аналитическое заключение.
Показать:
- основные изменения;
- risks;
- evidence;
- ограничения интерпретации.
8. Human Review
Вернуться к finding.
Показать:
Confirm
Reject
Needs Review
Сохранить reviewer comment.
Quick Start
Requirements
Node.js >= 22.12
npm
Проверено также на:
Node.js 24.19.0
Clone
git clone --branch main https://github.com/BAITC-Hacks/hack-c1355568-steppe-digital.git
cd hack-c1355568-steppe-digital
Install
npm ci
Development Mode
npm run dev
После запуска открыть:
http://localhost:3000
Reproduce Verified Mode
Проверенный hackathon режим запускается без внешней production database и без обязательного API key.
macOS / Linux
export NEXT_PUBLIC_USE_MOCK=false
export ORGTRACE_AI=false
npm run build
npm run start -- --hostname 127.0.0.1 --port 3000
Открыть:
http://127.0.0.1:3000
PowerShell
$env:NEXT_PUBLIC_USE_MOCK = "false"
$env:ORGTRACE_AI = "false"
npm run build
npm run start -- --hostname 127.0.0.1 --port 3000
Открыть:
http://127.0.0.1:3000
Demo Data
Если оригинальные приватные документы организатора доступны:
Revision №8 → BEFORE
Revision №9 → AFTER
Если они недоступны, можно использовать синтетический контрольный набор:
eval/synthetic/inputs/before.docx
eval/synthetic/inputs/after.docx
Важно:
eval/synthetic/expected/
не должен использоваться как вход analysis pipeline.
Expected results существуют только для независимой проверки результата.
Quality Checks
npm test # automated tests
npm run typecheck # TypeScript
npm run lint # ESLint
npm run build # production build
npm run eval # анализ контрольной пары против ожиданий QA
npm run eval запускает pipeline на data/samples и сверяет результат с tests/fixtures/samples/expected-findings.json, печатая построчный отчёт и завершаясь ненулевым кодом при расхождении. Тот же набор проверок выполняется в eval/evaluate.test.ts, поэтому изменение качества анализа рассматривается как изменение фикстуры QA.
Tech Stack
| Layer | Technology |
|---|---|
| Frontend | Next.js 16 |
| UI | React 19 |
| Language | TypeScript |
| Validation | Zod |
| Testing | Vitest |
| DOCX parsing | Mammoth |
| PDF parsing | pdfjs-dist |
| XLSX parsing | SheetJS |
| AI integration layer | OpenAI SDK |
| Storage | Local .data/ |
| Runtime | Node.js |
Repository Structure
.
├── backend/
│
├── data/
│
├── eval/
│ ├── evaluate.ts # анализ контрольной пары против ожиданий QA
│ ├── gold/
│ │ └── manual-baseline.md
│ │
│ └── synthetic/
│ ├── inputs/
│ ├── expected/
│ └── README.md
│
├── tests/
│ └── fixtures/samples/
│ └── expected-findings.json
│
├── docs/
│ ├── api/
│ ├── case/
│ ├── plan/
│ ├── product/
│ ├── prompts/
│ ├── qa/
│ │ └── release-final-summary.md
│ │
│ ├── research/
│ │
│ ├── submission/
│ │ ├── demo-checklist.md
│ │ └── fallback-demo.md
│ │
│ └── requirements-matrix.md
│
├── src/
│ ├── app/
│ ├── components/
│ ├── lib/
│ ├── mocks/
│ └── shared/
│
├── AGENTS.md
├── DATA_NOTES.md
├── package.json
└── README.md
Detailed Documentation
| Документ | Содержание |
|---|---|
| docs/api/CONTRACT.md | Контракт API v0.3.0: объекты, enum, инварианты, режим анализа |
| docs/requirements-matrix.md | Соответствие официальным требованиям кейса |
| docs/research/DATA_ANALYSIS.md | Разбор контрольных редакций 8 → 9 и ловушек парсинга |
| backend/README.md | Правила извлечения и сопоставления, включая контрольную пару |
| tests/fixtures/samples/expected-findings.json | Согласованные ожидания анализа контрольной пары |
| docs/qa/release-final-summary.md | Итог финальной проверки QA |
| docs/submission/demo-checklist.md | Чек-лист демонстрации |
| docs/submission/fallback-demo.md | Резервный сценарий демонстрации |
Known Limitations
OrgTrace AI — рабочий хакатонный прототип, а не промышленная система автоматического организационного аудита.
Текущие ограничения:
- Проверенный semantic engine преимущественно deterministic / rule-based.
- Live LLM semantic mode не входит в подтверждённый final QA scope.
- Качество extraction зависит от структуры документов.
- Неоднозначные владельцы требуют Human Review.
- Возможная потеря функции не является автоматически доказанной потерей.
- Похожая формулировка у двух владельцев не является автоматически доказанным дублированием.
- Conflict signals требуют предметной экспертной оценки.
- DOCX имеет наиболее полный проверенный E2E scope.
- PDF и XLSX прошли parser validation, но не полный semantic E2E.
- OCR для scanned PDF не заявлен.
- Полная semantic accuracy всех автоматически найденных findings не аттестована.
- Выводы системы имеют рекомендательный характер.
Наш принцип:
Лучше показать потенциальный риск и документальные основания для проверки человеком, чем автоматически выдать неподтверждённое утверждение как факт.
Roadmap
Current Prototype
✓ BEFORE / AFTER upload
✓ DOCX pipeline
✓ Structure Diff
✓ Function extraction
✓ Function Lineage
✓ Possible Loss signal
✓ Duplication signal
✓ Evidence
✓ Conclusion
✓ Human Review
✓ Synthetic evaluation
✓ Real-document smoke
Next
→ LLM semantic verification
→ Embedding-based candidate retrieval
→ Advanced merge / split detection
→ Stronger conflict-of-interest models
→ External regulatory validation
→ Standards compliance analysis
→ Cross-operator benchmarking
→ Recommendation engine
→ Historical organization graph
→ Enterprise integrations
Product Vision
Сегодня организационные изменения часто анализируются как документы.
Мы считаем, что их нужно анализировать как изменения ответственности.
DOCUMENTS
↓
STRUCTURE
↓
FUNCTIONS
↓
LINEAGE
↓
RISKS
↓
EVIDENCE
↓
DECISION
OrgTrace AI превращает сравнение организационных документов в прослеживаемый процесс анализа функций и ответственности.
The Core Difference
OrgTrace AI — это не:
«чат с документами»
и не:
«найди различия между двумя файлами».
Главный вопрос системы:
Что произошло с этой функцией от версии ДО к версии ПОСЛЕ, кто теперь отвечает за неё, какой потенциальный риск возник и какими исходными положениями документов это подтверждается?
OrgTrace AI — track the fate of every function. Trace every conclusion back to evidence.
Авторы коммитов
История коммитов
- 2026-09-23 17:57fix(store): refresh retained job store after contract hot reloadAibar
- 2026-09-23 17:52docs(readme): привести структуру в порядок и обновить проверенные значенияAibar
- 2026-09-23 17:45Merge remote-tracking branch 'origin/main' into lane/analysis-qualityAibar
- 2026-09-23 17:44fix(analysis): убрать ложные потери, агрегировать находки, сопоставлять должности внутри департаментаAibar
- 2026-09-23 17:39asdAibar Kenbay
- 2026-09-23 17:37chore: redact sample document identifiersPumpishop
- 2026-09-23 17:21Update README.mdaldyussen
- 2026-09-23 17:19feat(contract): показать режим анализа и происхождение записей (v0.3.0)Aibar
Все коммиты (49)
- 2026-09-23 17:13docs: finalize hackathon submissionPumpishop
- 2026-09-23 16:59Update README.mdPumpishop
- 2026-09-23 16:57Update README.mdPumpishop
- 2026-09-23 16:53docs: finalize v0.2 hackathon submission packagePumpishop
- 2026-09-23 16:45docs: record validation against latest mainAldiyar Dyussenov
- 2026-09-23 16:43feat(frontend): adapt shadcn admin design and streamline reviewAldiyar Dyussenov
- 2026-09-23 16:43Merge remote-tracking branch 'origin/main' into lane/frontend-uxAldiyar Dyussenov
- 2026-09-23 16:35Merge pull request #2 from BAITC-Hacks/codex/analysis-baselinealdyussen
- 2026-09-23 16:35merge: integrate extraction pipeline with main contract v0.2Aibar
- 2026-09-23 16:30docs: add baseline analysis for regulation revisions 8 and 9Aldiyar Dyussenov
- 2026-09-23 16:14Merge commit 'a650b24e48c11af4592f10d64bec9b4105526de4' into codex/master-qa-a650Pumpishop
- 2026-09-23 16:07fix(backend): extract Russian list units and role-owned functionsAibar
- 2026-09-23 16:02fix(backend): extract lettered units and positional function ownersPumpishop
- 2026-09-23 15:52merge: integrate frontend P0 with regulation comparison contractAibar
- 2026-09-23 15:52docs(qa): record independent semantic backend acceptancePumpishop
- 2026-09-23 15:50feat: implement regulation clause comparison across backend and frontendAibar
- 2026-09-23 15:33fix(frontend): clarify P0 comparison and empty analysis statesAldiyar Dyussenov
- 2026-09-23 15:33fix(backend): compute source-backed end-to-end demo analysisAibar
- 2026-09-23 15:17Merge remote-tracking branch 'origin/main' into lane/frontendAldiyar Dyussenov
- 2026-09-23 15:16Merge remote-tracking branch 'origin/main' into lane/frontendAldiyar Dyussenov
- 2026-09-23 15:16Merge remote-tracking branch 'origin/main' into lane/qa-integrationPumpishop
- 2026-09-23 15:16feat(frontend): add structure, function and conclusion viewsAldiyar Dyussenov
- 2026-09-23 15:15docs(qa): add participant 3 full-team validation reviewPumpishop
- 2026-09-23 15:14docs: ground MVP plan and API target in regulation samplesAibar
- 2026-09-23 15:07test: add manual gold baselinePumpishop
- 2026-09-23 15:07test: add synthetic evaluation datasetPumpishop
- 2026-09-23 15:07docs: record current team implementation statePumpishop
- 2026-09-23 14:49refactor: isolate backend and verify frontend integrationAibar
- 2026-09-23 14:41merge: preserve QA source-data setup and ignore rulesAibar
- 2026-09-23 14:40merge: integrate frontend screens with backend baselineAibar
- 2026-09-23 14:38feat: scaffold backend APIs, parsers and shared contractsAibar
- 2026-09-23 14:37Merge remote-tracking branch 'origin/main' into lane/qaPumpishop
- 2026-09-23 14:32docs: add local evaluation source setupPumpishop
- 2026-09-23 14:30feat(frontend): prepare upload, progress, dashboard and evidence reviewAldiyar Dyussenov
- 2026-09-23 14:29docs: add QA requirements matrixPumpishop
- 2026-09-23 14:16docs: add OrgTrace AI hackathon plan and lane promptsAibar
- 2026-09-23 14:06Create requirements-matrix.mdPumpishop
- 2026-09-23 13:38initial commitAibar
- 2026-09-23 13:31Merge pull request #1 from BAITC-Hacks/codex/test-empty-commitPumpishop
- 2026-09-23 13:29chore: test GitHub pushPumpishop
- 2026-09-23 13:18chore: initAldiyar Dyussenov
Структура репозитория (98 файлов)
.env.example .gitignore AGENTS.md DATA_NOTES.md README.md asd.txt backend/README.md backend/analysis-mode.test.ts backend/analysis-mode.ts backend/api.test.ts backend/backend.md backend/clauses.ts backend/errors.ts backend/files.ts backend/frontend-contract.test.ts backend/handlers.ts backend/http.ts backend/ingest.test.ts backend/ingest.ts backend/llm.test.ts backend/llm.ts backend/pipeline.ts backend/regulation.test.ts backend/regulation.ts backend/run-real-extraction.ts backend/run-synthetic.ts backend/runtime/EXTRACTION_VALIDATION.md backend/runtime/MERGE_VALIDATION.md backend/runtime/VALIDATION.md backend/runtime/synthetic-api-output.json backend/seed-demo.ts backend/semantic-pipeline.test.ts backend/semantic-pipeline.ts backend/semantic.test.ts backend/semantic.ts backend/stages.ts backend/store.test.ts backend/store.ts data/samples/after/Положение_о_внутреннем_аудите_редакция_9_обезличено.docx.txt data/samples/before/Положение_о_внутреннем_аудите_редакция_8_обезличено.docx.txt docs/api/CONTRACT.md docs/case/case.txt docs/plan/PLAN.md docs/product/EXPECTED_ANALYSIS_8_TO_9.md docs/product/FRONTEND_HANDOFF.md docs/product/P0_REVIEW.md docs/product/SHADCN_REDESIGN.md docs/product/USER_FLOW.md docs/prompts/00_master.md docs/prompts/backend_01_skeleton.md docs/prompts/frontend_01_skeleton.md docs/prompts/qa_01_skeleton.md docs/qa/full-team-validation.md docs/qa/handoff.md docs/qa/release-final-summary.md docs/qa/team-state.md docs/requirements-matrix.md docs/research/DATA_ANALYSIS.md docs/submission/demo-checklist.md docs/submission/fallback-demo.md eslint.config.mjs eval/evaluate.test.ts eval/evaluate.ts eval/gold/manual-baseline.md eval/source-docs/README.md eval/synthetic/README.md eval/synthetic/expected/expected-results.md eval/synthetic/inputs/after.docx eval/synthetic/inputs/before.docx next-env.d.ts next.config.ts package-lock.json package.json src/app/api/analyses/[id]/findings/[findingId]/review/route.ts src/app/api/analyses/[id]/route.ts src/app/api/analyses/route.ts src/app/globals.css src/app/layout.tsx src/app/page.tsx src/components/analysis-mode.tsx src/components/analysis-workspace.tsx src/components/evidence-drawer.tsx src/components/quote-range.ts src/components/result-views.tsx src/components/ui-icons.tsx src/components/upload-form.tsx src/components/word-diff.ts src/lib/api.ts src/mocks/analysis-result.json src/shared/analysis-result.example.json src/shared/contract.test.ts src/shared/contract.ts src/shared/labels.ts src/shared/method.ts src/shared/quote.ts tests/fixtures/samples/expected-findings.json tsconfig.json vitest.config.ts
Обсуждение 0 комментариев
Войдите, чтобы комментироватьПока нет комментариев — будьте первым.