Skip to content

codebase-design: design-it-twice sub-agents can build on conflicting facts, and the comparison doesn't check them #1338

Open

Description

@jwross24

What I ran: /improve-codebase-architecture, then design-it-twice on one candidate. Following DESIGN-IT-TWICE.md, I spawned three sub-agents, each with a different constraint: minimize the interface, design for concurrency first, and optimize for the most common caller. All three briefs pointed at the same file of facts gathered beforehand: the call sites, their guards and the library's behavior.

What happened: one design rested on a library fact that contradicted that file. It assumed the ORM's conditional UPDATE returns the rows it changed, and used that to report which writes applied. The facts file said the update returns a row count, and the installed library source confirms it: UpdateQuery._execute -> int. The comparison step contrasts depth, locality and seam placement, and has no step that checks the facts each design depends on. The false premise went through that comparison unchallenged. I caught it only by reading the library source myself.

What I expected: the comparison to separate design differences from fact differences. When the sub-agents disagree on design, that is the point of the fan-out. When a design states a fact that contradicts the brief or the source, that is an error, and the comparison should surface it before judging the designs. A shared facts file alone does not prevent this, because the sub-agent read the file and still asserted the opposite.

  • Harness: Claude Code
  • Model: Opus 5.5

Activity

  1. mattpocock commented on Oct 30, 2026

    @mattpocock
    Owner

    This was generated by AI during triage.

    Agent brief: in DESIGN-IT-TWICE.md step 3, before comparing, check each design's factual claims against the brief and the source and flag any contradiction as an error, not a design difference.

  2. added
    ready-for-agentFully specified, ready for an AFK agent
    and removed
    needs-triageMaintainer needs to evaluate
    on Oct 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ready-for-agentFully specified, ready for an AFK agent

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions