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.
Files changed (37) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/README.md +3 -1
  3. package/_bmad/bme/README.md +36 -0
  4. package/_bmad/bme/_enhance/workflows/initiatives-backlog/SKILL.md +1 -1
  5. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-01-init.md +55 -32
  6. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-02-gather.md +62 -59
  7. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-03-qualify.md +176 -0
  8. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-04-generate.md +259 -0
  9. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-01-load.md +65 -35
  10. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-02-rescore.md +60 -30
  11. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-03-update.md +67 -71
  12. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-01-ingest.md +12 -12
  13. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-02-extract.md +49 -44
  14. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-03-qualify.md +192 -0
  15. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-04-update.md +72 -67
  16. package/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/backlog-format-spec.md +223 -112
  17. package/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/lifecycle-process-spec.md +188 -0
  18. package/_bmad/bme/_enhance/workflows/initiatives-backlog/workflow.md +44 -31
  19. package/_bmad/bme/_gyre/config.yaml +3 -0
  20. package/_bmad/bme/_vortex/config.yaml +4 -1
  21. package/package.json +1 -1
  22. package/scripts/convoke-doctor.js +56 -2
  23. package/scripts/lib/artifact-utils.js +16 -3
  24. package/scripts/migrate-artifacts.js +3 -2
  25. package/scripts/portability/convoke-export.js +26 -5
  26. package/scripts/portability/export-engine.js +10 -8
  27. package/scripts/portability/seed-catalog-repo.js +6 -6
  28. package/scripts/portability/validate-exports.js +25 -14
  29. package/scripts/update/convoke-update.js +27 -2
  30. package/scripts/update/lib/changelog-reader.js +90 -0
  31. package/scripts/update/lib/config-merger.js +52 -1
  32. package/scripts/update/lib/refresh-installation.js +48 -9
  33. package/scripts/update/lib/taxonomy-merger.js +2 -1
  34. package/scripts/update/lib/validator.js +9 -1
  35. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-03-score.md +0 -146
  36. package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-04-prioritize.md +0 -181
  37. 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 consistent backlog file formatting across all initiatives backlog operations. Loaded by the workflow during file write operations to ensure output matches the canonical format.
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 (NFR6).
5
+ All output must be standard markdown — no proprietary extensions, HTML embeds, or tool-specific syntax.
6
6
 
7
7
  ---
8
8
 
9
- ## Metadata Header
9
+ ## File Identity
10
10
 
11
- Every backlog file begins with:
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
- ```markdown
14
- # Convoke Initiatives Backlog
15
+ ---
16
+
17
+ ## Frontmatter
15
18
 
16
- **Created:** YYYY-MM-DD
17
- **Method:** RICE (Reach, Impact, Confidence, Effort)
18
- **Last Updated:** YYYY-MM-DD
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 `Last Updated` date is refreshed on every write operation.
34
+ The `created` date is set on first write and never changed thereafter.
22
35
 
23
36
  ---
24
37
 
25
- ## Section Hierarchy
38
+ ## Document Structure
26
39
 
27
- The backlog file uses this exact heading structure. Sections must appear in this order.
40
+ The file uses this exact structure. Sections must appear in this order.
28
41
 
29
42
  ```
30
- # Convoke Initiatives Backlog (H1 — title)
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
- ## RICE Scoring Guide (H2 inline scoring reference)
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
- ## Backlog (H2active items container)
35
- ### [Category Name] (H3 — one per category, repeating)
70
+ **Part 2** is the operational surface Triage adds rows, Review updates rows.
36
71
 
37
- ## Exploration Candidates (H2 unscored items needing discovery)
72
+ **Appendix** holds detailed descriptions for Initiative Lane items whose table row is a one-liner.
38
73
 
39
- ## Epic Groupings (H2 — bundled delivery suggestions)
40
- ### Epic: "[Name]" ([item IDs]) (H3 — one per grouping)
74
+ ---
41
75
 
42
- ## Prioritized View (by RICE Score) (H2 — auto-generated ranked table)
76
+ ## Table Formats
43
77
 
44
- ## Completed (H2 finished items, grouped by date)
45
- ### YYYY-MM-DD (H3 — date grouping for milestones)
78
+ ### §2.1 Intakes Table
46
79
 
47
- ## Change Log (H2 — operational history)
80
+ ```markdown
81
+ | ID | Description | Source | Date | Raiser |
82
+ |----|-------------|--------|------|--------|
48
83
  ```
49
84
 
50
- ### Category Names
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
- Categories are user-defined H3 headings under `## Backlog`. The existing backlog uses:
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
- - Documentation & Onboarding
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
- New categories may be added. Category names must be unique within the backlog.
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
- ## Table Formats
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
- ### Category Table (under each H3 category)
115
+ ### §2.3 Fast Lane Table
68
116
 
69
117
  ```markdown
70
- | # | Initiative | Source | R | I | C | E | Score | Track | Status |
71
- |---|-----------|--------|---|---|---|---|-------|-------|--------|
118
+ | ID | Description | R | I | C | E | Score | Portfolio | Status | Dependencies |
119
+ |----|-------------|---|---|---|---|-------|-----------|--------|--------------|
72
120
  ```
73
121
 
74
- **Column rules:**
75
- - `#`: Short alphanumeric ID (e.g., D2, P4, T3). Unique within the backlog.
76
- - `Initiative`: `**[Bold title]** [description]`. May include markdown links.
77
- - `Source`: Origin of the initiative (e.g., "Vortex review (Liam, Wade)", "Product owner")
78
- - `R`: Reach score (integer 1-10)
79
- - `I`: Impact score (0.25, 0.5, 1, 2, or 3)
80
- - `C`: Confidence as percentage (e.g., 70%, 90%)
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
- ### Prioritized View Table (under `## Prioritized View`)
130
+ **Sort:** Descending by composite Score. Dependencies do not affect sort.
131
+
132
+ ### §2.4 Initiative Lane Table
87
133
 
88
134
  ```markdown
89
- | Rank | # | Initiative | Score | Track | Category |
90
- |------|---|-----------|-------|-------|----------|
135
+ | ID | Description | R | I | C | E | Score | Portfolio | Stage | Artifacts | Dependencies |
136
+ |----|-------------|---|---|---|---|-------|-----------|-------|-----------|--------------|
91
137
  ```
92
138
 
93
- **Rules:**
94
- - Sorted by composite RICE score, descending
95
- - Tiebreak: Confidence (higher first), then insertion order (newer first)
96
- - Only includes active items (not Done or in Completed section)
97
- - Regenerated from scratch on every write operation — not manually maintained
98
- - Rank is a sequential integer starting at 1
99
-
100
- ### Exploration Candidates Table (under `## Exploration Candidates`)
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
- | # | Initiative | Source | Next Step |
104
- |---|-----------|--------|-----------|
170
+ | ID | Description | Shipped | Score | Portfolio |
171
+ |----|-------------|---------|-------|-----------|
105
172
  ```
106
173
 
107
- These items are unscored and not included in the prioritized view.
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
- ### Completed Section Tables (under `## Completed`)
179
+ ### Appendix Detail Format
110
180
 
111
- Grouped by date using H3 headers:
181
+ For each Initiative Lane item warranting detail:
112
182
 
113
183
  ```markdown
114
- ### YYYY-MM-DD
184
+ ### [ID] — [Title]
115
185
 
116
- | # | Initiative | Score | Category |
117
- |---|-----------|-------|----------|
118
- ```
186
+ **Stage:** [stage] | **Portfolio:** [portfolio] | **RICE:** [score]
119
187
 
120
- **Note:** Legacy completed entries (pre-backlog era) may use non-standard table formats (e.g., `| Item | Fix Applied |`). These should be preserved as-is during write operations — do not attempt to reformat them.
188
+ **Planning artifacts:** [list with file paths]
121
189
 
122
- ---
190
+ **Missing (to reach Ready):** [list]
191
+
192
+ **Blocker:** [if any]
123
193
 
124
- ## Change Log Format
194
+ **Scope hint:** [paragraph or bullets]
195
+ ```
125
196
 
126
- The Change Log section uses a table:
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 summarizing items added, removed, rescored, or moved.
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 x Impact x Confidence) / Effort
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 x 3 x 0.7) / 6 = 2.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
- ## Insertion Rules
223
+ ## Dependency Notation
155
224
 
156
- ### Adding New Items (Triage mode, Create mode)
225
+ The `Dependencies` column captures upstream relationships. Notation rules:
157
226
 
158
- 1. Identify the target category H3 section under `## Backlog`
159
- 2. Append the new row to the end of that category's table
160
- 3. If the category doesn't exist, create a new H3 heading at the end of the `## Backlog` section (before `## Exploration Candidates`)
161
- 4. Regenerate the `## Prioritized View` table with all active items sorted by composite score
162
- 5. Add a Change Log entry
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
- ### Moving Items to Completed
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
- 1. Remove the item row from its category table
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
- ## Provenance Tags
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
- Provenance is recorded in the Initiative cell description or as a separate annotation.
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
- ### Triage Mode New Items
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
- Format: `"Added from [source], [date]"`
268
+ ### Triage Mode (steps-t)
181
269
 
182
- Example: `Added from party-mode review transcript, 2026-03-15`
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
- The score recorded is the **final** score after any Gate 2 user adjustments. The agent's initial proposal is not recorded separately. Triage Gate 2 adjustments are NOT rescores — they are the initial score. No rescore provenance is generated.
276
+ ### Review Mode (steps-r)
185
277
 
186
- ### Review Mode Rescored Items
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
- Format: `"Rescored [old]->[new], Review, [date]"`
284
+ ### Create Mode (steps-c)
189
285
 
190
- Example: `Rescored 1.8->2.4, Review, 2026-03-15`
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
- Only recorded when the composite score actually changes. Confirming an existing score or skipping an item generates no provenance entry.
293
+ ### Moving Items Between Sections
193
294
 
194
- ### Create Mode New Items
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
- Format: `"Added from Create mode, [date]"`
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 to the backlog file, the workflow must validate:
307
+ Before writing, the workflow must validate:
203
308
 
204
- 1. **Section heading anchors** — All required H2 sections exist in the correct order
205
- 2. **Prioritized view table column count**Table has exactly 6 columns
206
- 3. **Category table column count** — Each category table has exactly 10 columns
207
- 4. **Change Log section existence** — The Change Log H2 section exists
208
- 5. **No data loss** — Existing category section content is preserved (no deletions, overwrites, or reordering of existing rows). The Prioritized View is excluded from this check since it is regenerated.
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 exact current format of `initiatives-backlog.md`. When in doubt, load the existing file and match its patterns precisely. This ensures:
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 the file in any text editor between sessions)
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).