Reform brainstorm: replace the serial interview with a grounded synthetic-user swarm #19

Closed
opened 2026-06-30 22:58:56 +02:00 by Brummel · 1 comment
Owner

Motivation

brainstorm forced ~10 serial user round-trips per cycle (Step 2 "one question
per message — no batching", Step 4 per-section ratification). In practice the
user rubber-stamped recommendations that were mostly right: git archaeology
across 6 consumer projects found 1 override across ~120+ design specs. The
ceremony spent wall-clock — and the cognitive cost of engaging each question —
to catch a divergence that materialises about once per project lifetime, while
specify had already adopted a bold-decide stance. brainstorm was the
laggard.

Design — swarm-simulated discovery

Replace the serial interview with a parallel populate-then-triage:

  1. recon (unchanged)
  2. enumerate the load-bearing forks (also the orchestrator's independent
    cross-check signal)
  3. fire-check — skip the swarm when there are 0-1 forks or the project is below
    a grounding floor (greenfield / no ledger to cite against)
  4. dispatch a parallel swarm of fixed synthetic-user stances (minimalist /
    power-user / maintainer / skeptic / off-ledger wildcard), each answering
    with a mandatory source citation or an honest ungrounded:true
  5. triage: converged-on-a-cited-shared-ground = decided (user vetoes); split or
    ungrounded-consensus = direction fork (the user's call); plus the cross-check
  6. orchestrator authors the 2-3 approaches from the populated space; deepen the
    opened forks in free chat, capture the resolution; hand off to specify

Load-bearing decisions

  • The convergence oracle is a CITATION, not a vote. Bare same-model
    agreement (ungrounded-consensus) is demoted to a user fork — this defeats
    false convergence from a shared model prior, the method's core failure mode.
  • Cross-check. A fork the orchestrator's own Step-2 enumeration held open
    but the swarm closed is surfaced anyway, never auto-decided.
  • Off-ledger wildcard persona guards status-quo bias: inherently
    ungrounded, so it can only surface forks, never close them.
  • Substrate: a direct ad-hoc parallel fan-out from the prose skill (the
    plan-recon / spec-skeptic pattern), NOT a Workflow — a one-shot stateless
    fan-out has no determinism to enforce.
  • Fire-check + grounding floor keep the swarm from becoming an
    unconditional per-cycle tax (efficiency = wall-clock regardless of task need).

/boss autonomy

A fresh brainstorm no longer blanket-bounces under /boss. The swarm IS
context-compaction, retiring trigger-4's "high-context, cannot compact"
rationale. Autonomous brainstorm decides convergent (cited-ground) forks and
records them on the reference issue; only a divergent direction fork — or a
greenfield design below the grounding floor — bounces to the human as a
vetoable notify. Edited: boss Iron Law, trigger 4, the autonomy-asymmetry
rationale, Notifications, two rationalisations, one red flag.

Method note (dogfood)

The reform's own open design questions were resolved by running the swarm
method on them: 5 design-stance agents answered, a synthesis agent triaged.
The swarm turned its skepticism on itself — the citation-grounded convergence
rule and the cross-check are direct outputs of that self-critique.

Files

  • brainstorm/agents/synthetic-user.md (new)
  • brainstorm/SKILL.md (rewrite)
  • boss/SKILL.md (autonomous swarm-brainstorm)
  • docs/pipeline.md (phase description)
  • specify/SKILL.md (one-line characterisation)
## Motivation `brainstorm` forced ~10 serial user round-trips per cycle (Step 2 "one question per message — no batching", Step 4 per-section ratification). In practice the user rubber-stamped recommendations that were mostly right: git archaeology across 6 consumer projects found **1** override across ~120+ design specs. The ceremony spent wall-clock — and the cognitive cost of engaging each question — to catch a divergence that materialises about once per project lifetime, while `specify` had already adopted a bold-decide stance. `brainstorm` was the laggard. ## Design — swarm-simulated discovery Replace the serial interview with a parallel populate-then-triage: 1. recon (unchanged) 2. enumerate the load-bearing forks (also the orchestrator's independent cross-check signal) 3. fire-check — skip the swarm when there are 0-1 forks or the project is below a grounding floor (greenfield / no ledger to cite against) 4. dispatch a parallel swarm of fixed `synthetic-user` stances (minimalist / power-user / maintainer / skeptic / off-ledger wildcard), each answering with a **mandatory source citation** or an honest `ungrounded:true` 5. triage: converged-on-a-cited-shared-ground = decided (user vetoes); split or ungrounded-consensus = direction fork (the user's call); plus the cross-check 6. orchestrator authors the 2-3 approaches from the populated space; deepen the opened forks in free chat, capture the resolution; hand off to `specify` ## Load-bearing decisions - **The convergence oracle is a CITATION, not a vote.** Bare same-model agreement (ungrounded-consensus) is demoted to a user fork — this defeats false convergence from a shared model prior, the method's core failure mode. - **Cross-check.** A fork the orchestrator's own Step-2 enumeration held open but the swarm closed is surfaced anyway, never auto-decided. - **Off-ledger wildcard persona** guards status-quo bias: inherently ungrounded, so it can only surface forks, never close them. - **Substrate: a direct ad-hoc parallel fan-out** from the prose skill (the `plan-recon` / `spec-skeptic` pattern), NOT a Workflow — a one-shot stateless fan-out has no determinism to enforce. - **Fire-check + grounding floor** keep the swarm from becoming an unconditional per-cycle tax (efficiency = wall-clock regardless of task need). ## /boss autonomy A fresh `brainstorm` no longer blanket-bounces under `/boss`. The swarm IS context-compaction, retiring trigger-4's "high-context, cannot compact" rationale. Autonomous brainstorm decides convergent (cited-ground) forks and records them on the reference issue; only a divergent direction fork — or a greenfield design below the grounding floor — bounces to the human as a vetoable notify. Edited: boss Iron Law, trigger 4, the autonomy-asymmetry rationale, Notifications, two rationalisations, one red flag. ## Method note (dogfood) The reform's own open design questions were resolved by running the swarm method on them: 5 design-stance agents answered, a synthesis agent triaged. The swarm turned its skepticism on itself — the citation-grounded convergence rule and the cross-check are direct outputs of that self-critique. ## Files - `brainstorm/agents/synthetic-user.md` (new) - `brainstorm/SKILL.md` (rewrite) - `boss/SKILL.md` (autonomous swarm-brainstorm) - `docs/pipeline.md` (phase description) - `specify/SKILL.md` (one-line characterisation)
Brummel added the feature label 2026-06-30 22:58:56 +02:00
Author
Owner

Implemented in c39a817 on local main. Closing manually since the commit is not pushed yet; the commit body also carries closes #19, a no-op once the mirror catches up.

Implemented in `c39a817` on local `main`. Closing manually since the commit is not pushed yet; the commit body also carries `closes #19`, a no-op once the mirror catches up.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Brummel/Skills#19