convoke-agents 2.3.1 → 2.4.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 +19 -0
- package/README.md +90 -15
- package/_bmad/bme/_enhance/config.yaml +8 -0
- package/_bmad/bme/_enhance/extensions/bmm-pm.yaml +9 -0
- package/_bmad/bme/_enhance/guides/.gitkeep +0 -0
- package/_bmad/bme/_enhance/guides/ENHANCE-GUIDE.md +252 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/SKILL.md +6 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/.gitkeep +0 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-01-init.md +106 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-02-gather.md +136 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-03-score.md +146 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-c/step-c-04-prioritize.md +181 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/.gitkeep +0 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-01-load.md +120 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-02-rescore.md +141 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-r/step-r-03-update.md +154 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/.gitkeep +0 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-01-ingest.md +86 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-02-extract.md +169 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-03-score.md +147 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-04-update.md +155 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/backlog-format-spec.md +219 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/rice-scoring-guide.md +154 -0
- package/_bmad/bme/_enhance/workflows/initiatives-backlog/workflow.md +88 -0
- package/package.json +2 -1
- package/scripts/update/lib/refresh-installation.js +139 -0
- package/scripts/update/lib/validator.js +122 -1
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-t-03-score'
|
|
3
|
+
description: 'Propose RICE scores for confirmed findings, validate at Gate 2, calculate composite scores'
|
|
4
|
+
nextStepFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-04-update.md'
|
|
5
|
+
outputFile: '{planning_artifacts}/initiatives-backlog.md'
|
|
6
|
+
templateFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/rice-scoring-guide.md'
|
|
7
|
+
advancedElicitationTask: '{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.md'
|
|
8
|
+
partyModeWorkflow: '{project-root}/_bmad/core/workflows/bmad-party-mode/workflow.md'
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# Step 3: RICE Scoring & Gate 2 Validation
|
|
12
|
+
|
|
13
|
+
## STEP GOAL:
|
|
14
|
+
|
|
15
|
+
Propose RICE scores for each confirmed finding from Gate 1, present the scored batch for user validation at Gate 2, and calculate composite scores with proper sorting.
|
|
16
|
+
|
|
17
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
18
|
+
|
|
19
|
+
### Universal Rules:
|
|
20
|
+
- 🛑 NEVER generate content without user input at Gate 2
|
|
21
|
+
- 📖 CRITICAL: Read this complete step file before taking action
|
|
22
|
+
- 🔄 CRITICAL: When loading next step with 'C', read the entire file
|
|
23
|
+
- 📋 YOU ARE A SCORING ANALYST proposing calibrated RICE scores
|
|
24
|
+
|
|
25
|
+
### Role Reinforcement:
|
|
26
|
+
- ✅ You are a **RICE scoring analyst** — systematic, calibrated, evidence-based
|
|
27
|
+
- ✅ Propose scores grounded in the scoring guide's definitions and calibration examples
|
|
28
|
+
- ✅ The user validates and adjusts your proposals at Gate 2 — you propose, they decide
|
|
29
|
+
- ✅ Compare proposed scores against existing backlog items for calibration consistency
|
|
30
|
+
|
|
31
|
+
### Step-Specific Rules:
|
|
32
|
+
- 🎯 Focus on scoring, rationale, and composite calculation
|
|
33
|
+
- 🚫 FORBIDDEN to write to the backlog file (that is step-t-04's job)
|
|
34
|
+
- 🚫 FORBIDDEN to re-extract or re-classify findings (that was step-t-02's job)
|
|
35
|
+
- 🚫 FORBIDDEN to add new findings at Gate 2 (that was Gate 1's job — only drops allowed here)
|
|
36
|
+
- 💬 Approach: propose entire batch at once so user sees relative positioning, then collaborative refinement
|
|
37
|
+
|
|
38
|
+
## EXECUTION PROTOCOLS:
|
|
39
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
40
|
+
- 📖 Load {templateFile} for RICE factor definitions, scales, and calibration examples
|
|
41
|
+
- 💾 Recalculate and re-sort after every Gate 2 adjustment
|
|
42
|
+
|
|
43
|
+
## CONTEXT BOUNDARIES:
|
|
44
|
+
- Available context: Confirmed findings from Gate 1, existing backlog (if loaded), RICE scoring guide template
|
|
45
|
+
- Focus: Scoring and Gate 2 validation only
|
|
46
|
+
- Limits: Do NOT write to backlog or modify extraction results
|
|
47
|
+
- Dependencies: step-t-02-extract.md (confirmed findings from Gate 1)
|
|
48
|
+
|
|
49
|
+
## MANDATORY SEQUENCE
|
|
50
|
+
|
|
51
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
52
|
+
|
|
53
|
+
### 1. Load RICE Scoring Guide
|
|
54
|
+
|
|
55
|
+
Load `{templateFile}` (rice-scoring-guide.md) and internalize:
|
|
56
|
+
- **Factor definitions:** Reach (1-10), Impact (0.25-3), Confidence (20-100%), Effort (1-10)
|
|
57
|
+
- **Guided questions** for each factor
|
|
58
|
+
- **Calibration examples** from the existing backlog (study the reasoning, not just the numbers)
|
|
59
|
+
- **Composite formula:** Score = (R x I x C) / E, where C is decimal (e.g., 70% = 0.7)
|
|
60
|
+
- **Score rounding:** One decimal place for display
|
|
61
|
+
|
|
62
|
+
### 2. Propose RICE Scores for All Findings
|
|
63
|
+
|
|
64
|
+
For each confirmed finding from Gate 1, propose RICE scores using the guided questions:
|
|
65
|
+
|
|
66
|
+
- **Reach (1-10):** "How many users per quarter will this affect?"
|
|
67
|
+
- **Impact (0.25-3):** "What's the per-user impact?"
|
|
68
|
+
- **Confidence (20-100%):** "How confident are we in these estimates?" Default to 50% when no direct evidence exists.
|
|
69
|
+
- **Effort (1-10):** "Relative effort in story points?"
|
|
70
|
+
|
|
71
|
+
For each score, write a **one-line rationale** explaining the scoring basis (FR12). Example:
|
|
72
|
+
|
|
73
|
+
> **#1: Add output examples for Noah agent** — R:5 I:1 C:70% E:2 = 1.8
|
|
74
|
+
> *Reach 5: affects users checking agent outputs. Impact 1: helpful but workarounds exist. Confidence 70%: pattern validated with other agents. Effort 2: single file addition.*
|
|
75
|
+
|
|
76
|
+
**Calibration check:** Mentally compare each proposed score against 2-3 existing backlog items at similar scale. If the score would rank the item significantly above or below where it "feels" relative to those items, revisit the component scores.
|
|
77
|
+
|
|
78
|
+
### 3. Calculate Composite Scores and Sort
|
|
79
|
+
|
|
80
|
+
For each finding:
|
|
81
|
+
1. Calculate composite: Score = (Reach x Impact x Confidence) / Effort
|
|
82
|
+
2. Round to one decimal place
|
|
83
|
+
3. Verify score falls within expected range (~0.0 to ~30.0; existing backlog ranges ~0.2 to ~10.0)
|
|
84
|
+
|
|
85
|
+
Sort the batch:
|
|
86
|
+
1. **Primary:** Descending by composite score
|
|
87
|
+
2. **Tiebreak 1:** Higher Confidence first
|
|
88
|
+
3. **Tiebreak 2:** Newer insertion order first
|
|
89
|
+
|
|
90
|
+
### 4. Present Scoring Batch (Gate 2)
|
|
91
|
+
|
|
92
|
+
Display the scored results:
|
|
93
|
+
|
|
94
|
+
> **Gate 2 — Review Proposed RICE Scores**
|
|
95
|
+
>
|
|
96
|
+
> **Scored findings: [N]**
|
|
97
|
+
>
|
|
98
|
+
> | # | Finding | R | I | C | E | Score | Rationale |
|
|
99
|
+
> |---|---------|---|---|---|---|-------|-----------|
|
|
100
|
+
> | 1 | [title] | 5 | 2 | 80% | 3 | 2.7 | [one-line rationale] |
|
|
101
|
+
> | 2 | [title] | 3 | 1 | 60% | 2 | 0.9 | [one-line rationale] |
|
|
102
|
+
> | 3 | [title] | 7 | 0.5 | 50% | 1 | 1.8 | [one-line rationale] |
|
|
103
|
+
>
|
|
104
|
+
> *Sorted by composite score (descending). Formula: (R x I x C) / E*
|
|
105
|
+
|
|
106
|
+
### 5. Present GATE 2 MENU OPTIONS
|
|
107
|
+
|
|
108
|
+
Display:
|
|
109
|
+
|
|
110
|
+
> **Gate 2 — Adjust scores or finalize:**
|
|
111
|
+
>
|
|
112
|
+
> **Score adjustments** (by item number):
|
|
113
|
+
> - `#N R [value]` — Change Reach (1-10)
|
|
114
|
+
> - `#N I [value]` — Change Impact (0.25, 0.5, 1, 2, or 3)
|
|
115
|
+
> - `#N CF [value]` — Change Confidence (20-100%)
|
|
116
|
+
> - `#N E [value]` — Change Effort (1-10)
|
|
117
|
+
>
|
|
118
|
+
> **Batch editing:**
|
|
119
|
+
> - `D #N` — Drop item #N from the batch (will not be added to backlog)
|
|
120
|
+
>
|
|
121
|
+
> **[A] Advanced Elicitation** — Deeper analysis of scoring rationale
|
|
122
|
+
> **[P] Party Mode** — Multi-perspective scoring discussion
|
|
123
|
+
> **[C] Continue** — Finalize scores and proceed to backlog update
|
|
124
|
+
|
|
125
|
+
#### Menu Handling Logic:
|
|
126
|
+
- IF `#N R [value]`: Update Reach for item #N. Recalculate composite. Re-sort batch. Redisplay table and menu.
|
|
127
|
+
- IF `#N I [value]`: Update Impact for item #N. Recalculate composite. Re-sort batch. Redisplay table and menu.
|
|
128
|
+
- IF `#N CF [value]`: Update Confidence for item #N. Recalculate composite. Re-sort batch. Redisplay table and menu.
|
|
129
|
+
- IF `#N E [value]`: Update Effort for item #N. Recalculate composite. Re-sort batch. Redisplay table and menu.
|
|
130
|
+
- IF `D #N`: Remove item #N from the scoring batch. Redisplay table and menu.
|
|
131
|
+
- IF A: Execute {advancedElicitationTask} for deeper scoring analysis, and when finished redisplay the menu.
|
|
132
|
+
- IF P: Execute {partyModeWorkflow} for multi-perspective scoring discussion, and when finished redisplay the menu.
|
|
133
|
+
- IF C: Finalize the scored batch. Load, read the entire file, and execute `{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/steps-t/step-t-04-update.md`
|
|
134
|
+
- IF any other input: Display "Unknown command. Use `#N R/I/CF/E [value]`, `D #N`, **A**, **P**, or **C** to continue." then redisplay menu.
|
|
135
|
+
|
|
136
|
+
#### EXECUTION RULES:
|
|
137
|
+
- ALWAYS halt and wait for user input after presenting the menu
|
|
138
|
+
- After EVERY score adjustment, recalculate composite, re-sort, and redisplay the full table AND the menu
|
|
139
|
+
- The user may make multiple adjustments before pressing C
|
|
140
|
+
- ONLY proceed to step-t-04 when user selects 'C'
|
|
141
|
+
- After A or P execution, return to this menu
|
|
142
|
+
- Do NOT auto-continue — the user must explicitly approve the scores
|
|
143
|
+
|
|
144
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
145
|
+
### ✅ SUCCESS: All findings scored with calibrated RICE components and rationale, composites calculated correctly, batch sorted by score, user validated at Gate 2, finalized scores passed to step-t-04
|
|
146
|
+
### ❌ SYSTEM FAILURE: Scores proposed without rationale, composite formula wrong, scores outside valid ranges, user not given Gate 2 validation, findings written to backlog prematurely
|
|
147
|
+
**Master Rule:** Skipping steps is FORBIDDEN.
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 'step-t-04-update'
|
|
3
|
+
description: 'Validate backlog structure, append scored items safely, regenerate prioritized view, and present completion summary'
|
|
4
|
+
outputFile: '{planning_artifacts}/initiatives-backlog.md'
|
|
5
|
+
templateFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/templates/backlog-format-spec.md'
|
|
6
|
+
workflowFile: '{project-root}/_bmad/bme/_enhance/workflows/initiatives-backlog/workflow.md'
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Step 4: Backlog Update, Safety & Completion
|
|
10
|
+
|
|
11
|
+
## STEP GOAL:
|
|
12
|
+
|
|
13
|
+
Validate backlog structure, safely append scored items from Gate 2, regenerate the prioritized view, and present a completion summary before returning to the T/R/C menu.
|
|
14
|
+
|
|
15
|
+
## MANDATORY EXECUTION RULES (READ FIRST):
|
|
16
|
+
|
|
17
|
+
### Universal Rules:
|
|
18
|
+
- 🛑 NEVER generate content without user input at validation mismatch prompt
|
|
19
|
+
- 📖 CRITICAL: Read this complete step file before taking action
|
|
20
|
+
- 🔄 CRITICAL: When returning to menu, read the entire workflow file
|
|
21
|
+
- 📋 YOU ARE A BACKLOG OPERATIONS SPECIALIST performing safe, structured writes
|
|
22
|
+
|
|
23
|
+
### Role Reinforcement:
|
|
24
|
+
- ✅ You are a **backlog operations specialist** — precise, non-destructive, append-only
|
|
25
|
+
- ✅ Preserve all existing content — never delete, overwrite, or reorder existing rows
|
|
26
|
+
- ✅ The Prioritized View is the ONLY section regenerated from scratch
|
|
27
|
+
- ✅ All output must be standard markdown — no HTML, no proprietary syntax
|
|
28
|
+
|
|
29
|
+
### Step-Specific Rules:
|
|
30
|
+
- 🎯 Focus on validation, safe writes, and completion reporting
|
|
31
|
+
- 🚫 FORBIDDEN to delete or reorder existing backlog items (FR18, NFR1)
|
|
32
|
+
- 🚫 FORBIDDEN to re-score items (scoring was finalized at Gate 2)
|
|
33
|
+
- 🚫 FORBIDDEN to modify step-t-01, step-t-02, or step-t-03
|
|
34
|
+
- 💬 Approach: validate first, write safely, summarize clearly
|
|
35
|
+
|
|
36
|
+
## EXECUTION PROTOCOLS:
|
|
37
|
+
- 🎯 Follow the MANDATORY SEQUENCE exactly
|
|
38
|
+
- 📖 Load `{templateFile}` (backlog-format-spec.md) for structural validation rules and table formats
|
|
39
|
+
- 💾 Write to `{outputFile}` only after validation passes (or user overrides)
|
|
40
|
+
|
|
41
|
+
## CONTEXT BOUNDARIES:
|
|
42
|
+
- Available context: Scored findings from Gate 2, existing backlog file, backlog format spec template
|
|
43
|
+
- Focus: Structural validation, safe append, prioritized view regeneration, completion summary
|
|
44
|
+
- Limits: Do NOT re-score, re-extract, or re-classify items
|
|
45
|
+
- Dependencies: step-t-03-score.md (scored findings from Gate 2)
|
|
46
|
+
|
|
47
|
+
## MANDATORY SEQUENCE
|
|
48
|
+
|
|
49
|
+
**CRITICAL:** Follow this sequence exactly. Do not skip, reorder, or improvise.
|
|
50
|
+
|
|
51
|
+
### 1. Pre-Write Validation
|
|
52
|
+
|
|
53
|
+
Load `{outputFile}` (existing backlog) and validate structural integrity:
|
|
54
|
+
|
|
55
|
+
1. **Section heading anchors** — All 7 required H2 sections exist in correct order:
|
|
56
|
+
- `## RICE Scoring Guide`
|
|
57
|
+
- `## Backlog`
|
|
58
|
+
- `## Exploration Candidates`
|
|
59
|
+
- `## Epic Groupings`
|
|
60
|
+
- `## Prioritized View (by RICE Score)`
|
|
61
|
+
- `## Completed`
|
|
62
|
+
- `## Change Log`
|
|
63
|
+
2. **Prioritized view table** — Has exactly 6 columns (Rank, #, Initiative, Score, Track, Category)
|
|
64
|
+
3. **Category tables** — Each table under `## Backlog` has exactly 10 columns (#, Initiative, Source, R, I, C, E, Score, Track, Status)
|
|
65
|
+
4. **Change Log section** — The `## Change Log` H2 section exists with a table
|
|
66
|
+
|
|
67
|
+
If ALL checks pass, proceed directly to step 3 (Append Items).
|
|
68
|
+
|
|
69
|
+
### 2. Mismatch Handling
|
|
70
|
+
|
|
71
|
+
If ANY validation check fails, present the specific mismatch(es):
|
|
72
|
+
|
|
73
|
+
> **Pre-Write Validation — Structural Mismatch Detected**
|
|
74
|
+
>
|
|
75
|
+
> [List each failed check with details]
|
|
76
|
+
>
|
|
77
|
+
> **[Y] Yes, proceed anyway**
|
|
78
|
+
> **[X] Abort and return to menu**
|
|
79
|
+
|
|
80
|
+
**ALWAYS halt and wait for user input.**
|
|
81
|
+
|
|
82
|
+
- IF Y: Continue to step 3 (Append Items)
|
|
83
|
+
- IF X: Display "Aborting backlog update." then load, read the entire file, and execute `{workflowFile}` to return to mode selection
|
|
84
|
+
- IF any other input: Display "Please select **Y** or **X**." then redisplay the prompt
|
|
85
|
+
|
|
86
|
+
### 3. Append Items
|
|
87
|
+
|
|
88
|
+
For each scored item from Gate 2:
|
|
89
|
+
|
|
90
|
+
1. **Find target category** — Locate the H3 section under `## Backlog` matching the item's category
|
|
91
|
+
2. **Create category if needed** — If category doesn't exist, add a new H3 heading with a 10-column table at the end of `## Backlog` (before `## Exploration Candidates`)
|
|
92
|
+
3. **Generate item ID** — Use category prefix letter (D/U/T/I/A/P) + next number (increment from highest existing in that category)
|
|
93
|
+
4. **Append row** — Add new row to end of category table. NEVER delete, overwrite, or reorder existing rows
|
|
94
|
+
5. **Add provenance** — Include in the Initiative description: `Added from [source], [date]` where source is the input origin from step-t-01 and date is the current session date
|
|
95
|
+
|
|
96
|
+
**Column format** (10 columns per backlog-format-spec.md):
|
|
97
|
+
```
|
|
98
|
+
| [ID] | **[Title]** — [description]. Added from [source], [date] | [source ref] | [R] | [I] | [C]% | [E] | [score] | [track] | Backlog |
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**Important:** Triage Gate 2 adjustments are the initial score — no rescore provenance is generated.
|
|
102
|
+
|
|
103
|
+
### 4. Regenerate Prioritized View
|
|
104
|
+
|
|
105
|
+
Rebuild the `## Prioritized View (by RICE Score)` table from scratch:
|
|
106
|
+
|
|
107
|
+
1. Collect ALL active items from all category tables (existing + newly appended)
|
|
108
|
+
2. Exclude items with Status "Done" or items in the `## Completed` section
|
|
109
|
+
3. Sort by composite RICE score descending
|
|
110
|
+
4. Tiebreak: (1) Higher Confidence first, (2) Newer insertion order first
|
|
111
|
+
5. Generate sequential rank numbers starting at 1
|
|
112
|
+
|
|
113
|
+
Table format (6 columns):
|
|
114
|
+
```
|
|
115
|
+
| Rank | # | Initiative | Score | Track | Category |
|
|
116
|
+
|------|---|-----------|-------|-------|----------|
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
### 5. Add Changelog Entry
|
|
120
|
+
|
|
121
|
+
Prepend a new row to the `## Change Log` table (newest first):
|
|
122
|
+
|
|
123
|
+
```
|
|
124
|
+
| YYYY-MM-DD | Triage: Added [N] items ([categories affected]). [Any merge notes if applicable] |
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### 6. Update Last Updated Date
|
|
128
|
+
|
|
129
|
+
Set the metadata header `Last Updated` field to the current date (YYYY-MM-DD format).
|
|
130
|
+
|
|
131
|
+
### 7. Completion Summary & Return to Menu
|
|
132
|
+
|
|
133
|
+
After successful write, display:
|
|
134
|
+
|
|
135
|
+
> **Triage Complete**
|
|
136
|
+
>
|
|
137
|
+
> **Items added:** [N]
|
|
138
|
+
> **Items merged:** [N] (absorbed into existing items at Gate 1)
|
|
139
|
+
> **Categories affected:** [list]
|
|
140
|
+
>
|
|
141
|
+
> **New Top 3 Positions:**
|
|
142
|
+
> 1. [#ID] [title] — Score: [X.X]
|
|
143
|
+
> 2. [#ID] [title] — Score: [X.X]
|
|
144
|
+
> 3. [#ID] [title] — Score: [X.X]
|
|
145
|
+
|
|
146
|
+
Then return to the T/R/C menu:
|
|
147
|
+
|
|
148
|
+
> Loading `{workflowFile}` to return to mode selection...
|
|
149
|
+
|
|
150
|
+
Load, read the entire file, and execute `{workflowFile}`.
|
|
151
|
+
|
|
152
|
+
## 🚨 SYSTEM SUCCESS/FAILURE METRICS:
|
|
153
|
+
### ✅ SUCCESS: Pre-write validation performed, existing content preserved, items appended with correct IDs and provenance, prioritized view regenerated with all items sorted correctly, changelog updated, completion summary displayed with top 3, T/R/C menu re-presented
|
|
154
|
+
### ❌ SYSTEM FAILURE: Existing backlog content deleted/overwritten/reordered, items written without validation, wrong IDs or missing provenance, prioritized view not regenerated, no completion summary, no return to menu
|
|
155
|
+
**Master Rule:** Skipping steps is FORBIDDEN.
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# Backlog Format Specification
|
|
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.
|
|
4
|
+
|
|
5
|
+
All output must be standard markdown — no proprietary extensions, HTML embeds, or tool-specific syntax (NFR6).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Metadata Header
|
|
10
|
+
|
|
11
|
+
Every backlog file begins with:
|
|
12
|
+
|
|
13
|
+
```markdown
|
|
14
|
+
# Convoke Initiatives Backlog
|
|
15
|
+
|
|
16
|
+
**Created:** YYYY-MM-DD
|
|
17
|
+
**Method:** RICE (Reach, Impact, Confidence, Effort)
|
|
18
|
+
**Last Updated:** YYYY-MM-DD
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The `Last Updated` date is refreshed on every write operation.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Section Hierarchy
|
|
26
|
+
|
|
27
|
+
The backlog file uses this exact heading structure. Sections must appear in this order.
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
# Convoke Initiatives Backlog (H1 — title)
|
|
31
|
+
|
|
32
|
+
## RICE Scoring Guide (H2 — inline scoring reference)
|
|
33
|
+
|
|
34
|
+
## Backlog (H2 — active items container)
|
|
35
|
+
### [Category Name] (H3 — one per category, repeating)
|
|
36
|
+
|
|
37
|
+
## Exploration Candidates (H2 — unscored items needing discovery)
|
|
38
|
+
|
|
39
|
+
## Epic Groupings (H2 — bundled delivery suggestions)
|
|
40
|
+
### Epic: "[Name]" ([item IDs]) (H3 — one per grouping)
|
|
41
|
+
|
|
42
|
+
## Prioritized View (by RICE Score) (H2 — auto-generated ranked table)
|
|
43
|
+
|
|
44
|
+
## Completed (H2 — finished items, grouped by date)
|
|
45
|
+
### YYYY-MM-DD (H3 — date grouping for milestones)
|
|
46
|
+
|
|
47
|
+
## Change Log (H2 — operational history)
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### Category Names
|
|
51
|
+
|
|
52
|
+
Categories are user-defined H3 headings under `## Backlog`. The existing backlog uses:
|
|
53
|
+
|
|
54
|
+
- Documentation & Onboarding
|
|
55
|
+
- Update & Migration System
|
|
56
|
+
- Testing & CI
|
|
57
|
+
- Infrastructure
|
|
58
|
+
- Agent Quality & Consistency
|
|
59
|
+
- Platform & Product Vision
|
|
60
|
+
|
|
61
|
+
New categories may be added. Category names must be unique within the backlog.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Table Formats
|
|
66
|
+
|
|
67
|
+
### Category Table (under each H3 category)
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
| # | Initiative | Source | R | I | C | E | Score | Track | Status |
|
|
71
|
+
|---|-----------|--------|---|---|---|---|-------|-------|--------|
|
|
72
|
+
```
|
|
73
|
+
|
|
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
|
|
85
|
+
|
|
86
|
+
### Prioritized View Table (under `## Prioritized View`)
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
| Rank | # | Initiative | Score | Track | Category |
|
|
90
|
+
|------|---|-----------|-------|-------|----------|
|
|
91
|
+
```
|
|
92
|
+
|
|
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`)
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
| # | Initiative | Source | Next Step |
|
|
104
|
+
|---|-----------|--------|-----------|
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
These items are unscored and not included in the prioritized view.
|
|
108
|
+
|
|
109
|
+
### Completed Section Tables (under `## Completed`)
|
|
110
|
+
|
|
111
|
+
Grouped by date using H3 headers:
|
|
112
|
+
|
|
113
|
+
```markdown
|
|
114
|
+
### YYYY-MM-DD
|
|
115
|
+
|
|
116
|
+
| # | Initiative | Score | Category |
|
|
117
|
+
|---|-----------|-------|----------|
|
|
118
|
+
```
|
|
119
|
+
|
|
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.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Change Log Format
|
|
125
|
+
|
|
126
|
+
The Change Log section uses a table:
|
|
127
|
+
|
|
128
|
+
```markdown
|
|
129
|
+
## Change Log
|
|
130
|
+
|
|
131
|
+
| Date | Change |
|
|
132
|
+
|------|--------|
|
|
133
|
+
| YYYY-MM-DD | [Description of what changed] |
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Entries are prepended (newest first). Each workflow session adds one entry summarizing items added, removed, rescored, or moved.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
## RICE Composite Formula
|
|
141
|
+
|
|
142
|
+
**Formula:** Score = (Reach x Impact x Confidence) / Effort
|
|
143
|
+
|
|
144
|
+
Where Confidence is expressed as a decimal (e.g., 70% = 0.7).
|
|
145
|
+
|
|
146
|
+
**Example:** R:8, I:3, C:70%, E:6 = (8 x 3 x 0.7) / 6 = 2.8
|
|
147
|
+
|
|
148
|
+
**Sort order:** Descending by composite score. Ties broken by:
|
|
149
|
+
1. Confidence — higher first
|
|
150
|
+
2. Insertion order — newer first
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Insertion Rules
|
|
155
|
+
|
|
156
|
+
### Adding New Items (Triage mode, Create mode)
|
|
157
|
+
|
|
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
|
|
163
|
+
|
|
164
|
+
### Moving Items to Completed
|
|
165
|
+
|
|
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
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Provenance Tags
|
|
175
|
+
|
|
176
|
+
Provenance is recorded in the Initiative cell description or as a separate annotation.
|
|
177
|
+
|
|
178
|
+
### Triage Mode — New Items
|
|
179
|
+
|
|
180
|
+
Format: `"Added from [source], [date]"`
|
|
181
|
+
|
|
182
|
+
Example: `Added from party-mode review transcript, 2026-03-15`
|
|
183
|
+
|
|
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.
|
|
185
|
+
|
|
186
|
+
### Review Mode — Rescored Items
|
|
187
|
+
|
|
188
|
+
Format: `"Rescored [old]->[new], Review, [date]"`
|
|
189
|
+
|
|
190
|
+
Example: `Rescored 1.8->2.4, Review, 2026-03-15`
|
|
191
|
+
|
|
192
|
+
Only recorded when the composite score actually changes. Confirming an existing score or skipping an item generates no provenance entry.
|
|
193
|
+
|
|
194
|
+
### Create Mode — New Items
|
|
195
|
+
|
|
196
|
+
Format: `"Added from Create mode, [date]"`
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Pre-Write Validation
|
|
201
|
+
|
|
202
|
+
Before writing to the backlog file, the workflow must validate:
|
|
203
|
+
|
|
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.
|
|
209
|
+
|
|
210
|
+
If validation detects a structural mismatch, the user can proceed or abort.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Format Consistency
|
|
215
|
+
|
|
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:
|
|
217
|
+
- Round-trip parseability (the workflow can reload its own output)
|
|
218
|
+
- Manual editability (users can edit the file in any text editor between sessions)
|
|
219
|
+
- `git diff` readability (consistent formatting minimizes noise)
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# RICE Scoring Guide
|
|
2
|
+
|
|
3
|
+
Reference document for consistent RICE scoring across all initiatives backlog operations. Loaded by the workflow during Triage (Gate 2 scoring), Review (rescoring), and Create (initial scoring) modes.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## RICE Factor Definitions
|
|
8
|
+
|
|
9
|
+
| Factor | Scale | Description |
|
|
10
|
+
|--------|-------|-------------|
|
|
11
|
+
| **Reach** | 1-10 | How many users/quarter will this affect? (10 = all users, 1 = edge case) |
|
|
12
|
+
| **Impact** | 0.25 - 3 | Per-user impact (3 = massive, 2 = high, 1 = medium, 0.5 = low, 0.25 = minimal) |
|
|
13
|
+
| **Confidence** | 20-100% | How sure are we about reach and impact estimates? |
|
|
14
|
+
| **Effort** | 1-10 | Relative effort in story points (1 = trivial, 10 = multi-epic) |
|
|
15
|
+
| **Score** | calculated | (Reach x Impact x Confidence) / Effort |
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Guided Scoring Questions
|
|
20
|
+
|
|
21
|
+
Use these questions to guide scoring for each factor. The goal is genuine strategic reflection, not mechanical calculation.
|
|
22
|
+
|
|
23
|
+
### Reach (1-10)
|
|
24
|
+
|
|
25
|
+
"How many users per quarter will this affect?"
|
|
26
|
+
|
|
27
|
+
| Score | Meaning |
|
|
28
|
+
|-------|---------|
|
|
29
|
+
| 10 | All users — every project that installs Convoke encounters this |
|
|
30
|
+
| 7-9 | Most users — affects a common workflow or visible surface |
|
|
31
|
+
| 4-6 | Some users — affects a specific use case or user segment |
|
|
32
|
+
| 2-3 | Few users — niche scenario or advanced feature |
|
|
33
|
+
| 1 | Edge case — rare configuration or exceptional circumstance |
|
|
34
|
+
|
|
35
|
+
### Impact (0.25-3)
|
|
36
|
+
|
|
37
|
+
"What's the per-user impact when they encounter this?"
|
|
38
|
+
|
|
39
|
+
| Score | Meaning | Signal |
|
|
40
|
+
|-------|---------|--------|
|
|
41
|
+
| 3 | Massive | Unblocks a capability that didn't exist before; users would pay for this |
|
|
42
|
+
| 2 | High | Significant improvement to an existing workflow; saves meaningful time |
|
|
43
|
+
| 1 | Medium | Noticeable improvement; users appreciate it but can work around it |
|
|
44
|
+
| 0.5 | Low | Minor quality-of-life improvement; polish |
|
|
45
|
+
| 0.25 | Minimal | Cosmetic or hygienic; almost invisible to users |
|
|
46
|
+
|
|
47
|
+
### Confidence (20-100%)
|
|
48
|
+
|
|
49
|
+
"How confident are we in the Reach and Impact estimates?"
|
|
50
|
+
|
|
51
|
+
| Score | Meaning | Basis |
|
|
52
|
+
|-------|---------|-------|
|
|
53
|
+
| 100% | Measured data | Direct observation, usage metrics, user reports |
|
|
54
|
+
| 80% | Strong evidence | Multiple corroborating signals, team consensus |
|
|
55
|
+
| 60% | Reasonable estimate | Single data point or strong analogy to similar work |
|
|
56
|
+
| 50% | Educated guess | Logical reasoning without direct evidence |
|
|
57
|
+
| 40% | Informed speculation | Based on domain knowledge, no project-specific data |
|
|
58
|
+
| 20% | Pure speculation | Gut feeling, novel territory, no precedent |
|
|
59
|
+
|
|
60
|
+
### Effort (1-10)
|
|
61
|
+
|
|
62
|
+
"Relative effort in story points?"
|
|
63
|
+
|
|
64
|
+
| Score | Meaning |
|
|
65
|
+
|-------|---------|
|
|
66
|
+
| 1 | Trivial — single file change, under 30 minutes |
|
|
67
|
+
| 2-3 | Small — a few files, a focused session |
|
|
68
|
+
| 4-5 | Medium — multi-file, requires design thought, 1-2 stories |
|
|
69
|
+
| 6-7 | Large — multi-story, cross-cutting concerns |
|
|
70
|
+
| 8-9 | Very large — full epic, significant architecture work |
|
|
71
|
+
| 10 | Multi-epic — major initiative spanning multiple sprints |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Composite Formula & Sort Order
|
|
76
|
+
|
|
77
|
+
**Formula:** Score = (Reach x Impact x Confidence) / Effort
|
|
78
|
+
|
|
79
|
+
**Sort order:** Descending by composite score.
|
|
80
|
+
|
|
81
|
+
**Tiebreak rules:**
|
|
82
|
+
1. Higher Confidence first (more certain items surface above speculative ones)
|
|
83
|
+
2. Newer insertion order first (recently added items break remaining ties)
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
## Calibration Examples
|
|
88
|
+
|
|
89
|
+
These examples are drawn from the existing Convoke backlog to anchor scoring consistency. Study the reasoning, not just the numbers — the goal is to understand *why* items scored as they did.
|
|
90
|
+
|
|
91
|
+
### Low Tier (~0.2-0.5)
|
|
92
|
+
|
|
93
|
+
**A4: "Fix temp dir prefix inconsistency"** — R:1 I:0.25 C:100% E:1 = **0.3**
|
|
94
|
+
- Reach 1: Only affects internal tooling, no user visibility
|
|
95
|
+
- Impact 0.25: Cosmetic inconsistency with zero functional effect
|
|
96
|
+
- Confidence 100%: Known, observable, deterministic
|
|
97
|
+
- Effort 1: Single string change
|
|
98
|
+
- *Lesson: High confidence and low effort don't rescue low reach and minimal impact*
|
|
99
|
+
|
|
100
|
+
**A2: "Create .agent.yaml source files"** — R:2 I:0.5 C:60% E:4 = **0.2**
|
|
101
|
+
- Reach 2: Only affects module authors using the BMAD authoring pipeline
|
|
102
|
+
- Impact 0.5: Enables standard tooling but workarounds exist
|
|
103
|
+
- Confidence 60%: Unclear how many authors will use the pipeline
|
|
104
|
+
- Effort 4: Multiple files across multiple agents
|
|
105
|
+
- *Lesson: Moderate effort with uncertain reach pushes score very low*
|
|
106
|
+
|
|
107
|
+
### Medium Tier (~1.0-2.0)
|
|
108
|
+
|
|
109
|
+
**U4: "Test upgrade-path step file cleanup"** — R:3 I:1 C:90% E:2 = **1.4**
|
|
110
|
+
- Reach 3: Only users upgrading from specific older versions
|
|
111
|
+
- Impact 1: Prevents a confusing stale-file scenario
|
|
112
|
+
- Confidence 90%: Known issue from observed upgrade path
|
|
113
|
+
- Effort 2: Focused integration test
|
|
114
|
+
- *Lesson: High confidence on a real (but narrow) problem scores solidly mid-range*
|
|
115
|
+
|
|
116
|
+
**I1: "NPM_TOKEN secret for CI publish"** — R:8 I:2 C:90% E:8 = **1.8**
|
|
117
|
+
- Reach 8: Every release depends on this automation
|
|
118
|
+
- Impact 2: Eliminates manual publish step, significant time savings
|
|
119
|
+
- Confidence 90%: Well-understood CI pattern
|
|
120
|
+
- Effort 8: Full CI pipeline setup, secrets management, testing
|
|
121
|
+
- *Lesson: High reach and impact can be offset by high effort — the formula balances ambition against cost*
|
|
122
|
+
|
|
123
|
+
### High Tier (~2.5+)
|
|
124
|
+
|
|
125
|
+
**P4: "Enhance module"** — R:8 I:3 C:70% E:6 = **2.8**
|
|
126
|
+
- Reach 8: New capability for every BMAD user with Convoke
|
|
127
|
+
- Impact 3: Creates an entirely new value layer (multiplicative, not additive)
|
|
128
|
+
- Confidence 70%: Architecture validated but user adoption uncertain
|
|
129
|
+
- Effort 6: Multi-epic initiative with installer integration
|
|
130
|
+
- *Lesson: Massive impact with broad reach justifies investment even at moderate confidence*
|
|
131
|
+
|
|
132
|
+
**S4: "Skills migration & module compliance"** — R:10 I:2 C:90% E:5 = **3.6**
|
|
133
|
+
- Reach 10: Affects every user — skills activation was broken
|
|
134
|
+
- Impact 2: Restores core functionality and modernizes format
|
|
135
|
+
- Confidence 90%: Known breakage with clear fix path
|
|
136
|
+
- Effort 5: Multi-file migration with schema changes
|
|
137
|
+
- *Lesson: Universal reach with a clear fix and high confidence produces the highest scores*
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## Score Distribution Health Check
|
|
142
|
+
|
|
143
|
+
A healthy backlog has differentiated scores. If more than 3 items share the same composite score in the top 10 of the prioritized view, refine the distinguishing RICE components — typically Confidence or Impact have the most room for differentiation.
|
|
144
|
+
|
|
145
|
+
This is a quality signal, not a hard rule. Identical scores indicate either genuine parity (acceptable if rare) or insufficient scoring granularity (fix by re-examining the items with fresh eyes).
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Scoring Consistency Notes
|
|
150
|
+
|
|
151
|
+
- Scores in this backlog range from approximately 0.2 to 10.0. New scores should land within this range.
|
|
152
|
+
- Composite scores are rounded to one decimal place for display (e.g., 1.35 rounds to 1.4). This matches existing backlog convention and keeps the prioritized view scannable.
|
|
153
|
+
- When scoring a new item, mentally compare it to 2-3 existing items at similar scale. If your proposed score would rank it significantly above or below where it "feels" relative to those items, revisit the component scores.
|
|
154
|
+
- The Confidence factor is the most commonly under-scrutinized. Default to 50% (educated guess) when no direct evidence exists, not 80%.
|