@nano-step/skill-manager 5.6.0 → 5.6.1

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/dist/utils.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export declare const MANAGER_VERSION = "5.6.0";
1
+ export declare const MANAGER_VERSION = "5.6.1";
2
2
  export interface SkillManifest {
3
3
  name: string;
4
4
  version: string;
package/dist/utils.js CHANGED
@@ -13,7 +13,7 @@ exports.writeText = writeText;
13
13
  const path_1 = __importDefault(require("path"));
14
14
  const os_1 = __importDefault(require("os"));
15
15
  const fs_extra_1 = __importDefault(require("fs-extra"));
16
- exports.MANAGER_VERSION = "5.6.0";
16
+ exports.MANAGER_VERSION = "5.6.1";
17
17
  async function detectOpenCodePaths() {
18
18
  const homeConfig = path_1.default.join(os_1.default.homedir(), ".config", "opencode");
19
19
  const cwd = process.cwd();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nano-step/skill-manager",
3
- "version": "5.6.0",
3
+ "version": "5.6.1",
4
4
  "description": "CLI tool that installs and manages AI agent skills, MCP tool routing, and workflow configurations.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -19,15 +19,6 @@ nano-brain supports two access methods. Try MCP first; if unavailable, use CLI.
19
19
 
20
20
  ### Session Workflow
21
21
 
22
- **Start of session:** Check memory for relevant past context before exploring the codebase.
23
- ```
24
- # MCP (if available):
25
- memory_query("what have we done regarding {current task topic}")
26
-
27
- # CLI fallback:
28
- npx nano-brain query "what have we done regarding {current task topic}"
29
- ```
30
-
31
22
  **End of session:** Save key decisions, patterns discovered, and debugging insights.
32
23
  ```
33
24
  # MCP (if available):
@@ -0,0 +1,224 @@
1
+ ---
2
+ name: rri-t-testing
3
+ description: RRI-T v2 - Rapid Risk-Informed Testing with BMAD-enhanced risk scoring, traceability, quality gates, and nano-brain memory persistence
4
+ ---
5
+
6
+ # RRI-T v2.0 Testing Skill
7
+
8
+ Rapid Risk-Informed Testing methodology for AI agents. Guides systematic QA testing through 6 phases with risk scoring, traceability, quality gates, and cross-session memory persistence.
9
+
10
+ ## When to Use
11
+
12
+ - Testing a new feature before release
13
+ - Validating a bug fix with regression coverage
14
+ - Assessing release readiness with quality gates
15
+ - Building test cases from requirements with traceability
16
+ - Resuming interrupted testing sessions via nano-brain
17
+
18
+ ## Input Parameters
19
+
20
+ | Parameter | Required | Description |
21
+ |-----------|----------|-------------|
22
+ | `feature` | Yes | Feature name or PR reference |
23
+ | `tier` | No | Testing depth: `full` (default), `standard`, `minimal` |
24
+ | `acceptance_criteria` | No | List of acceptance criteria or link to spec |
25
+ | `environment` | No | Target environment (dev/staging/prod) |
26
+
27
+ ## Workflow Phases
28
+
29
+ ### Phase 0: ASSESS
30
+
31
+ Run testability gate, score risk, classify category, select tier, make go/no-go decision.
32
+
33
+ **Steps:**
34
+ 1. Load `assets/rri-t-testability-gate.md` template
35
+ 2. Validate prerequisites (environment, test data, deployment, acceptance criteria)
36
+ 3. Assess testability (locators, API docs, auth flows, error states, baselines)
37
+ 4. Score risk: Probability (1-3) x Impact (1-3) = Score (1-9)
38
+ 5. Classify category: TECH / SEC / PERF / DATA / BUS / OPS
39
+ 6. Select tier based on score
40
+ 7. Decision: PROCEED / CONCERNS / BLOCK
41
+
42
+ **Output:** `00-assess.md`, `risk-matrix.md`
43
+
44
+ **MEMORY SAVE:** `rri-t/{feature}/assess` - Save risk register, tier, decision
45
+
46
+ ---
47
+
48
+ ### Phase 1: PREPARE
49
+
50
+ Define test scope, assign personas, select dimensions based on tier.
51
+
52
+ **Steps:**
53
+ 1. Define test scope based on tier selection
54
+ 2. Assign personas (5 for Full, 3 for Standard, 1 for Minimal)
55
+ 3. Select dimensions (7 for Full, 4 for Standard, 2 for Minimal)
56
+ 4. Set coverage targets per tier
57
+ 5. Create output directory structure
58
+
59
+ **Output:** `01-prepare.md`
60
+
61
+ **MEMORY SAVE:** `rri-t/{feature}/prepare` - Save scope, persona assignments, dimension targets
62
+
63
+ ---
64
+
65
+ ### Phase 2: DISCOVER
66
+
67
+ Run persona interviews, map to dimensions, consolidate findings.
68
+
69
+ **Steps:**
70
+ 1. Load `assets/rri-t-persona-interview.md` template
71
+ 2. Run persona interviews using risk-tagged questions
72
+ 3. Map questions to dimensions (D1-D7)
73
+ 4. Consolidate findings into risk register update
74
+ 5. Generate raw test ideas
75
+
76
+ **Output:** `02-discover.md`
77
+
78
+ **MEMORY SAVE:** `rri-t/{feature}/discover` - Save interview findings, test ideas, updated risks
79
+
80
+ ---
81
+
82
+ ### Phase 3: STRUCTURE
83
+
84
+ Create test cases, select stress axes, build traceability matrix.
85
+
86
+ **Steps:**
87
+ 1. Load `assets/rri-t-test-case.md` template
88
+ 2. Create test cases with Q-A-R-P-T format + risk category + traceability
89
+ 3. Load `assets/rri-t-stress-matrix.md` and select relevant stress axes
90
+ 4. Build traceability matrix using `assets/rri-t-traceability-matrix.md`
91
+ 5. Identify coverage gaps
92
+
93
+ **Output:** `03-structure.md`, `traceability.md`
94
+
95
+ **MEMORY SAVE:** `rri-t/{feature}/structure` - Save test cases, traceability, gaps
96
+
97
+ ---
98
+
99
+ ### Phase 4: EXECUTE
100
+
101
+ Execute test cases via Playwright MCP, capture evidence, record results.
102
+
103
+ **Steps:**
104
+ 1. Execute test cases using Playwright MCP browser automation
105
+ 2. Capture evidence (screenshots, console logs, network requests)
106
+ 3. Record results: PASS / FAIL / PAINFUL / MISSING
107
+ 4. Calculate quality score using `assets/rri-t-quality-scorecard.md`
108
+ 5. Log bugs found
109
+
110
+ **Output:** `04-execute.md`, `quality-scorecard.md`
111
+
112
+ **MEMORY SAVE:** `rri-t/{feature}/execute` - Save results, bugs, quality score
113
+
114
+ ---
115
+
116
+ ### Phase 5: ANALYZE
117
+
118
+ Fill coverage dashboard, apply gate rules, generate final report.
119
+
120
+ **Steps:**
121
+ 1. Load `assets/rri-t-coverage-dashboard.md` template
122
+ 2. Fill coverage dashboard with results
123
+ 3. Complete traceability matrix with test results
124
+ 4. Apply gate decision rules (PASS/CONCERNS/FAIL/WAIVED)
125
+ 5. Generate final report
126
+ 6. Extract reusable patterns for knowledge base
127
+
128
+ **Output:** `05-analyze.md`, `coverage-dashboard.md`
129
+
130
+ **MEMORY SAVE:** `rri-t/{feature}/analyze` - Save gate decision, report, lessons learned, reusable patterns
131
+
132
+ ---
133
+
134
+ ## Output Directory Structure
135
+
136
+ ```
137
+ rri-t-{feature}/
138
+ 00-assess.md # Phase 0: Testability gate + risk assessment
139
+ 01-prepare.md # Phase 1: Scope, personas, dimensions
140
+ 02-discover.md # Phase 2: Interview findings, test ideas
141
+ 03-structure.md # Phase 3: Test cases, stress selections
142
+ 04-execute.md # Phase 4: Execution log, evidence
143
+ 05-analyze.md # Phase 5: Final analysis, recommendations
144
+ risk-matrix.md # Risk register with PxI scoring
145
+ traceability.md # Requirement-to-test mapping
146
+ quality-scorecard.md # 0-100 quality scoring
147
+ coverage-dashboard.md # Coverage metrics, gate decision
148
+ evidence/ # Screenshots, logs
149
+ ```
150
+
151
+ ## Templates
152
+
153
+ | Template | Purpose |
154
+ |----------|---------|
155
+ | `rri-t-testability-gate.md` | Phase 0 readiness checklist |
156
+ | `rri-t-risk-matrix.md` | PxI risk scoring template |
157
+ | `rri-t-traceability-matrix.md` | Requirement-to-test mapping |
158
+ | `rri-t-quality-scorecard.md` | 0-100 quality scoring |
159
+ | `rri-t-memory-protocol.md` | nano-brain save/resume protocol |
160
+ | `rri-t-test-case.md` | Q-A-R-P-T test case format |
161
+ | `rri-t-persona-interview.md` | 5-persona interview template |
162
+ | `rri-t-coverage-dashboard.md` | Coverage metrics dashboard |
163
+ | `rri-t-stress-matrix.md` | 8-axis stress testing scenarios |
164
+
165
+ ## 7 Dimensions
166
+
167
+ | ID | Dimension | Target Coverage |
168
+ |----|-----------|-----------------|
169
+ | D1 | UI/UX | >= 85% |
170
+ | D2 | API | >= 85% |
171
+ | D3 | Performance | >= 70% |
172
+ | D4 | Security | >= 85% |
173
+ | D5 | Data Integrity | >= 85% |
174
+ | D6 | Infrastructure | >= 70% |
175
+ | D7 | Edge Cases | >= 85% |
176
+
177
+ ## 5 Personas
178
+
179
+ | Persona | Focus |
180
+ |---------|-------|
181
+ | End User | Daily usage, speed, clarity, data safety |
182
+ | Business Analyst | Business rules, permissions, data consistency |
183
+ | QA Destroyer | Edge cases, race conditions, malformed inputs |
184
+ | DevOps Tester | Load, recovery, observability, scalability |
185
+ | Security Auditor | Auth, access control, data exposure, audit trails |
186
+
187
+ ## Tier Selection
188
+
189
+ | Tier | Risk Score | Personas | Dimensions | Stress Axes | Est. Time |
190
+ |------|------------|----------|------------|-------------|-----------|
191
+ | Full | 6-9 | 5 | 7 | 8 | 2-4 hours |
192
+ | Standard | 3-5 | 3 | 4 | 4 | 1-2 hours |
193
+ | Minimal | 1-2 | 1 | 2 | 2 | 30-60 min |
194
+
195
+ ## Release Gates
196
+
197
+ | State | Criteria |
198
+ |-------|----------|
199
+ | PASS | P0 coverage = 100% AND P1 >= 90% AND overall >= 80% |
200
+ | CONCERNS | P0 = 100% AND P1 = 80-89% AND mitigations documented |
201
+ | FAIL | P0 < 100% OR P1 < 80% OR unresolved security issues |
202
+ | WAIVED | FAIL + business approval + owner + expiry + remediation plan |
203
+
204
+ ## Risk Categories
205
+
206
+ | Code | Category | Description |
207
+ |------|----------|-------------|
208
+ | TECH | Technical | Architecture/integration fragility |
209
+ | SEC | Security | Security vulnerabilities |
210
+ | PERF | Performance | Performance/scalability issues |
211
+ | DATA | Data | Data integrity/corruption |
212
+ | BUS | Business | Business logic errors |
213
+ | OPS | Operational | Deployment/operational issues |
214
+
215
+ ## Guardrails
216
+
217
+ - Always run Phase 0 ASSESS before testing
218
+ - Score risk before testing (PxI formula)
219
+ - Use Q-A-R-P-T format for all test cases
220
+ - Map every test case to a requirement (traceability)
221
+ - Capture evidence for all FAIL and PAINFUL results
222
+ - Save to nano-brain after every phase
223
+ - Never skip security dimension for SEC-category risks
224
+ - Document all waivers with owner, expiry, remediation
@@ -0,0 +1,138 @@
1
+ # RRI-T Coverage Dashboard — {feature_name}
2
+
3
+ Feature: {feature_name}
4
+ Date: {date}
5
+ Release Gate Status: {release_gate_status}
6
+ Release Version: {release_version}
7
+ Owner: {owner}
8
+ Prepared By: {prepared_by}
9
+
10
+ ## Release Gate Criteria
11
+
12
+ | Rule | Criteria | Status |
13
+ | --- | --- | --- |
14
+ | RG-1 | All 7 dimensions >= 70% coverage | PASS / CONCERNS / FAIL / WAIVED |
15
+ | RG-2 | At least 5/7 dimensions >= 85% coverage | PASS / CONCERNS / FAIL / WAIVED |
16
+ | RG-3 | Zero P0 items in FAIL state | PASS / CONCERNS / FAIL / WAIVED |
17
+ | RG-4 | P0 coverage = 100% | PASS / CONCERNS / FAIL / WAIVED |
18
+ | RG-5 | P1 coverage >= 90% | PASS / CONCERNS / FAIL / WAIVED |
19
+
20
+ ### Gate Status Definitions
21
+
22
+ | Status | Definition |
23
+ | --- | --- |
24
+ | PASS | Criteria fully met |
25
+ | CONCERNS | Criteria partially met with documented mitigations |
26
+ | FAIL | Criteria not met |
27
+ | WAIVED | Criteria not met but approved with owner, expiry, remediation |
28
+
29
+ ## Dimension Coverage
30
+
31
+ | Dimension | Total | PASS | FAIL | PAINFUL | MISSING | Coverage % | Risk Score | Gate |
32
+ | --- | --- | --- | --- | --- | --- | --- | --- | --- |
33
+ | D1: UI/UX | {d1_total} | {d1_pass} | {d1_fail} | {d1_painful} | {d1_missing} | {d1_coverage} | {d1_risk} | PASS / CONCERNS / FAIL / WAIVED |
34
+ | D2: API | {d2_total} | {d2_pass} | {d2_fail} | {d2_painful} | {d2_missing} | {d2_coverage} | {d2_risk} | PASS / CONCERNS / FAIL / WAIVED |
35
+ | D3: Performance | {d3_total} | {d3_pass} | {d3_fail} | {d3_painful} | {d3_missing} | {d3_coverage} | {d3_risk} | PASS / CONCERNS / FAIL / WAIVED |
36
+ | D4: Security | {d4_total} | {d4_pass} | {d4_fail} | {d4_painful} | {d4_missing} | {d4_coverage} | {d4_risk} | PASS / CONCERNS / FAIL / WAIVED |
37
+ | D5: Data Integrity | {d5_total} | {d5_pass} | {d5_fail} | {d5_painful} | {d5_missing} | {d5_coverage} | {d5_risk} | PASS / CONCERNS / FAIL / WAIVED |
38
+ | D6: Infrastructure | {d6_total} | {d6_pass} | {d6_fail} | {d6_painful} | {d6_missing} | {d6_coverage} | {d6_risk} | PASS / CONCERNS / FAIL / WAIVED |
39
+ | D7: Edge Cases | {d7_total} | {d7_pass} | {d7_fail} | {d7_painful} | {d7_missing} | {d7_coverage} | {d7_risk} | PASS / CONCERNS / FAIL / WAIVED |
40
+
41
+ Legend: PASS | FAIL | PAINFUL | MISSING
42
+
43
+ ## Priority Breakdown
44
+
45
+ | Priority | Total | PASS | FAIL | PAINFUL | MISSING | Coverage % | Gate |
46
+ | --- | --- | --- | --- | --- | --- | --- | --- |
47
+ | P0 | {p0_total} | {p0_pass} | {p0_fail} | {p0_painful} | {p0_missing} | {p0_coverage} | PASS / CONCERNS / FAIL / WAIVED |
48
+ | P1 | {p1_total} | {p1_pass} | {p1_fail} | {p1_painful} | {p1_missing} | {p1_coverage} | PASS / CONCERNS / FAIL / WAIVED |
49
+ | P2 | {p2_total} | {p2_pass} | {p2_fail} | {p2_painful} | {p2_missing} | {p2_coverage} | PASS / CONCERNS / FAIL / WAIVED |
50
+ | P3 | {p3_total} | {p3_pass} | {p3_fail} | {p3_painful} | {p3_missing} | {p3_coverage} | PASS / CONCERNS / FAIL / WAIVED |
51
+
52
+ ## Summary Metrics
53
+
54
+ - Total Test Cases: {total_tc}
55
+ - Overall Coverage %: {overall_coverage}
56
+ - Dimensions Passing Gate: {dimensions_passing_gate}
57
+ - P0 FAIL Count: {p0_fail_count}
58
+ - P0 PAINFUL Count: {p0_painful_count}
59
+ - MISSING Count: {missing_count}
60
+ - Quality Score: {quality_score} (Grade: {grade})
61
+ - Latest Update: {latest_update}
62
+ - Notes: {summary_notes}
63
+ - Risks: {summary_risks}
64
+
65
+ ## Trend Tracking
66
+
67
+ | Metric | This Release | Last Release | Delta |
68
+ | --- | --- | --- | --- |
69
+ | Overall Coverage | {this_coverage}% | {last_coverage}% | {delta}% |
70
+ | P0 Pass Rate | {this_p0}% | {last_p0}% | {delta}% |
71
+ | P1 Pass Rate | {this_p1}% | {last_p1}% | {delta}% |
72
+ | Quality Score | {this_quality} | {last_quality} | {delta} |
73
+ | FAIL Count | {this_fail} | {last_fail} | {delta} |
74
+ | PAINFUL Count | {this_painful} | {last_painful} | {delta} |
75
+
76
+ ## Waiver Log
77
+
78
+ | Waiver ID | Item | Reason | Owner | Approved By | Expiry | Remediation Plan |
79
+ | --- | --- | --- | --- | --- | --- | --- |
80
+ | W-001 | | | | | | |
81
+ | W-002 | | | | | | |
82
+ | W-003 | | | | | | |
83
+
84
+ ## FAIL Items
85
+
86
+ | TC ID | Priority | Dimension | Description | Assigned To |
87
+ | --- | --- | --- | --- | --- |
88
+ | {fail_tc_id_1} | {fail_priority_1} | {fail_dimension_1} | {fail_description_1} | {fail_assigned_to_1} |
89
+ | {fail_tc_id_2} | {fail_priority_2} | {fail_dimension_2} | {fail_description_2} | {fail_assigned_to_2} |
90
+ | {fail_tc_id_3} | {fail_priority_3} | {fail_dimension_3} | {fail_description_3} | {fail_assigned_to_3} |
91
+ | {fail_tc_id_4} | {fail_priority_4} | {fail_dimension_4} | {fail_description_4} | {fail_assigned_to_4} |
92
+ | {fail_tc_id_5} | {fail_priority_5} | {fail_dimension_5} | {fail_description_5} | {fail_assigned_to_5} |
93
+
94
+ ## PAINFUL Items
95
+
96
+ | TC ID | Priority | Dimension | Description | UX Impact |
97
+ | --- | --- | --- | --- | --- |
98
+ | {painful_tc_id_1} | {painful_priority_1} | {painful_dimension_1} | {painful_description_1} | {painful_ux_impact_1} |
99
+ | {painful_tc_id_2} | {painful_priority_2} | {painful_dimension_2} | {painful_description_2} | {painful_ux_impact_2} |
100
+ | {painful_tc_id_3} | {painful_priority_3} | {painful_dimension_3} | {painful_description_3} | {painful_ux_impact_3} |
101
+ | {painful_tc_id_4} | {painful_priority_4} | {painful_dimension_4} | {painful_description_4} | {painful_ux_impact_4} |
102
+ | {painful_tc_id_5} | {painful_priority_5} | {painful_dimension_5} | {painful_description_5} | {painful_ux_impact_5} |
103
+
104
+ ## MISSING Items
105
+
106
+ | TC ID | Priority | Dimension | Description | User Need |
107
+ | --- | --- | --- | --- | --- |
108
+ | {missing_tc_id_1} | {missing_priority_1} | {missing_dimension_1} | {missing_description_1} | {missing_user_need_1} |
109
+ | {missing_tc_id_2} | {missing_priority_2} | {missing_dimension_2} | {missing_description_2} | {missing_user_need_2} |
110
+ | {missing_tc_id_3} | {missing_priority_3} | {missing_dimension_3} | {missing_description_3} | {missing_user_need_3} |
111
+ | {missing_tc_id_4} | {missing_priority_4} | {missing_dimension_4} | {missing_description_4} | {missing_user_need_4} |
112
+ | {missing_tc_id_5} | {missing_priority_5} | {missing_dimension_5} | {missing_description_5} | {missing_user_need_5} |
113
+
114
+ ## Regression Test List
115
+
116
+ | Test ID | Title | Dimension | Priority | Status |
117
+ | --- | --- | --- | --- | --- |
118
+ | {regression_id_1} | {regression_title_1} | {regression_dimension_1} | {regression_priority_1} | {regression_status_1} |
119
+ | {regression_id_2} | {regression_title_2} | {regression_dimension_2} | {regression_priority_2} | {regression_status_2} |
120
+ | {regression_id_3} | {regression_title_3} | {regression_dimension_3} | {regression_priority_3} | {regression_status_3} |
121
+ | {regression_id_4} | {regression_title_4} | {regression_dimension_4} | {regression_priority_4} | {regression_status_4} |
122
+ | {regression_id_5} | {regression_title_5} | {regression_dimension_5} | {regression_priority_5} | {regression_status_5} |
123
+
124
+ ## Sign-off
125
+
126
+ | Role | Name | Decision | Notes |
127
+ | --- | --- | --- | --- |
128
+ | QA Lead | {qa_lead_name} | APPROVE / REJECT / WAIVE | {qa_lead_notes} |
129
+ | Dev Lead | {dev_lead_name} | APPROVE / REJECT / WAIVE | {dev_lead_notes} |
130
+ | Product | {product_name} | APPROVE / REJECT / WAIVE | {product_notes} |
131
+
132
+ ## Final Gate Decision
133
+
134
+ **Decision:** PASS / CONCERNS / FAIL / WAIVED
135
+
136
+ **Rationale:** {rationale}
137
+
138
+ **Next Steps:** {next_steps}
@@ -0,0 +1,271 @@
1
+ # RRI-T Memory Protocol
2
+
3
+ ## Purpose
4
+
5
+ This protocol defines how RRI-T testing sessions persist state to nano-brain for cross-session continuity. Every phase saves its outputs, enabling resume from any point and cross-feature learning.
6
+
7
+ ## Save Format
8
+
9
+ ### Tag Convention
10
+
11
+ ```
12
+ rri-t/{feature-slug}/{phase}
13
+ ```
14
+
15
+ Examples:
16
+ - `rri-t/checkout-flow/assess`
17
+ - `rri-t/user-registration/discover`
18
+ - `rri-t/inventory-sync/execute`
19
+
20
+ ### Content Structure
21
+
22
+ ```markdown
23
+ ## RRI-T {Phase} Complete: {Feature}
24
+
25
+ - **Phase:** {0-5}
26
+ - **Date:** {ISO-8601}
27
+ - **Status:** COMPLETE / PARTIAL / BLOCKED
28
+ - **Tier:** Full / Standard / Minimal
29
+ - **Risk Score:** {1-9}
30
+
31
+ ### Key Outputs
32
+ {phase-specific data}
33
+
34
+ ### Decisions Made
35
+ {rationale for key decisions}
36
+
37
+ ### Next Phase
38
+ {what the next phase needs from this phase}
39
+
40
+ ### Risks Identified
41
+ {new or updated risks}
42
+ ```
43
+
44
+ ---
45
+
46
+ ## Phase-Specific Outputs
47
+
48
+ ### Phase 0: ASSESS
49
+
50
+ Save after completing testability gate and risk assessment.
51
+
52
+ ```markdown
53
+ ### Key Outputs
54
+ - Testability: {count}/5 prerequisites, {count}/5 testability criteria
55
+ - Risk Score: {P} x {I} = {score} ({level})
56
+ - Category: {CODE}
57
+ - Tier: {Full/Standard/Minimal}
58
+ - Decision: {PROCEED/CONCERNS/BLOCK}
59
+
60
+ ### Decisions Made
61
+ - Selected {tier} tier because {rationale}
62
+ - Primary risk category is {CODE} because {rationale}
63
+
64
+ ### Next Phase
65
+ - Personas to assign: {count}
66
+ - Dimensions to cover: {count}
67
+ - Blockers to address: {list or "none"}
68
+
69
+ ### Risks Identified
70
+ - R-001: {description} (Score: {score})
71
+ - R-002: {description} (Score: {score})
72
+ ```
73
+
74
+ ### Phase 1: PREPARE
75
+
76
+ Save after defining scope and assignments.
77
+
78
+ ```markdown
79
+ ### Key Outputs
80
+ - Personas: {list of assigned personas}
81
+ - Dimensions: {list of selected dimensions}
82
+ - Coverage targets: P0={pct}%, P1={pct}%, Overall={pct}%
83
+
84
+ ### Decisions Made
85
+ - Excluded {persona/dimension} because {rationale}
86
+ - Prioritized {dimension} because {rationale}
87
+
88
+ ### Next Phase
89
+ - Interview {count} personas
90
+ - Focus on {key areas}
91
+ ```
92
+
93
+ ### Phase 2: DISCOVER
94
+
95
+ Save after completing persona interviews.
96
+
97
+ ```markdown
98
+ ### Key Outputs
99
+ - Questions generated: {count}
100
+ - Test ideas: {count}
101
+ - Key concerns: {list}
102
+
103
+ ### Decisions Made
104
+ - Prioritized {concern} because {rationale}
105
+ - Deprioritized {area} because {rationale}
106
+
107
+ ### Next Phase
108
+ - Create {count} test cases
109
+ - Focus stress axes: {list}
110
+
111
+ ### Risks Identified
112
+ - R-003: {new risk from interviews}
113
+ ```
114
+
115
+ ### Phase 3: STRUCTURE
116
+
117
+ Save after creating test cases and traceability.
118
+
119
+ ```markdown
120
+ ### Key Outputs
121
+ - Test cases: {count} (P0: {n}, P1: {n}, P2: {n}, P3: {n})
122
+ - Traceability: {count} requirements mapped
123
+ - Coverage gaps: {count}
124
+ - Stress axes selected: {list}
125
+
126
+ ### Decisions Made
127
+ - Prioritized {test case} because {rationale}
128
+ - Deferred {test case} because {rationale}
129
+
130
+ ### Next Phase
131
+ - Execute {count} test cases
132
+ - Focus on {priority areas}
133
+ ```
134
+
135
+ ### Phase 4: EXECUTE
136
+
137
+ Save after executing tests and calculating quality score.
138
+
139
+ ```markdown
140
+ ### Key Outputs
141
+ - Results: PASS={n}, FAIL={n}, PAINFUL={n}, MISSING={n}
142
+ - Quality Score: {score} (Grade: {grade})
143
+ - Bugs found: {count}
144
+ - Evidence captured: {count} screenshots, {count} logs
145
+
146
+ ### Decisions Made
147
+ - Marked {test} as PAINFUL because {rationale}
148
+ - Skipped {test} because {rationale}
149
+
150
+ ### Next Phase
151
+ - Analyze {count} results
152
+ - Address {count} failures
153
+ - Fill coverage dashboard
154
+
155
+ ### Risks Identified
156
+ - R-004: {new risk from execution}
157
+ ```
158
+
159
+ ### Phase 5: ANALYZE
160
+
161
+ Save after completing analysis and gate decision.
162
+
163
+ ```markdown
164
+ ### Key Outputs
165
+ - Gate Decision: {PASS/CONCERNS/FAIL/WAIVED}
166
+ - Coverage: P0={pct}%, P1={pct}%, Overall={pct}%
167
+ - Dimensions passing: {count}/7
168
+ - Waivers: {count}
169
+
170
+ ### Decisions Made
171
+ - Gate decision is {decision} because {rationale}
172
+ - Waived {item} because {rationale}
173
+
174
+ ### Lessons Learned
175
+ - {lesson 1}
176
+ - {lesson 2}
177
+
178
+ ### Reusable Patterns
179
+ - {pattern for future features}
180
+ ```
181
+
182
+ ---
183
+
184
+ ## Resume Protocol
185
+
186
+ When resuming an interrupted session:
187
+
188
+ 1. **Query memory:**
189
+ ```
190
+ memory_query("rri-t {feature-name}")
191
+ ```
192
+
193
+ 2. **Find latest completed phase:**
194
+ Look for most recent phase with Status: COMPLETE
195
+
196
+ 3. **Load outputs as context:**
197
+ Read Key Outputs and Next Phase sections
198
+
199
+ 4. **Continue from next phase:**
200
+ Start the phase indicated in Next Phase
201
+
202
+ ---
203
+
204
+ ## Cross-Feature Learning
205
+
206
+ Save reusable patterns for future features:
207
+
208
+ ### Tag Convention
209
+
210
+ ```
211
+ rri-t/patterns/{category}
212
+ ```
213
+
214
+ Examples:
215
+ - `rri-t/patterns/auth-testing`
216
+ - `rri-t/patterns/offline-sync`
217
+ - `rri-t/patterns/vietnamese-locale`
218
+
219
+ ### Content Structure
220
+
221
+ ```markdown
222
+ ## RRI-T Pattern: {Pattern Name}
223
+
224
+ - **Category:** {category}
225
+ - **Discovered:** {date}
226
+ - **Source Feature:** {feature-name}
227
+
228
+ ### Pattern
229
+ {description of reusable approach}
230
+
231
+ ### When to Apply
232
+ {conditions when this pattern is useful}
233
+
234
+ ### Example
235
+ {concrete example from source feature}
236
+ ```
237
+
238
+ ---
239
+
240
+ ## Example: Phase 0 ASSESS Memory Save
241
+
242
+ ```
243
+ memory_write("## RRI-T ASSESS Complete: checkout-flow
244
+
245
+ - **Phase:** 0
246
+ - **Date:** 2025-03-08T10:30:00Z
247
+ - **Status:** COMPLETE
248
+ - **Tier:** Full
249
+ - **Risk Score:** 6
250
+
251
+ ### Key Outputs
252
+ - Testability: 5/5 prerequisites, 4/5 testability criteria
253
+ - Risk Score: 2 x 3 = 6 (HIGH)
254
+ - Category: DATA
255
+ - Tier: Full
256
+ - Decision: PROCEED
257
+
258
+ ### Decisions Made
259
+ - Selected Full tier because risk score 6 requires comprehensive coverage
260
+ - Primary risk category is DATA because checkout involves payment transactions
261
+
262
+ ### Next Phase
263
+ - Personas to assign: 5 (all)
264
+ - Dimensions to cover: 7 (all)
265
+ - Blockers to address: none
266
+
267
+ ### Risks Identified
268
+ - R-001: Payment state inconsistent on network failure (Score: 6)
269
+ - R-002: Cart not cleared after successful checkout (Score: 4)
270
+ ")
271
+ ```