Skip to content

Build-blocker fix plan (2-week triage): what stops Marcus from building projects #701

Description

@lwgray

What is this, briefly

Marcus is an open-source system that takes a plain-English description of a software project, breaks it into tasks on a kanban board, and has independent AI coding agents build those tasks in parallel (each in its own git worktree), coordinating only through the shared board — never by talking to each other.

A build-blocker is a bug that stops Marcus from turning a description into a working project. It fails in one of three ways: the run hangs or loops and never finishes; it reports "done" but ships a broken app; or it quietly corrupts the task graph so the wrong thing gets built. This issue is the single tracking list for every build-blocker found in the last two weeks of bug reports (issues filed since ~2026-05-23).

How to read the priorities

  • P0 — Land fixes that already exist. The fix is written or designed; landing it is the fastest unblock.
  • P1 — Runaway / hang hard-stops. The run never finishes (infinite spawn loop, stuck-BLOCKED task, gridlock). No fix yet.
  • P2 — Gate ships broken apps. The run "completes" but the app doesn't actually work, because the composition/verification gate passed something broken.
  • P3 — Task-graph corruption. The run usually completes, but larger/more-complex projects get the wrong task graph (dropped features, duplicate work, orphan code). Severity scales with project size.

Dependency edges: #627#629 (the recovery tool enables the integration-claim fix) · #669#615 (root cause → symptom) · #693#691 (detector backs the prompt fix).

P0 — land existing fixes

P1 — runaway / hang hard-stops

P2 — gate ships broken apps

P3 — task-graph corruption (scales with size)

Glossary

Term Meaning
worktree a per-agent private git checkout so parallel agents don't clobber each other's files
composition the final task that wires separately-built domain modules into one runnable app
integration-verification / smoke gate the terminal task that builds + runs the composed app and checks user-facing outcomes work
orphan source tree files committed to the repo that nothing imports — present but never executed
design-ghost a design task Marcus pre-computes and stamps done so no agent has to claim it
gap-fill an augmenter that adds tasks/criteria for spec items it thinks no task covers
contract_first the decomposition strategy that writes per-domain interface type contracts before implementation

How this was triaged

Read all open bug issues filed since ~2026-05-23, clustered them by pipeline stage (decompose → dispatch → spawn → compose → verify/merge), assessed each for whether and how it scales with project size or parallelism, and cross-referenced the PRs that do or don't fix it.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    build-blockerStops Marcus from building projects end-to-end (2-week triage)

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions