You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
BMAD/BMM today has a very strong project‑level spine:
bmm-workflow-status.yaml + workflow-status:
Track which method workflows (document‑project, PRD, architecture, epics & stories, sprint‑planning, dev‑story, etc.) are done/pending.
Answer project‑level “Where am I / what should I do next?” very well.
Implementation phase is sprint‑ and story‑centric:
sprint-status.yaml tracks epics and stories across sprints.
Agents (PM, Analyst, Architect, SM, Dev, Quick Flow Solo Dev) have menus wired to the right project‑level workflows.
What is missing today is a first‑class, feature / change‑set level view of the method:
There is no explicit concept of a Change Set or feature package that:
Groups analysis, PRD delta, architecture delta, epics/stories, and implementation status for a specific change.
There is no “Where am I?” at Change Set level:
You cannot easily ask “For this feature/change, which BMM phases are done, how many stories are done, what’s next?”.
Parallel features are only visible indirectly:
sprint-status.yaml can contain stories for multiple features, but there’s no stable key to group them beyond epics.
You can’t maintain clean, per‑feature workspaces and then merge them back into Source of Truth in a deterministic way.
UX‑wise:
Agents expose strong project‑level flows, but they don’t surface a clear, repeatable feature/change set layer that mirrors the project method.
In practical terms, BMAD is great at “project spine + sprints + stories”, but there’s no explicit OpenSpec‑style “source + change + apply” story for features.
2. Goals
The proposal is to add an optional, additive Change Set layer on top of BMM that:
Introduces a feature/change Set concept that works alongside existing project‑level workflows.
Cleanly separates:
Project‑level Source of Truth (SoT) docs (PRD, architecture, epics, sprint-status, workflow-status),
From Change Set artifacts (scoped analysis/PRD/architecture/epics/stories/status for a given feature).
Provides a deterministic Apply/Merge workflow:
At the end of a Change Set, merge accepted deltas into SoT with a recorded main‑branch commit SHA.
Supports parallel work:
Multiple Change Sets in the same project,
Multiple agents working concurrently on different Change Sets,
No global “single active change set” stored in config.
Keeps everything zero‑breaking:
If no Change Set context is used, BMAD behaves exactly as today.
3. Concept and data model
At a high level:
{output_folder} remains the project‑level BMAD docs root (often docs/).
A Change Set can span multiple stories and multiple sprints.
This is how implementation progress for a Change Set is derived.
4. Engine integration (workflow.xml)
The BMAD core workflow engine (core/tasks/workflow.xml) gets an optional Change Set context layer:
At the very start of Step 1:
Detect changeset-context (parameter) or session‑level active_changeset.
If present:
Compute {changeset_path},
Load {changeset_path}/changeset.config.yaml,
Expose changeset.* variables,
Set working_in_changeset = true.
If not present:
Continue with current project‑level behavior.
During config resolution:
Phase 1: load project config from config_source (unchanged).
Phase 1.5 (new, if working_in_changeset):
Override {output_folder} with changeset.output_folder.
All other variables resolve from project‑level config unless explicitly overridden.
Phases 2–4: unchanged.
This means:
Existing BMM workflows (PRD, architecture, epics/stories, sprint‑planning, dev‑story, Quick Flow, etc.) can be “scoped” to a Change Set just by running them with a changeset-context.
No separate “Change Set versions” of every workflow are required.
5. New BMM workflows for Change Sets
Four small BMM workflows implement the Change Set lifecycle at method level:
changeset-init
Initialize a new Change Set under {output_folder}/changes/{change-id}/:
Ask for slug (+ optional title/description/track info),
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
1. Background and current limitation
BMAD/BMM today has a very strong project‑level spine:
What is missing today is a first‑class, feature / change‑set level view of the method:
In practical terms, BMAD is great at “project spine + sprints + stories”, but there’s no explicit OpenSpec‑style “source + change + apply” story for features.
2. Goals
The proposal is to add an optional, additive Change Set layer on top of BMM that:
3. Concept and data model
At a high level:
{output_folder}/
prd/...
architecture/...
epics/...
sprint-status.yaml
bmm-workflow-status.yaml
...
changes/
index.yaml
{change-id-1}/
changeset.config.yaml
changeset-status.yaml
... (feature-level outputs)
{change-id-2}/
...
archive/
{change-id-x}/...
Key files:
4. Engine integration (workflow.xml)
The BMAD core workflow engine (core/tasks/workflow.xml) gets an optional Change Set context layer:
This means:
5. New BMM workflows for Change Sets
Four small BMM workflows implement the Change Set lifecycle at method level:
These workflows are small and contained; they don’t change the behavior of existing BMM flows unless explicitly invoked.
6. Agent & UX integration
The Change Set layer is surfaced through existing BMM agents rather than entirely new personas. In the prototype, I wired it as follows:
Beta Was this translation helpful? Give feedback.
All reactions