@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 +1 -1
- package/dist/utils.js +1 -1
- package/package.json +1 -1
- package/skills/nano-brain/AGENTS_SNIPPET.md +0 -9
- package/skills/rri-t-testing/SKILL.md +224 -0
- package/skills/rri-t-testing/assets/rri-t-coverage-dashboard.md +138 -0
- package/skills/rri-t-testing/assets/rri-t-memory-protocol.md +271 -0
- package/skills/rri-t-testing/assets/rri-t-persona-interview.md +249 -0
- package/skills/rri-t-testing/assets/rri-t-quality-scorecard.md +122 -0
- package/skills/rri-t-testing/assets/rri-t-risk-matrix.md +87 -0
- package/skills/rri-t-testing/assets/rri-t-stress-matrix.md +100 -0
- package/skills/rri-t-testing/assets/rri-t-test-case.md +181 -0
- package/skills/rri-t-testing/assets/rri-t-testability-gate.md +131 -0
- package/skills/rri-t-testing/assets/rri-t-traceability-matrix.md +105 -0
- package/skills/rri-t-testing/skill.json +9 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
# RRI-T Test Cases — {Feature Name}
|
|
2
|
+
|
|
3
|
+
**Feature:** {feature-name}
|
|
4
|
+
**Generated from:** Persona Interview ({date})
|
|
5
|
+
**Total Test Cases:** {count}
|
|
6
|
+
|
|
7
|
+
## Priority Distribution
|
|
8
|
+
| Priority | Count | Description |
|
|
9
|
+
|----------|-------|-------------|
|
|
10
|
+
| P0 | 0 | Critical — blocks release |
|
|
11
|
+
| P1 | 0 | Major — fix before release |
|
|
12
|
+
| P2 | 0 | Minor — next sprint |
|
|
13
|
+
| P3 | 0 | Trivial — backlog |
|
|
14
|
+
|
|
15
|
+
## Dimension Distribution
|
|
16
|
+
| Dimension | Count | Target Coverage |
|
|
17
|
+
|-----------|-------|----------------|
|
|
18
|
+
| D1: UI/UX | 0 | >= 85% |
|
|
19
|
+
| D2: API | 0 | >= 85% |
|
|
20
|
+
| D3: Performance | 0 | >= 70% |
|
|
21
|
+
| D4: Security | 0 | >= 85% |
|
|
22
|
+
| D5: Data Integrity | 0 | >= 85% |
|
|
23
|
+
| D6: Infrastructure | 0 | >= 70% |
|
|
24
|
+
| D7: Edge Cases | 0 | >= 85% |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Test Cases
|
|
29
|
+
|
|
30
|
+
### TC-RRI-{FEATURE}-001
|
|
31
|
+
- **Q (Question):** As an end user, what happens when I add an inventory item while on a weak 3G connection?
|
|
32
|
+
- **A (Answer):** The item should be saved locally immediately, show a "syncing" indicator, and sync to the server when connection improves. No data loss should occur.
|
|
33
|
+
- **R (Requirement):** REQ-OFFLINE-001: App must support offline-first operations with automatic sync
|
|
34
|
+
- **P (Priority):** P0
|
|
35
|
+
- **T (Test Case):**
|
|
36
|
+
- **Preconditions:**
|
|
37
|
+
- User logged in to household
|
|
38
|
+
- Device has weak 3G connection (simulated: 500ms latency, 50% packet loss)
|
|
39
|
+
- At least 1 existing inventory item for comparison
|
|
40
|
+
- **Steps:**
|
|
41
|
+
1. Navigate to Inventory screen
|
|
42
|
+
2. Tap "Add Item" button
|
|
43
|
+
3. Fill in: Name "Gao ST25", Quantity "5", Unit "kg", Expiration "2026-03-15"
|
|
44
|
+
4. Tap "Save"
|
|
45
|
+
5. Observe UI feedback
|
|
46
|
+
6. Wait 30 seconds
|
|
47
|
+
7. Check item appears in inventory list
|
|
48
|
+
8. Restore normal network connection
|
|
49
|
+
9. Wait for sync indicator to complete
|
|
50
|
+
10. Verify item exists on server (check from another device)
|
|
51
|
+
- **Expected Result:**
|
|
52
|
+
- Item appears in list immediately with "syncing" badge
|
|
53
|
+
- No error message shown
|
|
54
|
+
- After network restores, item syncs successfully
|
|
55
|
+
- Item visible from other devices within 5 seconds of sync
|
|
56
|
+
- **Dimension:** D3: Performance
|
|
57
|
+
- **Stress Axis:** TIME, INFRA
|
|
58
|
+
- **Source Persona:** End User
|
|
59
|
+
- **Risk Category:** PERF
|
|
60
|
+
- **Risk Score:** 6
|
|
61
|
+
- **Traceability:** REQ-OFFLINE-001
|
|
62
|
+
- **Result:** PASS
|
|
63
|
+
- **Notes:** Tested on iPhone 12 with Network Link Conditioner. Sync completed in 3.2s after network restored.
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
### TC-RRI-{FEATURE}-002
|
|
68
|
+
- **Q (Question):** As a business analyst, what happens when a household member with "viewer" role tries to delete an inventory item?
|
|
69
|
+
- **A (Answer):** The delete button should be hidden or disabled for viewers. If they somehow trigger a delete (via API manipulation), the server should reject it with a 403 Forbidden error.
|
|
70
|
+
- **R (Requirement):** REQ-RBAC-003: Viewers can only read data, not modify or delete
|
|
71
|
+
- **P (Priority):** P1
|
|
72
|
+
- **T (Test Case):**
|
|
73
|
+
- **Preconditions:**
|
|
74
|
+
- User "viewer@example.com" has "viewer" role in household "Test Family"
|
|
75
|
+
- Household has inventory item "Sua tuoi" (ID: inv_123)
|
|
76
|
+
- User logged in on mobile app
|
|
77
|
+
- **Steps:**
|
|
78
|
+
1. Login as viewer@example.com
|
|
79
|
+
2. Navigate to Inventory screen
|
|
80
|
+
3. Tap on "Sua tuoi" item to view details
|
|
81
|
+
4. Look for delete button/option
|
|
82
|
+
5. (If delete button exists) Attempt to tap it
|
|
83
|
+
6. (Alternative) Use GraphQL client to send deleteInventoryItem mutation directly
|
|
84
|
+
- **Expected Result:**
|
|
85
|
+
- Delete button should not be visible in UI
|
|
86
|
+
- If mutation sent directly, server returns error: `{"errors": [{"message": "Forbidden: insufficient permissions", "extensions": {"code": "FORBIDDEN"}}]}`
|
|
87
|
+
- Item remains in database unchanged
|
|
88
|
+
- **Dimension:** D4: Security
|
|
89
|
+
- **Stress Axis:** SECURITY
|
|
90
|
+
- **Source Persona:** Business Analyst
|
|
91
|
+
- **Risk Category:** SEC
|
|
92
|
+
- **Risk Score:** 6
|
|
93
|
+
- **Traceability:** REQ-RBAC-003
|
|
94
|
+
- **Result:** PAINFUL
|
|
95
|
+
- **Notes:** Delete button is correctly hidden, but when mutation sent via GraphQL Playground, error message is generic "Unauthorized" instead of specific "Forbidden: insufficient permissions". UX improvement: add clearer error messages for debugging. Item was NOT deleted (security works), but error clarity needs improvement.
|
|
96
|
+
|
|
97
|
+
---
|
|
98
|
+
|
|
99
|
+
### TC-RRI-{FEATURE}-003
|
|
100
|
+
- **Q (Question):** As a QA destroyer, what happens when I paste 50,000 characters into the "item name" field?
|
|
101
|
+
- **A (Answer):** The field should enforce a maximum length (e.g., 200 characters), truncate or reject input gracefully, and show a validation error. The app should not crash or freeze.
|
|
102
|
+
- **R (Requirement):** REQ-VALIDATION-005: All text inputs must have reasonable length limits
|
|
103
|
+
- **P (Priority):** P1
|
|
104
|
+
- **T (Test Case):**
|
|
105
|
+
- **Preconditions:**
|
|
106
|
+
- User logged in
|
|
107
|
+
- On "Add Inventory Item" screen
|
|
108
|
+
- Clipboard contains 50,000-character string
|
|
109
|
+
- **Steps:**
|
|
110
|
+
1. Tap into "Item Name" field
|
|
111
|
+
2. Paste 50,000-character string
|
|
112
|
+
3. Observe UI behavior
|
|
113
|
+
4. Attempt to save the form
|
|
114
|
+
- **Expected Result:**
|
|
115
|
+
- Field truncates input to max length (200 chars) OR shows validation error
|
|
116
|
+
- UI remains responsive (no freeze)
|
|
117
|
+
- Save button disabled or shows error: "Item name too long (max 200 characters)"
|
|
118
|
+
- No crash or GraphQL error
|
|
119
|
+
- **Dimension:** D7: Edge Cases
|
|
120
|
+
- **Stress Axis:** DATA, ERROR
|
|
121
|
+
- **Source Persona:** QA Destroyer
|
|
122
|
+
- **Risk Category:** DATA
|
|
123
|
+
- **Risk Score:** 4
|
|
124
|
+
- **Traceability:** REQ-VALIDATION-005
|
|
125
|
+
- **Result:** MISSING
|
|
126
|
+
- **Notes:** Feature not yet implemented. Current behavior: field accepts all 50,000 characters, UI freezes for 2-3 seconds, GraphQL mutation fails with "Payload too large" error. Need to add client-side validation and maxLength attribute.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
### TC-RRI-{FEATURE}-004
|
|
131
|
+
- **Q (Question):** {From persona's perspective — what are they trying to do/verify?}
|
|
132
|
+
- **A (Answer):** {Expected behavior — what SHOULD happen}
|
|
133
|
+
- **R (Requirement):** {Requirement ID or description}
|
|
134
|
+
- **P (Priority):** P0 | P1 | P2 | P3
|
|
135
|
+
- **T (Test Case):**
|
|
136
|
+
- **Preconditions:** {required state}
|
|
137
|
+
- **Steps:**
|
|
138
|
+
1. {step 1}
|
|
139
|
+
2. {step 2}
|
|
140
|
+
- **Expected Result:** {specific, measurable outcome}
|
|
141
|
+
- **Dimension:** D{n}: {name}
|
|
142
|
+
- **Stress Axis:** {axis name} (if applicable)
|
|
143
|
+
- **Source Persona:** {persona name}
|
|
144
|
+
- **Risk Category:** TECH | SEC | PERF | DATA | BUS | OPS
|
|
145
|
+
- **Risk Score:** {1-9}
|
|
146
|
+
- **Traceability:** {REQ-XXX}
|
|
147
|
+
- **Result:** PASS | FAIL | PAINFUL | MISSING
|
|
148
|
+
- **Notes:** {observations, screenshots, bug IDs}
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
### TC-RRI-{FEATURE}-005
|
|
153
|
+
- **Q (Question):** {From persona's perspective — what are they trying to do/verify?}
|
|
154
|
+
- **A (Answer):** {Expected behavior — what SHOULD happen}
|
|
155
|
+
- **R (Requirement):** {Requirement ID or description}
|
|
156
|
+
- **P (Priority):** P0 | P1 | P2 | P3
|
|
157
|
+
- **T (Test Case):**
|
|
158
|
+
- **Preconditions:** {required state}
|
|
159
|
+
- **Steps:**
|
|
160
|
+
1. {step 1}
|
|
161
|
+
2. {step 2}
|
|
162
|
+
- **Expected Result:** {specific, measurable outcome}
|
|
163
|
+
- **Dimension:** D{n}: {name}
|
|
164
|
+
- **Stress Axis:** {axis name} (if applicable)
|
|
165
|
+
- **Source Persona:** {persona name}
|
|
166
|
+
- **Risk Category:** TECH | SEC | PERF | DATA | BUS | OPS
|
|
167
|
+
- **Risk Score:** {1-9}
|
|
168
|
+
- **Traceability:** {REQ-XXX}
|
|
169
|
+
- **Result:** PASS | FAIL | PAINFUL | MISSING
|
|
170
|
+
- **Notes:** {observations, screenshots, bug IDs}
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Result Legend
|
|
175
|
+
|
|
176
|
+
| Result | Symbol | Description |
|
|
177
|
+
|--------|--------|-------------|
|
|
178
|
+
| PASS | PASS | Test passed, feature works as expected |
|
|
179
|
+
| FAIL | FAIL | Test failed, feature does not work |
|
|
180
|
+
| PAINFUL | PAINFUL | Feature works but UX is poor |
|
|
181
|
+
| MISSING | MISSING | Feature not implemented yet |
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# RRI-T Testability Gate
|
|
2
|
+
|
|
3
|
+
**Feature:** {feature-name}
|
|
4
|
+
**Date:** {YYYY-MM-DD}
|
|
5
|
+
**Assessor:** {agent/person}
|
|
6
|
+
**Build:** {build-id}
|
|
7
|
+
**Environment:** {dev/staging/prod}
|
|
8
|
+
|
|
9
|
+
## Prerequisites Validation
|
|
10
|
+
|
|
11
|
+
| # | Prerequisite | Status | Notes |
|
|
12
|
+
|---|--------------|--------|-------|
|
|
13
|
+
| PRE-1 | Environment accessible | PASS / FAIL | |
|
|
14
|
+
| PRE-2 | Test data available | PASS / FAIL | |
|
|
15
|
+
| PRE-3 | Feature deployed | PASS / FAIL | |
|
|
16
|
+
| PRE-4 | Acceptance criteria exist | PASS / FAIL | |
|
|
17
|
+
| PRE-5 | No blockers from dev | PASS / FAIL | |
|
|
18
|
+
|
|
19
|
+
**Prerequisites Result:** {count}/5 PASS
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Testability Assessment
|
|
24
|
+
|
|
25
|
+
| # | Testability Criteria | Status | Notes |
|
|
26
|
+
|---|---------------------|--------|-------|
|
|
27
|
+
| TEST-1 | Semantic locators present (data-testid, aria-label) | PASS / PARTIAL / FAIL | |
|
|
28
|
+
| TEST-2 | API endpoints documented | PASS / PARTIAL / FAIL | |
|
|
29
|
+
| TEST-3 | Auth flows accessible | PASS / PARTIAL / FAIL | |
|
|
30
|
+
| TEST-4 | Error states reproducible | PASS / PARTIAL / FAIL | |
|
|
31
|
+
| TEST-5 | Performance baselines available | PASS / PARTIAL / FAIL | |
|
|
32
|
+
|
|
33
|
+
**Testability Result:** {count}/5 PASS
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Risk Assessment
|
|
38
|
+
|
|
39
|
+
### Probability (1-3)
|
|
40
|
+
|
|
41
|
+
| Score | Definition |
|
|
42
|
+
|-------|------------|
|
|
43
|
+
| 1 | Unlikely - well-tested area, minor change |
|
|
44
|
+
| 2 | Possible - moderate complexity, some unknowns |
|
|
45
|
+
| 3 | Likely - new area, high complexity, many dependencies |
|
|
46
|
+
|
|
47
|
+
**Probability Score:** {1-3}
|
|
48
|
+
**Rationale:** {why this score}
|
|
49
|
+
|
|
50
|
+
### Impact (1-3)
|
|
51
|
+
|
|
52
|
+
| Score | Definition |
|
|
53
|
+
|-------|------------|
|
|
54
|
+
| 1 | Low - cosmetic, workaround exists |
|
|
55
|
+
| 2 | Medium - feature degraded, user friction |
|
|
56
|
+
| 3 | High - data loss, security breach, revenue impact |
|
|
57
|
+
|
|
58
|
+
**Impact Score:** {1-3}
|
|
59
|
+
**Rationale:** {why this score}
|
|
60
|
+
|
|
61
|
+
### Risk Score Calculation
|
|
62
|
+
|
|
63
|
+
**Risk Score = Probability x Impact = {P} x {I} = {score}**
|
|
64
|
+
|
|
65
|
+
| Score Range | Risk Level | Tier |
|
|
66
|
+
|-------------|------------|------|
|
|
67
|
+
| 1-2 | LOW | Minimal |
|
|
68
|
+
| 3-5 | MEDIUM | Standard |
|
|
69
|
+
| 6-8 | HIGH | Full |
|
|
70
|
+
| 9 | CRITICAL | Full + blocks release if untested |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Category Classification
|
|
75
|
+
|
|
76
|
+
| Category | Code | Applies |
|
|
77
|
+
|----------|------|---------|
|
|
78
|
+
| Technical (architecture/integration) | TECH | Y / N |
|
|
79
|
+
| Security (vulnerabilities) | SEC | Y / N |
|
|
80
|
+
| Performance (scalability) | PERF | Y / N |
|
|
81
|
+
| Data (integrity/corruption) | DATA | Y / N |
|
|
82
|
+
| Business (logic errors) | BUS | Y / N |
|
|
83
|
+
| Operational (deployment) | OPS | Y / N |
|
|
84
|
+
|
|
85
|
+
**Primary Category:** {CODE}
|
|
86
|
+
**Secondary Categories:** {CODE, CODE}
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Tier Selection
|
|
91
|
+
|
|
92
|
+
Based on Risk Score: {score}
|
|
93
|
+
|
|
94
|
+
| Selected | Tier | Personas | Dimensions | Stress Axes |
|
|
95
|
+
|----------|------|----------|------------|-------------|
|
|
96
|
+
| [ ] | Full | 5 | 7 | 8 |
|
|
97
|
+
| [ ] | Standard | 3 | 4 | 4 |
|
|
98
|
+
| [ ] | Minimal | 1 | 2 | 2 |
|
|
99
|
+
|
|
100
|
+
**Selected Tier:** {tier}
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Decision
|
|
105
|
+
|
|
106
|
+
| Decision | Criteria |
|
|
107
|
+
|----------|----------|
|
|
108
|
+
| PROCEED | All prerequisites PASS, testability >= 3/5 PASS |
|
|
109
|
+
| CONCERNS | 1-2 prerequisites FAIL or testability 2/5 PASS |
|
|
110
|
+
| BLOCK | >= 3 prerequisites FAIL or testability < 2/5 PASS |
|
|
111
|
+
|
|
112
|
+
**Decision:** PROCEED / CONCERNS / BLOCK
|
|
113
|
+
|
|
114
|
+
### Action Items (if CONCERNS or BLOCK)
|
|
115
|
+
|
|
116
|
+
| # | Action | Owner | Due |
|
|
117
|
+
|---|--------|-------|-----|
|
|
118
|
+
| 1 | | | |
|
|
119
|
+
| 2 | | | |
|
|
120
|
+
| 3 | | | |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Summary
|
|
125
|
+
|
|
126
|
+
- **Feature:** {feature-name}
|
|
127
|
+
- **Risk Score:** {score} ({level})
|
|
128
|
+
- **Category:** {CODE}
|
|
129
|
+
- **Tier:** {tier}
|
|
130
|
+
- **Decision:** {decision}
|
|
131
|
+
- **Next Phase:** {PREPARE / address blockers}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# RRI-T Traceability Matrix
|
|
2
|
+
|
|
3
|
+
**Feature:** {feature-name}
|
|
4
|
+
**Date:** {YYYY-MM-DD}
|
|
5
|
+
**Scope:** {scope-description}
|
|
6
|
+
**Phase:** {current-phase}
|
|
7
|
+
|
|
8
|
+
## Coverage Summary
|
|
9
|
+
|
|
10
|
+
| Priority | Total Reqs | Covered | Percentage | Status |
|
|
11
|
+
|----------|------------|---------|------------|--------|
|
|
12
|
+
| P0 | {count} | {count} | {pct}% | PASS / CONCERNS / FAIL |
|
|
13
|
+
| P1 | {count} | {count} | {pct}% | PASS / CONCERNS / FAIL |
|
|
14
|
+
| P2 | {count} | {count} | {pct}% | PASS / CONCERNS / FAIL |
|
|
15
|
+
| P3 | {count} | {count} | {pct}% | PASS / CONCERNS / FAIL |
|
|
16
|
+
| **Total** | {count} | {count} | {pct}% | {status} |
|
|
17
|
+
|
|
18
|
+
### Status Thresholds
|
|
19
|
+
|
|
20
|
+
| Status | P0 | P1 | Overall |
|
|
21
|
+
|--------|----|----|---------|
|
|
22
|
+
| PASS | 100% | >= 90% | >= 80% |
|
|
23
|
+
| CONCERNS | 100% | 80-89% | 70-79% |
|
|
24
|
+
| FAIL | < 100% | < 80% | < 70% |
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Detailed Traceability
|
|
29
|
+
|
|
30
|
+
### P0 Requirements (Critical)
|
|
31
|
+
|
|
32
|
+
| Req ID | Requirement | Test Cases | Coverage | Result |
|
|
33
|
+
|--------|-------------|------------|----------|--------|
|
|
34
|
+
| REQ-001 | User can login with valid credentials | TC-001, TC-002 | FULL | PASS |
|
|
35
|
+
| REQ-002 | Data persists after session timeout | TC-003 | FULL | PASS |
|
|
36
|
+
| REQ-003 | Payment transactions are atomic | TC-004, TC-005, TC-006 | FULL | FAIL |
|
|
37
|
+
| REQ-004 | | | | |
|
|
38
|
+
| REQ-005 | | | | |
|
|
39
|
+
|
|
40
|
+
### P1 Requirements (Major)
|
|
41
|
+
|
|
42
|
+
| Req ID | Requirement | Test Cases | Coverage | Result |
|
|
43
|
+
|--------|-------------|------------|----------|--------|
|
|
44
|
+
| REQ-101 | Search supports Vietnamese diacritics | TC-101 | FULL | PASS |
|
|
45
|
+
| REQ-102 | Offline changes sync within 60s | TC-102, TC-103 | PARTIAL | CONCERNS |
|
|
46
|
+
| REQ-103 | Role changes take effect immediately | | NONE | MISSING |
|
|
47
|
+
| REQ-104 | | | | |
|
|
48
|
+
| REQ-105 | | | | |
|
|
49
|
+
|
|
50
|
+
### P2 Requirements (Minor)
|
|
51
|
+
|
|
52
|
+
| Req ID | Requirement | Test Cases | Coverage | Result |
|
|
53
|
+
|--------|-------------|------------|----------|--------|
|
|
54
|
+
| REQ-201 | | | | |
|
|
55
|
+
| REQ-202 | | | | |
|
|
56
|
+
| REQ-203 | | | | |
|
|
57
|
+
|
|
58
|
+
### P3 Requirements (Trivial)
|
|
59
|
+
|
|
60
|
+
| Req ID | Requirement | Test Cases | Coverage | Result |
|
|
61
|
+
|--------|-------------|------------|----------|--------|
|
|
62
|
+
| REQ-301 | | | | |
|
|
63
|
+
| REQ-302 | | | | |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
## Coverage Legend
|
|
68
|
+
|
|
69
|
+
| Coverage | Definition |
|
|
70
|
+
|----------|------------|
|
|
71
|
+
| FULL | All acceptance criteria have test cases |
|
|
72
|
+
| PARTIAL | Some acceptance criteria have test cases |
|
|
73
|
+
| NONE | No test cases mapped to requirement |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Gap Prioritization
|
|
78
|
+
|
|
79
|
+
| Gap # | Requirement | Priority | Risk | Recommendation |
|
|
80
|
+
|-------|-------------|----------|------|----------------|
|
|
81
|
+
| GAP-1 | REQ-103: Role changes take effect immediately | P1 | HIGH | Add TC for role revocation mid-session |
|
|
82
|
+
| GAP-2 | REQ-102: Offline sync (partial coverage) | P1 | MEDIUM | Add TC for 50+ pending changes |
|
|
83
|
+
| GAP-3 | | | | |
|
|
84
|
+
| GAP-4 | | | | |
|
|
85
|
+
| GAP-5 | | | | |
|
|
86
|
+
|
|
87
|
+
### Gap Severity
|
|
88
|
+
|
|
89
|
+
| Severity | Definition |
|
|
90
|
+
|----------|------------|
|
|
91
|
+
| CRITICAL | P0 requirement with NONE or PARTIAL coverage |
|
|
92
|
+
| HIGH | P1 requirement with NONE coverage |
|
|
93
|
+
| MEDIUM | P1 requirement with PARTIAL coverage |
|
|
94
|
+
| LOW | P2/P3 requirement with NONE or PARTIAL coverage |
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Summary
|
|
99
|
+
|
|
100
|
+
- **Total Requirements:** {count}
|
|
101
|
+
- **Fully Covered:** {count} ({pct}%)
|
|
102
|
+
- **Partially Covered:** {count} ({pct}%)
|
|
103
|
+
- **Not Covered:** {count} ({pct}%)
|
|
104
|
+
- **Critical Gaps:** {count}
|
|
105
|
+
- **High Gaps:** {count}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "rri-t-testing",
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"description": "RRI-T v2: Rapid Risk-Informed Testing with BMAD-enhanced risk scoring, traceability, quality gates, and nano-brain memory persistence",
|
|
5
|
+
"compatibility": "OpenCode",
|
|
6
|
+
"agent": null,
|
|
7
|
+
"commands": [],
|
|
8
|
+
"tags": ["testing", "qa", "rri-t", "release-gates", "test-cases", "risk-scoring", "traceability", "bmad", "nano-brain"]
|
|
9
|
+
}
|