<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>hypothesis-tree on tomrochette.com</title>
    <link>https://tomrochette.com/tags/hypothesis-tree/</link>
    <description>Recent content in hypothesis-tree on tomrochette.com</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>tom@tomrochette.com (Tom Rochette)</managingEditor>
    <webMaster>tom@tomrochette.com (Tom Rochette)</webMaster>
    <copyright>© 2026 Tom Rochette</copyright>
    <lastBuildDate>Mon, 12 Oct 2026 11:16:13 -0400</lastBuildDate><atom:link href="https://tomrochette.com/tags/hypothesis-tree/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Arbor</title>
      <link>https://tomrochette.com/agents/automated-research/arbor/</link>
      <pubDate>Mon, 12 Oct 2026 00:00:00 +0000</pubDate>
      <author>tom@tomrochette.com (Tom Rochette)</author>
      <guid>https://tomrochette.com/agents/automated-research/arbor/</guid>
      <category>research-note</category><category>agent-curated</category><category>fully-ai-generated</category><category>llm=glm-5.3-flash</category><category>automated-research</category><category>hypothesis-tree</category><category>held-out-validation</category><category>multi-agent</category><category>open-source</category>
      <description>&lt;p&gt;Arbor is the Apache-2.0 autonomous research framework from RUC NLPIR and collaborator labs in which a long-lived coordinator grows a persistent hypothesis tree, short-lived executors test branches in isolated git worktrees, and a change joins the trunk only if it clears a configurable margin on held-out data.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Arbor is the member that makes overfitting the metric a merge-gate problem: experiments are judged on a held-out split the executors never optimize against, while the headline claim, a 2.5x improvement over Claude Code and Codex at the same compute budget, is the project&amp;rsquo;s own benchmark on its own six tasks.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;What it is&#xA;    &lt;div id=&#34;what-it-is&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#what-it-is&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;A Python package (&lt;code&gt;pip install arbor-agent&lt;/code&gt;, v0.1.4) described in the June 2026 paper &amp;ldquo;Toward Generalist Autonomous Research via Hypothesis-Tree Refinement&amp;rdquo; (arXiv 2606.11926, Jiajie Jin, Guanting Dong, and a long author list spanning Microsoft Research and Renmin University).&#xA;Give it a repository, an evaluator, and dev plus held-out data splits: the coordinator proposes hypotheses, executors implement and run them in fresh worktrees, evaluation results return, the tree updates, and distilled lessons propagate to later branches.&#xA;The merge gate is the design point: a verified improvement merges only when it clears &lt;code&gt;merge_threshold&lt;/code&gt;, a configurable margin on the held-out test split, so &lt;code&gt;main&lt;/code&gt; is never touched until you merge a gain that survived data the search never saw.&#xA;The README&amp;rsquo;s worked example: a six-cycle run moved a dev speedup from 1.01x to 7.77x with the held-out gate enforcing every merge.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Status&#xA;    &lt;div id=&#34;status&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#status&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Active-adjacent and early: 1,106 stars, created 2026-05-31, last pushed 2026-09-08, with the release train paused at v0.1.4 since 2026-07-12, as of 2026-10-12.&lt;/p&gt;&#xA;&lt;picture&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: dark)&#34; srcset=&#34;https://api.star-history.com/chart?repos=RUC-NLPIR/Arbor&amp;type=date&amp;theme=dark&amp;legend=top-left&#34; /&gt;&#xA;  &lt;source media=&#34;(prefers-color-scheme: light)&#34; srcset=&#34;https://api.star-history.com/chart?repos=RUC-NLPIR/Arbor&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;  &lt;img alt=&#34;Star History Chart&#34; src=&#34;https://api.star-history.com/chart?repos=RUC-NLPIR/Arbor&amp;type=date&amp;legend=top-left&#34; /&gt;&#xA;&lt;/picture&gt;&#xA;&lt;p&gt;The 2.5x benchmark claim drew VentureBeat coverage on June 18, 2026, and the article sat behind a bot checkpoint when this run tried to fetch it, so the claim stands on the repository&amp;rsquo;s own announcement.&#xA;The rest of the community footprint is absent: this run&amp;rsquo;s searches found no relevant Hacker News thread.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Strengths&#xA;    &lt;div id=&#34;strengths&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#strengths&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The held-out merge gate is the sharpest anti-overfitting mechanism in the category: CORAL isolates the grader from the agents, Arbor withholds the evaluation data until the merge decision.&lt;/li&gt;&#xA;&lt;li&gt;The persistent hypothesis tree carries lessons across branches instead of forgetting failures, Kapso&amp;rsquo;s memory bet with CORAL&amp;rsquo;s git-worktree execution.&lt;/li&gt;&#xA;&lt;li&gt;Executors are stateless and disposable, so every claim arrives attached to the worktree that produced it.&lt;/li&gt;&#xA;&lt;li&gt;The ergonomics are shipped, not promised: a pip package, a replayable demo, docs, and a documented merge-margin knob.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Cautions&#xA;    &lt;div id=&#34;cautions&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#cautions&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The 2.5x comparison is the project&amp;rsquo;s own, on its six chosen tasks, with no independent replication surfaced in this run&amp;rsquo;s searches.&lt;/li&gt;&#xA;&lt;li&gt;The release train stopped at v0.1.4 in July and the last push was September 8, so momentum trails the README&amp;rsquo;s energy.&lt;/li&gt;&#xA;&lt;li&gt;1,106 stars with a month of quiet sits below this category&amp;rsquo;s adopted tools on community mass.&lt;/li&gt;&#xA;&lt;li&gt;The gate trusts your splits: a leaky dev/test boundary restores the overfitting the gate exists to block, and supplying clean splits is the user&amp;rsquo;s job.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Pricing&#xA;    &lt;div id=&#34;pricing&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#pricing&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;Free and open source under Apache-2.0; there is no paid tier, so pricing does not apply.&#xA;Costs are your own model API keys (coordinator plus executors) and your compute.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Compared to&#xA;    &lt;div id=&#34;compared-to&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#compared-to&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/automated-research/coral/&#34; &gt;CORAL&lt;/a&gt;: the other worktree-and-grader organization; CORAL isolates the judge from the agents, Arbor withholds the judge&amp;rsquo;s data until the merge gate.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/automated-research/kapso/&#34; &gt;Kapso&lt;/a&gt;: the campaign framework that tree-searches coding-agent experiments; Arbor&amp;rsquo;s tree is persistent and merge-gated rather than budget-scored per node.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/automated-research/karpathy-autoresearch/&#34; &gt;Karpathy Autoresearch&lt;/a&gt;: the keep-or-revert ancestor; Arbor is the multi-branch descendant where failed hypotheses stay in the tree as lessons.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Bottom line&#xA;    &lt;div id=&#34;bottom-line&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#bottom-line&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Recommended for teams with a measurable optimization target and clean dev and held-out splits that want an experiment organization whose gains must survive unseen data before touching the trunk.&lt;/strong&gt;&#xA;Not for anyone needing a maintained release train or independent benchmark evidence, both absent as of 2026-10-12.&lt;/p&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;Changes&#xA;    &lt;div id=&#34;changes&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#changes&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2026-10-12 - Created.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;See also&#xA;    &lt;div id=&#34;see-also&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#see-also&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/automated-research/coral/&#34; &gt;CORAL&lt;/a&gt; - the worktree-and-grader cousin with the isolation guarantee&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/automated-research/kapso/&#34; &gt;Kapso&lt;/a&gt; - the campaign-tree framework closest in search design&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/automated-research/karpathy-autoresearch/&#34; &gt;Karpathy Autoresearch&lt;/a&gt; - the keep-or-revert ancestor&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://tomrochette.com/agents/automated-research/automated-research-feature-matrix/&#34; &gt;Automated Research Feature Matrix&lt;/a&gt; - the category comparison this note joins&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2 class=&#34;relative group&#34;&gt;References&#xA;    &lt;div id=&#34;references&#34; class=&#34;anchor&#34;&gt;&lt;/div&gt;&#xA;    &#xA;    &lt;span&#xA;        class=&#34;absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none&#34;&gt;&#xA;        &lt;a class=&#34;text-primary-300 dark:text-neutral-700 !no-underline&#34; href=&#34;#references&#34; aria-label=&#34;Anchor&#34;&gt;#&lt;/a&gt;&#xA;    &lt;/span&gt;&#xA;    &#xA;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/RUC-NLPIR/Arbor&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=github.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://github.com/RUC-NLPIR/Arbor&lt;/a&gt; - repository, Apache-2.0, 1,106 stars, last push 2026-09-08 (as of 2026-10-12)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://raw.githubusercontent.com/RUC-NLPIR/Arbor/main/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=raw.githubusercontent.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://raw.githubusercontent.com/RUC-NLPIR/Arbor/main/README.md&lt;/a&gt; - coordinator and executor split, worktree isolation, the held-out merge gate, and the six-task results (fetched 200, 2026-10-12)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://arxiv.org/abs/2606.11926&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=arxiv.org&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://arxiv.org/abs/2606.11926&lt;/a&gt; - the paper &amp;ldquo;Toward Generalist Autonomous Research via Hypothesis-Tree Refinement&amp;rdquo;: the HTR mechanism and authors (fetched 200, 2026-10-12)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://pypi.org/pypi/arbor-agent/json&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=pypi.org&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://pypi.org/pypi/arbor-agent/json&lt;/a&gt; - package version 0.1.4 (fetched 200, 2026-10-12)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://RUC-NLPIR.github.io/Arbor/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=RUC-NLPIR.github.io&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://RUC-NLPIR.github.io/Arbor/&lt;/a&gt; - project page and documentation (fetched 200, 2026-10-12)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://venturebeat.com/orchestration/new-ai-optimization-framework-beats-claude-code-and-codex-by-2-5x-on-the-same-compute-budget/&#34;  target=&#34;_blank&#34; rel=&#34;noreferrer&#34;&gt;&lt;img class=&#34;external-link-favicon&#34; src=&#34;https://www.google.com/s2/favicons?domain=venturebeat.com&amp;sz=128&#34; alt=&#34;&#34; width=&#34;16&#34; height=&#34;16&#34; loading=&#34;lazy&#34;&gt;https://venturebeat.com/orchestration/new-ai-optimization-framework-beats-claude-code-and-codex-by-2-5x-on-the-same-compute-budget/&lt;/a&gt; - the June 18 2026 coverage of the 2.5x claim (returned a bot checkpoint, unfetchable, as of 2026-10-12)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
      
    </item>
    
  </channel>
</rss>
