Repository navigation
Version 0.4.0. Query graph, evidence packets, a durable runtime, and the performance work that makes them viable.
- Query graph (
POST /v1/graph/search,jiro graph plan|run) — the planner builds a DAG of SEARCH / FETCH / MERGE / EXTRACT / VERIFY / COMPRESS / SYNTHESIZE nodes; dispatch is ready-driven, so a node starts when its own parents finish rather than when its topological level drains. - Adaptive budgets — timeouts derive from a rolling per-engine p50/p95 window.
--deadline-ms 0(the new default) means "derive it". - Engine racing + hedging — a slow request is duplicated on an alternate engine, first success wins, and preference order decides among successes so a faster substitute cannot silently replace the requested engine.
- MCP
session_handoff— the structured brief fromdocs/v0.4.0/MASTER_PLAN.md§5.2, as the 22nd tool. - Evidence packets — results compress to claims that each carry their supporting source spans.
Performance — all four claims backed by committed artifacts
Reproduce with python benchmarks/report.py.
The efficiency ratio is published with its quality gate stated as pending, per docs/v0.4.0/CLAIMS.md §3 — the 30 LLM-judge runs and 50 blind human spot checks have not run, so it is a tokens-per-citation measurement, not a claim of equivalent answer quality. The registry carries the caveat and benchmarks/report.py refuses to publish it without one.
The speed ratio varies with live-search latency (as low as 2.0x across runs), so the artifact records a declared cold-cache state rather than a favourable sample.
Defects fixed
jiro/scraping/client.pyreferenced_time, never imported — every search raisedNameErrorand/searchreturned HTTP 500.npm/package.jsonhad been missing its closing brace since it was first added; every revision in history fails to parse.- Pagination returned fewer results than requested (
num=9returned 6). runtime.lease_ttl_secondsshipped at 30s against a 3600s attempt timeout, so every process warned about its own defaults.
Test plan
- Full suite: 1529 passed, 9 skipped, 1 failed
- The one failure is
tests/test_phase2.py::test_recipe_api, verified failing identically on a clean tree — pre-existing and network-dependent - Flagship gate:
jiro graph run "what is the capital of France" --fetch-top 2returns 20 cited claims, 8 sources, 0 gaps, 20/20 claims carrying a source - All four benchmark artifacts present and above target
Caveat on this branch
The commit history on this branch was rewritten into 222 small commits at the maintainer's request. The 9 original, explanatory commits are preserved at tag pre-222-backup. The final tree is byte-identical either way (be269cc). If you would rather review the 9 meaningful commits, use that tag.