Skip to content

Get started

Install the hub and a pack

Conjecture needs Python 3.11 or later. The biophoton pack's corpus is a release asset; its fetch script downloads and verifies it with the GitHub command line tool.

git clone https://github.com/Opening-Science/conjecture
git clone https://github.com/Opening-Science/conjecture-pack-biophotons
(cd conjecture-pack-biophotons && python corpus/fetch.py)

cd conjecture
pip install -r requirements.txt
export CONJECTURE_PACK=../conjecture-pack-biophotons/pack.yaml
python -m unittest discover tests

Open the run panel

The run panel shows a pack's questions, engines, results, the ledger of every verdict and the verification measurements. Run locally, it can also start engines and judges and keeps API keys on your machine only.

python panel/server.py              # http://127.0.0.1:8787
python panel/export.py --out site/  # a read-only copy for any static host

Run engines and judges

python run_engine.py --list
python run_engine.py codex-solo --all
python run_pipeline.py               # merge and mechanical checks
python run_judge.py codex
python judge/collect_verdicts.py
python run_pipeline.py --score       # audit database and results page

Adapters that need an agent outside the hub, such as a Claude Code session, print their task and collect the answer on the next call.

Plug in any agent over MCP

An agent that speaks the Model Context Protocol needs no adapter to read a pack's corpus. The server exposes four read-only tools, search, get_work, statements and neighbors, and records every call.

{"mcpServers": {"corpus": {
  "command": "python",
  "args": ["/path/to/conjecture/mcp_server.py"],
  "env": {"CONJECTURE_PACK": "/path/to/pack.yaml",
          "CONJECTURE_CALL_LOG": "/path/to/calls.jsonl"}}}}

Build a corpus for your field

Start from a seed bibliography. The corpus builder resolves it in OpenAlex, expands it by citation, harvests open-access full text politely and builds the knowledgebase the corpus API serves.

pip install -r requirements-builder.txt
export OPENALEX_API_KEY=... OPENALEX_MAILTO=you@example.org
python builder/run.py --list
python builder/run.py
Read the source