<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>research-stack · the MVP build log</title>
  <link href="https://research.devclusterai.com/mvp"/>
  <link rel="self" href="https://research.devclusterai.com/feed.xml"/>
  <id>https://research.devclusterai.com/mvp</id>
  <updated>2026-09-24T00:00:00Z</updated>
  <author><name>DevClusterAI</name><uri>https://devclusterai.com/</uri></author>
  <entry>
    <title>A quick update: the live pass came back flat, and found the two reasons why.</title>
    <link href="https://research.devclusterai.com/mvp#h-live-0924"/>
    <id>https://research.devclusterai.com/mvp#h-live-0924</id>
    <updated>2026-09-24T00:00:00Z</updated>
    <summary>EXTRACT-1 and ASSEMBLE-1 ran live over the clean ten. The extractor did its part: 67.2 claims a run , up from 24.8. The score did not follow — 13.35 → 13.11 on the eight tasks scored both times. Two defects explain most of it, and both were found by running the thing, not by reading it. task clean ten pass 1 now what changed drb2-090 8.91 1.98 13.86 its charter no longer certifies itself: the cove</summary>
  </entry>
  <entry>
    <title>Fourteen fetches failed silently, and this page said none did.</title>
    <link href="https://research.devclusterai.com/mvp#h-audit"/>
    <id>https://research.devclusterai.com/mvp#h-audit</id>
    <updated>2026-09-23T00:00:00Z</updated>
    <summary>what we published Every page carried one line: 163 of 203 failed fetches recovered, 40 refused, 0 silent . A silent failure is one that left no fallback trail at all. Zero is the flattering number, and it is the one we printed. what the record says The gate's own render disagrees, and it is the record: rsk gate mvp report over the X2 ledger counts 217 ladder-eligible first attempts — 163 recovered</summary>
  </entry>
  <entry>
    <title>The clean ten — 16.42, and an answer key that turned out to be worth nothing.</title>
    <link href="https://research.devclusterai.com/mvp#h-clean-ten"/>
    <id>https://research.devclusterai.com/mvp#h-clean-ten</id>
    <updated>2026-09-23T00:00:00Z</updated>
    <summary>Ten DeepResearch Bench II tasks — 672 yes/no checklist items written by others — run under method gold-ext/v3 . We enforced one condition we had never met before: no run counted here read the source its own rubric came from. 16.42 overall: recall 12.89, analysis 27.16, presentation 27.04. Six tasks from the plan-v2 pass re-scored by JUDGE-1; four re-run on the 23rd under BLOCK-1 — 4 started, 4 fin</summary>
  </entry>
  <entry>
    <title>The blocklist refused three fetches while we watched.</title>
    <link href="https://research.devclusterai.com/mvp#h-block"/>
    <id>https://research.devclusterai.com/mvp#h-block</id>
    <updated>2026-09-23T00:00:00Z</updated>
    <summary>what was wrong Every gold-ext task names the survey its rubric came from, and finding #1330 found four of the ten runs read it anyway — drb2-046 via a PMC mirror the list did not name, drb2-024 via arxiv.org/pdf/ where the guard covered only /abs/ , drb2-062 via a URL named in its own list, drb2-108 straight into its body store. A deny list a mirror defeats is not a deny list, and it made those sc</summary>
  </entry>
  <entry>
    <title>We were never short of pages. We are short of extraction.</title>
    <link href="https://research.devclusterai.com/mvp#h-jev"/>
    <id>https://research.devclusterai.com/mvp#h-jev</id>
    <updated>2026-09-22T00:00:00Z</updated>
    <summary>We thought it was truncation — 60,000 characters across eight bodies, 12,000 each, so the misses fell off the end of a window. The next package was going to be show it more . Then we reconstructed, with no model calls, exactly which bytes reached a prompt and asked of each of the 500 recall items where its answer was. The window budget is worth 4.9 points, not the 23.8 the story implied. 212 items</summary>
  </entry>
  <entry>
    <title>10.67 was our own judge misreading its own rubric.</title>
    <link href="https://research.devclusterai.com/mvp#h-judge"/>
    <id>https://research.devclusterai.com/mvp#h-judge</id>
    <updated>2026-09-22T00:00:00Z</updated>
    <summary>We published 10.67 as the tool's number. It was not. Of the 366 recall items the flash seat refused, 212 were refused for the report's shape — “the basic information table was not provided” — with the fact itself quoted in the evidence field. A flat list of items gives the judge no way to tell a missing fact from a missing table . So: tell it which dimension each item belongs to, and ask whether t</summary>
  </entry>
  <entry>
    <title>The answers we threw away were cut, not malformed.</title>
    <link href="https://research.devclusterai.com/mvp#h-parser"/>
    <id>https://research.devclusterai.com/mvp#h-parser</id>
    <updated>2026-09-22T00:00:00Z</updated>
    <summary>what we thought it was Five tasks in the first external pass and two in the second were dropped by the external judge's parser. We marked it as a shape bug — the judge returned {"results": [...]} where the reader expected an object — and planned to make the reader more tolerant. what it actually was The answers were cut by the completion limit in the middle of the JSON, and the parser discarded th</summary>
  </entry>
  <entry>
    <title>We doubled the reading. Recall doubled; analysis halved.</title>
    <link href="https://research.devclusterai.com/mvp#h-depth"/>
    <id>https://research.devclusterai.com/mvp#h-depth</id>
    <updated>2026-09-22T00:00:00Z</updated>
    <summary>what we built Plan v2 adds one state, cover , between investigate and synthesise. The coverer reads the charter's coverage contract — entities × dimensions and facets — against the run's counting claims, and writes a charter addendum for every cell below its minimum; a guard sends the run back to investigate for those lines, at most cover_rounds times, and a pass that adds no counting claim ends t</summary>
  </entry>
  <entry>
    <title>A console over the ledger — and a door that opened on a public user id.</title>
    <link href="https://research.devclusterai.com/mvp#h-console"/>
    <id>https://research.devclusterai.com/mvp#h-console</id>
    <updated>2026-09-22T00:00:00Z</updated>
    <summary>what we built Five screens — ask, the run, the report, runs, decisions — each a pure function of a ledger through the kernel's hardened read-only pool: one statement, an authorizer, query_only , bounded rows and bytes. Each has a ?json twin, so agent frontends read what a person sees. Server-rendered, no framework, no build step; a live run streams over SSE. what was wrong Four adversarial rounds;</summary>
  </entry>
  <entry>
    <title>A writer unit, and an article that has to cite to exist.</title>
    <link href="https://research.devclusterai.com/mvp#h-narr"/>
    <id>https://research.devclusterai.com/mvp#h-narr</id>
    <updated>2026-09-22T00:00:00Z</updated>
    <summary>what we built The external rubric wants sections per facet and four to eight thousand words; report.md was Answer / Findings / Verdicts in about two. NARR-1 adds a writer unit and a write state: in go the question, the coverage contract and the accepted claims with their anchors — never the contested or refuted — and out comes an article by facet, with its own "what is not established". Every para</summary>
  </entry>
  <entry>
    <title>The four judged laws, labelled — and two judges caught not judging.</title>
    <link href="https://research.devclusterai.com/mvp#h-labels"/>
    <id>https://research.devclusterai.com/mvp#h-labels</id>
    <updated>2026-09-21T00:00:00Z</updated>
    <summary>the labels L1 and L3 are decided by the ledger's rule. The other four need a reader. Every report was read twice more — by a sceptic who assumes the report is hiding something, and by the practitioner who asked the question — each labelling L2, L4, L5 and L6 with the sentence that decided it; a third reader settled every disagreement. Six of 53 reports pass all four. The tool answers the question </summary>
  </entry>
  <entry>
    <title>Fifty-three questions for $8.27, then every report read.</title>
    <link href="https://research.devclusterai.com/mvp#h-gate"/>
    <id>https://research.devclusterai.com/mvp#h-gate</id>
    <updated>2026-09-19T00:00:00Z</updated>
    <summary>the gate Twenty campaigns of two to four adjacent questions, the later ones meant to be answerable in part from the first's verified knowledge. Headless browsers, liveness checks, Postgres row-level security, idempotent retries, SQLite in production, Cloudflare Workers, drone rules, event sourcing, passkeys, email delivery. Every question ran once, live, under a cap the kernel refuses to cross, fr</summary>
  </entry>
</feed>
