From 3f892f77887c408d231a302b23d52fcd9f140ba7 Mon Sep 17 00:00:00 2001 From: Graeme Foster <80714+GraemeF@users.noreply.github.com> Date: Mon, 26 Oct 2026 14:31:29 +0000 Subject: [PATCH] fix(skills): have muster and the steward cut each bead to one outcome --- references/good-bead.md | 2 +- skills/muster/SKILL.md | 4 ++-- skills/steward/SKILL.md | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/references/good-bead.md b/references/good-bead.md index 98b2f17..d2153bb 100644 --- a/references/good-bead.md +++ b/references/good-bead.md @@ -5,7 +5,7 @@ This is the bar every bead in an effort meets, together with the graph that wire ## Each bead - **A bead is an outcome that someone outside the change can observe, wired to the outcomes it needs.** -- **One bead is one worker is one context.** A single worker could finish it without compacting. +- **A bead is one outcome, however much or little work that is.** Its title names that outcome and never joins two with "and". A bead too big for one worker to finish without compacting is split, and each part is an outcome of its own. A bead is never bundled with another to fill a seat. How many beads one worker takes is the steward's staffing choice when it starts the seat. - **A bead is briefable.** It has a clear deliverable, a definition of done and stated edges, so the steward can write a complete brief from it when it starts the seat. - **A definition of done stated only as removals is incomplete.** Deleting the thing meets an all-negative outcome most completely, so a deletion that orphans behaviour passes every clause. On a cleanup or refactor bead, name what must still work after the removals: the behaviour that keeps running, and what still reaches it. diff --git a/skills/muster/SKILL.md b/skills/muster/SKILL.md index b02634c..1c87638 100644 --- a/skills/muster/SKILL.md +++ b/skills/muster/SKILL.md @@ -8,7 +8,7 @@ argument-hint: You turn a body of work into an effort that one steward can drive cold and end to end, and then you hand it to that steward. The work is usually beads that already exist, and it may be spread across several projects. -The steward consumes a wired, context-sized bead graph under one top bead and never builds one, and a worker never wires the graph, so building it is your job. +The steward consumes a wired graph of outcome beads under one top bead and never builds one, and a worker never wires the graph, so building it is your job. Coordination runs over commy: see its `using-commy` skill for channels, topics and tone. The `steward` skill is what consumes your output, and the `worker` skill is the seat that does the work. @@ -55,7 +55,7 @@ The top bead is the effort's cold-restart record, as the bar describes. It lives ## Audit local beads for size and briefability -Hold each local bead to the bar for each bead. **Split** any bead too big for one worker's context, and say so as you split it so the human can interrupt, but don't wait for approval. Where a bead is thin on what a brief needs, flesh it out now. +Hold each local bead to the bar for each bead. **Split** any bead that holds two outcomes, or that is too big for one worker's context, into beads that each hold one outcome. Say so as you split it so the human can interrupt, but don't wait for approval. Where a bead is thin on what a brief needs, flesh it out now. ## Shape other projects' slices over commy diff --git a/skills/steward/SKILL.md b/skills/steward/SKILL.md index 6aae3bc..d595630 100644 --- a/skills/steward/SKILL.md +++ b/skills/steward/SKILL.md @@ -197,11 +197,11 @@ You bloat, and force expensive compaction, by pulling detail of the work into yo **While beady-eye says its watcher is down, your watches wake no one.** Until it says the watcher is answering again, poll the beads you watch within the hour, because workers sleep on them, and when a question bead closes, post its answer, quoted from the bead, into its worker's working topic. - **You act; you don't report.** The wake ritual's output is for you. Never narrate your orientation or your plan into the terminal, where it reaches no one. What you emit is actions: a brief, an ask, a bead update. -## One bead, one worker, one context +## One bead, one outcome -Size the effort so a single worker can finish each bead without itself compacting. The bead graph is your plan for parallelism and for context: independent beads run in parallel, and a bead too big for one context is split, and each part held to the bar as *Track discovered work* says, before it is handed out. Wire dependencies with `bd dep add` so that bdi's `ready` tells you, and a restarted you, what can start now. +Each bead is one outcome, as the bar says. The bead graph is your plan for parallelism: independent beads run in parallel, and a bead too big for one worker's context is split into outcomes before it is handed out. Each part is held to the bar as *Track discovered work* says. Wire dependencies with `bd dep add` so that bdi's `ready` tells you, and a restarted you, what can start now. -A bead may be a parent whose small beads one worker finishes together, under one pull request. Brief the parent, and the worker takes its small beads with it. +How many beads one worker takes is your staffing choice when you start the seat, never a reason to file or merge beads. A bead may be a parent whose small beads one worker finishes together, under one pull request. Brief the parent, and the worker takes its small beads with it. **No seat does work that has no bead.** New work goes into a bead before any seat does it, whether that seat is new or already running. Nothing is handed to a seat only in conversation.