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.
- package/CHANGELOG.md +74 -0
- package/README.md +113 -487
- package/SECURITY.md +71 -0
- package/THIRD-PARTY-LICENSES.md +349 -0
- package/osint-agent-package/README.md +1 -1
- package/package.json +14 -3
- package/readme-international/README.de.md +18 -8
- package/readme-international/README.es.md +19 -9
- package/readme-international/README.fr.md +18 -8
- package/src/bmad-plus/agents/agent-architect-dev/SKILL.md +11 -13
- package/src/bmad-plus/agents/agent-orchestrator/SKILL.md +148 -9
- package/src/bmad-plus/agents/agent-quality/SKILL.md +41 -11
- package/src/bmad-plus/data/role-triggers.yaml +19 -0
- package/src/bmad-plus/module-help.csv +1 -0
- package/src/bmad-plus/module.yaml +1 -0
- package/src/bmad-plus/packs/pack-dev-studio/README.md +133 -141
- package/src/bmad-plus/packs/pack-dev-studio/SKILL.md +49 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/analyst-agent.md +35 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/document-project.md +59 -59
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/domain-research.md +55 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/market-research.md +58 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/prfaq.md +55 -132
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/product-brief.md +63 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/tech-writer-agent.md +54 -69
- package/src/bmad-plus/packs/pack-dev-studio/categories/analysis/technical-research.md +54 -93
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/architect-agent.md +32 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-architecture.md +67 -71
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/create-epics-stories.md +61 -90
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/generate-project-context.md +56 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/implementation-readiness.md +55 -88
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01-init.md +20 -153
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-01b-continue.md +20 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-02-context.md +14 -220
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-03-starter.md +20 -329
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-04-decisions.md +15 -314
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-05-patterns.md +15 -355
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-06-structure.md +15 -375
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-07-validation.md +14 -357
- package/src/bmad-plus/packs/pack-dev-studio/categories/architecture/steps/step-08-complete.md +13 -78
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/checkpoint-preview.md +52 -65
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-01-gather-context.md +14 -81
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-02-review.md +14 -31
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-03-triage.md +14 -45
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review-steps/step-04-present.md +13 -128
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/code-review.md +61 -87
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/correct-course.md +55 -298
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/create-story.md +54 -426
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-agent.md +48 -69
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story-checklist.md +24 -80
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/dev-story.md +64 -482
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/investigate.md +50 -184
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/qa-e2e-tests.md +57 -173
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/quick-dev.md +56 -108
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/retrospective.md +54 -1509
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-planning.md +54 -296
- package/src/bmad-plus/packs/pack-dev-studio/categories/implementation/sprint-status.md +41 -283
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-prd.md +58 -18
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/create-ux-design.md +103 -72
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/edit-prd.md +55 -27
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/pm-agent.md +34 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/prd.md +46 -87
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/steps/step-01-init.md +10 -0
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/ux-designer-agent.md +30 -60
- package/src/bmad-plus/packs/pack-dev-studio/categories/planning/validate-prd.md +57 -27
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/advanced-elicitation.md +47 -138
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/adversarial-review.md +48 -34
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/bmad-help.md +51 -68
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/brainstorming.md +46 -3
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/customize.md +68 -109
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/distillator.md +53 -174
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/edge-case-hunter.md +39 -53
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-prose.md +45 -83
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/editorial-review-structure.md +45 -176
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/index-docs.md +45 -63
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/party-mode.md +53 -124
- package/src/bmad-plus/packs/pack-dev-studio/categories/utilities/shard-doc.md +44 -100
- package/src/bmad-plus/packs/pack-dev-studio/dev-studio-orchestrator.md +56 -116
- package/src/bmad-plus/packs/pack-dev-studio/shared/architecture-decision-template.md +49 -12
- package/src/bmad-plus/packs/pack-dev-studio/shared/bwml-spec.md +51 -328
- package/src/bmad-plus/packs/pack-dev-studio/shared/catalog.json +489 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/execution.md +69 -0
- package/src/bmad-plus/packs/pack-dev-studio/shared/module-help.csv +39 -32
- package/src/bmad-plus/packs/pack-dev-studio/upstream-sync.yaml +85 -14
- package/src/bmad-plus/packs/pack-memory/README.md +35 -4
- package/src/bmad-plus/packs/pack-memory/memory-orchestrator.md +33 -6
- package/src/bmad-plus/packs/pack-memory/shared/karpathy-guardrails.md +3 -3
- package/src/bmad-plus/packs/pack-memory/shared/memory-protocol.md +27 -3
- package/src/bmad-plus/packs/pack-memory/zecher-agent.md +18 -2
- package/src/bmad-plus/packs/pack-seo/SKILL.md +27 -1
- package/src/bmad-plus/packs/pack-seo/seo-chief.md +16 -1
- package/src/bmad-plus/packs/pack-seo/seo-judge.md +12 -0
- package/src/bmad-plus/packs/pack-seo/seo-scout.md +12 -0
- package/src/bmad-plus/skills/bmad-plus-autopilot/SKILL.md +49 -12
- package/src/bmad-plus/skills/bmad-plus-parallel/SKILL.md +17 -3
- package/src/bmad-plus/skills/bmad-plus-sync/SKILL.md +76 -65
- package/src/bmad-plus/skills/bmad-plus-uat/SKILL.md +144 -0
- package/src/bmad-plus/skills/bmad-plus-uat/ref/uat-results.schema.json +60 -0
- package/src/bmad-plus/skills/bmad-plus-uat/ref/uat-spec.schema.json +121 -0
- package/src/bmad-plus/skills/bmad-plus-uat/ref/uat-triage.schema.json +60 -0
- package/src/bmad-plus/skills/bmad-plus-uat/template/page.html +552 -0
- package/src/bmad-plus/skills/bmad-plus-uat/template/strings.json +362 -0
- package/src/bmad-plus/skills/dev-studio/SKILL.md +19 -0
- package/tools/build/check-install-contract.js +367 -17
- package/tools/build/generate.js +229 -40
- package/tools/build/generated-adapters/.codex/AGENTS.md +1 -1
- package/tools/build/generated-adapters/.cursor/rules/bmad-plus.mdc +1 -1
- package/tools/build/generated-adapters/.opencode/AGENTS.md +1 -1
- package/tools/build/generated-adapters/AGENTS.md +1 -1
- package/tools/build/generated-adapters/CLAUDE.md +1 -1
- package/tools/build/generated-adapters/CONVENTIONS.md +1 -1
- package/tools/build/generated-adapters/GEMINI.md +1 -1
- package/tools/build/pack-delivery.js +78 -0
- package/tools/cli/bmad-plus-cli.js +15 -12
- package/tools/cli/commands/doctor.js +50 -189
- package/tools/cli/commands/install.js +22 -3
- package/tools/cli/commands/memory-journal-cmd.js +119 -19
- package/tools/cli/commands/nexus.js +111 -0
- package/tools/cli/commands/studio.js +68 -0
- package/tools/cli/commands/uat.js +389 -0
- package/tools/cli/lib/README-memory-journal.md +19 -8
- package/tools/cli/lib/installation-health.js +366 -0
- package/tools/cli/lib/memory-journal.js +0 -0
- package/tools/cli/lib/memory-outcomes.js +293 -0
- package/tools/cli/lib/memory-store.js +139 -0
- package/tools/cli/lib/nexus-process.js +377 -0
- package/tools/cli/lib/nexus.js +1532 -0
- package/tools/cli/lib/pack-copy.js +39 -11
- package/tools/cli/lib/packs.js +134 -11
- package/tools/cli/lib/python-health.js +233 -0
- package/tools/cli/lib/python-provision.js +2 -2
- package/tools/cli/lib/studio.js +310 -0
- package/tools/cli/lib/uat.js +869 -0
- package/tools/maintain/upstream-candidate.js +456 -0
- package/tools/release/publication-content.js +903 -0
- package/tools/release/supply-chain.js +282 -0
|
@@ -1,15 +1,41 @@
|
|
|
1
|
-
#
|
|
2
|
-
#
|
|
1
|
+
# Dev Studio provenance and selective adaptation ledger.
|
|
2
|
+
# Version and commit below have different, explicitly recorded roles.
|
|
3
|
+
# The 0.14.0 implementation is original BMAD+ work, not a wholesale upstream sync.
|
|
4
|
+
schema_version: 2
|
|
3
5
|
|
|
4
6
|
upstream:
|
|
5
7
|
repository: https://github.com/bmad-code-org/BMAD-METHOD
|
|
6
8
|
version: "6.6.0"
|
|
9
|
+
version_role: declared-compatibility-baseline
|
|
10
|
+
baseline_tag_commit: "e6cdc93b79420fcc915d3bd3ca63387bc86af694"
|
|
7
11
|
commit: "0f852a38ac7c0ac30340b3aedc3aba4505b7c14a"
|
|
12
|
+
commit_role: historical-partial-import
|
|
8
13
|
synced_at: "2026-05-17"
|
|
14
|
+
synced_at_role: recorded-date-of-historical-import
|
|
9
15
|
license: MIT
|
|
10
16
|
|
|
17
|
+
reviewed_reference:
|
|
18
|
+
version: "6.12.0"
|
|
19
|
+
commit: "05bfbd46d00766ec88eb9b42e76be2c575d64d7b"
|
|
20
|
+
reviewed_at: "2026-09-09"
|
|
21
|
+
status: reviewed-only
|
|
22
|
+
full_migration: false
|
|
23
|
+
compatibility_baseline_changed: false
|
|
24
|
+
|
|
25
|
+
implementation:
|
|
26
|
+
bmad_plus_version: "0.14.0"
|
|
27
|
+
origin: original-bmad-plus-instructions-and-context-preparation
|
|
28
|
+
authored_at: "2026-09-09"
|
|
29
|
+
execution: host-managed-markdown
|
|
30
|
+
context_preparation: read-only-cli
|
|
31
|
+
standalone_llm_runtime: false
|
|
32
|
+
upstream_runtime_imported: false
|
|
33
|
+
preserved_public_workflow_ids: 38
|
|
34
|
+
preserved_personas: 6
|
|
35
|
+
evidence_limit: Resource reconciliation does not establish host execution or model compliance.
|
|
36
|
+
|
|
11
37
|
adaptations:
|
|
12
|
-
format:
|
|
38
|
+
format: Original BMAD+ Markdown procedures with explicit inputs, evidence and continuation.
|
|
13
39
|
personas:
|
|
14
40
|
Mary: Miriam (מרים)
|
|
15
41
|
Paige: Huldah (חולדה)
|
|
@@ -17,18 +43,63 @@ adaptations:
|
|
|
17
43
|
Sally: Rachel (רחל)
|
|
18
44
|
Winston: Bezalel (בצלאל)
|
|
19
45
|
Amelia: Oholiab (אהליאב)
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
46
|
+
entry: SKILL.md
|
|
47
|
+
catalog: shared/catalog.json
|
|
48
|
+
execution_guide: shared/execution.md
|
|
49
|
+
historical_bwml_document: shared/bwml-spec.md
|
|
50
|
+
historical_bwml_document_role: migration-note-not-interpreter-specification
|
|
51
|
+
configuration:
|
|
52
|
+
file: _bmad/config.yaml
|
|
53
|
+
scope: explicitly-selected-project
|
|
54
|
+
parser: existing-bmad-plus-yaml-parser
|
|
55
|
+
known_fields:
|
|
56
|
+
- user_name
|
|
57
|
+
- communication_language
|
|
58
|
+
- document_output_language
|
|
59
|
+
- output_folder
|
|
60
|
+
- project_name
|
|
61
|
+
missing_values: Explicit neutral defaults in the execution guide.
|
|
62
|
+
invalid_present_values: Report an error rather than inventing configuration.
|
|
63
|
+
preserve_unrelated_settings: true
|
|
64
|
+
layered_toml_overrides: false
|
|
65
|
+
retired_dependency_contracts:
|
|
66
|
+
- Imported PRD headless schemas and automatic HTML validation rendering.
|
|
67
|
+
- Distillator compression/reconstruction format and Python source analyzer.
|
|
68
|
+
- Upstream Python/TOML customization discovery and layered override merging.
|
|
69
|
+
- Implied execution of BWML tags as scheduler, memory, events or validation gates.
|
|
70
|
+
historical_dependency_note: >-
|
|
71
|
+
The old removed_dependencies list was not proof that dependent instructions
|
|
72
|
+
remained executable. Project YAML configuration is supported now; it is not
|
|
73
|
+
a removed dependency. Per-skill customize.toml files and shared upstream
|
|
74
|
+
resolvers fall outside the 147-support-file inventory below.
|
|
75
|
+
|
|
76
|
+
support_reconciliation:
|
|
77
|
+
source_method: Read-only git ls-tree at the historical import commit.
|
|
78
|
+
historical_bmad_plus_commit: "913d0600b9e0c3ac12af22b17e2205bf9d394a63"
|
|
79
|
+
mapped_entry_families: 44
|
|
80
|
+
excluded_relative_paths:
|
|
81
|
+
- SKILL.md
|
|
82
|
+
- customize.toml
|
|
83
|
+
source_support_files: 147
|
|
84
|
+
historically_delivered: 15
|
|
85
|
+
historically_omitted: 132
|
|
86
|
+
historically_omitted_families: 24
|
|
87
|
+
omitted_dispositions:
|
|
88
|
+
replaced-by-self-contained-workflows: 117
|
|
89
|
+
retired-runtime: 12
|
|
90
|
+
optional-tests-or-metadata: 3
|
|
91
|
+
delivered_disposition: retained-as-original-support
|
|
92
|
+
interpretation: >-
|
|
93
|
+
Counts describe the pre-remediation snapshot. An omitted support file is not
|
|
94
|
+
automatically a demonstrated runtime failure. Replaced means the relevant
|
|
95
|
+
purpose is covered by original instructions, not exact upstream feature parity.
|
|
96
|
+
Retired-runtime includes unsupported execution contracts even when no working
|
|
97
|
+
runtime had been delivered.
|
|
98
|
+
repository_report: docs/research/dev-studio-0.14-validation/migration.md
|
|
99
|
+
repository_inventory: docs/research/dev-studio-0.14-validation/migration.json
|
|
31
100
|
|
|
101
|
+
# Historical source mapping only. These are lineage references, not live imports
|
|
102
|
+
# or runtime dependencies. Current routes resolve through shared/catalog.json.
|
|
32
103
|
source_mapping:
|
|
33
104
|
categories/analysis:
|
|
34
105
|
- src/bmm-skills/1-analysis/bmad-agent-analyst → analyst-agent.md
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
## What is Pack Memory?
|
|
6
6
|
|
|
7
|
-
Pack Memory
|
|
7
|
+
Pack Memory stores decisions, lessons and patterns between sessions. Optional
|
|
8
|
+
project-local outcome evidence helps distinguish current verified sources from
|
|
9
|
+
stale or contradictory advice. Better downstream agent performance must be measured
|
|
10
|
+
separately; persistence alone does not establish it.
|
|
8
11
|
|
|
9
12
|
### Two Levels of Memory
|
|
10
13
|
|
|
@@ -21,7 +24,7 @@ Pack Memory adds a **persistent brain** to BMAD+. Every decision logged, every l
|
|
|
21
24
|
|
|
22
25
|
### 🧠 Persistent Memory
|
|
23
26
|
- `decisions.md` — ADR-style architectural decisions with rationale
|
|
24
|
-
- `lessons.md` —
|
|
27
|
+
- `lessons.md` — Unexpected outcomes and lessons to review before similar work
|
|
25
28
|
- `patterns.md` — Validated solutions that work, ready to reuse
|
|
26
29
|
- `context.md` — Living project state, auto-updated by agents
|
|
27
30
|
- `sessions/` — Session handoffs for seamless context transfer
|
|
@@ -33,7 +36,8 @@ Pack Memory adds a **persistent brain** to BMAD+. Every decision logged, every l
|
|
|
33
36
|
- Build a complete portfolio index in your global brain
|
|
34
37
|
|
|
35
38
|
### 🛡️ Karpathy Guardrails
|
|
36
|
-
Four behavioral principles
|
|
39
|
+
Four behavioral principles from the community `andrej-karpathy-skills` project,
|
|
40
|
+
inspired by Andrej Karpathy's development guidance:
|
|
37
41
|
1. **Think Before Coding** — Surface assumptions, don't guess
|
|
38
42
|
2. **Simplicity First** — Minimum code, nothing speculative
|
|
39
43
|
3. **Surgical Changes** — Touch only what you must
|
|
@@ -48,6 +52,33 @@ Dedicated memory agent that can:
|
|
|
48
52
|
|
|
49
53
|
## Installation
|
|
50
54
|
|
|
55
|
+
The npm pack provides file-based memory and requires Node.js only. Vector/RAG
|
|
56
|
+
recall is an optional, local-only enhancement through a separately deployed
|
|
57
|
+
MCP server. That server, its Python dependencies and its vector index are not
|
|
58
|
+
included in the npm package; `--provision-python` does not install them.
|
|
59
|
+
Missing RAG infrastructure does not disable Markdown memory or the project scanner.
|
|
60
|
+
|
|
61
|
+
### Verified project outcomes
|
|
62
|
+
|
|
63
|
+
The portable CLI supports `mem observe --input memory-observation.json` after an
|
|
64
|
+
independently verified Nexus task is accepted. The JSON input identifies `runId`,
|
|
65
|
+
`taskId`, one `memory` section (`file` and `heading`), its applicable `scope` paths
|
|
66
|
+
and the operator's `interpretation`. Optional `supersedes`/`contradicts` lists refer
|
|
67
|
+
to existing outcome receipt IDs. This association records provenance; it does not
|
|
68
|
+
prove that the lesson caused the task to succeed.
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
bmad-plus mem outcomes --json
|
|
72
|
+
bmad-plus mem recall "cache values" --ranking evidence --context-scope src/cache --json
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
The opt-in ranking rechecks source hashes and Nexus acceptance, excludes explicitly
|
|
76
|
+
stale/superseded/contradictory evidence and applies a bounded relevance-dependent
|
|
77
|
+
boost. `mem outcomes` explains eligibility. Default lexical recall is unchanged.
|
|
78
|
+
Failed, unverified and duplicate task attempts cannot supply successful evidence;
|
|
79
|
+
manually supplied `mem reinforce` signals do not influence this ranking. No vector
|
|
80
|
+
service, background observer, cross-project access or model training is required.
|
|
81
|
+
|
|
51
82
|
```bash
|
|
52
83
|
npx bmad-plus install
|
|
53
84
|
# Select "🧠 Memory — Persistent Brain" in the pack menu
|
|
@@ -102,5 +133,5 @@ pack-memory/
|
|
|
102
133
|
## Credits
|
|
103
134
|
|
|
104
135
|
- Memory architecture inspired by Laurent Rochetta's `_brain/` methodology
|
|
105
|
-
- Behavioral guardrails adapted from [
|
|
136
|
+
- Behavioral guardrails adapted from the community [multica-ai/andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) project (plugin author: forrestchang; manifest declares MIT), inspired by Andrej Karpathy. See the distribution's third-party license notice.
|
|
106
137
|
- BMAD+ by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS)
|
|
@@ -16,10 +16,17 @@ Pack Memory provides a two-level persistent brain for BMAD+:
|
|
|
16
16
|
|
|
17
17
|
## Activation
|
|
18
18
|
|
|
19
|
-
Pack Memory
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
Pack Memory supplies instructions and files for the host agent to use. The host
|
|
20
|
+
must load and follow the memory protocol; installation alone does not execute it.
|
|
21
|
+
No automatic session-start or session-end hooks are installed.
|
|
22
|
+
|
|
23
|
+
While executing the protocol, the host agent should:
|
|
24
|
+
|
|
25
|
+
- At session start: load project memory + global identity
|
|
26
|
+
- During the session: record decisions, lessons and patterns when relevant
|
|
27
|
+
- Before ending its work: persist a session handoff
|
|
28
|
+
|
|
29
|
+
A session that ends without an agent turn has no guaranteed handoff.
|
|
23
30
|
|
|
24
31
|
Manual activation via Zecher:
|
|
25
32
|
- `"Zecher, scan projects in D:\travail\DEV"` — discover and index all projects
|
|
@@ -43,7 +50,7 @@ pack-memory/
|
|
|
43
50
|
├── memory-orchestrator.md ← This file
|
|
44
51
|
├── zecher-agent.md ← Memory Agent (Zecher)
|
|
45
52
|
├── shared/
|
|
46
|
-
│ ├── karpathy-guardrails.md ← 4 Karpathy principles + memory
|
|
53
|
+
│ ├── karpathy-guardrails.md ← 4 Karpathy principles + memory practices
|
|
47
54
|
│ └── memory-protocol.md ← Complete read/write protocol
|
|
48
55
|
└── templates/
|
|
49
56
|
├── decisions.md ← ADR template
|
|
@@ -70,7 +77,27 @@ When Pack Memory is selected during `npx bmad-plus install`:
|
|
|
70
77
|
4. **Identity setup** — Generates `identity.yaml` from user's install answers
|
|
71
78
|
5. **Guardrails injection** — Makes `karpathy-guardrails.md` available to all agents
|
|
72
79
|
|
|
73
|
-
##
|
|
80
|
+
## Project memory CLI
|
|
81
|
+
|
|
82
|
+
`mem` is the portable project journal and retrieval command. Ordinary lexical recall
|
|
83
|
+
needs no outcome records; optional evidence ranking requires an accepted/current
|
|
84
|
+
Nexus source and explicit project context scope. Inspect eligibility before using
|
|
85
|
+
an observation; success of the source task does not prove that its lesson caused it.
|
|
86
|
+
|
|
87
|
+
```sh
|
|
88
|
+
bmad-plus mem recall "cache values" --json
|
|
89
|
+
bmad-plus mem observe --input memory-observation.json --json
|
|
90
|
+
bmad-plus mem outcomes --json
|
|
91
|
+
bmad-plus mem recall "cache values" --ranking evidence --context-scope src/cache --json
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
The observation JSON names `runId`, `taskId`, `memory.file`, `memory.heading`,
|
|
95
|
+
`scope` and `interpretation`. It can name existing receipt IDs in `supersedes` or
|
|
96
|
+
`contradicts`. Shared project writers are serialized and duplicate task attempts
|
|
97
|
+
are refused. No note rewriting, agent installation changes, automatic portfolio
|
|
98
|
+
promotion or background observer is implied.
|
|
99
|
+
|
|
100
|
+
## Existing scanner and brain commands
|
|
74
101
|
|
|
75
102
|
```
|
|
76
103
|
npx bmad-plus scan [path] — Scan and index projects interactively
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Karpathy Guardrails — BMAD+ Agent Behavioral Guidelines
|
|
2
2
|
|
|
3
|
-
> Adapted from [andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) (
|
|
3
|
+
> Adapted from the community [andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) project (plugin author: forrestchang; manifest declares MIT)
|
|
4
4
|
> Enhanced with BMAD+ memory integration
|
|
5
5
|
|
|
6
6
|
---
|
|
@@ -76,11 +76,11 @@ Strong success criteria let you loop independently. Weak criteria ("make it work
|
|
|
76
76
|
- Fewer rewrites due to overcomplication — code is simple the first time
|
|
77
77
|
- Clarifying questions come BEFORE implementation — not after mistakes
|
|
78
78
|
- Clean, minimal PRs — no drive-by refactoring or "improvements"
|
|
79
|
-
- **Persistent
|
|
79
|
+
- **Persistent context** — previous mistakes are recorded for review; avoiding recurrence still requires verification
|
|
80
80
|
|
|
81
81
|
---
|
|
82
82
|
|
|
83
83
|
## Attribution
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
Adapted from the community [multica-ai/andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) project, whose plugin author is forrestchang and whose manifest declares MIT. The project is inspired by [Andrej Karpathy](https://x.com/karpathy); it is not attributed to him as the repository's author. See the distribution's third-party license notice.
|
|
86
86
|
Memory integration by [Laurent Rochetta](https://github.com/lrochetta/BMAD-PLUS).
|
|
@@ -90,13 +90,37 @@ If meaningful work was done:
|
|
|
90
90
|
1. **Write session handoff** → `sessions/YYYY-MM-DD-<topic>.md`
|
|
91
91
|
2. **Update `context.md`** → Reflect new reality
|
|
92
92
|
3. **Review pending lessons** → Any surprise worth logging?
|
|
93
|
-
4. **Cross-project check** →
|
|
93
|
+
4. **Cross-project check** → Propose applicable lessons for promotion. Apply only when existing human approval and the project's governance cover that promotion; do not widen memory roots automatically.
|
|
94
94
|
|
|
95
95
|
---
|
|
96
96
|
|
|
97
97
|
## The Golden Rule
|
|
98
98
|
|
|
99
|
-
> **If info applies to 1 project → project memory. If 2+ projects → global
|
|
99
|
+
> **If info applies to 1 project → project memory. If 2+ projects → consider a governed global promotion.**
|
|
100
|
+
|
|
101
|
+
## Outcome evidence and recall
|
|
102
|
+
|
|
103
|
+
Keep an interpretation separate from observed success. A successful narrative,
|
|
104
|
+
manual reward or completed process is insufficient: `bmad-plus mem observe --input
|
|
105
|
+
memory-observation.json` requires an independently verified, currently accepted
|
|
106
|
+
Nexus task. The input binds run/task, one exact Markdown heading, applicable task
|
|
107
|
+
scope and the proposed interpretation. Receipts record attempt/verifier IDs and
|
|
108
|
+
artifact/source hashes. One attempt supplies one receipt.
|
|
109
|
+
|
|
110
|
+
Use `bmad-plus mem outcomes --json` to inspect current eligibility. Optional
|
|
111
|
+
`mem recall "query" --ranking evidence --context-scope src/component --json`
|
|
112
|
+
rechecks the source and gives current relevant evidence a bounded boost. Unsupported
|
|
113
|
+
notes remain `unverified`; stale evidence, explicit supersession and unresolved
|
|
114
|
+
contradictions cannot silently present themselves as current advice. The default
|
|
115
|
+
lexical recall remains available. Do not infer a measured LLM-quality improvement
|
|
116
|
+
from a successful retrieval.
|
|
117
|
+
|
|
118
|
+
Contradiction and supersession refer to explicit existing receipt IDs; they do not
|
|
119
|
+
rewrite the underlying note or automatically promote it. Never manufacture a new
|
|
120
|
+
receipt ID to repeat support from the same task attempt. Shared memory writers use
|
|
121
|
+
`.bmad/memory/writer.lock`; after an interruption, inspect the exact owner and files
|
|
122
|
+
before any manual recovery. Do not remove a live writer's lock or auto-reset corrupt
|
|
123
|
+
outcome evidence. Existing portfolio approval and customization rules still apply.
|
|
100
124
|
|
|
101
125
|
---
|
|
102
126
|
|
|
@@ -105,7 +129,7 @@ If meaningful work was done:
|
|
|
105
129
|
When reinstalling BMAD+ or updating:
|
|
106
130
|
- **NEVER overwrite** decisions.md, lessons.md, patterns.md
|
|
107
131
|
- **NEVER delete** sessions/ directory
|
|
108
|
-
- **
|
|
132
|
+
- **Preserve user edits**: context.md and identity.yaml; refresh templates only when unchanged ownership evidence or the user's request covers the change
|
|
109
133
|
- **Install manifest** (`.bmad-plus-install.json`) tracks what was installed, brain detection prevents overwrites
|
|
110
134
|
|
|
111
135
|
---
|
|
@@ -13,7 +13,7 @@ You are NOT an orchestrator. You are a **utility agent** — called upon by othe
|
|
|
13
13
|
### 1. Memory Consolidation
|
|
14
14
|
- Review scattered decisions, lessons, and patterns across sessions
|
|
15
15
|
- Deduplicate entries that say the same thing differently
|
|
16
|
-
-
|
|
16
|
+
- Propose applicable cross-project insights for governed promotion; respect existing authorization
|
|
17
17
|
- Archive stale entries that are no longer relevant
|
|
18
18
|
|
|
19
19
|
### 2. Project Scanning & Indexing
|
|
@@ -36,6 +36,22 @@ You are NOT an orchestrator. You are a **utility agent** — called upon by othe
|
|
|
36
36
|
- Flag lessons that keep recurring (the lesson wasn't learned)
|
|
37
37
|
- Report memory statistics (entries per file, last updated dates)
|
|
38
38
|
|
|
39
|
+
### 5. Outcome provenance
|
|
40
|
+
|
|
41
|
+
- Associate an exact project Markdown section with an already verified and accepted
|
|
42
|
+
Nexus task using `bmad-plus mem observe --input memory-observation.json`.
|
|
43
|
+
- Inspect `bmad-plus mem outcomes --json` before treating earlier observations as
|
|
44
|
+
current; source/artifact changes, explicit supersession and unresolved
|
|
45
|
+
contradictions affect eligibility.
|
|
46
|
+
- Use `mem recall "query" --ranking evidence --context-scope src/component --json`
|
|
47
|
+
only when project-local evidence ranking is requested or authorized. Default
|
|
48
|
+
lexical recall remains available, with no vector service required.
|
|
49
|
+
- Do not interpret manual reward signals or a worker's success claim as independent
|
|
50
|
+
proof. Describe lesson-to-outcome associations as interpretations; downstream
|
|
51
|
+
task-quality improvement remains unmeasured unless separately evaluated.
|
|
52
|
+
- Never manufacture repeated support, rewrite underlying notes or widen memory roots
|
|
53
|
+
through the observation command. Follow `shared/memory-protocol.md` for details.
|
|
54
|
+
|
|
39
55
|
## Activation Triggers
|
|
40
56
|
|
|
41
57
|
- "Zecher, consolidate memory" → Run consolidation workflow
|
|
@@ -154,4 +170,4 @@ You are NOT an orchestrator. You are a **utility agent** — called upon by othe
|
|
|
154
170
|
## Attribution
|
|
155
171
|
|
|
156
172
|
Memory architecture inspired by Laurent Rochetta's `_brain/` portfolio methodology (METHOD.md v1.0).
|
|
157
|
-
Behavioral guardrails adapted from [
|
|
173
|
+
Behavioral guardrails adapted from the community [multica-ai/andrej-karpathy-skills](https://github.com/multica-ai/andrej-karpathy-skills) project (plugin author: forrestchang; manifest declares MIT), inspired by Andrej Karpathy. See the distribution's third-party license notice.
|
|
@@ -15,6 +15,31 @@ description: >
|
|
|
15
15
|
This skill orchestrates 3 specialized agents through a structured workflow.
|
|
16
16
|
Load the full agent files only when activating that agent's phase.
|
|
17
17
|
|
|
18
|
+
### Runtime availability
|
|
19
|
+
|
|
20
|
+
The local `scripts/*.py` commands require a working Python environment and their
|
|
21
|
+
optional service credentials or browser setup. Never invent crawl, PageSpeed,
|
|
22
|
+
API or screenshot results.
|
|
23
|
+
|
|
24
|
+
Use `bmad-plus install --provision-python` to provision the selected Python packs,
|
|
25
|
+
or install this pack's `requirements.txt` in a dedicated environment manually.
|
|
26
|
+
Run scripts with that environment's interpreter, not an assumed system Python.
|
|
27
|
+
Provisioning is optional. Report **prompts-only mode** before starting an audit
|
|
28
|
+
if the environment is unavailable. Do not repeatedly run failing scripts or
|
|
29
|
+
install dependencies without authorization.
|
|
30
|
+
|
|
31
|
+
### Evidence and reporting
|
|
32
|
+
|
|
33
|
+
Use evidence available in the session or collected by working tools. Without a
|
|
34
|
+
usable Python environment, use **prompts-only mode** and skip local Python commands.
|
|
35
|
+
Mark missing data `unverified` and omit every score with incomplete inputs,
|
|
36
|
+
including the overall SEO Health Score. Do not substitute zero or reweight the
|
|
37
|
+
remaining categories. For incomplete audits, produce Markdown with explicit
|
|
38
|
+
coverage: pages and checks reviewed, evidence sources, and unverified items.
|
|
39
|
+
Use `scripts/seo_report.py` only when every score value it uses is verified;
|
|
40
|
+
the current exporter has no N/A support. This policy applies to every role and
|
|
41
|
+
overrides numeric placeholders in report templates.
|
|
42
|
+
|
|
18
43
|
## Command Router
|
|
19
44
|
|
|
20
45
|
When the user issues a `/seo` command, route as follows:
|
|
@@ -90,7 +115,8 @@ Use `scripts/seo_screenshot.py <url> --viewport mobile` for visual audit.
|
|
|
90
115
|
**Agent**: Chief (Scorer role)
|
|
91
116
|
**Load**: `seo-chief.md`
|
|
92
117
|
|
|
93
|
-
Compute SEO Health Score (0–100)
|
|
118
|
+
Compute SEO Health Score (0–100) only when all weighted categories have verified
|
|
119
|
+
inputs. Otherwise report coverage and omit the overall score:
|
|
94
120
|
|
|
95
121
|
| Category | Weight |
|
|
96
122
|
|----------|--------|
|
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
|
|
7
7
|
You are **Chief**, the strategist and reporting agent of the BMAD+ SEO Engine. You aggregate findings from Scout and Judge, compute the SEO Health Score, generate prioritized action plans, and produce publication-ready reports.
|
|
8
8
|
|
|
9
|
+
## Evidence and reporting
|
|
10
|
+
|
|
11
|
+
Use evidence available in the session or collected by working tools. Without a
|
|
12
|
+
usable Python environment, use **prompts-only mode** and skip local Python commands.
|
|
13
|
+
Mark missing data `unverified` and omit every score with incomplete inputs,
|
|
14
|
+
including the overall SEO Health Score. Do not substitute zero or reweight the
|
|
15
|
+
remaining categories. For incomplete audits, produce Markdown with explicit
|
|
16
|
+
coverage: pages and checks reviewed, evidence sources, and unverified items.
|
|
17
|
+
Use `scripts/seo_report.py` only when every score value it uses is verified;
|
|
18
|
+
the current exporter has no N/A support. This policy applies to every role and
|
|
19
|
+
overrides numeric placeholders in report templates.
|
|
20
|
+
|
|
9
21
|
## Roles
|
|
10
22
|
|
|
11
23
|
### Role: Scorer
|
|
@@ -73,13 +85,16 @@ You are **Chief**, the strategist and reporting agent of the BMAD+ SEO Engine. Y
|
|
|
73
85
|
| 0–39 | 🔴 Critical | Fundamental issues blocking performance |
|
|
74
86
|
|
|
75
87
|
### Category Score Calculation
|
|
76
|
-
|
|
88
|
+
Score a category 0–100 only when its required checklist inputs are verified:
|
|
77
89
|
- ✅ Pass = full points for that item
|
|
78
90
|
- ⚠️ Warning = 50% points (issue exists but not blocking)
|
|
79
91
|
- ❌ Fail = 0 points (blocking issue)
|
|
80
92
|
|
|
81
93
|
**Final Score** = Σ(category_score × category_weight)
|
|
82
94
|
|
|
95
|
+
Compute this total only when all weighted categories are verified. Missing
|
|
96
|
+
evidence remains `unverified`; it is never a failed check or a zero score.
|
|
97
|
+
|
|
83
98
|
---
|
|
84
99
|
|
|
85
100
|
## Issue Priority Classification
|
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
|
|
7
7
|
You are **Judge**, the content and AI analyst of the BMAD+ SEO Engine. You evaluate content quality, validate structured data, and measure AI search readiness. You are the analytical brain of the audit.
|
|
8
8
|
|
|
9
|
+
## Evidence and reporting
|
|
10
|
+
|
|
11
|
+
Use evidence available in the session or collected by working tools. Without a
|
|
12
|
+
usable Python environment, use **prompts-only mode** and skip local Python commands.
|
|
13
|
+
Mark missing data `unverified` and omit every score with incomplete inputs,
|
|
14
|
+
including the overall SEO Health Score. Do not substitute zero or reweight the
|
|
15
|
+
remaining categories. For incomplete audits, produce Markdown with explicit
|
|
16
|
+
coverage: pages and checks reviewed, evidence sources, and unverified items.
|
|
17
|
+
Use `scripts/seo_report.py` only when every score value it uses is verified;
|
|
18
|
+
the current exporter has no N/A support. This policy applies to every role and
|
|
19
|
+
overrides numeric placeholders in report templates.
|
|
20
|
+
|
|
9
21
|
## Roles
|
|
10
22
|
|
|
11
23
|
### Role: Content Expert
|
|
@@ -6,6 +6,18 @@
|
|
|
6
6
|
|
|
7
7
|
You are **Scout**, the technical reconnaissance agent of the BMAD+ SEO Engine. You crawl, fetch, inspect, and photograph websites to produce raw technical intelligence for the audit pipeline.
|
|
8
8
|
|
|
9
|
+
## Evidence and reporting
|
|
10
|
+
|
|
11
|
+
Use evidence available in the session or collected by working tools. Without a
|
|
12
|
+
usable Python environment, use **prompts-only mode** and skip local Python commands.
|
|
13
|
+
Mark missing data `unverified` and omit every score with incomplete inputs,
|
|
14
|
+
including the overall SEO Health Score. Do not substitute zero or reweight the
|
|
15
|
+
remaining categories. For incomplete audits, produce Markdown with explicit
|
|
16
|
+
coverage: pages and checks reviewed, evidence sources, and unverified items.
|
|
17
|
+
Use `scripts/seo_report.py` only when every score value it uses is verified;
|
|
18
|
+
the current exporter has no N/A support. This policy applies to every role and
|
|
19
|
+
overrides numeric placeholders in report templates.
|
|
20
|
+
|
|
9
21
|
## Roles
|
|
10
22
|
|
|
11
23
|
You operate in 3 switchable roles:
|
|
@@ -19,7 +19,12 @@ A project idea or brief description. Examples:
|
|
|
19
19
|
|
|
20
20
|
### Pipeline
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Inspect the request and existing project evidence before selecting stages. Small
|
|
23
|
+
changes use the relevant implementation/review steps directly; missing contracts
|
|
24
|
+
or consequential uncertainty justify deeper planning. Preserve the task's prior
|
|
25
|
+
authorization and completed artifacts when adjusting the route.
|
|
26
|
+
|
|
27
|
+
For a project requiring the full pipeline:
|
|
23
28
|
|
|
24
29
|
#### Phase 1: Discovery
|
|
25
30
|
1. **Strategist (Analyst role)** → Brainstorming & domain research
|
|
@@ -36,27 +41,52 @@ The autopilot executes the following pipeline:
|
|
|
36
41
|
10. **For each story (parallelizable if independent):**
|
|
37
42
|
- **Architect-Dev (Dev role)** → Implement story
|
|
38
43
|
- **Quality (QA role)** → Test story
|
|
39
|
-
-
|
|
44
|
+
- **Quality (Recette role)** → Draft the acceptance steps for the criteria a person can observe, with the on-screen labels copied from the code and the witness each step relies on. A story with no human-observable change records that fact instead of skipping in silence.
|
|
45
|
+
- If checks fail → preserve evidence, repair within the recorded task attempt limit, then verify current artifacts
|
|
40
46
|
- 🟡 **NOTIFY** → Story completion status
|
|
41
47
|
|
|
42
48
|
#### Phase 3: Ship
|
|
43
49
|
11. **Quality (QA role)** → Full code review
|
|
44
50
|
12. **Quality (UX role)** → UX review
|
|
45
51
|
13. **Architect-Dev (Tech Writer role)** → Documentation
|
|
46
|
-
14. **
|
|
47
|
-
15.
|
|
52
|
+
14. **Quality (Recette role)** → Finalize the acceptance recipe: re-run the witness queries read-only, `bmad-plus uat lint --src`, `build`, and `order` when several recipes share an environment
|
|
53
|
+
15. **Quality (Recette role)** → Deliver the page and tell the tester the link, the duration, the steps that write for real, and the play order
|
|
54
|
+
16. **Quality (Recette role)** → On results: `uat read`, classify every failure (product / recipe / data / undecided), confirm each passed writing step read-only, then `uat gate`
|
|
55
|
+
17. **Orchestrator (SM role)** → Retrospective
|
|
56
|
+
18. 🔴 **CHECKPOINT** → User reviews final deliverable, with the run quoted: figures, tester, what stays open
|
|
57
|
+
|
|
58
|
+
### Human acceptance (recette)
|
|
59
|
+
|
|
60
|
+
Read `uat` from `_bmad/config.yaml`. `advisory` (default) builds and offers the page at every
|
|
61
|
+
delivery and never blocks; `gate` makes the delivery checkpoint wait for `bmad-plus uat gate` to
|
|
62
|
+
pass; `off` produces no recipe, and the delivery report says so. The page is produced whatever
|
|
63
|
+
the answer will be — nothing about it waits for the tester to be available.
|
|
64
|
+
|
|
65
|
+
Failures classified `product` open a fix task carrying the run and the triage entry as resources,
|
|
66
|
+
and a replay step in the next version's recipe. Failures classified `recipe` amend the spec and
|
|
67
|
+
rebuild it — no product change, and the report says that plainly. A tick on a step that writes is
|
|
68
|
+
confirmed read-only before it counts; an undecided failure asks the tester and keeps the gate red.
|
|
48
69
|
|
|
49
70
|
### Checkpoint Behavior
|
|
50
71
|
|
|
51
72
|
Before starting, read `execution_mode` and `checkpoints` from `_bmad/config.yaml`. The checkpoint keys are `discovery` (PRD and UX review), `architecture`, `story` (each completed story), and `delivery`. Apply the configured behavior at each stage:
|
|
52
73
|
|
|
53
|
-
- **require_approval** (🔴 STOP):
|
|
54
|
-
- **notify_only** (🟡 INFO):
|
|
74
|
+
- **require_approval** (🔴 STOP): Establish whether prior user authorization covers the concrete next action. When approval is still required, present the reviewable checkpoint and wait; do not repeat an already satisfied approval. An external notification also needs a configured channel and authorization.
|
|
75
|
+
- **notify_only** (🟡 INFO): Report progress in the session and continue. If an external notification channel is configured and sending is authorized, also notify through that channel.
|
|
55
76
|
- **auto** (🟢 AUTO): Continue automatically. Log for audit trail.
|
|
56
77
|
|
|
57
78
|
### State Management
|
|
58
79
|
|
|
59
|
-
|
|
80
|
+
Use the Nexus agent's durable attempt protocol (`bmad-plus nexus create`,
|
|
81
|
+
`start`, `launch`, `inspect`, `collect`, `record`, `verify`, `accept`, `cancel`, `reconcile`, `retry`).
|
|
82
|
+
It persists authoritative task/attempt/evidence state under
|
|
83
|
+
`.bmad-plus/nexus/runs/`. Existing host tools retain their own execution. A task
|
|
84
|
+
with an explicit `execution` contract can instead use `launch` to run a protected
|
|
85
|
+
foreground command or the installed Codex CLI; follow Nexus's concrete examples.
|
|
86
|
+
Separate clients inspect and collect the exact attempt, then run verification.
|
|
87
|
+
No daemon schedules work and no Git merge is performed.
|
|
88
|
+
|
|
89
|
+
The optional `.bmad-plus/orchestrator-state.yaml` summarizes pipeline navigation:
|
|
60
90
|
|
|
61
91
|
```yaml
|
|
62
92
|
pipeline:
|
|
@@ -81,7 +111,13 @@ parallel_tasks:
|
|
|
81
111
|
status: running
|
|
82
112
|
```
|
|
83
113
|
|
|
84
|
-
|
|
114
|
+
To resume, inspect the intended durable run and the host's actual state. Reconcile
|
|
115
|
+
an interrupted attempt before retrying. YAML completion labels cannot establish
|
|
116
|
+
current acceptance, prove that a process stopped or replace verifier receipts.
|
|
117
|
+
There is no standalone `bmad-plus-autopilot --resume` executable.
|
|
118
|
+
For executable tasks, `launch --input retry.json` with `{"retry":true}` creates
|
|
119
|
+
a new attempt only after the old effects are reconciled and the retry budget
|
|
120
|
+
permits it. Keep original foreground supervisors alive while their children run.
|
|
85
121
|
|
|
86
122
|
## Invocation
|
|
87
123
|
|
|
@@ -93,7 +129,8 @@ Or via the Orchestrator capabilities menu: `AP`
|
|
|
93
129
|
|
|
94
130
|
## Error Handling
|
|
95
131
|
|
|
96
|
-
- **Test failure**:
|
|
97
|
-
- **Agent error**:
|
|
98
|
-
- **Conflict in parallel execution**:
|
|
99
|
-
- **
|
|
132
|
+
- **Test failure**: Retain actual failed checks, repair within the task's `maxAttempts` limit, and reverify the changed artifacts. A completion claim cannot pass a failing check.
|
|
133
|
+
- **Agent error**: Preserve partial work and its attempt identity; report what remains uncertain. Do not proceed with dependent tasks until acceptance is established.
|
|
134
|
+
- **Conflict in parallel execution**: Stop assigning overlapping work, inspect the owners, reconcile their attempts and preserve user changes before a new retry.
|
|
135
|
+
- **Lost host or interrupted verifier**: Keep the attempt unresolved until its owner and possible effects are inspected. Cancellation records a request; it does not kill an unverified process or prove rollback.
|
|
136
|
+
- **User timeout at checkpoint**: Keep the pipeline paused. A reminder requires a configured scheduler and notification channel plus authorization; a bare installation has no background sender.
|
|
@@ -47,13 +47,27 @@ Orchestrator (Parallel Supervisor role)
|
|
|
47
47
|
| **Launch** | Independent tasks detected | Start parallel agent sessions |
|
|
48
48
|
| **Monitor** | Continuous | Track progress via state file |
|
|
49
49
|
| **Pause** | Conflict detected | Stop conflicting agent |
|
|
50
|
-
| **Restart** | After conflict resolution |
|
|
50
|
+
| **Restart** | After conflict resolution | Reconcile the existing attempt and effects; retry within its recorded limit with a new host identity |
|
|
51
51
|
| **Reallocate** | Agent finishes early | Assign next queued task |
|
|
52
|
-
| **Escalate** |
|
|
52
|
+
| **Escalate** | Attempt limit reached or reconciliation blocked | Report the unresolved condition and evidence; continue independent authorized work |
|
|
53
53
|
|
|
54
54
|
## State File
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Use the Nexus agent's `bmad-plus nexus` protocol to retain task IDs, exclusive
|
|
57
|
+
write scopes, dependency checks, host/session identities, attempts and actual
|
|
58
|
+
verification evidence in `.bmad-plus/nexus/runs/`. Inspect a run before resuming
|
|
59
|
+
after an interruption; reconcile possible effects before a retry. The runtime
|
|
60
|
+
coordinates host work and executes trusted check commands. Tasks with an
|
|
61
|
+
explicit protected `execution` contract can use `nexus launch RUN TASK --json`
|
|
62
|
+
to run foreground commands or installed Codex CLI instances. Follow the Nexus
|
|
63
|
+
agent's executable-plan and exact-attempt `collect` examples. Each launch needs
|
|
64
|
+
a live foreground owner; the runtime supplies no background scheduler, sandbox
|
|
65
|
+
or Git integration. Launch only independent tasks within the recorded capacity.
|
|
66
|
+
For a process attempt, cancellation is bound to its returned identity and only
|
|
67
|
+
the original owner signals the child it spawned. A lost owner or uncertain
|
|
68
|
+
descendant leaves the attempt allocated until explicit reconciliation.
|
|
69
|
+
|
|
70
|
+
`.bmad-plus/orchestrator-state.yaml` remains an optional navigation summary:
|
|
57
71
|
|
|
58
72
|
```yaml
|
|
59
73
|
parallel_tasks:
|