convoke-agents 3.2.1 → 3.3.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 +68 -0
- package/README.md +3 -1
- package/_bmad/bme/README.md +36 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/SKILL.md +1 -1
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-01-init.md +55 -32
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-02-gather.md +62 -59
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-03-qualify.md +176 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-04-generate.md +259 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-01-load.md +65 -35
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-02-rescore.md +60 -30
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-03-update.md +67 -71
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-01-ingest.md +12 -12
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-02-extract.md +49 -44
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-03-qualify.md +192 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-04-update.md +72 -67
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/backlog-format-spec.md +223 -112
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/lifecycle-process-spec.md +188 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/workflow.md +44 -31
- package/_bmad/bme/_gyre/config.yaml +3 -0
- package/_bmad/bme/_vortex/config.yaml +4 -1
- package/package.json +1 -1
- package/scripts/convoke-doctor.js +56 -2
- package/scripts/lib/artifact-utils.js +16 -3
- package/scripts/migrate-artifacts.js +3 -2
- package/scripts/portability/convoke-export.js +26 -5
- package/scripts/portability/export-engine.js +10 -8
- package/scripts/portability/seed-catalog-repo.js +6 -6
- package/scripts/portability/validate-exports.js +25 -14
- package/scripts/update/convoke-update.js +27 -2
- package/scripts/update/lib/changelog-reader.js +90 -0
- package/scripts/update/lib/config-merger.js +52 -1
- package/scripts/update/lib/refresh-installation.js +48 -9
- package/scripts/update/lib/taxonomy-merger.js +2 -1
- package/scripts/update/lib/validator.js +9 -1
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-03-score.md +0 -146
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-04-prioritize.md +0 -181
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-03-score.md +0 -147
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-c-03-qualify'
|
|
3
|
+
description: 'Qualifying gate for Create mode — walk gathered intakes, assign Lane + Portfolio + RICE per intake (or keep raw)'
|
|
4
|
+
nextStepFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-04-generate.md'
|
|
5
|
+
outputFile: '{planning_artifacts}/convoke-note-initiative-lifecycle-backlog.md'
|
|
6
|
+
templateFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/rice-scoring-guide.md'
|
|
7
|
+
processFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/lifecycle-process-spec.md'
|
|
8
|
+
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.md'
|
|
9
|
+
partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md'
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Step 3: Qualifying Gate (Create Mode)
|
|
13
|
+
|
|
14
|
+
## STEP GOAL:
|
|
15
|
+
|
|
16
|
+
Run the **qualifying gate** on each intake gathered in step-c-02. For each intake, the qualifier (Vortex, John, or Winston) assigns a **Lane** (Bug / Fast / Initiative), a **Portfolio** attachment, and an initial **RICE** score. Intakes the qualifier is not ready to route stay raw (§2.1 only).
|
|
17
|
+
|
|
18
|
+
This step mirrors step-t-03 (Triage's qualifying gate). The lifecycle rules are identical — only the invocation context differs (Create mode is bootstrapping a new file).
|
|
19
|
+
|
|
20
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
21
|
+
|
|
22
|
+
### Universal Rules:
|
|
23
|
+
- 🛑 NEVER generate lane/portfolio/RICE without user input — the qualifying gate is user-driven
|
|
24
|
+
- 📖 CRITICAL: Read this complete step file before taking action
|
|
25
|
+
- 🔄 CRITICAL: When loading next step with 'C', read the entire file
|
|
26
|
+
- 📋 YOU ARE A QUALIFYING-GATE FACILITATOR supporting the qualifier (Vortex / John / Winston)
|
|
27
|
+
|
|
28
|
+
### Role Reinforcement:
|
|
29
|
+
- ✅ You are a **qualifying gate facilitator** — propose, don't decide; the qualifier decides
|
|
30
|
+
- ✅ Only Vortex team, John, or Winston can qualify. Confirm the user's qualifier role.
|
|
31
|
+
- ✅ Propose lane/portfolio/RICE based on intake description, but flag uncertainty plainly
|
|
32
|
+
- ✅ Every intake ends this step in one of two states: **qualified** (lane + portfolio + RICE) or **raw intake** (logged to §2.1 only)
|
|
33
|
+
|
|
34
|
+
### Step-Specific Rules:
|
|
35
|
+
- 🎯 Focus on lane assignment, portfolio attachment, and RICE scoring
|
|
36
|
+
- 🚫 FORBIDDEN to write to the backlog file (step-c-04's job)
|
|
37
|
+
- 🚫 FORBIDDEN to re-gather or add new intakes (step-c-02's job)
|
|
38
|
+
- 💬 Approach: walk intakes one at a time, propose + decide, track state
|
|
39
|
+
|
|
40
|
+
## EXECUTION PROTOCOLS:
|
|
41
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
42
|
+
- 📖 Load {templateFile} for RICE factor definitions and calibration examples
|
|
43
|
+
- 📖 Load {processFile} for lane definitions and portfolio taxonomy
|
|
44
|
+
- 💾 Track each intake's qualification decision for step-c-04
|
|
45
|
+
|
|
46
|
+
## CONTEXT BOUNDARIES:
|
|
47
|
+
- Available context: `gathered_intakes` from step-c-02, RICE scoring guide, lifecycle process spec
|
|
48
|
+
- Focus: Qualifying gate per-intake
|
|
49
|
+
- Limits: Do NOT write to backlog
|
|
50
|
+
- Dependencies: step-c-02-gather.md (gathered intakes)
|
|
51
|
+
|
|
52
|
+
## MANDATORY SEQUENCE
|
|
53
|
+
|
|
54
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
55
|
+
|
|
56
|
+
### 1. Load References
|
|
57
|
+
|
|
58
|
+
Load `{templateFile}` (rice-scoring-guide.md):
|
|
59
|
+
- **Factor definitions:** Reach (1-10), Impact (0.25-3), Confidence (20-100%), Effort (1-10)
|
|
60
|
+
- **Guided questions** for each factor
|
|
61
|
+
- **Composite formula:** Score = (R × I × C) / E
|
|
62
|
+
|
|
63
|
+
Load `{processFile}` (lifecycle-process-spec.md):
|
|
64
|
+
- **§1.3 Three Lanes** — Bug / Fast / Initiative triggers
|
|
65
|
+
- **§1.4 Portfolio Attachment** — current taxonomy + growth rule
|
|
66
|
+
- **§1.6 RICE Scoring** — lane-specific notes
|
|
67
|
+
|
|
68
|
+
### 2. Confirm Qualifier Role
|
|
69
|
+
|
|
70
|
+
Display:
|
|
71
|
+
|
|
72
|
+
> **Qualifying Gate — Confirm Qualifier**
|
|
73
|
+
>
|
|
74
|
+
> Only three parties can qualify intakes:
|
|
75
|
+
> - **[V] Vortex** team (via discovery)
|
|
76
|
+
> - **[J] John** (PM shortcut)
|
|
77
|
+
> - **[W] Winston** (Architect shortcut)
|
|
78
|
+
>
|
|
79
|
+
> Who is qualifying in this session?
|
|
80
|
+
|
|
81
|
+
Record qualifier identity. If user declines, display: "Qualifying requires an authorized qualifier. Type `raw-only` to skip qualification — all intakes will stay in §2.1 without a lane." and accept role letter or `raw-only`.
|
|
82
|
+
|
|
83
|
+
### 3. Walk Intakes One at a Time
|
|
84
|
+
|
|
85
|
+
Initialize:
|
|
86
|
+
- `qualified_items = []` — intakes with lane + portfolio + RICE
|
|
87
|
+
- `raw_intakes = []` — intakes kept as §2.1-only
|
|
88
|
+
- `current_index = 1`
|
|
89
|
+
|
|
90
|
+
For each intake in `gathered_intakes`:
|
|
91
|
+
|
|
92
|
+
#### 3a. Present Intake & Proposed Qualification
|
|
93
|
+
|
|
94
|
+
Display:
|
|
95
|
+
|
|
96
|
+
> **Intake [current_index] of [total]**
|
|
97
|
+
>
|
|
98
|
+
> **Description:** [description]
|
|
99
|
+
> **Source:** [source]
|
|
100
|
+
> **Date:** [date]
|
|
101
|
+
> **Raiser:** [raiser]
|
|
102
|
+
>
|
|
103
|
+
> **Proposed qualification:**
|
|
104
|
+
> - **Lane:** [proposed with rationale]
|
|
105
|
+
> - **Portfolio:** [proposed]
|
|
106
|
+
> - **RICE:** R:[r] I:[i] C:[c]% E:[e] = [score]
|
|
107
|
+
> *[one-line rationale]*
|
|
108
|
+
|
|
109
|
+
#### 3b. Present Per-Intake Menu
|
|
110
|
+
|
|
111
|
+
Display:
|
|
112
|
+
|
|
113
|
+
> **Review this qualification:**
|
|
114
|
+
>
|
|
115
|
+
> **Lane override:**
|
|
116
|
+
> - `L bug` / `L fast` / `L initiative` — Change lane
|
|
117
|
+
> - `L none` — Keep raw (§2.1 only)
|
|
118
|
+
>
|
|
119
|
+
> **Portfolio override:**
|
|
120
|
+
> - `P [item]` — Set portfolio
|
|
121
|
+
> - `P new [name] — [rationale]` — Propose new portfolio (logged for John+Winston review)
|
|
122
|
+
>
|
|
123
|
+
> **RICE adjustments:**
|
|
124
|
+
> - `R [value]` / `I [value]` / `CF [value]` / `E [value]` — Component changes
|
|
125
|
+
>
|
|
126
|
+
> **Decisions:**
|
|
127
|
+
> - `K` — Keep/accept
|
|
128
|
+
> - `RAW` — Log as raw intake only
|
|
129
|
+
> - `S` — Drop (won't reach backlog at all)
|
|
130
|
+
> - `X` — Exit qualification (remaining intakes stay raw)
|
|
131
|
+
>
|
|
132
|
+
> **[A] Advanced Elicitation** / **[P] Party Mode** / **[C] Continue**
|
|
133
|
+
|
|
134
|
+
#### Menu Handling Logic:
|
|
135
|
+
- Same semantics as step-t-03:
|
|
136
|
+
- `L bug/fast/initiative/none`, `P [item|new ...]`, `R/I/CF/E [v]`, `K`, `RAW`, `S`, `X`, `A`, `P`, `C`.
|
|
137
|
+
- Record adjustments, recalculate composite on RICE changes, redisplay after each action.
|
|
138
|
+
- On K/C (with changes): add to `qualified_items`. On RAW/L none: add to `raw_intakes`. On S: drop (logged in Change Log by step-c-04).
|
|
139
|
+
- On X: remaining intakes auto-moved to `raw_intakes`, go to step 4.
|
|
140
|
+
|
|
141
|
+
#### 3c. Advance
|
|
142
|
+
Increment `current_index`. If `<= total`, go to 3a. Otherwise step 4.
|
|
143
|
+
|
|
144
|
+
### 4. Present Qualification Summary
|
|
145
|
+
|
|
146
|
+
Display:
|
|
147
|
+
|
|
148
|
+
> **Qualification Complete**
|
|
149
|
+
>
|
|
150
|
+
> **Qualified (will populate lanes):** [N]
|
|
151
|
+
> **Raw intakes (§2.1 only):** [N]
|
|
152
|
+
> **Dropped:** [N]
|
|
153
|
+
>
|
|
154
|
+
> **Qualified breakdown:**
|
|
155
|
+
> - Bug Lane: [n]
|
|
156
|
+
> - Fast Lane: [n]
|
|
157
|
+
> - Initiative Lane: [n]
|
|
158
|
+
>
|
|
159
|
+
> **Qualifier:** [Vortex / John / Winston / raw-only]
|
|
160
|
+
> **New portfolio proposals:** [list, or "none"]
|
|
161
|
+
|
|
162
|
+
### 5. Present MENU OPTIONS
|
|
163
|
+
|
|
164
|
+
> **[C] Continue** — Generate backlog file (step-c-04)
|
|
165
|
+
> **[R] Revisit** — Walk intakes again
|
|
166
|
+
> **[X] Abort** — Return to T/R/C menu without writing
|
|
167
|
+
|
|
168
|
+
#### Menu Handling Logic:
|
|
169
|
+
- IF C: Load, read, and execute `{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-04-generate.md`, passing `gathered_intakes` (for §2.1 rows), `qualified_items` (for lane rows), `raw_intakes`, `dropped_items`, and qualifier identity.
|
|
170
|
+
- IF R: Re-enter step 3.
|
|
171
|
+
- IF X: Discard qualifications. Load, read, and execute `{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/workflow.md`.
|
|
172
|
+
|
|
173
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
174
|
+
### ✅ SUCCESS: Every intake qualified or routed to raw/dropped, qualifier recorded, user validated, results passed to step-c-04
|
|
175
|
+
### ❌ SYSTEM FAILURE: Qualification without authorized qualifier, lane assigned without RICE, intakes lost between steps, step-c-04 invoked with missing data
|
|
176
|
+
**Master Rule:** Skipping steps is FORBIDDEN.
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-c-04-generate'
|
|
3
|
+
description: 'Generate the complete lifecycle backlog file — frontmatter, Part 1 verbatim from process spec, Part 2 lanes populated from qualified + raw intakes, Appendix, Change Log'
|
|
4
|
+
outputFile: '{planning_artifacts}/convoke-note-initiative-lifecycle-backlog.md'
|
|
5
|
+
templateFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/backlog-format-spec.md'
|
|
6
|
+
processFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/lifecycle-process-spec.md'
|
|
7
|
+
workflowFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/workflow.md'
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Step 4: Backlog Generation & Completion
|
|
11
|
+
|
|
12
|
+
## STEP GOAL:
|
|
13
|
+
|
|
14
|
+
Generate the complete lifecycle backlog file from scratch:
|
|
15
|
+
- **Frontmatter** with correct artifact governance metadata
|
|
16
|
+
- **Part 1: Lifecycle Process** copied verbatim from `lifecycle-process-spec.md`
|
|
17
|
+
- **Part 2: Backlog** with §2.1 Intakes populated from all gathered intakes, and §2.2/2.3/2.4 populated from qualified items (if any). §2.5 Absorbed/Archived starts empty.
|
|
18
|
+
- **Appendix: Initiative Details** (empty placeholder or populated for Initiative Lane items with detail)
|
|
19
|
+
- **Change Log** with the creation entry
|
|
20
|
+
|
|
21
|
+
Present a completion summary and return to the T/R/C menu.
|
|
22
|
+
|
|
23
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
24
|
+
|
|
25
|
+
### Universal Rules:
|
|
26
|
+
- 🛑 NEVER generate content without completing all mandatory sequence steps
|
|
27
|
+
- 📖 CRITICAL: Read this complete step file before taking action
|
|
28
|
+
- 🔄 CRITICAL: When returning to menu, read the entire workflow file
|
|
29
|
+
- 📋 YOU ARE A BACKLOG OPERATIONS SPECIALIST generating a new file
|
|
30
|
+
|
|
31
|
+
### Role Reinforcement:
|
|
32
|
+
- ✅ You are a **backlog operations specialist** — precise, structured, format-compliant
|
|
33
|
+
- ✅ Part 1 is **verbatim** from `{processFile}` — do not paraphrase, summarize, or edit
|
|
34
|
+
- ✅ All output must be standard markdown — no HTML, no proprietary syntax
|
|
35
|
+
- ✅ Every intake logged, every qualified item in its lane, every decision traceable in the Change Log
|
|
36
|
+
|
|
37
|
+
### Step-Specific Rules:
|
|
38
|
+
- 🎯 Focus on file generation, verbatim Part 1 emission, correct lane population, completion reporting
|
|
39
|
+
- 🚫 FORBIDDEN to re-qualify items (step-c-03's job)
|
|
40
|
+
- 🚫 FORBIDDEN to paraphrase or modify Part 1 content — emit the `lifecycle-process-spec.md` text verbatim
|
|
41
|
+
- 🚫 FORBIDDEN to add items not in the gathered_intakes / qualified_items lists
|
|
42
|
+
- 💬 Approach: assemble the complete file, verify structure, write, summarize, return to menu
|
|
43
|
+
|
|
44
|
+
## EXECUTION PROTOCOLS:
|
|
45
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
46
|
+
- 📖 Load `{templateFile}` (backlog-format-spec.md) for exact structural requirements and table formats
|
|
47
|
+
- 📖 Load `{processFile}` (lifecycle-process-spec.md) for the verbatim Part 1 text
|
|
48
|
+
- 💾 Write to `{outputFile}` as a complete new file
|
|
49
|
+
|
|
50
|
+
## CONTEXT BOUNDARIES:
|
|
51
|
+
- Available context: `gathered_intakes`, `qualified_items`, `raw_intakes`, `dropped_items`, qualifier identity, templates (format spec + process spec)
|
|
52
|
+
- Focus: File generation, completion summary
|
|
53
|
+
- Limits: Do NOT re-qualify or re-gather items
|
|
54
|
+
- Dependencies: step-c-02 (gathered intakes) and step-c-03 (qualified items). Empty-create path from step-c-01 is valid — both lists may be empty.
|
|
55
|
+
|
|
56
|
+
## MANDATORY SEQUENCE
|
|
57
|
+
|
|
58
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
59
|
+
|
|
60
|
+
### 1. Load Templates (If Not Already Loaded)
|
|
61
|
+
|
|
62
|
+
Ensure `{templateFile}` (backlog-format-spec.md) and `{processFile}` (lifecycle-process-spec.md) are loaded.
|
|
63
|
+
|
|
64
|
+
Identify in `{processFile}` the **verbatim Part 1 text**: everything after the `---` separator line, starting with `## Part 1: Lifecycle Process` through the end of §1.6.
|
|
65
|
+
|
|
66
|
+
### 2. Generate Frontmatter
|
|
67
|
+
|
|
68
|
+
```yaml
|
|
69
|
+
---
|
|
70
|
+
initiative: convoke
|
|
71
|
+
artifact_type: note
|
|
72
|
+
qualifier: initiative-lifecycle-backlog
|
|
73
|
+
created: 'YYYY-MM-DD'
|
|
74
|
+
schema_version: 1
|
|
75
|
+
status: draft
|
|
76
|
+
origin: 'Create mode ([qualifier identity or raw-only], [date])'
|
|
77
|
+
supersedes: convoke-note-initiatives-backlog.md
|
|
78
|
+
---
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
`created` = current session date.
|
|
82
|
+
|
|
83
|
+
### 3. Generate Title
|
|
84
|
+
|
|
85
|
+
```markdown
|
|
86
|
+
# Convoke Initiative Lifecycle & Backlog
|
|
87
|
+
|
|
88
|
+
**Created:** [current session date]
|
|
89
|
+
**Origin:** Create mode ([qualifier identity])
|
|
90
|
+
**Status:** Draft (initial creation)
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### 4. Emit Part 1 Verbatim
|
|
94
|
+
|
|
95
|
+
Copy the Part 1 text from `{processFile}` verbatim into the new file. This includes:
|
|
96
|
+
|
|
97
|
+
- `## Part 1: Lifecycle Process` heading
|
|
98
|
+
- `### 1.1 Intake`
|
|
99
|
+
- `### 1.2 Qualifying Gate`
|
|
100
|
+
- `### 1.3 Three Lanes` (with H4 subsections: Bug Lane, Fast Lane, Initiative Lane)
|
|
101
|
+
- `### 1.4 Portfolio Attachment`
|
|
102
|
+
- `### 1.5 Pipeline Stages (Evolvable)`
|
|
103
|
+
- `### 1.6 RICE Scoring`
|
|
104
|
+
|
|
105
|
+
**Do not paraphrase, summarize, reorder, or edit.** If any edit is desired, it must be made in `lifecycle-process-spec.md` first and migrated downstream.
|
|
106
|
+
|
|
107
|
+
### 5. Generate Part 2 Structure
|
|
108
|
+
|
|
109
|
+
Emit `## Part 2: Backlog` with all five H3 sections:
|
|
110
|
+
|
|
111
|
+
#### §2.1 Intakes (Unqualified)
|
|
112
|
+
|
|
113
|
+
Emit the 5-column table header:
|
|
114
|
+
|
|
115
|
+
```markdown
|
|
116
|
+
| ID | Description | Source | Date | Raiser |
|
|
117
|
+
|----|-------------|--------|------|--------|
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
For each intake in `gathered_intakes` (whether qualified, raw, or dropped):
|
|
121
|
+
- `ID`: `IN-{n}` sequential starting at 1.
|
|
122
|
+
- `Description`: the intake description. For qualified items, append ` → [laneID]` to cross-reference the lane row. For dropped items, prefix `[DROPPED]`.
|
|
123
|
+
- `Source`: from gathered data.
|
|
124
|
+
- `Date`: from gathered data.
|
|
125
|
+
- `Raiser`: from gathered data.
|
|
126
|
+
|
|
127
|
+
**Empty-create path:** If no intakes were gathered, emit the table header only (no rows).
|
|
128
|
+
|
|
129
|
+
#### §2.2 Bug Lane
|
|
130
|
+
|
|
131
|
+
Emit the 10-column table header:
|
|
132
|
+
|
|
133
|
+
```markdown
|
|
134
|
+
| ID | Description | R | I | C | E | Score | Portfolio | Status | Linked Follow-up |
|
|
135
|
+
|----|-------------|---|---|---|---|-------|-----------|--------|------------------|
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
For each qualified item with Lane = Bug:
|
|
139
|
+
- `ID`: `BUG-{n}` sequential.
|
|
140
|
+
- All columns per format spec.
|
|
141
|
+
- `Status`: `Open`.
|
|
142
|
+
- Sort table by composite Score descending.
|
|
143
|
+
|
|
144
|
+
If zero Bug items: emit header only with a line `*(none)*` below.
|
|
145
|
+
|
|
146
|
+
#### §2.3 Fast Lane (Quick Wins + Spikes)
|
|
147
|
+
|
|
148
|
+
Emit the 9-column table header:
|
|
149
|
+
|
|
150
|
+
```markdown
|
|
151
|
+
| ID | Description | R | I | C | E | Score | Portfolio | Status |
|
|
152
|
+
|----|-------------|---|---|---|---|-------|-----------|--------|
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
For each qualified item with Lane = Fast:
|
|
156
|
+
- `ID`: alpha-prefix sequential. Propose `Q-{n}` if uncertain about a domain prefix; user can rename later.
|
|
157
|
+
- `Status`: `Backlog`.
|
|
158
|
+
- Sort by composite Score descending.
|
|
159
|
+
|
|
160
|
+
If zero: `*(none)*`.
|
|
161
|
+
|
|
162
|
+
#### §2.4 Initiative Lane
|
|
163
|
+
|
|
164
|
+
Emit the 10-column table header:
|
|
165
|
+
|
|
166
|
+
```markdown
|
|
167
|
+
| ID | Description | R | I | C | E | Score | Portfolio | Stage | Artifacts |
|
|
168
|
+
|----|-------------|---|---|---|---|-------|-----------|-------|-----------|
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
For each qualified item with Lane = Initiative:
|
|
172
|
+
- `ID`: alpha-prefix sequential.
|
|
173
|
+
- `Stage`: `Qualified`.
|
|
174
|
+
- `Artifacts`: `—` (no planning artifacts yet).
|
|
175
|
+
- Sort by composite Score descending.
|
|
176
|
+
|
|
177
|
+
If zero: `*(none)*`.
|
|
178
|
+
|
|
179
|
+
#### §2.5 Absorbed / Archived
|
|
180
|
+
|
|
181
|
+
Emit the section heading and an empty state:
|
|
182
|
+
|
|
183
|
+
```markdown
|
|
184
|
+
### 2.5 Absorbed / Archived
|
|
185
|
+
|
|
186
|
+
*No absorbed or archived items yet.*
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### 6. Generate Appendix
|
|
190
|
+
|
|
191
|
+
```markdown
|
|
192
|
+
## Appendix: Initiative Details
|
|
193
|
+
|
|
194
|
+
*Full descriptions for §2.4 items whose table row is a one-liner. Populated as initiatives enter the pipeline and require detail.*
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
If any Initiative Lane item warrants detail (has substantial scope notes from gathering), emit an H3 subsection per format spec.
|
|
198
|
+
|
|
199
|
+
### 7. Generate Change Log
|
|
200
|
+
|
|
201
|
+
```markdown
|
|
202
|
+
## Change Log
|
|
203
|
+
|
|
204
|
+
| Date | Change |
|
|
205
|
+
|------|--------|
|
|
206
|
+
| [YYYY-MM-DD] | Create: Bootstrapped new lifecycle backlog. Intakes: [N] logged. Qualified: [X] (Bug: a, Fast: b, Initiative: c). Raw intakes: [Y]. Dropped: [Z]. Qualifier: [identity]. [Portfolio proposals: list, if any.] |
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 8. Write Complete File
|
|
210
|
+
|
|
211
|
+
Write the assembled backlog to `{outputFile}`. The file must contain, in order:
|
|
212
|
+
1. Frontmatter
|
|
213
|
+
2. H1 title + metadata paragraph
|
|
214
|
+
3. `## Part 1: Lifecycle Process` (verbatim from process spec)
|
|
215
|
+
4. `## Part 2: Backlog` with §2.1 through §2.5
|
|
216
|
+
5. `## Appendix: Initiative Details`
|
|
217
|
+
6. `## Change Log`
|
|
218
|
+
|
|
219
|
+
### 9. Post-Write Validation
|
|
220
|
+
|
|
221
|
+
Re-load the written file and validate:
|
|
222
|
+
- All H2 anchors present in correct order
|
|
223
|
+
- All H3 Part 2 anchors present (§2.1 through §2.5)
|
|
224
|
+
- Table column counts match spec
|
|
225
|
+
- Frontmatter parses
|
|
226
|
+
|
|
227
|
+
If validation fails, display the failure and prompt to retry or abort.
|
|
228
|
+
|
|
229
|
+
### 10. Completion Summary & Return to Menu
|
|
230
|
+
|
|
231
|
+
After successful write + validation, display:
|
|
232
|
+
|
|
233
|
+
> **Create Complete — Lifecycle Backlog Bootstrapped**
|
|
234
|
+
>
|
|
235
|
+
> **File:** `{outputFile}`
|
|
236
|
+
> **Intakes logged:** [N]
|
|
237
|
+
> **Qualified into lanes:** [X]
|
|
238
|
+
> - Bug Lane: [n]
|
|
239
|
+
> - Fast Lane: [n]
|
|
240
|
+
> - Initiative Lane: [n]
|
|
241
|
+
> **Raw intakes (awaiting later qualification):** [Y]
|
|
242
|
+
> **Dropped (logged in §2.1 with [DROPPED] prefix):** [Z]
|
|
243
|
+
> **Qualifier:** [identity]
|
|
244
|
+
>
|
|
245
|
+
> **Next steps:**
|
|
246
|
+
> - Use **Triage (T)** to add new intakes from future findings.
|
|
247
|
+
> - Use **Review (R)** to rescore lane items as context evolves.
|
|
248
|
+
> - Unqualified intakes in §2.1 can be qualified later via a fresh Triage run or manual edit.
|
|
249
|
+
|
|
250
|
+
Then return to the T/R/C menu:
|
|
251
|
+
|
|
252
|
+
> Loading `{workflowFile}` to return to mode selection...
|
|
253
|
+
|
|
254
|
+
Load, read the entire file, and execute `{workflowFile}`.
|
|
255
|
+
|
|
256
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
257
|
+
### ✅ SUCCESS: Complete file generated with correct frontmatter, verbatim Part 1 from process spec, all five §2.x H3 sections present with correct column counts, intakes logged with cross-references to lanes, qualified items placed in correct lanes and sorted by RICE, Appendix and Change Log present, post-write validation passes, completion summary displayed, menu re-presented
|
|
258
|
+
### ❌ SYSTEM FAILURE: Part 1 paraphrased or modified, missing H3 sections, wrong column counts, intakes not cross-referenced to qualified lane items, items placed in wrong lane, file not validated after write, no completion summary, no return to menu
|
|
259
|
+
**Master Rule:** Skipping steps is FORBIDDEN.
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: 'step-r-01-load'
|
|
3
|
-
description: 'Load existing backlog and
|
|
3
|
+
description: 'Load existing lifecycle backlog, let user choose which lane(s) to walk, and prepare item list for rescoring'
|
|
4
4
|
nextStepFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-02-rescore.md'
|
|
5
|
-
outputFile: '{planning_artifacts}/
|
|
5
|
+
outputFile: '{planning_artifacts}/convoke-note-initiative-lifecycle-backlog.md'
|
|
6
6
|
templateFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/rice-scoring-guide.md'
|
|
7
7
|
workflowFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/workflow.md'
|
|
8
8
|
---
|
|
9
9
|
|
|
10
|
-
# Step 1: Load Backlog &
|
|
10
|
+
# Step 1: Load Backlog & Choose Lanes
|
|
11
11
|
|
|
12
12
|
## STEP GOAL:
|
|
13
13
|
|
|
14
|
-
Load the existing backlog file and RICE scoring guide, parse all
|
|
14
|
+
Load the existing lifecycle backlog file and RICE scoring guide, parse items from all three lanes (Bug / Fast / Initiative), and let the user choose which lane(s) to walk for rescoring in step-r-02.
|
|
15
15
|
|
|
16
16
|
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
17
17
|
|
|
@@ -24,14 +24,15 @@ Load the existing backlog file and RICE scoring guide, parse all active items wi
|
|
|
24
24
|
### Role Reinforcement:
|
|
25
25
|
- ✅ You are a **review analyst** — your job is to load and prepare data, not to modify it
|
|
26
26
|
- ✅ Parse the backlog faithfully — do not reinterpret, reorder, or filter items
|
|
27
|
-
- ✅ The walkthrough starts in step-r-02 — this step only loads and
|
|
27
|
+
- ✅ The walkthrough starts in step-r-02 — this step only loads, counts, and lets the user choose scope
|
|
28
28
|
|
|
29
29
|
### Step-Specific Rules:
|
|
30
|
-
- 🎯 Focus ONLY on loading, parsing, and
|
|
30
|
+
- 🎯 Focus ONLY on loading, parsing, counting, and lane scope selection
|
|
31
31
|
- 🚫 FORBIDDEN to rescore, modify, or delete any backlog items (that is step-r-02's job)
|
|
32
32
|
- 🚫 FORBIDDEN to write to the backlog file (that is step-r-03's job)
|
|
33
33
|
- 🚫 FORBIDDEN to add new items (that is Triage mode's job)
|
|
34
|
-
-
|
|
34
|
+
- 🚫 FORBIDDEN to read or parse items from §2.1 Intakes or §2.5 Absorbed — Review only walks lane items (§2.2/2.3/2.4)
|
|
35
|
+
- 💬 Approach: load efficiently, summarize lanes, let user choose scope, move on
|
|
35
36
|
|
|
36
37
|
## EXECUTION PROTOCOLS:
|
|
37
38
|
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
@@ -40,7 +41,7 @@ Load the existing backlog file and RICE scoring guide, parse all active items wi
|
|
|
40
41
|
|
|
41
42
|
## CONTEXT BOUNDARIES:
|
|
42
43
|
- Available context: Existing backlog file, RICE scoring guide template
|
|
43
|
-
- Focus: Data loading
|
|
44
|
+
- Focus: Data loading, lane summary, scope selection
|
|
44
45
|
- Limits: Do NOT modify, score, or write anything
|
|
45
46
|
- Dependencies: workflow.md R dispatch (Review mode selected)
|
|
46
47
|
|
|
@@ -54,9 +55,9 @@ Check if a backlog file exists at `{outputFile}`.
|
|
|
54
55
|
|
|
55
56
|
- **If NOT found:** Display:
|
|
56
57
|
|
|
57
|
-
> **No backlog found at `{outputFile}`.**
|
|
58
|
+
> **No lifecycle backlog found at `{outputFile}`.**
|
|
58
59
|
>
|
|
59
|
-
> Review mode requires an existing backlog to walk through. Use **
|
|
60
|
+
> Review mode requires an existing backlog to walk through. Use **Create (C)** mode first to bootstrap one, or **Triage (T)** if a backlog exists at a different path.
|
|
60
61
|
>
|
|
61
62
|
> Returning to mode selection...
|
|
62
63
|
|
|
@@ -74,47 +75,76 @@ Load `{templateFile}` (rice-scoring-guide.md) and internalize:
|
|
|
74
75
|
- **Factor definitions:** Reach (1-10), Impact (0.25-3), Confidence (20-100%), Effort (1-10)
|
|
75
76
|
- **Guided questions** for each factor
|
|
76
77
|
- **Calibration examples** from the existing backlog
|
|
77
|
-
- **Composite formula:** Score = (R
|
|
78
|
+
- **Composite formula:** Score = (R × I × C) / E, where C is decimal (e.g., 70% = 0.7)
|
|
78
79
|
- **Score rounding:** One decimal place for display
|
|
80
|
+
- **Lane-specific scoring notes:** Bug impact often hardcoded high; Fast Lane effort typically 1-3; Initiative effort reflects pipeline + execution
|
|
79
81
|
|
|
80
|
-
### 3. Parse
|
|
82
|
+
### 3. Parse Lane Items
|
|
81
83
|
|
|
82
|
-
Parse
|
|
83
|
-
- Item ID (e.g., D2, P4)
|
|
84
|
-
- Title and description
|
|
85
|
-
- Category (H3 heading name)
|
|
86
|
-
- Current RICE component scores (R, I, C, E)
|
|
87
|
-
- Current composite score
|
|
88
|
-
- Current provenance (from Initiative description cell)
|
|
89
|
-
- Current status
|
|
84
|
+
Parse tables from lane sections:
|
|
90
85
|
|
|
91
|
-
|
|
86
|
+
- **§2.2 Bug Lane** — 10 columns: ID, Description, R, I, C, E, Score, Portfolio, Status, Linked Follow-up.
|
|
87
|
+
- **§2.3 Fast Lane** — 9 columns: ID, Description, R, I, C, E, Score, Portfolio, Status.
|
|
88
|
+
- **§2.4 Initiative Lane** — 10 columns: ID, Description, R, I, C, E, Score, Portfolio, Stage, Artifacts.
|
|
89
|
+
|
|
90
|
+
**Do NOT include** items from:
|
|
91
|
+
- §2.1 Intakes (unqualified — no RICE)
|
|
92
|
+
- §2.5 Absorbed / Archived (removed from active)
|
|
93
|
+
- Any section outside `## Part 2: Backlog`
|
|
92
94
|
|
|
93
95
|
### 4. Count and Summarize
|
|
94
96
|
|
|
95
|
-
|
|
97
|
+
Display a lane summary:
|
|
96
98
|
|
|
97
99
|
> **Review Mode — Backlog Loaded**
|
|
98
100
|
>
|
|
99
|
-
>
|
|
100
|
-
>
|
|
101
|
-
>
|
|
101
|
+
> | Lane | Items | Score range |
|
|
102
|
+
> |------|-------|-------------|
|
|
103
|
+
> | §2.2 Bug Lane | [n] | [low]–[high] |
|
|
104
|
+
> | §2.3 Fast Lane | [n] | [low]–[high] |
|
|
105
|
+
> | §2.4 Initiative Lane | [n] | [low]–[high] |
|
|
106
|
+
> | **Total** | **[N]** | |
|
|
102
107
|
>
|
|
103
|
-
>
|
|
108
|
+
> *Rescoring applies to these lane items only. Intakes (§2.1) have no RICE and are not included in Review.*
|
|
109
|
+
|
|
110
|
+
### 5. Present Lane Selection Menu
|
|
104
111
|
|
|
105
|
-
|
|
112
|
+
Display:
|
|
106
113
|
|
|
107
|
-
|
|
114
|
+
> **Select lane(s) to walk:**
|
|
115
|
+
>
|
|
116
|
+
> - **[B] Bug Lane only** — [n] items
|
|
117
|
+
> - **[F] Fast Lane only** — [n] items
|
|
118
|
+
> - **[I] Initiative Lane only** — [n] items
|
|
119
|
+
> - **[A] All lanes** — [N] items (walk in order Bug → Fast → Initiative)
|
|
120
|
+
> - **[T] Top N by score** — walk top N items across all lanes (prompt for N)
|
|
121
|
+
> - **[X] Exit** — return to mode selection
|
|
108
122
|
|
|
109
123
|
#### Menu Handling Logic:
|
|
110
|
-
- IF C: Load, read the entire file, and execute `{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-02-rescore.md`
|
|
111
|
-
- IF any other input: Display "Enter **C** to continue to the walkthrough." then redisplay menu
|
|
112
124
|
|
|
113
|
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
125
|
+
- IF B: Set walk scope to Bug Lane items only.
|
|
126
|
+
- IF F: Set walk scope to Fast Lane items only.
|
|
127
|
+
- IF I: Set walk scope to Initiative Lane items only.
|
|
128
|
+
- IF A: Set walk scope to all lane items in order Bug → Fast → Initiative.
|
|
129
|
+
- IF T: Prompt "How many top-ranked items?". Accept integer N ≥ 1. Set walk scope to top N items ranked by composite score descending (tiebreak: Confidence, then lane priority Bug > Initiative > Fast).
|
|
130
|
+
- IF X: Display "Exiting Review mode." then load, read, and execute `{workflowFile}`.
|
|
131
|
+
- IF any other input: Display "Unknown option. Use B / F / I / A / T / X." then redisplay menu.
|
|
132
|
+
|
|
133
|
+
### 6. Confirm Scope & Advance
|
|
134
|
+
|
|
135
|
+
After scope selection, display:
|
|
136
|
+
|
|
137
|
+
> **Walkthrough scope:** [description, e.g., "Fast Lane — 65 items"]
|
|
138
|
+
>
|
|
139
|
+
> **[C] Continue to walkthrough**
|
|
140
|
+
> **[R] Re-select scope**
|
|
141
|
+
> **[X] Exit**
|
|
142
|
+
|
|
143
|
+
- IF C: Pass `walk_scope` (ordered list of items with full data) to step-r-02. Load, read the entire file, and execute `{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-02-rescore.md`.
|
|
144
|
+
- IF R: Go back to step 5.
|
|
145
|
+
- IF X: Load, read, and execute `{workflowFile}`.
|
|
116
146
|
|
|
117
147
|
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
118
|
-
### ✅ SUCCESS: Backlog file loaded, RICE guide internalized,
|
|
119
|
-
### ❌ SYSTEM FAILURE: Backlog not loaded, items from wrong sections included
|
|
148
|
+
### ✅ SUCCESS: Backlog file loaded, RICE guide internalized, lane items parsed from §2.2/2.3/2.4 only, lane summary displayed, user chose scope, scope list passed to step-r-02
|
|
149
|
+
### ❌ SYSTEM FAILURE: Backlog not loaded, items from wrong sections included (Intakes / Absorbed), lanes not distinguished, scope selection skipped, missing backlog not handled gracefully
|
|
120
150
|
**Master Rule:** Skipping steps is FORBIDDEN.
|