convoke-agents 3.2.0 → 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 +40 -11
- 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 +2 -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/catalog-generator.js +1 -1
- package/scripts/portability/convoke-export.js +26 -5
- package/scripts/portability/export-engine.js +34 -9
- 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
|
@@ -1,219 +1,330 @@
|
|
|
1
1
|
# Backlog Format Specification
|
|
2
2
|
|
|
3
|
-
Reference document for
|
|
3
|
+
Reference document for the **Convoke Initiative Lifecycle & Backlog** format. Loaded by the workflow during file write operations to ensure output matches the canonical structure defined by the lifecycle process.
|
|
4
4
|
|
|
5
|
-
All output must be standard markdown — no proprietary extensions, HTML embeds, or tool-specific syntax
|
|
5
|
+
All output must be standard markdown — no proprietary extensions, HTML embeds, or tool-specific syntax.
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
9
|
-
##
|
|
9
|
+
## File Identity
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
**Canonical filename:** `convoke-note-initiative-lifecycle-backlog.md`
|
|
12
|
+
**Canonical location:** `{planning_artifacts}/convoke-note-initiative-lifecycle-backlog.md`
|
|
13
|
+
**Supersedes:** `convoke-note-initiatives-backlog.md` (archived 2026-04-15 to `_archive/superseded/`)
|
|
12
14
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Frontmatter
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
Every backlog file begins with YAML frontmatter:
|
|
20
|
+
|
|
21
|
+
```yaml
|
|
22
|
+
---
|
|
23
|
+
initiative: convoke
|
|
24
|
+
artifact_type: note
|
|
25
|
+
qualifier: initiative-lifecycle-backlog
|
|
26
|
+
created: 'YYYY-MM-DD'
|
|
27
|
+
schema_version: 1
|
|
28
|
+
status: draft | active
|
|
29
|
+
origin: '<short origin description>'
|
|
30
|
+
supersedes: convoke-note-initiatives-backlog.md
|
|
31
|
+
---
|
|
19
32
|
```
|
|
20
33
|
|
|
21
|
-
The `
|
|
34
|
+
The `created` date is set on first write and never changed thereafter.
|
|
22
35
|
|
|
23
36
|
---
|
|
24
37
|
|
|
25
|
-
##
|
|
38
|
+
## Document Structure
|
|
26
39
|
|
|
27
|
-
The
|
|
40
|
+
The file uses this exact structure. Sections must appear in this order.
|
|
28
41
|
|
|
29
42
|
```
|
|
30
|
-
# Convoke
|
|
43
|
+
# Convoke Initiative Lifecycle & Backlog (H1 — title)
|
|
44
|
+
|
|
45
|
+
## Part 1: Lifecycle Process (H2 — process definition, semi-static)
|
|
46
|
+
### 1.1 Intake (H3)
|
|
47
|
+
### 1.2 Qualifying Gate (H3)
|
|
48
|
+
### 1.3 Three Lanes (H3)
|
|
49
|
+
#### Bug Lane / Fast Lane / Initiative Lane (H4)
|
|
50
|
+
### 1.4 Portfolio Attachment (H3)
|
|
51
|
+
### 1.5 Pipeline Stages (Evolvable) (H3)
|
|
52
|
+
### 1.6 RICE Scoring (H3)
|
|
53
|
+
|
|
54
|
+
## Part 2: Backlog (H2 — operational data, mutates frequently)
|
|
55
|
+
### 2.1 Intakes (Unqualified) (H3)
|
|
56
|
+
### 2.2 Bug Lane (H3)
|
|
57
|
+
### 2.3 Fast Lane (Quick Wins + Spikes) (H3)
|
|
58
|
+
### 2.4 Initiative Lane (H3)
|
|
59
|
+
### 2.5 Absorbed / Archived (H3)
|
|
60
|
+
#### Absorbed into [name] / Completed (shipped) (H4 — optional sub-grouping)
|
|
61
|
+
|
|
62
|
+
## Appendix: Initiative Details (H2 — full descriptions for §2.4 items)
|
|
63
|
+
### [Item ID] — [Title] (H3 — one per initiative when detail is needed)
|
|
64
|
+
|
|
65
|
+
## Change Log (H2 — operational history)
|
|
66
|
+
```
|
|
31
67
|
|
|
32
|
-
|
|
68
|
+
**Part 1** is semi-static (the lifecycle process definition). The skill **must NOT regenerate or modify Part 1 contents** unless explicitly running Create mode. In Triage and Review modes, Part 1 is loaded for context but never written.
|
|
33
69
|
|
|
34
|
-
|
|
35
|
-
### [Category Name] (H3 — one per category, repeating)
|
|
70
|
+
**Part 2** is the operational surface — Triage adds rows, Review updates rows.
|
|
36
71
|
|
|
37
|
-
|
|
72
|
+
**Appendix** holds detailed descriptions for Initiative Lane items whose table row is a one-liner.
|
|
38
73
|
|
|
39
|
-
|
|
40
|
-
### Epic: "[Name]" ([item IDs]) (H3 — one per grouping)
|
|
74
|
+
---
|
|
41
75
|
|
|
42
|
-
##
|
|
76
|
+
## Table Formats
|
|
43
77
|
|
|
44
|
-
|
|
45
|
-
### YYYY-MM-DD (H3 — date grouping for milestones)
|
|
78
|
+
### §2.1 Intakes Table
|
|
46
79
|
|
|
47
|
-
|
|
80
|
+
```markdown
|
|
81
|
+
| ID | Description | Source | Date | Raiser |
|
|
82
|
+
|----|-------------|--------|------|--------|
|
|
48
83
|
```
|
|
49
84
|
|
|
50
|
-
|
|
85
|
+
**Columns:**
|
|
86
|
+
- `ID`: `IN-{n}` sequential integer. Optionally `IN-{n} (was {oldId})` for migrated entries.
|
|
87
|
+
- `Description`: One-line summary. Detail goes in Appendix if needed.
|
|
88
|
+
- `Source`: Where it came from (party mode, code review, retrospective, user report, etc.).
|
|
89
|
+
- `Date`: Absolute date `YYYY-MM-DD`. Never relative.
|
|
90
|
+
- `Raiser`: Person or agent name.
|
|
51
91
|
|
|
52
|
-
|
|
92
|
+
**Rules:**
|
|
93
|
+
- Append-only — intakes never disappear, even after qualification (audit trail).
|
|
94
|
+
- After qualification, the intake stays here; a corresponding row is added to the assigned lane.
|
|
53
95
|
|
|
54
|
-
|
|
55
|
-
- Update & Migration System
|
|
56
|
-
- Testing & CI
|
|
57
|
-
- Infrastructure
|
|
58
|
-
- Agent Quality & Consistency
|
|
59
|
-
- Platform & Product Vision
|
|
96
|
+
### §2.2 Bug Lane Table
|
|
60
97
|
|
|
61
|
-
|
|
98
|
+
```markdown
|
|
99
|
+
| ID | Description | R | I | C | E | Score | Portfolio | Status | Dependencies | Linked Follow-up |
|
|
100
|
+
|----|-------------|---|---|---|---|-------|-----------|--------|--------------|------------------|
|
|
101
|
+
```
|
|
62
102
|
|
|
63
|
-
|
|
103
|
+
**Columns:**
|
|
104
|
+
- `ID`: Bug-prefixed sequential — `BUG-{n}`.
|
|
105
|
+
- `Description`: One-line summary of the broken behavior + intended fix scope.
|
|
106
|
+
- `R`, `I`, `C`, `E`: RICE component scores. Impact often hardcoded high (2–3) when user-facing.
|
|
107
|
+
- `Score`: Composite, one decimal place.
|
|
108
|
+
- `Portfolio`: Portfolio attachment (convoke, vortex, gyre, forge, bmm, enhance, loom, helm, or new).
|
|
109
|
+
- `Status`: `Open`, `In Fix`, `In Review`, `Shipped`.
|
|
110
|
+
- `Dependencies`: Comma-separated upstream item IDs (any lane). Use `—` when none. See Dependency Notation rules below.
|
|
111
|
+
- `Linked Follow-up`: Reference to a Fast Lane or Initiative item if the bug spawned deeper work.
|
|
64
112
|
|
|
65
|
-
|
|
113
|
+
**Sort:** Descending by composite Score. Dependencies do not affect sort — they are informational. The reader is responsible for noting when a high-RICE item is blocked.
|
|
66
114
|
|
|
67
|
-
###
|
|
115
|
+
### §2.3 Fast Lane Table
|
|
68
116
|
|
|
69
117
|
```markdown
|
|
70
|
-
|
|
|
71
|
-
|
|
118
|
+
| ID | Description | R | I | C | E | Score | Portfolio | Status | Dependencies |
|
|
119
|
+
|----|-------------|---|---|---|---|-------|-----------|--------|--------------|
|
|
72
120
|
```
|
|
73
121
|
|
|
74
|
-
**
|
|
75
|
-
-
|
|
76
|
-
- `
|
|
77
|
-
- `
|
|
78
|
-
- `
|
|
79
|
-
- `
|
|
80
|
-
- `
|
|
81
|
-
- `E`: Effort score (integer 1-10)
|
|
82
|
-
- `Score`: Composite RICE score, one decimal place (e.g., 2.8)
|
|
83
|
-
- `Track`: "Keep the lights on" or "Move the needle"
|
|
84
|
-
- `Status`: One of: Backlog, In Planning, In Progress, Done, Blocked
|
|
122
|
+
**Columns:**
|
|
123
|
+
- `ID`: Original IDs preserved during migration (D2, U7, T6, I43, A7, P10, P11, etc.) or new prefix as needed.
|
|
124
|
+
- `Description`: Compact one-liner; full detail can live in Appendix if helpful.
|
|
125
|
+
- `R`, `I`, `C`, `E`, `Score`: RICE per scoring guide.
|
|
126
|
+
- `Portfolio`: Portfolio attachment.
|
|
127
|
+
- `Status`: `Backlog`, `In Story`, `In Sprint`, `Shipped`.
|
|
128
|
+
- `Dependencies`: Comma-separated upstream item IDs (any lane). Use `—` when none. See Dependency Notation rules below.
|
|
85
129
|
|
|
86
|
-
|
|
130
|
+
**Sort:** Descending by composite Score. Dependencies do not affect sort.
|
|
131
|
+
|
|
132
|
+
### §2.4 Initiative Lane Table
|
|
87
133
|
|
|
88
134
|
```markdown
|
|
89
|
-
|
|
|
90
|
-
|
|
135
|
+
| ID | Description | R | I | C | E | Score | Portfolio | Stage | Artifacts | Dependencies |
|
|
136
|
+
|----|-------------|---|---|---|---|-------|-----------|-------|-----------|--------------|
|
|
91
137
|
```
|
|
92
138
|
|
|
93
|
-
**
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
|
|
100
|
-
|
|
139
|
+
**Columns:**
|
|
140
|
+
- `ID`: Original IDs preserved (P9, P12, S3, P21, etc.). Bundles allowed using `+` (e.g., `U10+P23+A8+A9` for v6.3 Adoption).
|
|
141
|
+
- `Description`: Bold title. Full detail in Appendix.
|
|
142
|
+
- `R`, `I`, `C`, `E`, `Score`: RICE per scoring guide.
|
|
143
|
+
- `Portfolio`: Portfolio attachment (or `*(pending)*` if undecided).
|
|
144
|
+
- `Stage`: One of: `Qualified`, `In Pipeline`, `Ready`, `In Sprint`, `Done`. May include parenthetical (e.g., `Qualified (Blocked on P12)`).
|
|
145
|
+
- `Artifacts`: Compact indicator of which planning artifacts exist:
|
|
146
|
+
- `B` = Brief
|
|
147
|
+
- `P` = PRD
|
|
148
|
+
- `P✓` = PRD validated
|
|
149
|
+
- `A` = Architecture
|
|
150
|
+
- `IR` = Implementation Readiness report
|
|
151
|
+
- `E` = Epic breakdown
|
|
152
|
+
- `D` = Discovery (Vortex)
|
|
153
|
+
- Combine with commas. Example: `D, P✓, A, IR, E`.
|
|
154
|
+
- `Dependencies`: Comma-separated upstream item IDs (any lane). Use `—` when none. See Dependency Notation rules below.
|
|
155
|
+
|
|
156
|
+
**Sort:** Descending by composite Score (same rule as Fast Lane). Dependencies do not affect sort.
|
|
157
|
+
|
|
158
|
+
### §2.5 Absorbed / Archived Tables
|
|
159
|
+
|
|
160
|
+
Use H4 sub-headings to group:
|
|
161
|
+
|
|
162
|
+
**Absorbed into [target]:**
|
|
163
|
+
```markdown
|
|
164
|
+
| ID | Original Description | Absorbed Into | Reference | Date |
|
|
165
|
+
|----|---------------------|---------------|-----------|------|
|
|
166
|
+
```
|
|
101
167
|
|
|
168
|
+
**Completed (shipped):**
|
|
102
169
|
```markdown
|
|
103
|
-
|
|
|
104
|
-
|
|
170
|
+
| ID | Description | Shipped | Score | Portfolio |
|
|
171
|
+
|----|-------------|---------|-------|-----------|
|
|
105
172
|
```
|
|
106
173
|
|
|
107
|
-
|
|
174
|
+
**Rules:**
|
|
175
|
+
- Nothing disappears without a receipt.
|
|
176
|
+
- Absorbed items must reference the target (epic file, larger initiative).
|
|
177
|
+
- Completed items are append-only.
|
|
108
178
|
|
|
109
|
-
###
|
|
179
|
+
### Appendix Detail Format
|
|
110
180
|
|
|
111
|
-
|
|
181
|
+
For each Initiative Lane item warranting detail:
|
|
112
182
|
|
|
113
183
|
```markdown
|
|
114
|
-
###
|
|
184
|
+
### [ID] — [Title]
|
|
115
185
|
|
|
116
|
-
|
|
117
|
-
|---|-----------|-------|----------|
|
|
118
|
-
```
|
|
186
|
+
**Stage:** [stage] | **Portfolio:** [portfolio] | **RICE:** [score]
|
|
119
187
|
|
|
120
|
-
**
|
|
188
|
+
**Planning artifacts:** [list with file paths]
|
|
121
189
|
|
|
122
|
-
|
|
190
|
+
**Missing (to reach Ready):** [list]
|
|
191
|
+
|
|
192
|
+
**Blocker:** [if any]
|
|
123
193
|
|
|
124
|
-
|
|
194
|
+
**Scope hint:** [paragraph or bullets]
|
|
195
|
+
```
|
|
125
196
|
|
|
126
|
-
|
|
197
|
+
### Change Log Table
|
|
127
198
|
|
|
128
199
|
```markdown
|
|
129
|
-
## Change Log
|
|
130
|
-
|
|
131
200
|
| Date | Change |
|
|
132
201
|
|------|--------|
|
|
133
202
|
| YYYY-MM-DD | [Description of what changed] |
|
|
134
203
|
```
|
|
135
204
|
|
|
136
|
-
Entries are prepended (newest first). Each workflow session adds one entry
|
|
205
|
+
Entries are prepended (newest first). Each workflow session adds one entry.
|
|
137
206
|
|
|
138
207
|
---
|
|
139
208
|
|
|
140
209
|
## RICE Composite Formula
|
|
141
210
|
|
|
142
|
-
**Formula:** Score = (Reach
|
|
211
|
+
**Formula:** Score = (Reach × Impact × Confidence) / Effort
|
|
143
212
|
|
|
144
213
|
Where Confidence is expressed as a decimal (e.g., 70% = 0.7).
|
|
145
214
|
|
|
146
|
-
**Example:** R:8, I:3, C:70%, E:6 = (8
|
|
215
|
+
**Example:** R:8, I:3, C:70%, E:6 = (8 × 3 × 0.7) / 6 = 2.8
|
|
147
216
|
|
|
148
|
-
**Sort order:** Descending by composite score. Ties broken by:
|
|
217
|
+
**Sort order (within each lane):** Descending by composite score. Ties broken by:
|
|
149
218
|
1. Confidence — higher first
|
|
150
219
|
2. Insertion order — newer first
|
|
151
220
|
|
|
152
221
|
---
|
|
153
222
|
|
|
154
|
-
##
|
|
223
|
+
## Dependency Notation
|
|
155
224
|
|
|
156
|
-
|
|
225
|
+
The `Dependencies` column captures upstream relationships. Notation rules:
|
|
157
226
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
5.
|
|
227
|
+
- **Format:** comma-separated item IDs from any lane. Cross-lane references are explicitly allowed (a Fast Lane item can depend on an Initiative Lane item, and vice versa).
|
|
228
|
+
- **Empty state:** use `—` (em-dash) when an item has no dependencies.
|
|
229
|
+
- **Done dependencies:** if a dependency has shipped, prefix with `✓` (e.g., `✓P1` means "depended on P1, which is now done"). This preserves history without making the item look blocked.
|
|
230
|
+
- **Bundle relationships:** for items that travel together (ship as one PR or one epic), use `bundles-with: ID, ID`. Example: `bundles-with: I48`.
|
|
231
|
+
- **Absorbed-into shorthand:** items absorbed into another initiative live in §2.5. Their original lane row is removed. The Dependencies column does not need to track absorption.
|
|
232
|
+
- **External dependencies:** for blockers outside the backlog (e.g., upstream BMAD release, external user availability), use `external: short-description` (e.g., `external: BMAD v6.3 release`). Keep the description under 30 chars.
|
|
233
|
+
- **Multiple types:** when an item has both internal and external dependencies, separate with semicolons. Example: `P12; external: marketplace-PR-merge`.
|
|
163
234
|
|
|
164
|
-
|
|
235
|
+
**Dependencies do not change RICE sort order.** Two items with the same RICE score do not get re-ordered by dependency direction. The reader is expected to scan the Dependencies column when planning sequencing.
|
|
165
236
|
|
|
166
|
-
|
|
167
|
-
2. Add it to the appropriate `### YYYY-MM-DD` group under `## Completed`
|
|
168
|
-
3. If no group exists for today's date, create one
|
|
169
|
-
4. Regenerate the `## Prioritized View` table
|
|
170
|
-
5. Add a Change Log entry
|
|
237
|
+
**Stage parenthetical vs. Dependencies column:** if an Initiative is currently blocked, both should reflect it: the Stage cell shows `Qualified (Blocked on X)` for visibility, and the Dependencies cell lists `X` for parseability. Stage parenthetical is human signal; Dependencies cell is the canonical reference.
|
|
171
238
|
|
|
172
239
|
---
|
|
173
240
|
|
|
174
|
-
##
|
|
241
|
+
## Lane Assignment Rules
|
|
242
|
+
|
|
243
|
+
The qualifying gate (Vortex, John, or Winston) assigns each intake to one lane:
|
|
244
|
+
|
|
245
|
+
**Bug Lane** if:
|
|
246
|
+
- Observed broken behavior, regression, or data loss risk
|
|
247
|
+
- Fix is the scope (deeper rework spawns separate Fast Lane / Initiative item)
|
|
248
|
+
|
|
249
|
+
**Fast Lane** if:
|
|
250
|
+
- Single-module, contained scope
|
|
251
|
+
- Point fix from code review, retrospective, audit
|
|
252
|
+
- Process rule to encode
|
|
253
|
+
- Test debt, doc improvement, small enhancement
|
|
254
|
+
- Spike (time-boxed learning with uncertain outcome)
|
|
175
255
|
|
|
176
|
-
|
|
256
|
+
**Initiative Lane** if:
|
|
257
|
+
- Multi-module or architectural impact
|
|
258
|
+
- User-facing behavior change
|
|
259
|
+
- Requires full pipeline (Brief → PRD → Arch → PRD Validation → IR → Epics)
|
|
260
|
+
- Bundle of related work that needs coordinated planning
|
|
177
261
|
|
|
178
|
-
|
|
262
|
+
**When uncertain:** default to Fast Lane unless a clear architectural or multi-module signal exists. The qualifier can promote later if scope grows.
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
## Insertion Rules
|
|
179
267
|
|
|
180
|
-
|
|
268
|
+
### Triage Mode (steps-t)
|
|
181
269
|
|
|
182
|
-
|
|
270
|
+
1. Every extracted finding is logged to **§2.1 Intakes** first, with sequential `IN-{n}` ID.
|
|
271
|
+
2. Optional in-session qualification: for each intake, the qualifier assigns lane + portfolio + RICE.
|
|
272
|
+
3. Qualified intakes get a corresponding row appended to their lane's table (§2.2/2.3/2.4).
|
|
273
|
+
4. The intake row in §2.1 stays — it's the audit trail.
|
|
274
|
+
5. A Change Log entry is added.
|
|
183
275
|
|
|
184
|
-
|
|
276
|
+
### Review Mode (steps-r)
|
|
185
277
|
|
|
186
|
-
|
|
278
|
+
1. User chooses which lane(s) to walk: Bug, Fast, Initiative, or All.
|
|
279
|
+
2. Walk through items in the chosen lane(s); rescore RICE per the scoring guide.
|
|
280
|
+
3. Update only items whose composite score changed; provenance line appended in Description cell.
|
|
281
|
+
4. Confirmed and skipped items remain unchanged.
|
|
282
|
+
5. A Change Log entry is added.
|
|
187
283
|
|
|
188
|
-
|
|
284
|
+
### Create Mode (steps-c)
|
|
189
285
|
|
|
190
|
-
|
|
286
|
+
1. Detect existing file; warn before overwriting.
|
|
287
|
+
2. Generate **Part 1** verbatim from `templates/lifecycle-process-spec.md` (canonical process definition).
|
|
288
|
+
3. Initialize empty Part 2 tables.
|
|
289
|
+
4. Optionally gather initial intakes (loop).
|
|
290
|
+
5. Optionally qualify each intake into a lane.
|
|
291
|
+
6. Write the complete file.
|
|
191
292
|
|
|
192
|
-
|
|
293
|
+
### Moving Items Between Sections
|
|
193
294
|
|
|
194
|
-
|
|
295
|
+
- **Intake → Lane:** Append to lane table. Intake row in §2.1 stays.
|
|
296
|
+
- **Bug → Fast Lane / Initiative (deeper rework):** Add row to target lane referencing the bug ID in `Linked Follow-up`.
|
|
297
|
+
- **Fast Lane → Initiative (scope grew):** Move row, update ID prefix or keep original. Note in Change Log.
|
|
298
|
+
- **Any → §2.5 Absorbed:** Move row to §2.5 with reference to absorbing target.
|
|
299
|
+
- **Any → §2.5 Completed (shipped):** Move row to Completed sub-table with shipping date.
|
|
195
300
|
|
|
196
|
-
|
|
301
|
+
Never delete a row outright — every removal becomes a §2.5 entry.
|
|
197
302
|
|
|
198
303
|
---
|
|
199
304
|
|
|
200
305
|
## Pre-Write Validation
|
|
201
306
|
|
|
202
|
-
Before writing
|
|
307
|
+
Before writing, the workflow must validate:
|
|
203
308
|
|
|
204
|
-
1. **
|
|
205
|
-
2. **
|
|
206
|
-
3. **
|
|
207
|
-
4. **
|
|
208
|
-
|
|
309
|
+
1. **Frontmatter present** — Required YAML block at top of file.
|
|
310
|
+
2. **Part 1 unchanged** (Triage and Review modes only) — H2 `## Part 1: Lifecycle Process` content matches the loaded snapshot. If modified, warn before proceeding.
|
|
311
|
+
3. **Part 2 section anchors** — All five H3 sections (`### 2.1` through `### 2.5`) exist in correct order under `## Part 2: Backlog`.
|
|
312
|
+
4. **Table column counts:**
|
|
313
|
+
- §2.1 Intakes: 5 columns
|
|
314
|
+
- §2.2 Bug Lane: 11 columns (Dependencies column added 2026-04-15)
|
|
315
|
+
- §2.3 Fast Lane: 10 columns (Dependencies column added 2026-04-15)
|
|
316
|
+
- §2.4 Initiative Lane: 11 columns (Dependencies column added 2026-04-15)
|
|
317
|
+
- §2.5 sub-tables: 5 columns each
|
|
318
|
+
5. **Change Log present** — `## Change Log` H2 exists.
|
|
319
|
+
6. **No data loss** — Existing rows preserved; only the touched rows changed, only the touched lanes reordered.
|
|
209
320
|
|
|
210
|
-
If validation detects a structural mismatch, the user can proceed or abort.
|
|
321
|
+
If validation detects a structural mismatch, the user can proceed (Y) or abort (X).
|
|
211
322
|
|
|
212
323
|
---
|
|
213
324
|
|
|
214
325
|
## Format Consistency
|
|
215
326
|
|
|
216
|
-
The backlog output must match the
|
|
327
|
+
The backlog output must match the canonical structure of this spec. When in doubt, load the existing file and match its patterns precisely. This ensures:
|
|
217
328
|
- Round-trip parseability (the workflow can reload its own output)
|
|
218
|
-
- Manual editability (users can edit
|
|
329
|
+
- Manual editability (users can edit between sessions)
|
|
219
330
|
- `git diff` readability (consistent formatting minimizes noise)
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
# Lifecycle Process Specification
|
|
2
|
+
|
|
3
|
+
Canonical text for **Part 1: Lifecycle Process** in the Convoke Initiative Lifecycle & Backlog file. Create mode emits this verbatim. Triage/Review modes load it for context but never modify it.
|
|
4
|
+
|
|
5
|
+
The text below the `---` marker is the verbatim Part 1 content. Do not edit it without coordinating with the lifecycle process governance — the same text appears in active backlog files and changing it requires migration.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Part 1: Lifecycle Process
|
|
10
|
+
|
|
11
|
+
### 1.1 Intake
|
|
12
|
+
|
|
13
|
+
Any conversation about a problem, idea, observation, or improvement — regardless of source — enters the lifecycle as an **intake**.
|
|
14
|
+
|
|
15
|
+
**Intake rules:**
|
|
16
|
+
|
|
17
|
+
- Anyone can raise an intake: team members, code reviews, retros, party mode sessions, external feedback
|
|
18
|
+
- Intakes are logged immediately in Section 2.1 with: ID, description, source, date, raiser
|
|
19
|
+
- Intakes remain in the log permanently — they are the audit trail
|
|
20
|
+
- An intake has no lane, no priority, and no commitment until it passes the qualifying gate
|
|
21
|
+
- Intakes do not block or consume sprint capacity
|
|
22
|
+
|
|
23
|
+
**Logging format:**
|
|
24
|
+
|
|
25
|
+
| Field | Required | Description |
|
|
26
|
+
|-------|----------|-------------|
|
|
27
|
+
| ID | Yes | Sequential: `IN-{number}` |
|
|
28
|
+
| Description | Yes | One-line summary (detail in appendix if needed) |
|
|
29
|
+
| Source | Yes | Where it came from (code review, retro, party mode, user report, etc.) |
|
|
30
|
+
| Date | Yes | Date logged (absolute, not relative) |
|
|
31
|
+
| Raiser | Yes | Who raised it (person or agent name) |
|
|
32
|
+
|
|
33
|
+
### 1.2 Qualifying Gate
|
|
34
|
+
|
|
35
|
+
The qualifying gate is the single decision point that determines what happens to an intake. It is performed by one of three qualified parties:
|
|
36
|
+
|
|
37
|
+
1. **Vortex team** — through discovery (full 7-stream or partial)
|
|
38
|
+
2. **John (PM)** — product framing shortcut
|
|
39
|
+
3. **Winston (Architect)** — technical framing shortcut
|
|
40
|
+
|
|
41
|
+
**Gate rules:**
|
|
42
|
+
|
|
43
|
+
- John or Winston may shortcut the Vortex discovery phase when the problem is well-understood
|
|
44
|
+
- Vortex team can qualify intakes during discovery and ship spikes directly in a quick process
|
|
45
|
+
- The qualifier assigns: lane, portfolio attachment, and initial RICE score
|
|
46
|
+
- The qualifying decision is recorded with rationale
|
|
47
|
+
- For capability-type intakes (new skill, agent, or team proposals): run the **Capability Evaluation Framework** decision tree (`convoke-note-capability-evaluation-framework.md`) to determine form factor (Skill → Agent → Team) before assigning a lane. Friction log evidence (`convoke-note-friction-log-template.md`) is the required input signal — vision is not demand.
|
|
48
|
+
|
|
49
|
+
**Gate output:** one of three lanes.
|
|
50
|
+
|
|
51
|
+
### 1.3 Three Lanes
|
|
52
|
+
|
|
53
|
+
#### Bug Lane
|
|
54
|
+
|
|
55
|
+
**Trigger:** Something is broken — observed incorrect behavior, data loss risk, or regression.
|
|
56
|
+
|
|
57
|
+
**Pipeline:** Reproduce → Fix → Test → Ship
|
|
58
|
+
|
|
59
|
+
**Rules:**
|
|
60
|
+
|
|
61
|
+
- Bugs get a fix, not a redesign. The bug lane is for the fix only.
|
|
62
|
+
- If the fix reveals a deeper structural issue, spawn a follow-up:
|
|
63
|
+
- Refactoring story or light epic → **Fast Lane**
|
|
64
|
+
- Larger rework → **Initiative Lane**
|
|
65
|
+
- Risk vs. cost triage governs priority
|
|
66
|
+
- RICE scored — impact is often hardcoded high, effort is low, so bugs rise organically in the backlog
|
|
67
|
+
|
|
68
|
+
#### Fast Lane (Quick Wins + Spikes)
|
|
69
|
+
|
|
70
|
+
**Trigger:** The qualifier judges the full initiative pipeline unnecessary.
|
|
71
|
+
|
|
72
|
+
**Pipeline:** Story with ACs → Implement → Review → Ship
|
|
73
|
+
|
|
74
|
+
**What belongs here:**
|
|
75
|
+
|
|
76
|
+
- Point fixes from code reviews
|
|
77
|
+
- Refactoring follow-ups from bug fixes
|
|
78
|
+
- Process rules to encode
|
|
79
|
+
- Small enhancements (single-module, contained scope)
|
|
80
|
+
- Spikes (time-boxed learning with uncertain outcome)
|
|
81
|
+
- Documentation improvements
|
|
82
|
+
- Test debt items
|
|
83
|
+
|
|
84
|
+
**Rules:**
|
|
85
|
+
|
|
86
|
+
- Vortex team can ship spikes directly during discovery
|
|
87
|
+
- Each item gets a story with acceptance criteria before implementation
|
|
88
|
+
- RICE scored — low effort denominator means good items rise naturally
|
|
89
|
+
- Can be bundled into themed groups for sprint planning
|
|
90
|
+
|
|
91
|
+
#### Initiative Lane
|
|
92
|
+
|
|
93
|
+
**Trigger:** The work is multi-module, requires architectural decisions, affects user-facing behavior, or has enough scope that skipping planning steps would create risk.
|
|
94
|
+
|
|
95
|
+
**Pipeline (sequential, non-skippable):**
|
|
96
|
+
|
|
97
|
+
```
|
|
98
|
+
Brief → PRD → Architecture → PRD Validation → IR → Epic Breakdown
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Rules:**
|
|
102
|
+
|
|
103
|
+
- Full pipeline, no way out. No step can be skipped.
|
|
104
|
+
- The only shortcut is at intake qualification — John or Winston can qualify without Vortex discovery. Once qualified as an initiative, the pipeline is the pipeline.
|
|
105
|
+
- Attaches to a portfolio item (existing taxonomy or new — see 1.4)
|
|
106
|
+
- RICE scored
|
|
107
|
+
- Pipeline stages track progress (see 1.5)
|
|
108
|
+
|
|
109
|
+
**v6.3 Adoption standard (reference bar):**
|
|
110
|
+
|
|
111
|
+
The BMAD v6.3 Adoption initiative established the quality bar: 50 FRs, 33 NFRs, 16 failure modes mitigated, 12-check PRD validation (5/5), full FR→Architecture→Epic traceability, pre-registered experiments, innovation hypotheses with falsification criteria. This is the benchmark.
|
|
112
|
+
|
|
113
|
+
### 1.4 Portfolio Attachment
|
|
114
|
+
|
|
115
|
+
Every initiative attaches to a portfolio item. The portfolio item answers: "which part of the product does this serve?"
|
|
116
|
+
|
|
117
|
+
**Current taxonomy:**
|
|
118
|
+
|
|
119
|
+
| Portfolio Item | Scope |
|
|
120
|
+
|---------------|-------|
|
|
121
|
+
| convoke | Core platform, CLI, update system, meta-infrastructure |
|
|
122
|
+
| vortex | Discovery team (7 agents, Shiftup Innovation Vortex) |
|
|
123
|
+
| gyre | Readiness team (contextual assessment) |
|
|
124
|
+
| forge | Knowledge extraction team (brownfield capture) |
|
|
125
|
+
| bmm | Build module (upstream BMAD agents, workflows) |
|
|
126
|
+
| enhance | Skills module (workflow extensions on existing agents) |
|
|
127
|
+
| loom | Orchestration / Team Factory |
|
|
128
|
+
| helm | Strategic governance |
|
|
129
|
+
|
|
130
|
+
**Taxonomy growth rule:**
|
|
131
|
+
|
|
132
|
+
- New portfolio items are created when an initiative doesn't fit any existing item
|
|
133
|
+
- Decision to create a new portfolio item is made by John + Winston
|
|
134
|
+
- New items are logged with rationale
|
|
135
|
+
|
|
136
|
+
**Fast Lane and Bug Lane items** also receive a portfolio attachment where applicable, for traceability. Items that are purely cross-cutting may use `convoke`.
|
|
137
|
+
|
|
138
|
+
### 1.5 Pipeline Stages (Evolvable)
|
|
139
|
+
|
|
140
|
+
Initiatives in the Initiative Lane track their progress through pipeline stages.
|
|
141
|
+
|
|
142
|
+
**Current stages:**
|
|
143
|
+
|
|
144
|
+
| Stage | Meaning |
|
|
145
|
+
|-------|---------|
|
|
146
|
+
| **Qualified** | Passed the gate. Lane and portfolio assigned. No planning artifacts yet. |
|
|
147
|
+
| **In Pipeline** | Planning work in progress (Brief, PRD, Architecture, etc.) |
|
|
148
|
+
| **Ready** | Full pipeline complete — Brief + PRD + Arch + PRD Validation + IR + Epics all exist |
|
|
149
|
+
| **In Sprint** | Stories are being executed |
|
|
150
|
+
| **Done** | Shipped |
|
|
151
|
+
|
|
152
|
+
**Artifacts tracking (within "In Pipeline"):**
|
|
153
|
+
|
|
154
|
+
Each initiative's row includes an artifacts indicator showing what exists:
|
|
155
|
+
|
|
156
|
+
- `B` = Brief
|
|
157
|
+
- `P` = PRD
|
|
158
|
+
- `P✓` = PRD validated
|
|
159
|
+
- `A` = Architecture
|
|
160
|
+
- `IR` = Implementation Readiness report
|
|
161
|
+
- `E` = Epic breakdown
|
|
162
|
+
- `D` = Discovery (Vortex)
|
|
163
|
+
|
|
164
|
+
Example: `D, P✓, A, IR, E` = has Discovery, validated PRD, Architecture, IR report, and Epic breakdown.
|
|
165
|
+
|
|
166
|
+
**Stage evolution rule:**
|
|
167
|
+
|
|
168
|
+
- These stages are configuration, not dogma
|
|
169
|
+
- Stages are adapted when evidence shows the current set is insufficient
|
|
170
|
+
- Changes are logged with rationale and date in this section
|
|
171
|
+
|
|
172
|
+
### 1.6 RICE Scoring
|
|
173
|
+
|
|
174
|
+
RICE scoring applies to **all three lanes**. It determines priority within each lane.
|
|
175
|
+
|
|
176
|
+
| Factor | Scale | Description |
|
|
177
|
+
|--------|-------|-------------|
|
|
178
|
+
| **Reach** | 1–10 | How many users/quarter will this affect? (10 = all users, 1 = edge case) |
|
|
179
|
+
| **Impact** | 0.25–3 | Per-user impact (3 = massive, 2 = high, 1 = medium, 0.5 = low, 0.25 = minimal) |
|
|
180
|
+
| **Confidence** | 20–100% | How sure are we about reach and impact estimates? |
|
|
181
|
+
| **Effort** | 1–10 | Relative effort in story points (1 = trivial, 10 = multi-epic) |
|
|
182
|
+
| **Score** | calculated | (Reach x Impact x Confidence) / Effort |
|
|
183
|
+
|
|
184
|
+
**Lane-specific scoring notes:**
|
|
185
|
+
|
|
186
|
+
- **Bug Lane:** Impact is often hardcoded high (2–3) when user-facing. Effort is typically low (1–2). Bugs rise organically.
|
|
187
|
+
- **Fast Lane:** Effort is typically 1–3. Items above score 3.0 are strong sprint candidates.
|
|
188
|
+
- **Initiative Lane:** Full RICE applies. Effort reflects pipeline + execution (not just coding).
|