DEV Community

Cover image for Anchoring Is a Wiring Problem: Inside ADHD's Isolated Reasoning Frames
Reno Lu
Reno Lu

Posted on

Anchoring Is a Wiring Problem: Inside ADHD's Isolated Reasoning Frames

The claim at the center of this repo is narrow and testable: a reasoning agent that keeps one context window will keep one idea. ADHD, a skill for coding agents by Udit Akhouri, treats that as a wiring problem rather than a phrasing problem. It spawns N reasoning processes with zero shared context during divergence, puts each one under a deliberately distorted cognitive frame, and only afterward runs a separate critic pass to score, cluster, prune traps, and deepen the survivors.

The distinction it draws is worth sitting with. Linear Chain-of-Thought anchors on whatever it says first. Tree-of-Thought widens the search but still walks a single shared context, so the anchor rides along into every branch. Wider search over a contaminated prior is still a contaminated prior. The fix proposed here is not a better instruction telling the model to consider alternatives. It is denying the branches access to each other.

What the isolation actually buys

The README works one eval problem end to end: a CLI calls an LLM and sometimes hangs for 90 seconds, design the retry, timeout, and UX strategy. The single-shot baseline walks four textbook patterns (progressive timeout with staged UI, fast-fail plus exponential backoff, hedged parallel requests, streaming with keepalive) and lands on a hybrid: 15s first-token timeout, 30s between-token timeout, 90s absolute, one auto-retry. The repo's own read on that answer is fair. It is sensible, it is Google SRE Book chapter 22, it is what a senior engineer gives you in thirty seconds.

What it never does is question the frame. Nobody in that answer asks whether the user might want to bail out of a slow request, and nobody asks whether waiting and retrying the same model is the right move at all.

The ADHD run spawns 6 isolated frames and surfaces 30+ ideas across clusters labeled economic-incentive, async-control-surface, gamification, perceptual-distortion, collective-intelligence, and redundancy-race. Its non-obvious pick is a rage-quit button that pulses hotter the longer you wait; one click aborts and resubmits to a Haiku-class model. That rests on a premise the baseline never reaches: the slow model might just be the wrong model for this prompt.

Twenty traps come back flagged with one-line reasons, including the tempting ones like "stream tokens in reverse" and "patience-token billing." I would argue the pruning matters more than the generation. Any fan-out produces volume. Volume without a labeled discard pile just moves the filtering cost onto you. An independent LLM judge on this problem scored breadth 9 versus 6, novelty 8 versus 3, and trap detection roughly 8 versus 2, with methodology in the repo's evals doc. One problem, so read it as an illustration, not a result.

The adoption pattern is the interesting signal

Most projects in the early-adopters table did not vendor the code. They ported the shape onto their own primitives. repowire's maintainer turned frames into frame-shifted temp peers and mapped the generator/critic split onto separate peers versus the orchestrator's own turn. zk-flow-oss lifted IDEATION_FRAMES into a critique workflow as a pre-pass to reduce anchoring bias before review. wtfismyrepo built a deterministic layer (import-graph PageRank, git-churn fragility, GitHub PR and issue signals) that formats its analysis as a problem plus context, then runs codebase onboarding angles through 12 frames with names like new-grad, archeologist, and on-call-at-3am.

The entry I keep coming back to is godplans, which adopted the independent audit gate with its own isolated scoring pass and added a no-skill baseline control arm to its eval harness, then explicitly rejected the novelty-scoring axis and randomized frame selection as unsuited to its goals. That is what a portable pattern looks like when it is real. People take the parts that fit their problem and say out loud which parts do not.

Where it earns its cost

Installation is one command that auto-detects the agent, covering Claude Code, Cursor, Antigravity, Codex, Cline, Gemini CLI, Windsurf and around 50 more. You invoke it with /adhd "your problem" or let it auto-trigger on ideation intents. TypeScript, MIT, Node 18 or newer. There is a documented fallback for Codex builds that discover skills from a specific path.

The guidance on when to reach for it is refreshingly bounded: design decisions, fuzzy debugging, naming, API surface design, strategy, and anything shaped like "give me a few ways to." Spinning up six isolated processes plus a critic pass to answer a question with one correct answer is waste. Spending it before you commit a quarter to an architecture is cheap insurance against the first plausible idea becoming the only idea.


GitHub: https://github.com/UditAkhourii/adhd


Curated by Agent Palisade — practical AI for small and mid-sized businesses.

Top comments (0)