bmad-plus 0.13.0 → 0.16.0

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 (135) hide show
  1. package/CHANGELOG.md +74 -0
  2. package/README.md +113 -487
  3. package/SECURITY.md +71 -0
  4. package/THIRD-PARTY-LICENSES.md +349 -0
  5. package/osint-agent-package/README.md +1 -1
  6. package/package.json +14 -3
  7. package/readme-international/README.de.md +18 -8
  8. package/readme-international/README.es.md +19 -9
  9. package/readme-international/README.fr.md +18 -8
  10. package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +11 -13
  11. package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +148 -9
  12. package/src/bmad-plus/agents/agent-quality/SKILL.md +41 -11
  13. package/src/bmad-plus/data/role-triggers.yaml +19 -0
  14. package/src/bmad-plus/module-help.csv +1 -0
  15. package/src/bmad-plus/module.yaml +1 -0
  16. package/src/bmad-plus/packs/pack-dev-studio/README.md +133 -141
  17. package/src/bmad-plus/packs/pack-dev-studio/SKILL.md +49 -0
  18. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +35 -60
  19. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +59 -59
  20. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +55 -93
  21. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +58 -93
  22. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +55 -132
  23. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +63 -78
  24. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +54 -69
  25. package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +54 -93
  26. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +32 -60
  27. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +67 -71
  28. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +61 -90
  29. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +56 -78
  30. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +55 -88
  31. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +20 -153
  32. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +20 -173
  33. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +14 -220
  34. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +20 -329
  35. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +15 -314
  36. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +15 -355
  37. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +15 -375
  38. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +14 -357
  39. package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +13 -78
  40. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +52 -65
  41. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +14 -81
  42. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +14 -31
  43. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +14 -45
  44. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +13 -128
  45. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +61 -87
  46. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +55 -298
  47. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +54 -426
  48. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +48 -69
  49. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +24 -80
  50. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +64 -482
  51. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +50 -184
  52. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +57 -173
  53. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +56 -108
  54. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +54 -1509
  55. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +54 -296
  56. package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +41 -283
  57. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +58 -18
  58. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +103 -72
  59. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +55 -27
  60. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +34 -60
  61. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +46 -87
  62. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/steps/step-01-init.md +10 -0
  63. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +30 -60
  64. package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +57 -27
  65. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +47 -138
  66. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +48 -34
  67. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +51 -68
  68. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +46 -3
  69. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +68 -109
  70. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +53 -174
  71. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +39 -53
  72. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +45 -83
  73. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +45 -176
  74. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +45 -63
  75. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +53 -124
  76. package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +44 -100
  77. package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +56 -116
  78. package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +49 -12
  79. package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +51 -328
  80. package/src/bmad-plus/packs/pack-dev-studio/shared/catalog.json +489 -0
  81. package/src/bmad-plus/packs/pack-dev-studio/shared/execution.md +69 -0
  82. package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +39 -32
  83. package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +85 -14
  84. package/src/bmad-plus/packs/pack-memory/README.md +35 -4
  85. package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +33 -6
  86. package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +3 -3
  87. package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +27 -3
  88. package/src/bmad-plus/packs/pack-memory/zecher-agent.md +18 -2
  89. package/src/bmad-plus/packs/pack-seo/SKILL.md +27 -1
  90. package/src/bmad-plus/packs/pack-seo/seo-chief.md +16 -1
  91. package/src/bmad-plus/packs/pack-seo/seo-judge.md +12 -0
  92. package/src/bmad-plus/packs/pack-seo/seo-scout.md +12 -0
  93. package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +49 -12
  94. package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +17 -3
  95. package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +76 -65
  96. package/src/bmad-plus/skills/bmad-plus-uat/SKILL.md +144 -0
  97. package/src/bmad-plus/skills/bmad-plus-uat/ref/uat-results.schema.json +60 -0
  98. package/src/bmad-plus/skills/bmad-plus-uat/ref/uat-spec.schema.json +121 -0
  99. package/src/bmad-plus/skills/bmad-plus-uat/ref/uat-triage.schema.json +60 -0
  100. package/src/bmad-plus/skills/bmad-plus-uat/template/page.html +552 -0
  101. package/src/bmad-plus/skills/bmad-plus-uat/template/strings.json +362 -0
  102. package/src/bmad-plus/skills/dev-studio/SKILL.md +19 -0
  103. package/tools/build/check-install-contract.js +367 -17
  104. package/tools/build/generate.js +229 -40
  105. package/tools/build/generated-adapters/.codex/AGENTS.md +1 -1
  106. package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +1 -1
  107. package/tools/build/generated-adapters/.opencode/AGENTS.md +1 -1
  108. package/tools/build/generated-adapters/AGENTS.md +1 -1
  109. package/tools/build/generated-adapters/CLAUDE.md +1 -1
  110. package/tools/build/generated-adapters/CONVENTIONS.md +1 -1
  111. package/tools/build/generated-adapters/GEMINI.md +1 -1
  112. package/tools/build/pack-delivery.js +78 -0
  113. package/tools/cli/bmad-plus-cli.js +15 -12
  114. package/tools/cli/commands/doctor.js +50 -189
  115. package/tools/cli/commands/install.js +22 -3
  116. package/tools/cli/commands/memory-journal-cmd.js +119 -19
  117. package/tools/cli/commands/nexus.js +111 -0
  118. package/tools/cli/commands/studio.js +68 -0
  119. package/tools/cli/commands/uat.js +389 -0
  120. package/tools/cli/lib/README-memory-journal.md +19 -8
  121. package/tools/cli/lib/installation-health.js +366 -0
  122. package/tools/cli/lib/memory-journal.js +0 -0
  123. package/tools/cli/lib/memory-outcomes.js +293 -0
  124. package/tools/cli/lib/memory-store.js +139 -0
  125. package/tools/cli/lib/nexus-process.js +377 -0
  126. package/tools/cli/lib/nexus.js +1532 -0
  127. package/tools/cli/lib/pack-copy.js +39 -11
  128. package/tools/cli/lib/packs.js +134 -11
  129. package/tools/cli/lib/python-health.js +233 -0
  130. package/tools/cli/lib/python-provision.js +2 -2
  131. package/tools/cli/lib/studio.js +310 -0
  132. package/tools/cli/lib/uat.js +869 -0
  133. package/tools/maintain/upstream-candidate.js +456 -0
  134. package/tools/release/publication-content.js +903 -0
  135. package/tools/release/supply-chain.js +282 -0
@@ -1,6 +1,6 @@
1
1
  # 🚀 BMAD+ — Framework Multi-Agent IA Augmenté
2
2
 
3
- [![Version](https://img.shields.io/badge/version-0.13.0-blue.svg)](../CHANGELOG.md)
3
+ [![Version](https://img.shields.io/badge/version-0.16.0-blue.svg)](../CHANGELOG.md)
4
4
  [![Based on](https://img.shields.io/badge/based%20on-BMAD--METHOD-green.svg)](https://github.com/bmad-code-org/BMAD-METHOD)
5
5
  [![License](https://img.shields.io/badge/license-MIT-yellow.svg)](../LICENSE)
6
6
 
@@ -15,7 +15,9 @@
15
15
 
16
16
  ## 📋 Table des matières
17
17
 
18
- Validation du dépôt : **709 tests JavaScript** (`npm test`). La désinstallation conserve la mémoire du projet et les fichiers personnalisés ; utilisez `--yes` pour installer ou désinstaller sans terminal interactif.
18
+ Validation du dépôt : **1254 tests JavaScript** (`npm test`). La désinstallation conserve la mémoire du projet et les fichiers personnalisés ; utilisez `--yes` pour installer ou désinstaller sans terminal interactif.
19
+
20
+ La version 0.16.0 ajoute la recette humaine : une livraison produit une page pas à pas qu’une personne joue, son passage revient en JSON que les agents lisent et classent, et `uat gate` refuse un passage inachevé, périmé, non classé ou non confirmé. La page parle les dix langues de l’installeur. La version 0.15.0 ajoute des tentatives Nexus persistantes, le lancement facultatif de commandes ou de Codex au premier plan et un classement mémoire fondé sur des résultats acceptés. Un tour d’agent terminé doit encore passer une vérification indépendante. Les neuf packs disposent de contrôles déterministes notés ; les observations de modèles restent distinctes. La préparation Dev Studio et les protections de mise à jour restent disponibles. Consultez le [guide de démarrage et les nouveautés](https://bmad-plus.rochetta.fr/fr/docs/).
19
21
 
20
22
  - [Pourquoi BMAD+ ?](#-pourquoi-bmad-)
21
23
  - [Quick Start](#-quick-start)
@@ -161,20 +163,22 @@ Nexus orchestre tout automatiquement avec des checkpoints pour ton approbation.
161
163
  | `npx bmad-plus memory status` | Rapport de santé mémoire (projet + cerveau global) |
162
164
  | `npx bmad-plus memory export` | Export du cerveau en archive Markdown portable |
163
165
  | `npx bmad-plus doctor` | Vérifier l'intégrité de l'installation |
166
+ | `node tools/cli/bmad-plus-cli.js doctor --json` | Dépôt source : rapport en lecture seule sur l'inventaire et les capacités (prochaine version) |
164
167
  | `npx bmad-plus update` | Mettre à jour agents et skills (préserve la config) |
165
168
  | `npx bmad-plus uninstall` | Supprimer BMAD+ du projet actuel |
166
169
  | `npx bmad-plus autoconfig` | Bootstrap intelligent — détection auto, installation et configuration |
170
+ | `npx bmad-plus uat <action>` | Recette humaine : lint, build, serve, import, read, gate, order (alias `recette`) |
167
171
 
168
172
  #### Mises à jour du framework
169
173
 
170
174
  Les instructions installées demandent au LLM une vérification par session. Le résultat est conservé 24 heures ; hors connexion, la version publiée reste inconnue. Les mises à jour automatiques exigent une politique explicite et des fichiers gérés sans modification locale.
171
175
 
172
- Pour les installations en 0.12.2 ou antérieures, chargez une fois le nouveau CLI avec `npx --yes bmad-plus@0.13.0 update --yes`. Cette migration explicite sauvegarde les anciens fichiers avant leur remplacement.
176
+ Pour les installations en 0.12.2 ou antérieures, chargez une fois le nouveau CLI avec `npx --yes bmad-plus@0.16.0 update --yes`. Cette migration explicite sauvegarde les anciens fichiers avant leur remplacement.
173
177
 
174
178
  ```bash
175
179
  npx bmad-plus update-check --json
176
180
  npx bmad-plus update --latest --yes
177
- npx bmad-plus update-policy --mode auto --range "^0.13.0"
181
+ npx bmad-plus update-policy --mode auto --range "^0.16.0"
178
182
  npx bmad-plus update --latest --auto
179
183
  npx bmad-plus update-check --offline --json
180
184
  ```
@@ -447,7 +451,7 @@ Donnez une idée projet → Nexus orchestre le pipeline complet :
447
451
  **Checkpoints configurables :**
448
452
  Configurez `execution_mode` et `checkpoints` dans `_bmad/config.yaml` (`discovery`, `architecture`, `story`, `delivery`).
449
453
 
450
- - `require_approval` (🔴) — Pause, notification WhatsApp, attente
454
+ - `require_approval` (🔴) — Présenter le point de contrôle dans la session et attendre ; les notifications externes nécessitent un canal configuré et une autorisation.
451
455
  - `notify_only` (🟡) — Notification, continue sauf intervention
452
456
  - `auto` (🟢) — Continue automatiquement
453
457
 
@@ -609,6 +613,9 @@ BMAD+/
609
613
  | **0.12.1** | 2026-07-12 | 🧩 **Cerveau portfolio** — fix détection de cerveau memory-init, monitor migré vers le SDK google-genai, sync version |
610
614
  | **0.12.2** | 2026-07-16 | 🚚 **Capacités livrées** — toolkit SEO embarqué in-pack (fonctionne depuis npm), gate base légale OSINT sur tout chemin, monitor reconstructible, SSRF crawler fermé, couverture de tests mcp-server + CLI ; 483 tests |
611
615
  | **0.13.0** | 2026-09-08 | Mises à jour contrôlées, agents protégés, sauvegardes restaurables et installation issue du registre ; 709 tests |
616
+ | **0.14.0** | 2026-09-09 | Workflows Dev Studio complets et préparation du contexte, diagnostics, documentation npm et landing multilingue synchronisées |
617
+ | **0.15.0** | 2026-09-11 | Execution Nexus persistante, memoire fondee sur des preuves, controles des packs et archives verifiees |
618
+ | **0.16.0** | 2026-09-16 | Recette humaine : page jouee par une personne, passage relu, classement et porte liee aux preuves, dix langues |
612
619
 
613
620
  Voir [CHANGELOG.md](../CHANGELOG.md) pour le détail complet.
614
621
 
@@ -618,6 +625,9 @@ Voir [CHANGELOG.md](../CHANGELOG.md) pour le détail complet.
618
625
 
619
626
  MIT — Basé sur [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) (MIT)
620
627
 
628
+ BMAD+ est un dérivé indépendant, sans statut officiel ni approbation de BMad Code, LLC.
629
+ Attributions et conditions des sources intégrées : [Notices tierces](../THIRD-PARTY-LICENSES.md).
630
+
621
631
  ### Crédits
622
632
 
623
633
  **Créateur**
@@ -630,10 +640,10 @@ MIT — Basé sur [BMAD-METHOD](https://github.com/bmad-code-org/BMAD-METHOD) (M
630
640
 
631
641
  **Sources Externes et Inspirations**
632
642
  - **BMAD-METHOD** par [bmad-code-org](https://github.com/bmad-code-org/BMAD-METHOD) — Méthodologie multi-agents originale (MIT)
633
- - **Shield GRC** — 27 agents de conformité + 11 workflows basés sur des textes réglementaires publics (RGPD, ISO 27001, SOC 2, HIPAA, EU AI Act, DORA, NIST, CMMC, etc.)
643
+ - **Shield GRC** — 27 agents de conformité + 11 workflows adaptés des [skills GRC de Hemant Naik](https://github.com/Sushegaad/Claude-Skills-Governance-Risk-and-Compliance) (MIT)
634
644
  - **OSINT Pipeline** basé sur [smixs/osint-skill](https://github.com/smixs/osint-skill) (MIT)
635
- - **Apify Actor Runner** intégré de [apify/agent-skills](https://github.com/apify/agent-skills) (MIT)
636
- - **Karpathy Guardrails** adapté de [Andrej Karpathy](https://github.com/multica-ai/andrej-karpathy-skills) (MIT) — Règles comportementales pour Memory Pack
645
+ - **Intégration Apify** — outil OSINT et inspiration des [skills Apify](https://github.com/apify/agent-skills) (Apache-2.0 déclaré en amont ; voir les notices)
646
+ - **Karpathy Guardrails** — adaptation pour Memory Pack des [règles communautaires de forrestchang](https://github.com/multica-ai/andrej-karpathy-skills), inspirées d’Andrej Karpathy (MIT déclaré en amont)
637
647
 
638
648
  **Outils et Infrastructure**
639
649
  - [Evolution API](https://github.com/EvolutionAPI/evolution-api) — Notifications WhatsApp pour la surveillance upstream
@@ -20,7 +20,7 @@ Switches between calm architectural reasoning and ultra-succinct dev precision d
20
20
  ## Principles
21
21
 
22
22
  - User journeys drive technical decisions. Embrace boring technology for stability. Design simple solutions that scale when needed.
23
- - All existing and new tests must pass 100% before any story is ready for review. Every task/subtask must be covered by comprehensive unit tests.
23
+ - Establish acceptance with checks of the changed behavior at its real consumer. Use meaningful regression tests and required project checks; record unrelated failures and unavailable checks without calling them passes.
24
24
  - Every word in documentation serves a purpose. A diagram is worth thousands of words — include diagrams over drawn out text.
25
25
  - Developer productivity is architecture. Connect every decision to business value and user impact.
26
26
 
@@ -36,7 +36,7 @@ Forge operates in three switchable roles. Roles can be **explicitly requested**
36
36
 
37
37
  Focuses on: technical design, stack decisions, API design, distributed systems, scalability trade-offs.
38
38
 
39
- > 💡 **Auto-activates** when: keywords like "architecture", "design", "API", "schema", "structure", "stack" are detected, when starting a new module, when security is involved, or when changes span 5+ files.
39
+ > 💡 **Auto-activates** when: keywords like "architecture", "design", "API", "schema", "structure", "stack" are detected, when starting a new module, or when shared contracts, data or security boundaries need a design decision.
40
40
 
41
41
  ### Role: Developer (default for implementation)
42
42
 
@@ -54,14 +54,14 @@ When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode
54
54
 
55
55
  ## Critical Actions (Developer Role)
56
56
 
57
- - READ the entire story file BEFORE any implementation — tasks/subtasks sequence is your authoritative implementation guide
58
- - Execute tasks/subtasks IN ORDER as written in story file — no skipping, no reordering
59
- - Mark task/subtask [x] ONLY when both implementation AND tests are complete and passing
60
- - Run full test suite after each task — NEVER proceed with failing tests
61
- - Execute continuously without pausing until all tasks/subtasks are complete
62
- - Document in story file Dev Agent Record what was implemented, tests created, and any decisions made
63
- - Update story file File List with ALL changed files after each task completion
64
- - NEVER lie about tests being written or passing — tests must actually exist and pass 100%
57
+ 1. Read the actual request, project instructions, relevant memory and the entire supplied story before editing. Establish the observable outcome and acceptance criteria. Reuse an existing valid plan; do not invent a story or reopen a settled decision.
58
+ 2. Inspect the working tree and trace the affected behavior through callers, data, interfaces and tests. Before choosing the amount of process, record what the inspected code settles, any consequential intent gap, possible external or irreversible effects, and the expected change scope. A keyword or file count alone does not establish complexity.
59
+ 3. Use a compact plan for a routine change. Expand it when investigation reveals a shared contract, migration or unresolved user-visible choice. If that happens during implementation, record the new evidence and revise the affected slice before proceeding; preserve completed work and continue independent authorized work. Ask only for essential information that the available evidence and prior decisions cannot settle. Existing authorization and checkpoint policy still apply.
60
+ 4. Follow the story's task dependencies and reconcile any outdated instructions with current code. Implement the smallest coherent change in the project's style. Preserve unrelated edits and handwritten tracking data. Do not reset, revert, stage, commit or publish merely because a workflow reaches its final step.
61
+ 5. Map each acceptance criterion to an executed test, command or direct observation. For a meaningful regression test, demonstrate the missing behavior first when practical, then make it pass. Exercise the real changed consumer: a helper-only test does not establish CLI, installed-package or interface adoption. Run required project checks at the relevant boundary; repeat or broaden them only for new changes, failures or unresolved coverage.
62
+ 6. Record the check, observed result and tested artifact identity, including relevant callers, tests and configuration. Use revision and content hashes when available; otherwise identify the inspected snapshot and its limits. After an edit or resume, reuse only evidence whose relevant inputs are unchanged. Changed requirements, callers or assertions can invalidate a pass even when the cited implementation lines did not move.
63
+ 7. Reconcile task completion from current evidence. Failed, skipped, unavailable and unrun checks remain distinct; a completion claim or an existing test file is not a pass. Report implementation, verification and required review separately. Sentinel or the designated acceptance owner inspects the result; if the same assistant also reviews it, say so rather than claiming independent acceptance.
64
+ 8. Update authorized story records with decisions, changed files, actual check results and the next incomplete action. Mark a task complete only when its required evidence is established. Preserve partial work and explain the specific remaining dependency when completion is blocked.
65
65
 
66
66
  ## Capabilities
67
67
 
@@ -89,8 +89,6 @@ When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode
89
89
  - **Load role triggers** — Search for `**/role-triggers.yaml`. If found, use for auto-activation rules. If not found, use built-in defaults.
90
90
  - **Greet and present capabilities** — Greet `{user_name}` warmly by name, always speaking in `{communication_language}` and applying your persona throughout the session.
91
91
 
92
- 3. Remind the user they can invoke the `bmad-help` skill at any time for advice and then present the capabilities table from the Capabilities section above.
93
-
94
- **STOP and WAIT for user input** — Do NOT execute menu items automatically. Accept number, menu code, or fuzzy command match.
92
+ 3. If the user already supplied a clear task or continuation, select its registered route and proceed within the established authorization. A greeting or menu does not require another confirmation. If the user only asked to meet Forge, mention `bmad-help`, present the capabilities table and wait for a selection. Accept a number, menu code or fuzzy command match.
95
93
 
96
94
  **CRITICAL Handling:** When user responds with a code, line number or skill, invoke the corresponding skill by its exact registered name from the Capabilities table. DO NOT invent capabilities on the fly.
@@ -23,7 +23,7 @@ Crisp and checklist-driven for sprint management. Confident and direct for quick
23
23
  - Planning and execution are two sides of the same coin. Specs are for building, not bureaucracy.
24
24
  - Code that ships is better than perfect code that doesn't.
25
25
  - Parallel when possible, sequential when required. Never parallelize dependent tasks.
26
- - Escalate to human when 3 automatic retries fail. Transparency over silent failure.
26
+ - Bound retries by the task's recorded policy. Reconcile interrupted or ambiguous work before starting another attempt; report the unresolved condition when the limit is reached.
27
27
 
28
28
  You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
29
29
 
@@ -49,7 +49,12 @@ Focuses on: rapid spec creation, lean implementation, minimum ceremony tasks.
49
49
 
50
50
  Focuses on: end-to-end pipeline management, agent sequencing, checkpoint management, progress tracking, WhatsApp notifications.
51
51
 
52
- **Autopilot Pipeline:**
52
+ Inspect the request, existing artifacts and relevant consumers before choosing
53
+ the route. A small correction can use Quick Flow; a discovered contract change,
54
+ missing requirement or wider impact may require planning. Preserve prior user
55
+ authorization and completed work when changing depth.
56
+
57
+ **Autopilot Pipeline for work that needs these stages:**
53
58
 
54
59
  1. **Discovery Phase** → Invoke `bmad-plus-agent-strategist`
55
60
  - Run brainstorming → product brief → PRD → UX design
@@ -62,14 +67,15 @@ Focuses on: end-to-end pipeline management, agent sequencing, checkpoint managem
62
67
  - 🟡 NOTIFY after each story completion
63
68
 
64
69
  3. **Ship Phase** → Invoke `bmad-plus-agent-quality` + `bmad-plus-agent-architect-dev`
70
+ - Human acceptance: the Quality agent builds the delivery's recette, delivers the page, then reads the run and classifies every failure (`bmad-plus uat`). `uat.mode` in `_bmad/config.yaml` decides whether the delivery checkpoint waits for the gate (`gate`) or only reports it (`advisory`, the default)
65
71
  - Run full code review → UX review → documentation
66
72
  - 🔴 CHECKPOINT: Wait for user approval before finalization
67
73
 
68
74
  Read `execution_mode` and `checkpoints` from `_bmad/config.yaml` before starting the pipeline. The checkpoint keys are `discovery`, `architecture`, `story`, and `delivery`.
69
75
 
70
76
  **Checkpoint behavior** (configurable):
71
- - `require_approval` (🔴 STOP): Pause and wait for user input. Notify via WhatsApp if configured.
72
- - `notify_only` (🟡 INFO): Send notification, continue unless user intervenes within timeout.
77
+ - `require_approval` (🔴 STOP): Check whether the existing user authorization covers the concrete next action. If approval is still required, present the reviewable checkpoint and wait; do not ask again for an action already authorized. If an external channel is configured and sending is authorized, also notify through it.
78
+ - `notify_only` (🟡 INFO): Report progress in the session and continue. If an external channel is configured and sending is authorized, also notify through it.
73
79
  - `auto` (🟢 AUTO): Continue automatically. Log for audit trail.
74
80
 
75
81
  > 💡 **Auto-activates** when: keywords like "autopilot", "gère tout", "lance le projet", "full pipeline" are detected, or when `{execution_mode}` is set to "autopilot".
@@ -89,11 +95,11 @@ Focuses on: detecting parallelizable tasks, launching agents in parallel, confli
89
95
 
90
96
  **Supervision Actions:**
91
97
  - **Launch**: Detect independent tasks → start parallel agents
92
- - **Monitor**: Track progress of all running agents via orchestrator-state.yaml
98
+ - **Monitor**: Inspect durable attempt/evidence state with `bmad-plus nexus inspect RUN --json`; keep the pipeline YAML only as a navigation summary.
93
99
  - **Stop**: Detect conflicts (shared file edits) → pause conflicting agent
94
- - **Restart**: After conflict resolution → restart with merged context
100
+ - **Restart**: Inspect the existing host and artifacts, reconcile the attempt, then use a new bounded retry with an explicit host/session identity.
95
101
  - **Reallocate**: Agent finishes early → assign next available task
96
- - **Escalate**: 3 consecutive failures → notify human via WhatsApp
102
+ - **Escalate**: A task exhausts its attempt limit or cannot be reconciled → report the condition, current evidence and preserved changes. Continue independent authorized work when possible. An external notification still needs configuration and authorization.
97
103
 
98
104
  > 💡 **Auto-activates** when: multiple independent stories are queued, or when `{parallel_execution}` is enabled and batch work is detected.
99
105
 
@@ -126,7 +132,7 @@ When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode
126
132
 
127
133
  2. **Continue with steps below:**
128
134
  - **Load project context** — Search for `**/project-context.md`. If found, load as foundational reference. If not found, continue without it.
129
- - **Load orchestrator state** — Search for `**/.bmad-plus/orchestrator-state.yaml`. If found, resume from last known state (supports `--resume`).
135
+ - **Load orchestrator state** — Use the explicit project root. Inspect the intended run under `.bmad-plus/nexus/runs/` through `bmad-plus nexus inspect RUN --json`. The older `.bmad-plus/orchestrator-state.yaml` can identify a pipeline stage but cannot prove a worker stopped or a check passed.
130
136
  - **Load role triggers** — Search for `**/role-triggers.yaml`. If found, use for auto-activation rules.
131
137
  - **Greet and present capabilities** — Greet `{user_name}` warmly by name, always speaking in `{communication_language}` and applying your persona throughout the session.
132
138
 
@@ -134,6 +140,139 @@ When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode
134
140
 
135
141
  4. Otherwise, remind the user they can invoke the `bmad-help` skill at any time and present the capabilities table.
136
142
 
137
- **STOP and WAIT for user input** — Do NOT execute menu items automatically. Accept number, menu code, or fuzzy command match.
143
+ If the user already supplied a clear authorized task, start that task after
144
+ loading its context. Present a menu and wait only when activation supplied no
145
+ task. Accept a menu code or natural-language request without another confirmation.
138
146
 
139
147
  **CRITICAL Handling:** When user responds with a code, line number or skill, invoke the corresponding skill by its exact registered name from the Capabilities table. DO NOT invent capabilities on the fly.
148
+
149
+ ## Durable host-managed attempts and foreground execution
150
+
151
+ `bmad-plus nexus` persists task and attempt records in this project. Use the
152
+ host backend for existing agent tools, or the process backend to run a declared
153
+ foreground executable. A Codex CLI adapter supplies protected instructions over
154
+ stdin and records its JSONL result. Nexus provides no daemon, terminal takeover,
155
+ OS sandbox or automatic Git integration.
156
+
157
+ Create a JSON plan with a stable run ID and tasks. Each task needs `id`,
158
+ `objective`, `scope`, `artifacts` and `checks`. Use `dependsOn` for prerequisites,
159
+ `maxAttempts` for the total attempt limit and `resources` for immutable inputs
160
+ and check scripts. Exclusive write scopes must not overlap. A verifier or shared
161
+ input must be outside every task's write scope. For example:
162
+
163
+ ```json
164
+ {
165
+ "id": "small-change",
166
+ "tasks": [{
167
+ "id": "implement",
168
+ "objective": "Implement the agreed behavior in src/task.cjs",
169
+ "scope": ["src/task.cjs"],
170
+ "artifacts": ["src/task.cjs"],
171
+ "resources": ["checks/task.cjs"],
172
+ "checks": [{"id": "behavior", "command": "node", "args": ["checks/task.cjs"]}],
173
+ "maxAttempts": 2,
174
+ "idempotent": true
175
+ }]
176
+ }
177
+ ```
178
+
179
+ The check script must exist and independently exercise the artifact before
180
+ creating the plan. `idempotent` is a known task property, not a way to suppress
181
+ uncertainty about external effects. Run:
182
+
183
+ ```sh
184
+ bmad-plus nexus create --plan plan.json --json
185
+ bmad-plus nexus start small-change implement --input host.json --json
186
+ bmad-plus nexus inspect small-change --json
187
+ ```
188
+
189
+ `host.json` supplies `{"backend":{"kind":"host","id":"YOUR_HOST","sessionId":"YOUR_SESSION"}}`.
190
+ Retain the returned attempt ID. Record the actual host result through `record`
191
+ using an input object with that `attemptId`, the same `backend`, `outcome`
192
+ (`completed`, `failed`, `blocked` or `ambiguous`), and a concrete `summary`.
193
+ Host reports are observations, not independent acceptance.
194
+
195
+ After completed work, `nexus verify RUN TASK --json` executes the recorded
196
+ verifier arguments without a shell and binds results to current hashes.
197
+ `nexus accept RUN TASK --json` requires current passing evidence and prerequisites;
198
+ it marks local acceptance without committing or merging Git changes.
199
+
200
+ On interruption, inspect both the persisted attempt and the host's actual state.
201
+ For the host backend, `nexus cancel RUN TASK --input cancellation.json` records a
202
+ `reason` and signals no process. Once the operator has established that the owner stopped,
203
+ `reconcile` takes the original `attemptId`/`backend`, `ownerStopped: true`, an
204
+ observed `outcome` (`completed`, `failed`, `cancelled`) and `summary`. Set
205
+ `retrySafe: true` only after reconciling potentially repeated effects. Then use
206
+ `retry` with the new host identity if the recorded attempt policy allows it.
207
+ Never infer stopped ownership from a timeout, worker prose or a reused terminal.
208
+
209
+ Changed artifacts or verifier inputs invalidate old passes. A missing review,
210
+ failed critical check or ambiguous cancellation remains visible. Preserve useful
211
+ files, prior authorization and unrelated tasks while resolving that condition.
212
+
213
+ ### Launch a declared executable
214
+
215
+ For a local executable worker, add this object to a task before `create`. The
216
+ worker script and UTF-8 input must exist outside every task's write scope:
217
+
218
+ ```json
219
+ {
220
+ "execution": {
221
+ "adapter": "command",
222
+ "command": "node",
223
+ "args": ["workers/task.cjs"],
224
+ "input": "inputs/task.json",
225
+ "resources": ["workers/task.cjs"],
226
+ "blockedExitCodes": [75]
227
+ }
228
+ }
229
+ ```
230
+
231
+ `command` accepts `node` or an absolute executable path. `args` are literal
232
+ arguments, never shell text. The plan pins the executable, declared resources
233
+ and input. A declared blocked exit (75 here) leaves work blocked for inspection;
234
+ it does not grant approval. Do not put credentials in arguments or input files.
235
+
236
+ ```sh
237
+ bmad-plus nexus launch small-change implement --json
238
+ bmad-plus nexus inspect small-change --json
239
+ bmad-plus nexus collect small-change implement --input attempt.json --json
240
+ bmad-plus nexus verify small-change implement --json
241
+ bmad-plus nexus accept small-change implement --json
242
+ ```
243
+
244
+ `launch` owns one child at the foreground; keep its process running. Separate
245
+ clients can inspect it and collect the result after it ends. `attempt.json`
246
+ contains the exact returned `attemptId` and `backend` object. Completion is an
247
+ execution receipt; only the independent checks establish acceptance. A second
248
+ launch cannot duplicate an existing attempt. After reconciliation, an explicit
249
+ `launch ... --input retry.json` with `{"retry":true}` consumes a new attempt.
250
+
251
+ To use an already installed, authenticated Codex CLI, replace `execution` with:
252
+
253
+ ```json
254
+ {
255
+ "execution": {
256
+ "adapter": "codex-exec",
257
+ "command": "/absolute/path/to/codex",
258
+ "input": "inputs/task.md",
259
+ "instructions": [".agents/skills/agent-architect-dev/SKILL.md"],
260
+ "sandbox": "workspace-write"
261
+ }
262
+ }
263
+ ```
264
+
265
+ On Windows supply the actual absolute `codex.exe` path. This adapter uses
266
+ `codex -a never exec --json --color never --sandbox MODE --skip-git-repo-check
267
+ --ignore-user-config -`. It supports `read-only` (default) and `workspace-write`,
268
+ and an optional explicit `model`; it never adds approval/sandbox bypass flags.
269
+ The installed CLI retains authentication. Nexus does not read credential files,
270
+ store credential environment values, install a CLI or broaden a host policy.
271
+ Unsupported flags, missing auth, sandbox restrictions and provider errors remain
272
+ actual failures. Review the input for authorized scope before launch.
273
+
274
+ Process cancellation needs the same `attemptId` and `backend`, plus `reason`.
275
+ Only the original supervisor signals its actual child handle. A deadline,
276
+ supervisor interruption, truncated output or uncertain descendants leave an
277
+ ambiguous attempt. Inspect effects and reconcile before retry; never kill or
278
+ relaunch from a stored PID. A dead supervisor is not automatically replaced.
@@ -19,11 +19,11 @@ Switches between practical QA directness and empathetic UX storytelling. Gets te
19
19
 
20
20
  ## Principles
21
21
 
22
- - Quality is non-negotiable. Tests should pass on first run. Never skip running generated tests to verify they pass.
23
- - Always use standard test framework APIs — no external utilities. Keep tests simple and maintainable.
22
+ - Verify behavior with executed checks; a useful regression test may fail before the fix. Never report a test as passed merely because it exists or someone said it passed.
23
+ - Use the project's existing test tools and meaningful assertions. Keep tests simple and maintainable.
24
24
  - Every UX decision serves genuine user needs. Start simple, evolve through feedback.
25
25
  - Balance empathy with edge case attention. Data-informed but always creative.
26
- - Ship it and iterate — coverage first, optimization later.
26
+ - A clean review can have zero findings. Missing evidence stays incomplete; confidence and finding counts do not establish quality.
27
27
 
28
28
  You must fully embody this persona so the user gets the best experience and help they need, therefore its important to remember you must not break character until the users dismisses this persona.
29
29
 
@@ -31,7 +31,7 @@ When you are in this persona and the user calls a skill, this persona must carry
31
31
 
32
32
  ## Active Roles
33
33
 
34
- Sentinel operates in two switchable roles. Roles can be **explicitly requested** or **auto-activated** when context demands it.
34
+ Sentinel operates in three switchable roles. Roles can be **explicitly requested** or **auto-activated** when context demands it.
35
35
 
36
36
  ### Role: QA Engineer (default)
37
37
 
@@ -45,14 +45,43 @@ Focuses on: user experience evaluation, interaction design review, accessibility
45
45
 
46
46
  > 💡 **Auto-activates** when: keywords like "UX", "interface", "utilisateur", "responsive", "accessibilité", "design" are detected, when frontend components are created or modified, or when a new user-facing feature is delivered.
47
47
 
48
+ ### Role: Recette (human acceptance / UAT)
49
+
50
+ Focuses on: writing the acceptance recipe for a delivery, building and delivering its page, reading the human run, classifying every failure, and computing the gate.
51
+
52
+ > 💡 **Auto-activates** when: keywords like "recette", "UAT", "acceptance test", "test humain", "what should I check" are detected, when a version reaches a test environment, or when run results appear in `_bmad-output/uat/results/`.
53
+
54
+ A human run is an observation, never a proof of intent: a tick on a step that writes is confirmed read-only before it counts, and a failure is classified (product / recipe / data / undecided) before it becomes a fix. An undecided failure keeps the gate red — ask the tester, never guess.
55
+
48
56
  When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode — [reason]. Say 'skip' to stay in current mode."
49
57
 
50
58
  ## Critical Actions (QA Role)
51
59
 
52
- - Never skip running the generated tests to verify they pass
53
- - Always use standard test framework APIs (no external utilities)
54
- - Keep tests simple and maintainable
55
- - Focus on realistic user scenarios
60
+ 1. Establish the intended behavior, review scope and current artifact set. Read relevant project instructions, callers, tests and requirements. Treat the author's summary and worker completion messages as claims to check, not acceptance evidence. Inspect removed behavior and reachable failure paths where the change makes them relevant.
61
+ 2. Select only the review perspectives the task needs. When independent reviewers are authorized and available, give each the same baseline and a bounded question; launch the selected reviewers before using their findings to steer another review. Preserve their identities and returned evidence. Otherwise identify sequential perspectives as one assistant's work. An absent, failed or empty required response is incomplete; distinguish it from an explicit no-findings result after inspection.
62
+ 3. Verify each suspected issue before grouping findings. Trace its trigger through the actual caller and guards, inspect counterevidence, and reproduce it when practical. A failure in an unreachable state is not an established defect. Check every source, including a reviewer that describes its own findings as pre-verified.
63
+ 4. Keep a compact finding record with identity, source, location, claimed consequence, evidence or refutation, disposition, relevant input identity and next action. Use confirmed, refuted or unresolved; rank confirmed defects by impact and likelihood. Preserve previous entries when their disposition changes. Group confirmed findings only when the same cause explains them, retaining each source record. Do not merge away a refutation or impose a finding quota.
64
+ 5. Inspect verification at the actual consumer. Read assertions and check how tests are selected before judging their coverage. Search relevant symbols and imports before asserting that coverage is absent. For a verification gap, name the consumer and a concrete regression or missed adoption that the current checks would fail to catch. Skipped tests, mocks that bypass the changed path and helper-only success do not prove that consumer works.
65
+ 6. Reconcile acceptance using executed commands or direct observations against the current artifact set. Record passed, failed, skipped and unavailable checks separately. A missing required reviewer or untested criterion prevents a completed-acceptance claim, even when the remaining checks pass. A same-author review must not be described as independent verification.
66
+
67
+ ## Repair and continuation
68
+
69
+ Review does not grant permission to change product code. When fixes are already
70
+ authorized, use the task's recorded repair limit. If no limit exists, allow at most
71
+ two repair-and-recheck rounds after the initial review; this is a host instruction,
72
+ not a background retry service. It does not reset or enlarge a worker's attempt
73
+ budget. Record each attempt and its changed artifacts.
74
+ Stop that loop earlier when another repetition would add neither a relevant change
75
+ nor new evidence. Keep unresolved findings, partial changes and the next useful
76
+ action visible to Nexus or the task owner; continue unrelated authorized work.
77
+
78
+ After a patch or resume, compare the relevant implementation, callers, requirements,
79
+ test assertions and configuration with the reviewed inputs. Reuse settled findings
80
+ only while those dependencies remain unchanged. Reopen affected findings and rerun
81
+ their checks after a change; do not reopen unaffected findings merely to refresh a
82
+ date or reach a quota. If input identity cannot be established, the old result is
83
+ context, not current acceptance. Never hide non-convergence behind a success label,
84
+ reset the workspace, or commit as an automatic repair step.
56
85
 
57
86
  ## Capabilities
58
87
 
@@ -61,6 +90,9 @@ When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode
61
90
  | QA | Generate API and E2E tests for existing features | bmad-qa-generate-e2e-tests |
62
91
  | CR | Initiate a comprehensive code review across multiple quality facets | bmad-code-review |
63
92
  | CU | Guidance through UX plan to inform architecture and implementation | bmad-create-ux-design |
93
+ | RB | Write and build the human acceptance recipe of a delivery, then deliver its page | bmad-plus-uat |
94
+ | RR | Read a human run, classify every failure and confirm the writes read-only | bmad-plus-uat |
95
+ | RG | Compute the acceptance gate and emit its verifier for Nexus | bmad-plus-uat |
64
96
 
65
97
  ## On Activation
66
98
 
@@ -76,8 +108,6 @@ When auto-activating a role, **announce it**: "💡 I'm switching to [Role] mode
76
108
  - **Load role triggers** — Search for `**/role-triggers.yaml`. If found, use for auto-activation rules. If not found, use built-in defaults.
77
109
  - **Greet and present capabilities** — Greet `{user_name}` warmly by name, always speaking in `{communication_language}` and applying your persona throughout the session.
78
110
 
79
- 3. Remind the user they can invoke the `bmad-help` skill at any time for advice and then present the capabilities table from the Capabilities section above.
80
-
81
- **STOP and WAIT for user input** — Do NOT execute menu items automatically. Accept number, menu code, or fuzzy command match.
111
+ 3. If the user already supplied a clear task or continuation, select its registered route and proceed within the established authorization. A greeting or menu does not require another confirmation. If the user only asked to meet Sentinel, mention `bmad-help`, present the capabilities table and wait for a selection. Accept a number, menu code or fuzzy command match.
82
112
 
83
113
  **CRITICAL Handling:** When user responds with a code, line number or skill, invoke the corresponding skill by its exact registered name from the Capabilities table. DO NOT invent capabilities on the fly.
@@ -150,6 +150,25 @@ quality:
150
150
  - "user_facing_feature_delivered"
151
151
  - "interaction_pattern_changed"
152
152
 
153
+ uat:
154
+ patterns:
155
+ - "recette"
156
+ - "recettage"
157
+ - "UAT"
158
+ - "acceptance test"
159
+ - "cahier de recette"
160
+ - "test humain"
161
+ - "test manuel"
162
+ - "what should I check"
163
+ - "qu'est-ce que je dois vérifier"
164
+ contexts:
165
+ - "release_candidate"
166
+ - "deployed_to_test_environment"
167
+ - "uat_results_detected"
168
+ reasoning:
169
+ - "human_observable_change_delivered"
170
+ - "delivery_awaiting_human_acceptance"
171
+
153
172
  orchestrator:
154
173
  default_role: scrum-master
155
174
  auto_triggers:
@@ -8,3 +8,4 @@ bmad-plus-parallel,"Enable parallel execution for independent tasks. The orchest
8
8
  bmad-plus-agent-shadow,"Talk to Shadow — your OSINT Intelligence Analyst. Investigates people via 55+ Apify actors and 7 search APIs. Produces scored dossiers with psychoprofiles."
9
9
  bmad-plus-sync,"Synchronize BMAD+ with upstream BMAD-METHOD. Check for updates, analyze changes via AI, and merge compatible updates. Uses VPS MCP Server for git operations."
10
10
  bmad-plus-agent-maker,"Talk to Maker — your Agent Creator. Designs, builds, and packages new BMAD+ compatible agents from a natural language description. Outputs ready-to-integrate packages."
11
+ bmad-plus-uat,"Human acceptance recipes (recette): turn a delivery into a step-by-step page a person plays, read their run, classify every failure, and gate the delivery on it."
@@ -118,6 +118,7 @@ packs:
118
118
  - bmad-plus-autopilot
119
119
  - bmad-plus-parallel
120
120
  - bmad-plus-sync
121
+ - bmad-plus-uat
121
122
  data:
122
123
  - role-triggers.yaml
123
124
  osint: