{
  "description": "Browse aymeric's, an independent, searchable archive of readable snapshots from followed feeds, preserved in Git with aggr.",
  "feed_url": "https://aggr.aymericbeaumet.com/sources/github.com/guregodevo/feed.json",
  "home_page_url": "https://aggr.aymericbeaumet.com/sources/github.com/guregodevo/",
  "items": [
    {
      "authors": [
        {
          "name": "guregodevo"
        }
      ],
      "content_html": "<p>Five small models solve a programming problem together: a planner, two ideators, a solver and a manager, plus a repair worker. Each starts from a fresh context and talks only through files on disk. A script that runs the samples decides success, not a model. It is the method of <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/slee-persis/GVS5H\">GVS5H</a> (Lee, 2026), written as a <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/guregodevo/memdoor/blob/main/README.md\">Memdoor</a> workflow: eight YAML files, no code, no model named.</p>\n<h2>The result</h2>\n<p>The authors' harness rebuilt on the same model, Qwen3.8-27B, with their prompts, loop and 128K reply cap. The first ten problems of their LiveCodeBench Hard list, five passes each, graded on every hidden test with their corrected grader:</p>\n<table>\n<thead>\n<tr>\n<th>pass</th>\n<th>this workflow</th>\n<th>authors' harness</th>\n<th>Fable 5, one call</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>1</td>\n<td><strong>10</strong> / 10</td>\n<td>9</td>\n<td>7</td>\n</tr>\n<tr>\n<td>2</td>\n<td><strong>10</strong> / 10</td>\n<td>10</td>\n<td>8</td>\n</tr>\n<tr>\n<td>3</td>\n<td><strong>10</strong> / 10</td>\n<td>10</td>\n<td>10</td>\n</tr>\n<tr>\n<td>4</td>\n<td><strong>10</strong> / 10</td>\n<td>9</td>\n<td>8</td>\n</tr>\n<tr>\n<td>5</td>\n<td><strong>9</strong> / 10</td>\n<td>10</td>\n<td>7</td>\n</tr>\n<tr>\n<td>mean</td>\n<td><strong>9.8</strong></td>\n<td>9.6</td>\n<td>8.0</td>\n</tr>\n</tbody>\n</table>\n<p>The authors' two columns are the regraded result files in their repository, the numbers in their paper. Our column is <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/guregodevo/memdoor/blob/main/examples/workflows/team-solve/bench/results/parity-5pass\"><code>bench/results/parity-5pass/</code></a>: all 50 runs, each with every request and reply, the program, the grader's output and the cost. A run took a median of 40 minutes and $0.39; the 50 cost $35.79.</p>\n<p>What this does and does not show:</p>\n<ul>\n<li>Ten problems, five passes, not the authors' 100. On a sample this small, 9.8 and 9.6 are the same number. The claim is parity with their harness, not a gain on it.</li>\n<li>The contests date from spring 2025 and the model may have seen them in training. Contamination cannot be ruled out, for any column.</li>\n<li>Fable 5's column is one call per problem, from the authors' files. It was not run in this harness.</li>\n<li>The loop sees only the public samples; the score is the hidden tests.</li>\n<li>The model ran on OpenRouter, not a local machine.</li>\n<li>The one lost problem: the manager invented a wrong counterexample and the team rewrote a correct program. Twice elsewhere a correct program was overwritten and then recovered. Both gaps are the authors' loop, kept as is.</li>\n</ul>\n<p>The parity check (every request byte for byte against their code), the hosts, the changes it took and the first run's findings are in <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/guregodevo/memdoor/blob/main/examples/workflows/team-solve/NOTES.md\">NOTES.md</a>.</p>\n<h2>Run it</h2>\n<pre><code><span class=\"code-snippet\" data-language=\"Shell\"><span class=\"syntax-source syntax-shell syntax-bash\"><span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">curl</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"><span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\"> -</span>fsSL</span> https://memdoor.ai/install.sh</span> <span class=\"syntax-keyword syntax-operator syntax-logical syntax-pipe syntax-shell\">|</span> <span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">bash</span></span>\n<span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">memdoor</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"> connect openrouter        <span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-comment syntax-begin syntax-shell\">#</span></span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\"> or anthropic, openai, gemini, chatgpt</span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\">\n</span></span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-comment syntax-begin syntax-shell\">#</span></span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\"> or no key: memdoor connect local   (Ollama, llama.cpp, vLLM, LM Studio; Ollama needs a 32K window, not its 4K default)</span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\">\n</span><span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">git</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"> clone<span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\"> --</span>depth</span> 1 https://github.com/guregodevo/memdoor</span>\n\n<span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">mkdir</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"><span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\"> -</span>p</span> <span class=\"syntax-meta syntax-group syntax-expansion syntax-tilde\"><span class=\"syntax-variable syntax-language syntax-tilde syntax-shell\">~</span></span>/.memdoor/workflows</span>\n<span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">cp</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"><span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\"> -</span>r</span> memdoor/examples/workflows/team-solve <span class=\"syntax-meta syntax-group syntax-expansion syntax-tilde\"><span class=\"syntax-variable syntax-language syntax-tilde syntax-shell\">~</span></span>/.memdoor/workflows/</span>\n<span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">mkdir</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"> my-problem</span> <span class=\"syntax-keyword syntax-operator syntax-logical syntax-and syntax-shell\">&amp;&amp;</span> <span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-support syntax-function syntax-cd syntax-shell\">cd</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"> my-problem</span>\n<span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">cp</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"><span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\"> -</span>r</span> ../memdoor/examples/workflows/team-solve/sample/<span class=\"syntax-keyword syntax-operator syntax-regexp syntax-quantifier syntax-shell\">*</span> .    <span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-comment syntax-begin syntax-shell\">#</span></span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\"> task.md + tests/1.in … 5.out</span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\">\n</span></span><span class=\"syntax-meta syntax-function-call syntax-shell\"><span class=\"syntax-variable syntax-function syntax-shell\">memdoor</span></span><span class=\"syntax-meta syntax-function-call syntax-arguments syntax-shell\"> workflow run team-solve<span class=\"syntax-variable syntax-parameter syntax-option syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-parameter syntax-shell\"> --</span>wait   <span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\"><span class=\"syntax-punctuation syntax-definition syntax-comment syntax-begin syntax-shell\">#</span></span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\"> exit 0 when every sample passes</span><span class=\"syntax-comment syntax-line syntax-number-sign syntax-shell\">\n</span></span></span></span></span></code></pre>\n<p>For your own problem, replace <code>task.md</code> and put paired <code>tests/N.in</code> / <code>tests/N.out</code> beside it. The program is <code>solution.py</code>, read from stdin, compared to the samples with <code>diff</code>; it needs Python 3 and bash. <code>/workflow</code> in <code>memdoor tui</code> draws the run live.</p>\n<p>The steps name no model: whatever <code>/model</code> is pinned to answers, a local one included (<a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://memdoor.ai/docs/providers#a-local-runtime-no-key\">how to connect one</a>). To change a role, change its prompt in <code>steps/</code>.</p>\n<h2>How it works</h2>\n<pre><code><span class=\"code-snippet\">plan ──┬── ideate-a ──┬── solve ── test ── review ── repair ── verify\n       └── ideate-b ──┘\n</span></code></pre>\n<table>\n<thead>\n<tr>\n<th>step</th>\n<th>kind</th>\n<th>reads</th>\n<th>writes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>plan</code></td>\n<td>agent</td>\n<td><code>task.md</code></td>\n<td><code>plan.md</code>, <code>notes.md</code></td>\n</tr>\n<tr>\n<td><code>ideate-a</code>, <code>ideate-b</code></td>\n<td>agent, in parallel</td>\n<td>the plan</td>\n<td>a proposal each: the most direct provable algorithm, and one from another family</td>\n</tr>\n<tr>\n<td><code>solve</code></td>\n<td>agent</td>\n<td>both proposals</td>\n<td><code>solution.py</code>, the decision in <code>notes.md</code></td>\n</tr>\n<tr>\n<td><code>test</code></td>\n<td>command</td>\n<td><code>tests/</code></td>\n<td><code>test-output.log</code> (never fails the run)</td>\n</tr>\n<tr>\n<td><code>review</code></td>\n<td>agent</td>\n<td>the test output</td>\n<td>repair instructions in <code>notes.md</code></td>\n</tr>\n<tr>\n<td><code>repair</code></td>\n<td>agent</td>\n<td>the instructions</td>\n<td>a fixed <code>solution.py</code>, or nothing</td>\n</tr>\n<tr>\n<td><code>verify</code></td>\n<td>command</td>\n<td><code>tests/</code></td>\n<td>the verdict: a nonzero exit fails the run</td>\n</tr>\n</tbody>\n</table>\n<p>Every agent prompt says &quot;fresh context, read the files, do not rely on chat&quot;. The paper credits that ledger discipline for the gain. Each step is one YAML file in <code>steps/</code>, in the format of <a target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://github.com/guregodevo/mario\">mario</a>, the engine underneath; <code>requires:</code> is the DAG.</p>\n",
      "date_modified": "2026-10-31T22:46:12+00:00",
      "date_published": "2026-10-31T22:46:12+00:00",
      "external_url": "https://github.com/guregodevo/memdoor/tree/main/examples/workflows/team-solve",
      "id": "urn:aggr:item:6aa27ec0f6cf5042b8eea6734f8308efd396610e",
      "image": "https://opengraph.githubassets.com/31e7563ac084244a417ccae15e55c468113b8911a2d9fea5a0472d4ebd45d06e/guregodevo/memdoor",
      "summary": "Five small models solve a programming problem together: a planner, two ideators, a solver and a manager, plus a repair worker. Each starts from a fresh context and talks only through files on disk. A script that runs the samples decides…",
      "tags": [
        "news"
      ],
      "title": "Memdoor: A team of 5 Qwen3.8-27B models beats Fable 5 on LiveCodeBench Hard",
      "url": "https://aggr.aymericbeaumet.com/items/hnrss-org/2026-10-31-memdoor-a-team-of-5-qwen3-8-27b-models-beats-fable-5-on/"
    }
  ],
  "language": "en",
  "title": "github.com/guregodevo",
  "version": "https://jsonfeed.org/version/1.1"
}