bmad-method 6.11.1-next.18 → 6.11.1-next.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/package.json +1 -1
  2. package/src/bmm-skills/agents/bmad-agent-analyst/customize.toml +1 -3
  3. package/src/bmm-skills/agents/bmad-agent-architect/customize.toml +1 -3
  4. package/src/bmm-skills/agents/bmad-agent-dev/customize.toml +1 -3
  5. package/src/bmm-skills/agents/bmad-agent-pm/customize.toml +1 -3
  6. package/src/bmm-skills/agents/bmad-agent-ux-designer/customize.toml +1 -3
  7. package/src/bmm-skills/plan/bmad-architecture/SKILL.md +1 -1
  8. package/src/bmm-skills/plan/bmad-architecture/customize.toml +5 -6
  9. package/src/bmm-skills/plan/bmad-create-epics-and-stories/customize.toml +1 -3
  10. package/src/bmm-skills/plan/bmad-prd/customize.toml +5 -6
  11. package/src/bmm-skills/plan/bmad-prfaq/customize.toml +1 -3
  12. package/src/bmm-skills/plan/bmad-product-brief/customize.toml +5 -6
  13. package/src/bmm-skills/plan/bmad-spec/customize.toml +5 -5
  14. package/src/bmm-skills/plan/bmad-sprint-planning/customize.toml +1 -3
  15. package/src/bmm-skills/plan/bmad-sprint-planning/scripts/__pycache__/sprint_plan.cpython-311.pyc +0 -0
  16. package/src/bmm-skills/plan/bmad-sprint-planning/scripts/tests/__pycache__/test_sprint_plan.cpython-311-pytest-9.1.1.pyc +0 -0
  17. package/src/bmm-skills/plan/bmad-ux/customize.toml +1 -3
  18. package/src/bmm-skills/ship/bmad-build/customize.toml +1 -3
  19. package/src/bmm-skills/ship/bmad-build-auto/customize.toml +1 -3
  20. package/src/bmm-skills/ship/bmad-checkpoint-preview/customize.toml +1 -3
  21. package/src/bmm-skills/ship/bmad-code-review/customize.toml +1 -3
  22. package/src/bmm-skills/ship/bmad-correct-course/customize.toml +1 -3
  23. package/src/bmm-skills/ship/bmad-qa-generate-e2e-tests/customize.toml +1 -3
  24. package/src/bmm-skills/ship/bmad-retrospective/customize.toml +1 -3
  25. package/src/bmm-skills/ship/bmad-retrospective/scripts/__pycache__/sprint_status.cpython-311.pyc +0 -0
  26. package/src/bmm-skills/ship/bmad-retrospective/scripts/tests/__pycache__/test_git_evidence.cpython-311-pytest-9.1.1.pyc +0 -0
  27. package/src/bmm-skills/ship/bmad-retrospective/scripts/tests/__pycache__/test_sprint_status.cpython-311-pytest-9.1.1.pyc +0 -0
  28. package/src/bmm-skills/v6-shims/bmad-create-architecture/customize.toml +1 -3
  29. package/src/bmm-skills/v6-shims/bmad-create-prd/customize.toml +1 -3
  30. package/src/bmm-skills/v6-shims/bmad-create-story/SKILL.md +1 -1
  31. package/src/bmm-skills/v6-shims/bmad-create-story/customize.toml +1 -3
  32. package/src/bmm-skills/v6-shims/bmad-dev-story/customize.toml +1 -6
  33. package/src/bmm-skills/v6-shims/bmad-edit-prd/customize.toml +1 -3
  34. package/src/bmm-skills/v6-shims/bmad-sprint-status/customize.toml +1 -3
  35. package/src/bmm-skills/v6-shims/bmad-validate-prd/customize.toml +1 -3
  36. package/src/core-skills/bmad-brainstorming/customize.toml +5 -6
  37. package/src/core-skills/bmad-forge-idea/customize.toml +5 -6
  38. package/src/core-skills/bmad-party-mode/customize.toml +4 -4
  39. package/src/core-skills/bmad-review/customize.toml +1 -1
  40. package/src/scripts/__pycache__/config_utils.cpython-311.pyc +0 -0
  41. package/src/scripts/tests/__pycache__/test_config_utils.cpython-311.pyc +0 -0
  42. package/src/scripts/tests/__pycache__/test_resolve_config.cpython-311.pyc +0 -0
  43. package/src/scripts/tests/__pycache__/test_resolve_customization.cpython-311.pyc +0 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package.json",
3
3
  "name": "bmad-method",
4
- "version": "6.11.1-next.18",
4
+ "version": "6.11.1-next.19",
5
5
  "description": "Breakthrough Method of Agile AI-driven Development",
6
6
  "keywords": [
7
7
  "agile",
@@ -35,9 +35,7 @@ activation_steps_append = []
35
35
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
36
36
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
37
37
 
38
- persistent_facts = [
39
- "file:{project-root}/**/project-context.md",
40
- ]
38
+ persistent_facts = []
41
39
 
42
40
  role = "Help the user ideate research and analyze before committing to a project in the BMad Method analysis phase."
43
41
  identity = "Channels Michael Porter's strategic rigor and Barbara Minto's Pyramid Principle discipline."
@@ -35,9 +35,7 @@ activation_steps_append = []
35
35
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
36
36
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
37
37
 
38
- persistent_facts = [
39
- "file:{project-root}/**/project-context.md",
40
- ]
38
+ persistent_facts = []
41
39
 
42
40
  role = "Convert the PRD and UX into technical architecture decisions that keep implementation on track during the BMad Method solutioning phase."
43
41
  identity = "Channels Martin Fowler's pragmatism and Werner Vogels's cloud-scale realism."
@@ -35,9 +35,7 @@ activation_steps_append = []
35
35
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
36
36
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
37
37
 
38
- persistent_facts = [
39
- "file:{project-root}/**/project-context.md",
40
- ]
38
+ persistent_facts = []
41
39
 
42
40
  role = "Implement approved stories with test-first discipline and ship working, verified code during the BMad Method implementation phase."
43
41
  identity = "Disciplined in Kent Beck's TDD and the Pragmatic Programmer's precision."
@@ -35,9 +35,7 @@ activation_steps_append = []
35
35
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
36
36
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
37
37
 
38
- persistent_facts = [
39
- "file:{project-root}/**/project-context.md",
40
- ]
38
+ persistent_facts = []
41
39
 
42
40
  role = "Translate product vision into a validated PRD, epics, and stories that development can execute during the BMad Method planning phase."
43
41
  identity = "Thinks like Marty Cagan and Teresa Torres. Writes with Bezos's six-pager discipline."
@@ -35,9 +35,7 @@ activation_steps_append = []
35
35
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
36
36
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
37
37
 
38
- persistent_facts = [
39
- "file:{project-root}/**/project-context.md",
40
- ]
38
+ persistent_facts = []
41
39
 
42
40
  role = "Turn user needs and the PRD into UX design specifications that inform architecture and implementation during the BMad Method planning phase."
43
41
  identity = "Grounded in Don Norman's human-centered design and Alan Cooper's persona discipline."
@@ -50,7 +50,7 @@ Writes go through the shared script (don't read the file back except on resume):
50
50
 
51
51
  **Forwarded activation:** if a caller invoked you with a stated intent and pre-resolved customization fields, honor them verbatim — skip your own intent inference, use the supplied values for those named fields, and resolve only the remaining fields from your own `customize.toml`.
52
52
 
53
- 1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` (on failure read `{skill-root}/customize.toml`, use defaults). Run `{workflow.activation_steps_prepend}`, then `{workflow.activation_steps_append}`. Hold `{workflow.persistent_facts}` as standing context — the default loads `project-context.md`, load-bearing for brownfield — and consult `{workflow.external_sources}` on demand.
53
+ 1. Resolve customization: `uv run {project-root}/_bmad/scripts/resolve_customization.py --skill {skill-root} --key workflow` (on failure read `{skill-root}/customize.toml`, use defaults). Run `{workflow.activation_steps_prepend}`, then `{workflow.activation_steps_append}`. Hold `{workflow.persistent_facts}` as standing context — empty unless the user opted in — and consult `{workflow.external_sources}` on demand.
54
54
  2. Resolve config: `uv run {project-root}/_bmad/scripts/resolve_config.py --project-root {project-root}` (merges `_bmad/config.toml`, `_bmad/config.user.toml`, and the `_bmad/custom/` overrides). From the merged JSON resolve `{user_name}`, `{communication_language}`, `{document_output_language}`, `{project_name}` (under `core`), `{planning_artifacts}` (under `modules.bmm`), and `{date}`; missing keys take neutral defaults, never block.
55
55
  3. Headless (no interactive user) → follow `references/headless.md` for the whole run. Otherwise greet `{user_name}` in `{communication_language}`. Detect the intent from the conversation and input — **create** (the default), **update** an existing spine, or **validate** one (see those sections). If the real ask is requirements / UX / a capability contract / epic breakdown / an agent, invoke the `bmad-prd`, `bmad-ux`, `bmad-spec`, `bmad-create-epics-and-stories`, or `bmad-workflow-builder` (if the BMad Builder module is installed) skill instead.
56
56
  4. If a run folder for this target already exists under `{workflow.spine_output_path}`, offer to resume from its memlog rather than restart.
@@ -24,14 +24,13 @@ activation_steps_append = []
24
24
  # Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed
25
25
  # path/glob whose contents are loaded as facts.
26
26
  #
27
- # Default loads project-context.md if bmad-generate-project-context produced one — giving the
28
- # architect persistent awareness of the project's tech, domain, and conventions (load-bearing
29
- # for brownfield). Common opt-ins (set in team/user override TOML):
27
+ # Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context), which every
28
+ # skill already sees; use this for context only this skill needs, loaded on demand rather than
29
+ # carried as constant memory. Common opt-ins (set in team/user override TOML):
30
30
  # "Our org is AWS-only -- do not propose GCP or Azure."
31
31
  # "file:{project-root}/docs/engineering-standards.md"
32
- persistent_facts = [
33
- "file:{project-root}/**/project-context.md",
34
- ]
32
+ # "file:{project-root}/**/project-context.md" # if you keep a project-context.md
33
+ persistent_facts = []
35
34
 
36
35
  # Executed when the workflow completes (after the spine is final and the user has been told).
37
36
  # String scalar (single instruction) or array of instructions executed in order. Empty for none.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches Step 4 (Final Validation) and the
38
36
  # user confirms [C] Complete — after the epics.md is saved and bmad-help is invoked.
@@ -24,14 +24,13 @@ activation_steps_append = []
24
24
  # Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob
25
25
  # whose contents are loaded as facts.
26
26
  #
27
- # Default loads project-context.md if bmad-generate-project-context has produced one — this gives
28
- # the facilitator persistent awareness of the project's tech, domain, and constraints without
29
- # re-asking. Common opt-ins (set in team/user override TOML):
27
+ # Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context), which every
28
+ # skill already sees; use this for context only this skill needs, loaded on demand rather than
29
+ # carried as constant memory. Common opt-ins (set in team/user override TOML):
30
+ # "file:{project-root}/**/project-context.md" # if you keep a project-context.md
30
31
  # "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info
31
32
  # "Investor PRDs must include a market sizing section." # generic agent instruction
32
- persistent_facts = [
33
- "file:{project-root}/**/project-context.md",
34
- ]
33
+ persistent_facts = []
35
34
 
36
35
  # Executed when the workflow completes (after the user has been told the
37
36
  # PRD is ready). Accepts either a string scalar (single instruction)
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches its terminal stage (Stage 5: The Verdict),
38
36
  # after the PRFAQ and distillate have been delivered. Override wins. Leave empty for
@@ -24,14 +24,13 @@ activation_steps_append = []
24
24
  # Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob
25
25
  # whose contents are loaded as facts.
26
26
  #
27
- # Default loads project-context.md if bmad-generate-project-context has produced one — this gives
28
- # the facilitator persistent awareness of the project's tech, domain, and constraints without
29
- # re-asking. Common opt-ins (set in team/user override TOML):
27
+ # Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context), which every
28
+ # skill already sees; use this for context only this skill needs, loaded on demand rather than
29
+ # carried as constant memory. Common opt-ins (set in team/user override TOML):
30
+ # "file:{project-root}/**/project-context.md" # if you keep a project-context.md
30
31
  # "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info
31
32
  # "Elvis has left the building" # generic agent instruction
32
- persistent_facts = [
33
- "file:{project-root}/**/project-context.md",
34
- ]
33
+ persistent_facts = []
35
34
 
36
35
  # Executed when the workflow completes (after the user has been told the
37
36
  # brief is ready). Accepts either a string scalar (single instruction)
@@ -20,11 +20,11 @@ activation_steps_append = []
20
20
  # Persistent facts the workflow keeps in mind for the whole run.
21
21
  # Each entry is either a literal sentence, a skill prefixed with `skill:`,
22
22
  # or a `file:`-prefixed path/glob whose contents are loaded as facts.
23
- # Default points to a single top-level file; override in team/user TOML
24
- # to widen the scope (e.g. `_bmad/**/project-context.md`) if needed.
25
- persistent_facts = [
26
- "file:{project-root}/project-context.md",
27
- ]
23
+ # Empty by default. Repo-wide context belongs in AGENTS.md (see bmad-project-context),
24
+ # which every skill already sees; use this for context only this skill needs, loaded on
25
+ # demand rather than carried as constant memory. Add a `file:` entry in team/user TOML to
26
+ # opt in (e.g. `file:{project-root}/**/project-context.md` if you keep one).
27
+ persistent_facts = []
28
28
 
29
29
  # Executed when the workflow completes. Scalar or array of instructions.
30
30
  on_complete = ""
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches its final step,
38
36
  # after sprint-status.yaml is generated and validated. Override wins.
@@ -14,9 +14,7 @@ activation_steps_append = []
14
14
 
15
15
  # Persistent facts loaded at activation and kept in mind for the run.
16
16
  # Entries: literal sentence, `skill:NAME`, or `file:PATH` (glob ok).
17
- persistent_facts = [
18
- "file:{project-root}/**/project-context.md",
19
- ]
17
+ persistent_facts = []
20
18
 
21
19
  # Runs at workflow completion. String or array of instructions.
22
20
  on_complete = ""
@@ -24,9 +24,7 @@ activation_steps_append = []
24
24
  # Entries are literal text or file references prefixed with "file:".
25
25
  # File entries may use globs and are loaded during activation.
26
26
 
27
- persistent_facts = [
28
- "file:{project-root}/**/project-context.md",
29
- ]
27
+ persistent_facts = []
30
28
 
31
29
  # Instruction run after Build completes.
32
30
  # Empty means no extra completion behavior.
@@ -24,9 +24,7 @@ activation_steps_append = []
24
24
  # Entries are literal text or file references prefixed with "file:".
25
25
  # File entries may use globs and are loaded during activation.
26
26
 
27
- persistent_facts = [
28
- "file:{project-root}/**/project-context.md",
29
- ]
27
+ persistent_facts = []
30
28
 
31
29
  # Instruction run by HALT after writing the terminal result.
32
30
  # Empty means no extra terminal behavior.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches its final step,
38
36
  # after the review decision (approve/rework/discuss) is made. Override wins.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches its final step,
38
36
  # after review findings are presented and sprint status is synced. Override wins.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches Step 6 (Workflow Completion),
38
36
  # after the Sprint Change Proposal is finalized and handoff is confirmed. Override wins.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches Step 5 (Create Summary),
38
36
  # after all tests pass and the summary document is saved. Override wins.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed at the end of Phase 5 (Close), after the retrospective
38
36
  # document is saved and sprint-status is updated. Override wins.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches Step 8 (Architecture Completion & Handoff),
38
36
  # after the architecture document frontmatter is updated and next-steps guidance is given.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches Step 12 (Workflow Completion),
38
36
  # after the PRD is finalized and workflow status is updated. Override wins.
@@ -257,7 +257,7 @@ Activation is complete. If `activation_steps_prepend` or `activation_steps_appen
257
257
 
258
258
  <!-- Load all available content through discovery protocol -->
259
259
  <action>Read fully and follow `./discover-inputs.md` to load all input files</action>
260
- <note>Available content: {epics_content}, {prd_content}, {architecture_content}, {ux_content}, plus the project-context facts loaded during activation via `persistent_facts`.</note>
260
+ <note>Available content: {epics_content}, {prd_content}, {architecture_content}, {ux_content}, plus any facts loaded during activation via `persistent_facts` (empty unless the user opted in).</note>
261
261
 
262
262
  <!-- Analyze epics file for story foundation -->
263
263
  <action>From {epics_content}, extract Epic {{epic_num}} complete context:</action> **EPIC ANALYSIS:** - Epic
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches Step 6 (Update sprint status and finalize),
38
36
  # after the story file is saved and sprint-status.yaml is updated. Override wins.
@@ -30,12 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- "Never add epic or story references as inline code comments (e.g. # Epic: X, # Story: PROJ-42).",
36
- "Code comments explain why, not what — no AI workflow metadata, planning refs, or story tracking in source code.",
37
- "Generated code must be production-ready: clean, minimal, and free of AI-generated noise.",
38
- ]
33
+ persistent_facts = []
39
34
 
40
35
  # Scalar: executed when the workflow reaches its final step,
41
36
  # after the story implementation is complete and status is updated. Override wins.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches Step E-4 (Complete & Validate) and the
38
36
  # user exits via [S] Summary or [X] Exit — not on [V] Validate (which chains to
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches its final step,
38
36
  # after sprint status is summarized and risks are surfaced. Override wins.
@@ -30,9 +30,7 @@ activation_steps_append = []
30
30
  # - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
31
31
  # (glob patterns are supported; the file's contents are loaded and treated as facts).
32
32
 
33
- persistent_facts = [
34
- "file:{project-root}/**/project-context.md",
35
- ]
33
+ persistent_facts = []
36
34
 
37
35
  # Scalar: executed when the workflow reaches Step 13 (Validation Report Complete) and
38
36
  # the user exits via [X] Exit — not on [E] Use Edit Workflow (which chains to
@@ -22,12 +22,11 @@ activation_steps_append = []
22
22
  # Persistent facts the facilitator keeps in mind for the whole session
23
23
  # (domain constraints, house rules, stylistic guardrails). Each entry is a
24
24
  # literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed
25
- # path/glob whose contents are loaded as facts. Default loads project-context.md
26
- # if bmad-generate-project-context has produced one, giving the facilitator
27
- # persistent awareness of the project's domain without re-asking.
28
- persistent_facts = [
29
- "file:{project-root}/**/project-context.md",
30
- ]
25
+ # path/glob whose contents are loaded as facts. Empty by default — repo-wide context
26
+ # belongs in AGENTS.md (see bmad-project-context), which every skill already sees. Use
27
+ # this for context only the facilitator needs, loaded on demand rather than carried as
28
+ # constant memory (e.g. `file:{project-root}/**/project-context.md` if you keep one).
29
+ persistent_facts = []
31
30
 
32
31
  # The technique library loaded on demand during the session. Swap the path in
33
32
  # team/user TOML to ship a different or extended catalog of creative methods.
@@ -20,12 +20,11 @@ activation_steps_append = []
20
20
  # Persistent facts the interrogator keeps in mind for the whole session
21
21
  # (domain constraints, house rules, what's off the table). Each entry is a
22
22
  # literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed
23
- # path/glob whose contents are loaded as facts. Default loads project-context.md
24
- # when one exists (e.g. from bmad-generate-project-context), so the forge grounds
25
- # in the project's tech, domain, and constraints without re-asking.
26
- persistent_facts = [
27
- "file:{project-root}/**/project-context.md",
28
- ]
23
+ # path/glob whose contents are loaded as facts. Empty by default — repo-wide context
24
+ # belongs in AGENTS.md (see bmad-project-context), which every skill already sees. Use
25
+ # this for context only the forge needs, loaded on demand rather than carried as constant
26
+ # memory (e.g. `file:{project-root}/**/project-context.md` if you keep one).
27
+ persistent_facts = []
29
28
 
30
29
  # Executed when the session completes. Scalar or array of instructions. Empty for none.
31
30
  on_complete = []
@@ -22,10 +22,10 @@ activation_steps_append = []
22
22
  # Persistent facts the orchestrator keeps in mind for the whole session
23
23
  # (house rules, running gags, topics to avoid). Each entry is a literal
24
24
  # sentence, a `skill:`-prefixed reference, or a `file:`-prefixed path/glob whose
25
- # contents load as facts. Default picks up project-context.md if one exists.
26
- persistent_facts = [
27
- "file:{project-root}/**/project-context.md",
28
- ]
25
+ # contents load as facts. Empty by default — repo-wide context belongs in AGENTS.md
26
+ # (see bmad-project-context), which every skill already sees. Use this for context only
27
+ # the party needs, loaded on demand rather than carried as constant memory.
28
+ persistent_facts = []
29
29
 
30
30
  # Which party loads when the user just says "party mode" with no override.
31
31
  # Empty = the installed BMAD agents — exactly the default behavior of a plain
@@ -23,7 +23,7 @@ activation_steps_append = []
23
23
  # prefixed `file:` are paths or globs whose contents load as facts; all others
24
24
  # are literal facts. The shipped entry is a project-wide glob — set it to []
25
25
  # if you don't want every review scanning for it.
26
- persistent_facts = ["file:{project-root}/**/project-context.md"]
26
+ persistent_facts = []
27
27
 
28
28
  # Standing review directives applied on every run alongside each lens's own
29
29
  # method. Each entry is a literal sentence or a `file:`-prefixed path/glob