[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-92457":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":8,"htmlUrl":8,"language":9,"languages":8,"totalLinesOfCode":8,"stars":10,"forks":11,"watchers":12,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":14,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":15,"rankGlobal":8,"rankLanguage":8,"license":8,"archived":16,"fork":16,"defaultBranch":17,"hasWiki":18,"hasPages":16,"topics":19,"createdAt":8,"pushedAt":8,"updatedAt":20,"readmeContent":21,"aiSummary":22,"trendingCount":13,"starSnapshotCount":13,"syncStatus":23,"lastSyncTime":24,"discoverSource":25},92457,"DeepReason","AHepi\u002FDeepReason","AHepi",null,"Python",114,13,53,0,18,39.24,false,"main",true,[],"2026-07-22 04:02:06","# DeepReason\n\n**A harness that makes an LLM argue with itself — on the record.**\n\nYou give it a hard, open \"why\" question. It has the model *conjecture* a\nspread of bold explanations, then *criticize* them: each candidate must\nstate what evidence would refute it, weak ones get argued down, survivors\ncompete head-to-head, and the whole exchange is written to an append-only,\nbyte-for-byte replayable log. The model proposes; a deterministic harness\ndoes all the bookkeeping and decides nothing on vibes. The output isn't one\nconfident paragraph — it's a *map* of which explanations survived scrutiny,\nwhich died and exactly why, and where the evidence genuinely can't decide.\n\nThere are two ways to run it: the **full harness** (all the machinery) and\n**MiniReason** (the measured ~20% that carries most of the value, in ~900\nlines). Which to use is the most important decision, so it has its own\nsection below.\n\n---\n\n## Quickstart\n\n### Full harness\n\n```bash\npip install .\nexport DEEPSEEK_API_KEY=...            # any OpenAI-compatible provider works\n\n# Run a built-in problem suite to a token budget; the log lands in runs\u002F\u003Cname>\npython scripts\u002Flive_run.py --suite arrow --root runs\u002Farrow --token-budget 200000\n\n# Turn a finished run into a committed, cited thesis (read-only over the run)\npython scripts\u002Fthesis.py --root runs\u002Farrow --problem pi-arrow\n```\n\nOr drive it from any MCP-capable agent (it exposes a tool surface over\nstdio):\n\n```bash\nclaude mcp add deepreason -- deepreason-mcp\n```\n\nEngine models are per-role config, no code changes — see\n[`docs\u002FAGENT.md`](docs\u002FAGENT.md).\n\n### MiniReason\n\n```python\nfrom minireason.call import HttpEndpoint\nfrom minireason.loop import run\n\nrun([(\"pi-1\", \"why did X happen?\")],\n    HttpEndpoint(\"https:\u002F\u002Fapi.deepseek.com\", \"deepseek-v4-flash\", api_key=KEY),\n    budget=30_000, root=\"runs\u002Fmy-run\")\n```\n\nSelf-contained in [`mini\u002F`](mini\u002F) (pydantic only). See\n[`mini\u002FREADME.md`](mini\u002FREADME.md).\n\n---\n\n## What it's best at (and why)\n\nThe harness pays off on **hard, open, explanatory questions where you want\nthe whole space of rival answers mapped and stress-tested**, not a single\nguess. It shines when:\n\n- **You don't trust a one-shot answer.** A direct prompt gives you the\n  model's most typical answer and hides the alternatives. This forces a\n  *distribution* of candidates and then makes each one defend itself.\n- **The question has falsifiable structure.** Each candidate must name what\n  would refute it. That single discipline is what lets the harness reject\n  hand-waving mechanically and argue substantively about the rest.\n- **You want the disagreement made honest.** When two explanations both\n  survive, it says so and names the evidence that would decide between\n  them, rather than papering over it.\n\nConcretely, good fits:\n\n| Use case | Why the harness helps |\n|---|---|\n| Mapping rival explanations for an open research question | Generates the distribution, kills the unfalsifiable, keeps survivors with their attack surface |\n| Design-space exploration against hard criteria | Forbidden-cases become the acceptance tests; survivors come with the criteria they met |\n| Adversarial review of a claim (\"steelman, then break it\") | The critic\u002Fdefender\u002Ftrial loop argues both sides on the record |\n| Producing a *defensible* conclusion, not just an answer | The thesis view commits to the best-supported survivor and cites the log |\n\nWe tested this end-to-end on \"why does time have an arrow?\" (see\n[`experiments\u002Fresults\u002Fmini_arrow_comparison.md`](experiments\u002Fresults\u002Fmini_arrow_comparison.md)).\nThe full harness spun one question into a 224-problem graph, produced 20\nargued survivors spanning every major position in the literature, and then\nwrote a committed thesis citing its own record. MiniReason reconstructed the\nsame solution space for roughly **8% of the cost**.\n\n**Research using the harness:**\n[Can an LLM explore past its own repertoire?](docs\u002FCAN_LLMS_EXPLORE.md) — a\nwrite-up (with a call for replication and critique) on measuring when an\nLLM's idea-generation stalls and what pushes it back out.\n\n## When *not* to use it\n\nReach for a plain LLM call (or a search tool) instead when:\n\n- **You want a fact or a lookup.** \"What's the capital of X\", \"summarize\n  this doc\" — there's nothing to conjecture or refute.\n- **There's one deterministic right answer.** Arithmetic, code that either\n  compiles or doesn't, closed questions. The machinery adds cost, not value.\n- **The question has no falsifiable structure.** If nothing could count as\n  evidence against a candidate, the harness can't criticize it — it'll\n  either reject everything or rubber-stamp it.\n- **You're latency- or budget-sensitive.** This is deliberately\n  token-heavy and slow next to a single prompt. It buys rigor, and rigor\n  isn't free.\n\n## Full vs Mini — pick one\n\nThe headline finding from our own testing: **generating good candidate ideas\nis nearly free; the expensive machinery earns its keep only when the problem\nis hard enough that criticism has something real to argue about.**\n\n| | MiniReason (`mini\u002F`) | Full harness (`src\u002F`) |\n|---|---|---|\n| Size \u002F cost | ~900 lines; cheap | full system; ~10x+ the tokens |\n| Criticism | mechanical only (a candidate's own falsifier checks) | + LLM critic, defender, 2-seat judge trial |\n| Scope | one problem, generate-and-filter | spawns a *graph* of follow-up problems |\n| Ranking | offline calibrated judge (control-gated) | live pairwise discrimination + adjudication |\n| Concludes | survivor list | committed, cited **thesis** view |\n\nRule of thumb: **start with MiniReason** to map the space cheaply. Graduate\nto the full harness when you need substantive (not just mechanical)\nrefutation, follow-up problems, or a defended conclusion — and the answer is\nworth paying for. A MiniReason run's log is forward-compatible: the full\nharness can open it and keep going.\n\n## What you can trust, and what you can't\n\n**Trust:** every run is deterministic and byte-for-byte replayable from its\nlog; token accounting is checked (`deepreason.invariants.verify_root` — it\ncaught a real 1% leak in a million-token run this project ran). Nothing is\ndeleted; state is a pure function of the append-only log.\n\n**Read with care** (documented honestly in\n[`docs\u002FMINI_STRESS_REPORT.md`](docs\u002FMINI_STRESS_REPORT.md) and the arrow\ncomparison):\n\n- MiniReason's free criticism rejects candidates on **falsifier\n  well-formedness**, not on whether the idea is *true* — it kills malformed\n  tests, not wrong theories.\n- The offline judge scores **how well a candidate is argued against a\n  rubric**, which is a different axis from \"which answer is deepest.\" Read\n  its #1 as \"best-argued in the bracket,\" not \"correct.\"\n- A thesis argues from **the run's own record**, not outside knowledge — it\n  commits to what *this run* adjudicated, and will say so.\n\nSecurity: forbidden-case predicates come from untrusted model output and are\nsandboxed (an AST guard blocks the `eval` escape family). See\n[`tests\u002Ftest_security.py`](tests\u002Ftest_security.py).\n\n## Development\n\n```bash\npip install -e \".[dev]\"\npytest                      # full suite (parent + mini)\n```\n\nSource is `src\u002Fdeepreason\u002F` (the full harness) and `mini\u002Fminireason\u002F` (the\ncompact build). The normative design spec is\n[`docs\u002Fharness-spec-v1.3.md`](docs\u002Fharness-spec-v1.3.md); the module-by-module\nmap and phase status live there and in [`docs\u002FAGENT.md`](docs\u002FAGENT.md).\n","DeepReason 是一个用于引导大语言模型进行自我辩论的推理框架，旨在系统性地生成、批判和筛选针对开放性‘为什么’问题的多种解释。其核心功能包括：自动构建多个可证伪的假设，要求每个假设明确列出反证条件，通过确定性规则淘汰弱解释，并以不可变日志记录完整论证过程；支持全功能版与轻量级 MiniReason 两种模式。技术特点强调可复现性、证据驱动的淘汰机制及 MCP 协议兼容性。适用于需要透明化推理路径、评估竞争性假说或验证解释鲁棒性的场景，如科研问题拆解、政策归因分析与复杂因果推断。",2,"2026-07-09 02:30:05","CREATED_QUERY"]