hypoarena README

The project's README from github.com/OpSafari/hypoarena. As one markdown file: README.md.

hypoarena

hypoarena is a fully offline scientific hypothesis-discovery workbench. It decomposes the mechanism layer of generate–debate–evolve "AI co-scientist" pipelines into individually testable components: a citation-bearing hypothesis/evidence graph, a synthetic literature factory, span-level grounding verification, pluggable agent adapters, Bradley–Terry / Elo tournaments, paraphrase deduplication (TF-IDF, MinHash LSH), hypothesis evolution operators, and Bayesian evidence accumulation.

At runtime the package depends only on NumPy. PyTorch (CPU-only) is an optional extra used solely to demonstrate a small trainable ranker. Every default test and example runs without network access, without calling real models, and without downloading weights.

Installation

python -m venv .venv
.venv/bin/pip install -e ".[dev]"          # development env (hatchling, pytest, ruff, mypy)
.venv/bin/pip install -e ".[dev,torch]" \
    --extra-index-url https://download.pytorch.org/whl/cpu   # when the optional ranker is needed

Quick start

.venv/bin/hypoarena demo --chains 2 --chain-length 2 --out /tmp/hya

This runs the complete pipeline offline over a synthetic corpus, prints whether each planted causal chain was recovered, and writes report.md / report.html. It is a mechanism demonstration and makes no claim about real scientific discovery capability. A typical run reports every planted link (e.g. planted links: 6 recovered: 6 rate: 1.0 on the demo corpus) and ends with an explicit note that it is a synthetic demonstration only.

Common commands

Command Purpose
make build Build a wheel with the local venv (--no-isolation)
make test Fast test suite (excludes the slow mark)
make test-all Full suite (includes slow / model tests)
make format / make format-check ruff formatting and its check mode
make lint ruff check + format --check
make typecheck mypy static analysis
make demo End-to-end offline demonstration

CLI

The hypoarena command-line tool exposes one subcommand per pipeline stage, in pipeline order: corpus, generate, verify, dedup, debate, rank, evolve, accumulate, report, and demo. All of them run offline over synthetic corpora. One-shot demonstration:

$ hypoarena demo --chains 2 --chain-length 2 --out /tmp/hya

Subcommand options, shared arguments, and exit codes are documented in docs/cli.md.

What each stage does

Artifact stability

All JSONL/JSON artifacts are written through a single canonical serializer (sorted keys, fixed separators, floats quantized at their production points), so run outputs — and the golden digests pinned over them — are byte-identical across platforms and interpreter versions. Checkpointed runs replay completed stages from the ledger and produce artifacts byte-identical to straight runs.

Examples and documentation

examples/ contains three fully offline, runnable examples — planted-corpus generation with grounding verification, a full generate→debate→rank tournament showing Elo recovery of a planted skill order, and an evolution + dedup cycle with measured novelty statistics. Each ships with its own README and real captured output; see docs/examples.md for the overview.

Architecture, schemas, per-module notes, and the honesty conventions live under docs/; start the module index at docs/api.md.

License

MIT — see LICENSE. Release history is in CHANGELOG.md.

hypoarena (OpSafari/hypoarena)

Searching Database…

Что это?hypoarena — полностью офлайн-стенд, разбирающий конвейер 'AI co-scientist' generate-debate-evolve на отдельно тестируемые механизмы: граф гипотез-доказательств с цитатами, фабрику синтетической литературы, проверку обоснованности, подключаемые адаптеры агентов, Elo-турниры, дедупликацию парафраз и байесовское накопление доказательств.
Это Python-библиотека или инструмент командной строки?И то и другое — это Python-пакет на базе NumPy, который можно импортировать, и он поставляет CLI `hypoarena` с одной подкомандой на каждый этап конвейера (corpus, generate, verify, dedup, debate, rank, evolve, accumulate, report, demo).
Как это попробовать?Запустите `make demo` для разовой сквозной офлайн-демонстрации или выполните отдельные этапы CLI (corpus -> generate/debate/evolve -> verify -> dedup -> rank -> accumulate -> report) сами; на выходе получатся report.md и report.html.
Что нужно установить для запуска?В рантайме нужен только NumPy. PyTorch (только CPU) — опциональный экстра, нужный лишь для демо небольшого обучаемого ранкера; GPU и доступ к сети не требуются.
Действительно ли hypoarena открывает настоящие научные гипотезы?Нет — все тесты и примеры по умолчанию работают на синтетических корпусах без обращения к реальным моделям или сети; проект прямо заявляет, что это демонстрация механизмов, а не заявление о реальной способности к научным открытиям.
Как реально работает ранжирование через Elo/турниры?Гипотезы сравниваются по круговой системе по рубричным оценкам (новизна, проверяемость, обоснованность, согласованность) с обновлениями Bradley-Terry/Elo, учётом ничьих и затуханием K-фактора; property-тесты подтверждают, что рейтинги восстанавливают заложенный порядок силы в пределах допуска.
Как дедупликация парафраз находит почти дублирующиеся гипотезы?Она комбинирует хеширование нормализованного текста, Jaccard-сходство n-грамм по символам/словам, косинусную близость TF-IDF и MinHash LSH, с задокументированным поведением ложных срабатываний/пропусков на заложенных кластерах парафраз.
Воспроизводимы ли результаты на разных машинах?Да — все артефакты JSON/JSONL проходят через единый канонический сериализатор (отсортированные ключи, фиксированные разделители, квантованные числа с плавающей точкой), поэтому результаты и их golden-дайджесты побайтово идентичны на разных платформах и версиях интерпретатора Python.
Каких агентов можно подключить к циклу дебатов?Цикл generate-debate-evolve использует подключаемый протокол агентов propose/critique/revise и поддерживает скриптовых, replay- или loopback-мок агентов для полностью офлайн-запусков.
Creator
OpSafari
Size
1.5 MB
Stars
555
Age
18d
Commits · 90 Days