AAYMA
RU
Войти

Jigas

AML-инструмент: строит граф переводов по Parquet-выгрузке, назначает клиентам роли в сети, ранжирует топ-20 для проверки и показывает кластеры и…

Доведённый продукт
Команда «Jigas» 17💬 0 комментариевс 23 сентября 2026 г.

О проекте

Команда: Jigas
Кейс HackAlem.ai: Финансы — Freedom
Стадия: Доведённый продукт

Задача кейса: «Граф денег»: восстановить структуру организованной группы по сети транзакций (AML)

Суть

AML-инструмент: строит граф переводов по Parquet-выгрузке, назначает клиентам роли в сети, ранжирует топ-20 для проверки и показывает кластеры и маршруты денег в React-отчёте.

Как устроено

Python-пайплайн читает три Parquet-файла (клиенты, агрегированные связи, переводы) и строит направленный граф в NetworkX. По каждому узлу считаются in/out-степени, суммы, достижимость от 81 seed за 1–4 шага и betweenness. Роли (coordinator, distributor, consolidator, transit, terminal, peripheral) назначаются по открытым порогам. Приоритет P=0.35M+0.30A+0.20C+0.15H складывается из силы роли, объёма, охвата seed и центральности. Кластеры строятся Louvain, отдельно считаются SCC и межкластерные потоки. На выходе CSV и report.json, которые показывает статический React+Cytoscape.js дашборд.

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

  • NetworkX
  • Louvain
  • strongly connected components
  • betweenness centrality
  • seed reachability 1–4 hops
  • rule-based role assignment
  • weighted priority scoring
  • threshold sensitivity analysis
  • community stability evaluation

Метрики

Топ-20 по приоритету совпадает с топом по обороту в 9 из 20; AML accuracy не заявляется (нет разметки)

Особенности

Роли и приоритет объяснимы: формулы и пороги открыты, и в карточке видно, какие правила сработали. Команда честно учитывает обрыв выгрузки: узел на 4-м шаге не объявляется конечным получателем, а 444 граничных клиента вынесены во вкладку «Запросить продолжение». Есть анализ устойчивости порогов и сообществ, контрактные тесты и хеши выпуска.

Стек

Python 3.13 · pandas · NumPy · PyArrow · NetworkX · React · Vite · Cytoscape.js · Docker Compose


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

README

README.md

Jigas — граф денежных переводов

Посмотреть вживую

Jigas помогает AML-аналитику разобраться в сети переводов: среди 2 248 клиентов найти тех, кого стоит проверить первыми, увидеть их связи и понять основания приоритета. Вход — обезличенная выгрузка от 81 ранее известного клиента; результат — проверяемые гипотезы о ролях и структуре сети, а не вывод о виновности.

image image image

Что делает решение

  1. Проверяет три Parquet-файла — клиентов, агрегированные направленные связи и отдельные переводы — и строит граф, сохраняя точные gid и денежные суммы в тиынах.
  2. Считает входящие и исходящие связи, суммы, достижимость от известных клиентов и центральность. По явным порогам назначает каждому узлу одну основную роль и сохраняет все другие совпавшие правила.
  3. Ранжирует клиентов по силе признаков, объёму и положению в сети; Louvain группирует связанные узлы, включая отдельные изоляты. Отдельно считает сильносвязные компоненты (SCC), направленные потоки между кластерами и границу покрытия. Python выпускает три CSV и report.json из одного расчёта.
  4. React-отчёт показывает топ-20, причины выбора, кластеры, направленный граф и межкластерные потоки с переходом к исходным связям. В карточке доступны дневной профиль, запрос следующего слоя данных и маршруты от известных клиентов с датами. Поиск работает по полному ID; интерфейс отображает рассчитанные данные и не меняет роли или приоритет.

Схема архитектуры: данные → метрики → роли → выгрузки → интерфейс.

Чем полезен аналитику

  • Понятный следующий объект проверки: у топа есть числовые основания, у связанной группы — первый клиент для изучения; в отчёте можно проверить направления, суммы и число переводов по его связям.
  • Многосигнальный приоритет: топ по нашему приоритету совпадает с топом по обороту лишь по 9 из 20 клиентов. Это показывает другой порядок проверки, но само по себе не доказывает его точность; сравнение.
  • Объяснимость: правила и пороги открыты, карточка показывает совпавшие роли и равные значения приоритета, включая узлы за пределами топ-20.
  • Осторожность с неполными данными: узел на четвёртом шаге не объявляется конечным получателем лишь из-за обрыва выгрузки; неполнота входа известных клиентов отмечается отдельно.
  • Воспроизводимость: актуальный выпуск с Cytoscape.js прошёл сборку, расчёт из исходных данных, контрактную и браузерную проверки. Его CSV совпали с пятью повторными выпусками предыдущего интерфейса; времена новой версии отдельно не переизмерялись. Протокол.

Технологии

ЧастьСтек
РасчётPython 3.13, pandas, NumPy, PyArrow, NetworkX; правила ролей, скоринг и Louvain
ИнтерфейсReact, Vite, Cytoscape.js; статический report.json без отдельного API или базы данных
ЗапускDocker Compose; Node 22 нужен при сборке, готовый отчёт раздаётся через localhost

Запуск

Нужны Docker Engine и Docker Compose v2. Из корня репозитория:

docker compose build pipeline
docker compose run --rm prepare
docker compose run --rm pipeline
docker compose up viewer

Откройте http://127.0.0.1:8000/ — дашборд откроется сразу; /report.html ведёт к тому же отчёту. Команда prepare извлекает Parquet из track_data/data (1).zip; один запуск pipeline создаёт отчёт в out/. Сборка требует интернета для зависимостей, готовый образ работает без внешних сервисов. Версии пакетов закреплены в frontend/package-lock.json и requirements.txt. Необязательные переменные: HACKALEM_IMAGE — имя образа (по умолчанию jigas-graph-money:local), HACKALEM_CPUS — лимит CPU для расчёта (по умолчанию 12); ключи API не нужны.

Проверка готового выпуска:

docker compose run --rm --entrypoint python pipeline test_contract.py --data /app/data --out /app/out

На Linux заранее создайте каталоги data/ и out/ от своего пользователя и замените команды prepare и pipeline на:

mkdir -p data out
docker compose run --rm --user "$(id -u):$(id -g)" prepare
docker compose run --rm --user "$(id -u):$(id -g)" pipeline

Этот путь с UID/GID ещё не проверен на отдельном Linux-хосте; остальные результаты запуска и браузера — в протоколе.

Результат и работа с ним

pipeline создаёт в out/:

ФайлСодержание
nodes_roles.csvВсе 2 248 клиентов: роль, role_score, кластер, приоритет и объяснение до 200 символов
clusters.csvРазмер, seed, внутренний оборот, ключевые узлы и гипотеза по каждому кластеру
top_nodes.csv20 клиентов с наивысшим приоритетом и обоснованием
report.json, index.html, report.html, assets/Данные и локальный React-интерфейс с направленным графом
validation.jsonСтатус выпуска и хеши файлов

В интерфейсе выберите клиента из топа или найдите его по полному gid. Карточка показывает основания ролей, дневные наблюдения, запрос недостающих данных и до двух маршрутов с допустимым порядком дат. Маршрут можно подсветить на графе; совпадение дат не доказывает движение тех же денег. Вкладка «Запросить продолжение» показывает все 444 граничных клиента по входящему объёму. В обзоре межкластерных потоков можно выбрать сообщество или стрелку и открыть его клиентов или исходные связи; крупнейшую SCC можно отдельно подсветить на полном графе. Идентификаторы сохраняются точно, без округления в браузере.

Проверка по ТЗ: жюри может назвать три произвольных gid, которые команда должна объяснить за минуту. Для каждого найдите ID, раскройте роль и её числовые основания, затем покажите наблюдаемые связи и ограничения в карточке и на графе. Пятиминутный сценарий демо содержит примеры для репетиции.

out/ игнорируется Git: CSV воспроизводятся командами выше.

Роли и приоритет

in_deg и out_deg — число наблюдаемых плательщиков и получателей; S — число seed, достигающих узла за 1–4 направленных шага; B — нормированная betweenness; r — отношение исходящей суммы к входящей; D — дни после последнего наблюдаемого входящего перевода. Q90(B>0) — 90-й процентиль положительных B.

РольУсловиеucap
coordinatorS≥2, in_deg≥2, out_deg≥2, B>0, B≥Q90(B>0)min(1,S/4)0,60
distributorout_deg≥10min(1,out_deg/20)0,90
consolidatorin_deg≥3min(1,in_deg/6)0,90
transitНе seed, depth<4, суммы входа и выхода положительны, 0,8≤r≤1,2max(0,1−abs(r−1)/0,2)0,65
terminalНе seed, depth<4, вход положителен, out_deg=0, D≥2min(1,D/7)0,50
peripheralНи одно правило не совпало—0

Для совпавшей роли support=cap×(0,5+0,5×u). Основная роль — первая по порядку таблицы; её support становится role_score. Все совпавшие роли остаются в отчёте.

Приоритет P=0,35M+0,30A+0,20C+0,15H:

КомпонентРасчёт
MМаксимальный support совпавших ролей
Amin(1,log1p(V)/log1p(Q95(V>0))), где V=(in_tiyn+out_tiyn)/100 KZT
Cmin(1,S/5)
Hmin(1,B/Q95(B>0))

Квантили считаются по положительным значениям; если их нет, соответствующий компонент равен нулю. Топ сортируется по неокруглённому P, при равенстве — по числовому gid. Кластеры строятся Louvain, изоляты образуют отдельные группы. Подробные определения — в спецификации.

Границы результата

Данные охватывают июль 2026 года, внутрибанковские исходящие переводы от 81 seed, не дальше четырёх шагов и не меньше 5 000 KZT. Нулевой выход узла на четвёртом шаге может быть следствием границы выгрузки; вход seed тоже неполон. Роли и кластеры — гипотезы по наблюдаемому фрагменту, role_score и P не являются вероятностью нарушения. Размеченных истинных ролей нет, поэтому AML accuracy не заявляется.

При росте до ~1 млн узлов потребуются порционная обработка, компактное хранение графа, приближённая betweenness и загрузка в браузер только выбранной окрестности. Это план развития, производительность такого масштаба не проверялась.

Данные предоставлены организаторами и обезличены. Сторонние библиотеки и технологии перечислены выше; версии зафиксированы в lockfile и requirements.txt, Cytoscape.js распространяется по MIT. При разработке применялся OpenAI Codex. Код размещается в командном GitHub-репозитории; решение сдаётся отдельной кнопкой на платформе HackAlem AI.

Звёзды
⭐ 1
Форки
0
Язык
Python
Последний push
в прошлом месяце
Коммиты
203
Авторы
4
Файлы
84
Ветки
18

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

XcenaX 157thgank 43Nursultan Serikov 12Vlade 4

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

  • 2026-09-23 17:50Update README.mdNursultan Serikov
  • 2026-09-23 17:49Merge remote-tracking branch 'origin/main' into feat/p1-ui-integration-20260923thgank
  • 2026-09-23 17:49fix: fill desktop analysis gap with structural overviewthgank
  • 2026-09-23 17:46Update README.mdNursultan Serikov
  • 2026-09-23 17:45docs: present completed structural investigation in demothgank
  • 2026-09-23 17:43Merge remote-tracking branch 'origin/main' into feat/p1-ui-integration-20260923thgank
  • 2026-09-23 17:43Update README.mdNursultan Serikov
  • 2026-09-23 17:42docs: require platform submission after GitHub pushXcenaX
Все коммиты (203)
  • 2026-09-23 17:42merge: combine structural overview with investigation viewsthgank
  • 2026-09-23 17:40feat: add community flow and SCC investigationthgank
  • 2026-09-23 17:39docs: describe verified daily requests and dated routesthgank
  • 2026-09-23 17:38merge: include latest licensed Cytoscape release filesthgank
  • 2026-09-23 17:36Update README.mdNursultan Serikov
  • 2026-09-23 17:36merge: combine frontier requests with daily and route viewsthgank
  • 2026-09-23 17:35merge: combine daily profiles with dated seed routesthgank
  • 2026-09-23 17:35docs: identify verified licensed demo releaseXcenaX
  • 2026-09-23 17:35feat: include data requests in validated releasethgank
  • 2026-09-23 17:34feat: add bounded dated seed routes and viewerthgank
  • 2026-09-23 17:34merge: combine observed profiles and next-data reviewthgank
  • 2026-09-23 17:34docs: align demo with current Cytoscape releaseXcenaX
  • 2026-09-23 17:34fix: include Cytoscape license in releaseXcenaX
  • 2026-09-23 17:33merge: add HA-11 daily profilesthgank
  • 2026-09-23 17:33feat: add observed next-data requests and frontier reviewthgank
  • 2026-09-23 17:33feat: show observed daily profiles in client cardthgank
  • 2026-09-23 17:32Merge pull request #15 from BAITC-Hacks/docs/readme-criteria-20260923Nursultan Serikov
  • 2026-09-23 17:31docs: map README to track and jury criteriathgank
  • 2026-09-23 17:31Fix capitalization in README link textNursultan Serikov
  • 2026-09-23 17:31Update README.mdNursultan Serikov
  • 2026-09-23 17:30feat: add observed daily node profilesXcenaX
  • 2026-09-23 17:29merge: retain latest product README with Cytoscape instructionsthgank
  • 2026-09-23 17:28merge: keep concise jury README with root dashboard entrythgank
  • 2026-09-23 17:28Merge pull request #14 from BAITC-Hacks/docs/readme-product-story-20260923Nursultan Serikov
  • 2026-09-23 17:27docs: explain Jigas product and technical flowthgank
  • 2026-09-23 17:26Merge pull request #13 from BAITC-Hacks/docs/readme-concise-20260923Nursultan Serikov
  • 2026-09-23 17:25docs: trim README to jury essentialsthgank
  • 2026-09-23 17:25deploy: serve report at site rootthgank
  • 2026-09-23 17:23merge: sync latest main documentationthgank
  • 2026-09-23 17:22feat: refine investigation dashboard and serve release at rootthgank
  • 2026-09-23 17:22Merge pull request #12 from BAITC-Hacks/docs/readme-final-20260923Nursultan Serikov
  • 2026-09-23 17:21docs: align README with accepted React releasethgank
  • 2026-09-23 17:20docs: distinguish HA-12 technical review from expert timingXcenaX
  • 2026-09-23 17:18Sync HA-12 review with current mainXcenaX
  • 2026-09-23 17:18docs: link HA-12 technical review and clarify task timingXcenaX
  • 2026-09-23 17:14Merge pull request #11 from BAITC-Hacks/docs/ha10-three-gid-drillVlade
  • 2026-09-23 17:14Merge HA-12 blind review packetXcenaX
  • 2026-09-23 17:14Merge HA-12 blind technical findingsXcenaX
  • 2026-09-23 17:14docs: clarify interactive demo timingXcenaX
  • 2026-09-23 17:11docs: add three GID jury drillXcenaX
  • 2026-09-23 17:11docs: record unblinded HA-12 sample comparisonXcenaX
  • 2026-09-23 17:10docs: record blind technical review of 41 HA-12 casesXcenaX
  • 2026-09-23 17:08docs: prepare HA-12 blind review packetXcenaX
  • 2026-09-23 17:08docs: fix HA-12.1 blind technical review protocolXcenaX
  • 2026-09-23 17:00docs: distinguish full demo timing from batch timingXcenaX
  • 2026-09-23 16:59docs: refresh final React demo handoffXcenaX
  • 2026-09-23 16:53Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 16:52docs: confirm GitHub-only submission in parallel guideXcenaX
  • 2026-09-23 16:51docs: mark final HA-08.2 acceptance in review historyXcenaX
  • 2026-09-23 16:50Sync reviewed blocker notes with mainXcenaX
  • 2026-09-23 16:50docs: name accepted React release in quickstart and architectureXcenaX
  • 2026-09-23 16:50Merge reviewed HA-15 release findingsXcenaX
  • 2026-09-23 16:50Merge PR 7 blocker review history with current statusXcenaX
  • 2026-09-23 16:49Merge latest main release checksthgank
  • 2026-09-23 16:48docs: update post-review parallel statusXcenaX
  • 2026-09-23 16:48Improve React report workflow and mobile usabilitythgank
  • 2026-09-23 16:46docs: record final five-run and offline acceptanceXcenaX
  • 2026-09-23 16:46docs: retain React reviews with resolved outcomesXcenaX
  • 2026-09-23 16:43Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 16:43docs: record packaged favicon and final browser checksXcenaX
  • 2026-09-23 16:42fix(ui): package favicon with published assetsXcenaX
  • 2026-09-23 16:42Merge pull request #10 from BAITC-Hacks/docs/readme-smoke-status-20260923Vlade
  • 2026-09-23 16:41Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 16:41docs: verify final HA-18 contract and offline releaseXcenaX
  • 2026-09-23 16:40docs: align localhost smoke status with validation reportXcenaX
  • 2026-09-23 16:40Merge pull request #9 from BAITC-Hacks/fix/ha15-favicon-main-20260923Vlade
  • 2026-09-23 16:40Merge remote-tracking branch 'origin/main' into docs/blockers-followup-20260923XcenaX
  • 2026-09-23 16:40docs: record integrated release supplemental reviewXcenaX
  • 2026-09-23 16:39test: verify HA-18 cluster hypothesesXcenaX
  • 2026-09-23 16:38Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 16:38docs: record offline clean-build release QAXcenaX
  • 2026-09-23 16:37fix(ui): add local React report faviconXcenaX
  • 2026-09-23 16:36docs: clarify AI attribution and planned P1 modulesXcenaX
  • 2026-09-23 16:35docs: document role criteria and scale limitsXcenaX
  • 2026-09-23 16:35docs: align architecture with React release candidateXcenaX
  • 2026-09-23 16:34docs: mark current release and review statusXcenaX
  • 2026-09-23 16:32docs: flag final submission confirmationXcenaX
  • 2026-09-23 16:32docs: record independent React graph review gapsXcenaX
  • 2026-09-23 16:32docs: pin Luna max delegation preference for parallel workXcenaX
  • 2026-09-23 16:31docs: update parallel handoff after feature freezeXcenaX
  • 2026-09-23 16:30docs: clarify unevaluated HA-12 score variantsXcenaX
  • 2026-09-23 16:29fix: reject nonnumeric report score valuesXcenaX
  • 2026-09-23 16:29Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 16:28docs: record React release verificationXcenaX
  • 2026-09-23 16:26feat(ui): add role any filters, score ties and edge weightsXcenaX
  • 2026-09-23 16:26feat: add first-check facts to cluster hypothesesXcenaX
  • 2026-09-23 16:26Merge HA-12.2 sensitivity evaluationXcenaX
  • 2026-09-23 16:24Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 16:23Merge pull request #4 from BAITC-Hacks/docs/blockers-20260923Vlade
  • 2026-09-23 16:21docs: connect HA-12.2 sensitivity resultsXcenaX
  • 2026-09-23 16:21Merge commit '7a6da9ba1fce66e8ed62a0756459564bac416e41' into integrate/reviewed-ha151-ha171-20260923XcenaX
  • 2026-09-23 16:21Merge commit 'cba264a5adb86edac5a32bbda5b7f3616b41150f' into integrate/reviewed-ha151-ha171-20260923XcenaX
  • 2026-09-23 16:20fix: keep threshold evaluation output UTF-8 on WindowsXcenaX
  • 2026-09-23 16:19docs: measure role threshold stabilityXcenaX
  • 2026-09-23 16:19feat(ui): add interactive React graph viewXcenaX
  • 2026-09-23 16:19docs: link isolated blocker fixes for handoffXcenaX
  • 2026-09-23 16:18feat: add HA-12.2 weight sensitivity evaluationXcenaX
  • 2026-09-23 16:18eval: measure community membership stabilityXcenaX
  • 2026-09-23 16:17Merge remote-tracking branch 'origin/main' into docs/blockers-20260923XcenaX
  • 2026-09-23 16:16test: assert HA-17 explanation contractXcenaX
  • 2026-09-23 16:15Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 16:15docs: record HA-15.1 independent acceptanceXcenaX
  • 2026-09-23 16:14deploy: read Brev key from macOS Keychainthgank
  • 2026-09-23 16:12deploy: add manual Brev deployment scriptthgank
  • 2026-09-23 16:10docs: record HA-17.1 review and remaining contract blockerXcenaX
  • 2026-09-23 16:10docs: publish viewer port in compose quickstartXcenaX
  • 2026-09-23 16:09Merge pull request #3 from BAITC-Hacks/review/release-packet-20260923Nursultan Serikov
  • 2026-09-23 16:09docs: adopt release review and scope cluster explanation follow-upthgank
  • 2026-09-23 16:08Merge remote-tracking branch 'origin/main' into feat/verificationXcenaX
  • 2026-09-23 16:07docs: review release packet against current contract and datathgank
  • 2026-09-23 16:07Merge latest main before HA-10.1 and HA-12.1 integrationXcenaX
  • 2026-09-23 16:07docs: avoid stale review queue in parallel promptXcenaX
  • 2026-09-23 16:07Merge HA-10.1 demo handoffXcenaX
  • 2026-09-23 16:07Merge HA-12.1 evaluation baselineXcenaX
  • 2026-09-23 16:06docs: record current sprint blockers and release gatesXcenaX
  • 2026-09-23 16:06ci: add Brev report deployment workflowthgank
  • 2026-09-23 16:04test: validate report json release contractXcenaX
  • 2026-09-23 16:04feat: add factual role and priority explanationsXcenaX
  • 2026-09-23 16:04Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 16:03Merge remote-tracking branch 'origin/main' into feat/verificationXcenaX
  • 2026-09-23 16:03docs: refresh demo dependency statusXcenaX
  • 2026-09-23 16:03feat: add factual role and priority explanationsXcenaX
  • 2026-09-23 16:02docs: update five-minute demo for current candidateXcenaX
  • 2026-09-23 16:01feat(ui): add React report shell and JSON loaderXcenaX
  • 2026-09-23 16:00docs: record HA-11.1 independent reviewXcenaX
  • 2026-09-23 16:00docs: record HA-09.1 independent reviewXcenaX
  • 2026-09-23 16:00docs: record HA-08.1 independent reviewXcenaX
  • 2026-09-23 16:00feat(ui): add React report shell and JSON loaderXcenaX
  • 2026-09-23 16:00Merge remote-tracking branch 'origin/main' into feat/verificationXcenaX
  • 2026-09-23 15:59docs: record HA-12.1 blind evaluation baselineXcenaX
  • 2026-09-23 15:58docs: record HA-11.1 independent reviewXcenaX
  • 2026-09-23 15:58docs: add jury quickstart and verification paththgank
  • 2026-09-23 15:56Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 15:55docs: allow independent review in parallel workflowXcenaX
  • 2026-09-23 15:55docs: clarify parallel task selectionXcenaX
  • 2026-09-23 15:54Merge remote-tracking branch 'origin/main' into feat/verificationXcenaX
  • 2026-09-23 15:53Merge remote-tracking branch 'origin/main' into feat/react-integrationXcenaX
  • 2026-09-23 15:53docs: point parallel workers to published second-wave contractXcenaX
  • 2026-09-23 15:52Merge pull request #1 from BAITC-Hacks/docs/second-wave-adoptionNursultan Serikov
  • 2026-09-23 15:52fix: reject symlinked viewer build assetsXcenaX
  • 2026-09-23 15:51docs: adopt second research wave and investigation tasksthgank
  • 2026-09-23 15:50fix: remove failed release staging directoryXcenaX
  • 2026-09-23 15:48feat: stage React viewer with report JSON and Docker buildXcenaX
  • 2026-09-23 15:47docs: track renamed HA-17 role explanation cardXcenaX
  • 2026-09-23 15:44docs: coordinate parallel worktrees and isolate Docker imagesXcenaX
  • 2026-09-23 15:43docs: specify React frontend migration and Trello tasksthgank
  • 2026-09-23 15:36feat: add observed daily node profilesXcenaX
  • 2026-09-23 15:34feat: add observed daily node profilesXcenaX
  • 2026-09-23 15:33docs: update P0 architecture and validation handoffXcenaX
  • 2026-09-23 15:24Merge remote-tracking branch 'origin/main' into feat/analyticsXcenaX
  • 2026-09-23 15:17fix: stage Docker release inside output mountXcenaX
  • 2026-09-23 15:17feat: expose package module CLIXcenaX
  • 2026-09-23 15:13refactor: organize analysis into focused modulesXcenaX
  • 2026-09-23 15:10test: provide strict report metadata in fixtureXcenaX
  • 2026-09-23 15:08feat(ui): add graph search and filtersXcenaX
  • 2026-09-23 15:08feat: export validated contract CSVsXcenaX
  • 2026-09-23 15:07feat: render standalone offline reportXcenaX
  • 2026-09-23 15:05fix: reconcile report transaction countXcenaX
  • 2026-09-23 15:05fix: validate report source hash metadataXcenaX
  • 2026-09-23 15:04fix: validate report source hash metadataXcenaX
  • 2026-09-23 15:04docs: sync merged blueprint tasks with Trellothgank
  • 2026-09-23 15:03feat: assemble strict JSON reportXcenaX
  • 2026-09-23 14:59feat: summarize cluster turnoverXcenaX
  • 2026-09-23 14:59docs: add five-minute demo runbookXcenaX
  • 2026-09-23 14:55test: use conflicting numeric and string tie orderXcenaX
  • 2026-09-23 14:55test: assert numeric priority tie breakingXcenaX
  • 2026-09-23 14:53docs: merge evidence-backed blueprint improvements into specsthgank
  • 2026-09-23 14:53feat: cluster undirected graph projectionXcenaX
  • 2026-09-23 14:51feat: compute explainable node prioritiesXcenaX
  • 2026-09-23 14:51chore: cap pipeline containers at twelve CPUsXcenaX
  • 2026-09-23 14:51fix: describe seed inbound limitationXcenaX
  • 2026-09-23 14:47feat(ui): add offline report preview shellXcenaX
  • 2026-09-23 14:44feat: compute explainable node prioritiesXcenaX
  • 2026-09-23 14:42docs: use the project Python environmentXcenaX
  • 2026-09-23 14:41test: check report warnings and JSON safetyXcenaX
  • 2026-09-23 14:41feat: assign graph roles with rule supportXcenaX
  • 2026-09-23 14:40docs: clarify Docker platform supportXcenaX
  • 2026-09-23 14:40docs: add draft run and validation guideXcenaX
  • 2026-09-23 14:39feat: add seed reach and temporal graph featuresXcenaX
  • 2026-09-23 14:38test: draft contract checks for graph outputsXcenaX
  • 2026-09-23 14:38test: preserve cluster money precision in checksXcenaX
  • 2026-09-23 14:38feat: add full graph and base featuresXcenaX
  • 2026-09-23 14:37feat: add full graph and base featuresXcenaX
  • 2026-09-23 14:36feat: validate exact input aggregatesXcenaX
  • 2026-09-23 14:34feat: prepare provided data in Docker workflowXcenaX
  • 2026-09-23 14:32docs: record Docker first architecture and native fallbackXcenaX
  • 2026-09-23 14:30chore: normalize dependency file encodingXcenaX
  • 2026-09-23 14:30feat: scaffold starter pipeline and Docker workflowXcenaX
  • 2026-09-23 14:25docs: align task inputs with tracked archivesthgank
  • 2026-09-23 14:23docs: decompose MVP into agent-ready Trello tasksthgank
  • 2026-09-23 14:10docs: add track datathgank
  • 2026-09-23 14:09docs: add alternative blueprint v2 (Vlad) with EDA research scripts and outputsXcenaX
  • 2026-09-23 14:03docs: link Trello backlog and planning handoffthgank
  • 2026-09-23 13:53docs: define MVP specifications and delivery planthgank
  • 2026-09-23 13:44docs: add HackAlem research and architecture blueprintthgank
Структура репозитория (84 файлов)
.dockerignore
.gitignore
Dockerfile
HackAlem_AI_Blueprint_v2_Vlad.md
HackAlem_AI_Research_Architecture_Blueprint.md
README.md
assets/cytoscape.LICENSE.txt
assets/vis-network.LICENSE.txt
assets/vis-network.min.css
assets/vis-network.min.js
compose.yaml
docs/ARCHITECTURE.md
docs/BLUEPRINT_COMPARISON.md
docs/DEMO.md
docs/PARALLEL_WORK.md
docs/PLAN.md
docs/PRODUCT_SPEC.md
docs/RELEASE_REVIEW_RESPONSE_2026-09-23.md
docs/SECOND_WAVE_RESEARCH.md
docs/SPEC.md
docs/community_stability.md
docs/evaluation.md
docs/reviews/HA-08.1-2026-09-23.md
docs/reviews/HA-09.1-2026-09-23.md
docs/reviews/HA-11.1-2026-09-23.md
docs/reviews/HA-12.1-blind-packet-2026-09-23.jsonl
docs/reviews/HA-12.1-blind-review-2026-09-23.md
docs/reviews/HA-12.1-timing-2026-09-23.md
docs/reviews/HA-15.1-2026-09-23.md
docs/reviews/HA-15.2-2026-09-23.md
docs/reviews/HA-15.3-2026-09-23.md
docs/reviews/HA-17.1-2026-09-23.md
docs/threshold_stability.md
docs/validation.md
frontend/index.html
frontend/package-lock.json
frontend/package.json
frontend/public/assets/favicon.svg
frontend/public/assets/vis-network.LICENSE.txt
frontend/report.html
frontend/src/App.jsx
frontend/src/components/CommunityView.jsx
frontend/src/components/GraphView.jsx
frontend/src/components/TemporalRoutes.jsx
frontend/src/graphModel.js
frontend/src/main.jsx
frontend/src/report.js
frontend/src/report.test.js
frontend/src/styles.css
frontend/vite.config.js
hackalem/__init__.py
hackalem/__main__.py
hackalem/clusters.py
hackalem/exports.py
hackalem/graph.py
hackalem/html.py
hackalem/pipeline.py
hackalem/report.py
hackalem/requests.py
hackalem/scoring.py
hackalem/validation.py
report.example.json
report_template.html
requirements.txt
research/blueprint_comparison_evidence.json
research/compare_blueprints.py
research/eda.py
research/eda2.py
research/eda2_out.txt
research/eda_out.txt
research/release_review_evidence_2026-09-23.json
research/second_wave.py
research/second_wave_evidence.json
scripts/evaluate_community_stability.py
scripts/evaluate_sensitivity.py
scripts/evaluate_threshold_sensitivity.py
scripts/prepare_data.py
scripts/test_ha18_cluster_hypothesis.py
starter.py
test_contract.py
track_data/HackAlem AI_ Граф денег_ восстановление финансовой структуры организованной группы по транзакционной сети.md
track_data/README (1).md
track_data/data (1).zip
track_data/starter (1).zip
Ветки (18)

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

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

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