rhachet-roles-bhuild 0.16.0 → 0.17.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.
@@ -185,7 +185,71 @@ reviews:
185
185
  2. eliminate it if not confirmed as required
186
186
  3. make the open question very clearly reported
187
187
 
188
- # 11. consistent mechanisms
188
+ # 11. test coverage thoroughness
189
+ - slug: has-thorough-test-coverage
190
+ say: |
191
+ review the blueprint for thorough test coverage declaration.
192
+
193
+ test coverage is MANDATORY and equal weight to implementation.
194
+ a blueprint without thorough test coverage is incomplete.
195
+
196
+ ## layer coverage
197
+
198
+ for each codepath in the blueprint, verify test coverage by layer:
199
+
200
+ | layer | required test type |
201
+ |-------|-------------------|
202
+ | transformers (pure computation, format conversion) | unit tests |
203
+ | communicators (sdks, daos, service clients) | integration tests |
204
+ | orchestrators (composition of transformers + communicators) | integration tests |
205
+ | contracts (cli, api, sdk entry points) | integration + acceptance tests |
206
+
207
+ ask for each codepath:
208
+ - does this blueprint declare the appropriate test type for this layer?
209
+ - are transformers covered by unit tests?
210
+ - are communicators covered by integration tests?
211
+ - are orchestrators covered by integration tests?
212
+ - are contracts covered by both integration and acceptance tests?
213
+
214
+ ## case coverage
215
+
216
+ for each codepath, verify coverage across case types:
217
+
218
+ | case type | what it must cover |
219
+ |-----------|-------------------|
220
+ | positive | expected inputs → expected outputs |
221
+ | negative | invalid inputs → expected errors |
222
+ | happy path | typical successful flow |
223
+ | edge cases | boundary conditions, empty inputs, max limits |
224
+
225
+ ask for each codepath:
226
+ - are positive cases declared?
227
+ - are negative cases declared?
228
+ - is the happy path covered?
229
+ - are edge cases identified and covered?
230
+
231
+ ## snapshot coverage
232
+
233
+ acceptance tests MUST snapshot contract stdouts — exhaustive for positive and negative cases:
234
+ - cli stdout/stderr (success + all error paths)
235
+ - api responses (success + all error responses)
236
+ - sdk returns (success + all thrown errors)
237
+
238
+ ask:
239
+ - does the blueprint declare snapshots for all contract outputs?
240
+ - are snapshots exhaustive for both positive and negative cases?
241
+ - is every error path covered by a snapshot?
242
+
243
+ ## test tree
244
+
245
+ verify the blueprint includes a test tree that shows:
246
+ - which test files will be created/updated
247
+ - test file locations match convention
248
+ - test types match layer requirements
249
+
250
+ fix all gaps before you continue.
251
+
252
+ # 12. consistent mechanisms
189
253
  - slug: has-consistent-mechanisms
190
254
  say: |
191
255
  review for new mechanisms that duplicate extant functionality.
@@ -204,7 +268,7 @@ reviews:
204
268
  1. replace with the extant mechanism
205
269
  2. or flag as an open question if unsure
206
270
 
207
- # 12. consistent conventions
271
+ # 13. consistent conventions
208
272
  - slug: has-consistent-conventions
209
273
  say: |
210
274
  review for divergence from extant names and patterns.
@@ -224,7 +288,7 @@ reviews:
224
288
  1. align with the extant convention
225
289
  2. or flag as an open question if the extant convention seems wrong
226
290
 
227
- # 13. behavior coverage
291
+ # 14. behavior coverage
228
292
  - slug: has-behavior-declaration-coverage
229
293
  say: |
230
294
  review for coverage of the behavior declaration.
@@ -241,7 +305,7 @@ reviews:
241
305
 
242
306
  fix all gaps before you continue.
243
307
 
244
- # 14. behavior adherance
308
+ # 15. behavior adherance
245
309
  - slug: has-behavior-declaration-adherance
246
310
  say: |
247
311
  review for adherance to the behavior declaration.
@@ -258,7 +322,7 @@ reviews:
258
322
 
259
323
  fix all gaps before you continue.
260
324
 
261
- # 15. standards adherance
325
+ # 16. standards adherance
262
326
  - slug: has-role-standards-adherance
263
327
  say: |
264
328
  review for adherance to mechanic role standards.
@@ -278,7 +342,7 @@ reviews:
278
342
 
279
343
  fix all gaps before you continue.
280
344
 
281
- # 16. standards coverage
345
+ # 17. standards coverage
282
346
  - slug: has-role-standards-coverage
283
347
  say: |
284
348
  review for coverage of mechanic role standards.
@@ -133,7 +133,71 @@ reviews:
133
133
  2. eliminate it if not confirmed as required
134
134
  3. make the open question very clearly reported
135
135
 
136
- # 7. consistent mechanisms
136
+ # 7. test coverage thoroughness
137
+ - slug: has-thorough-test-coverage
138
+ say: |
139
+ review the blueprint for thorough test coverage declaration.
140
+
141
+ test coverage is MANDATORY and equal weight to implementation.
142
+ a blueprint without thorough test coverage is incomplete.
143
+
144
+ ## layer coverage
145
+
146
+ for each codepath in the blueprint, verify test coverage by layer:
147
+
148
+ | layer | required test type |
149
+ |-------|-------------------|
150
+ | transformers (pure computation, format conversion) | unit tests |
151
+ | communicators (sdks, daos, service clients) | integration tests |
152
+ | orchestrators (composition of transformers + communicators) | integration tests |
153
+ | contracts (cli, api, sdk entry points) | integration + acceptance tests |
154
+
155
+ ask for each codepath:
156
+ - does this blueprint declare the appropriate test type for this layer?
157
+ - are transformers covered by unit tests?
158
+ - are communicators covered by integration tests?
159
+ - are orchestrators covered by integration tests?
160
+ - are contracts covered by both integration and acceptance tests?
161
+
162
+ ## case coverage
163
+
164
+ for each codepath, verify coverage across case types:
165
+
166
+ | case type | what it must cover |
167
+ |-----------|-------------------|
168
+ | positive | expected inputs → expected outputs |
169
+ | negative | invalid inputs → expected errors |
170
+ | happy path | typical successful flow |
171
+ | edge cases | boundary conditions, empty inputs, max limits |
172
+
173
+ ask for each codepath:
174
+ - are positive cases declared?
175
+ - are negative cases declared?
176
+ - is the happy path covered?
177
+ - are edge cases identified and covered?
178
+
179
+ ## snapshot coverage
180
+
181
+ acceptance tests MUST snapshot contract stdouts — exhaustive for positive and negative cases:
182
+ - cli stdout/stderr (success + all error paths)
183
+ - api responses (success + all error responses)
184
+ - sdk returns (success + all thrown errors)
185
+
186
+ ask:
187
+ - does the blueprint declare snapshots for all contract outputs?
188
+ - are snapshots exhaustive for both positive and negative cases?
189
+ - is every error path covered by a snapshot?
190
+
191
+ ## test tree
192
+
193
+ verify the blueprint includes a test tree that shows:
194
+ - which test files will be created/updated
195
+ - test file locations match convention
196
+ - test types match layer requirements
197
+
198
+ fix all gaps before you continue.
199
+
200
+ # 8. consistent mechanisms
137
201
  - slug: has-consistent-mechanisms
138
202
  say: |
139
203
  review for new mechanisms that duplicate extant functionality.
@@ -152,7 +216,7 @@ reviews:
152
216
  1. replace with the extant mechanism
153
217
  2. or flag as an open question if unsure
154
218
 
155
- # 8. consistent conventions
219
+ # 9. consistent conventions
156
220
  - slug: has-consistent-conventions
157
221
  say: |
158
222
  review for divergence from extant names and patterns.
@@ -172,7 +236,7 @@ reviews:
172
236
  1. align with the extant convention
173
237
  2. or flag as an open question if the extant convention seems wrong
174
238
 
175
- # 9. behavior coverage
239
+ # 10. behavior coverage
176
240
  - slug: has-behavior-declaration-coverage
177
241
  say: |
178
242
  review for coverage of the behavior declaration.
@@ -189,7 +253,7 @@ reviews:
189
253
 
190
254
  fix all gaps before you continue.
191
255
 
192
- # 10. behavior adherance
256
+ # 11. behavior adherance
193
257
  - slug: has-behavior-declaration-adherance
194
258
  say: |
195
259
  review for adherance to the behavior declaration.
@@ -206,7 +270,7 @@ reviews:
206
270
 
207
271
  fix all gaps before you continue.
208
272
 
209
- # 11. standards adherance
273
+ # 12. standards adherance
210
274
  - slug: has-role-standards-adherance
211
275
  say: |
212
276
  review for adherance to mechanic role standards.
@@ -226,7 +290,7 @@ reviews:
226
290
 
227
291
  fix all gaps before you continue.
228
292
 
229
- # 12. standards coverage
293
+ # 13. standards coverage
230
294
  - slug: has-role-standards-coverage
231
295
  say: |
232
296
  review for coverage of mechanic role standards.
@@ -44,11 +44,65 @@ include a treestruct of codepaths.
44
44
 
45
45
  ## test coverage
46
46
 
47
- enforce thorough test coverage for proof of behavior satisfaction:
48
- - unit tests for domain logic
49
- - integration tests for access boundaries (os, apis, sdks, daos)
50
- - integration tests for end-to-end flows
51
- - acceptance tests for blackbox behaviors
47
+ test coverage is a MANDATORY requirement, equal weight to implementation.
48
+ a blueprint without thorough test coverage is incomplete.
49
+
50
+ ### coverage by layer
51
+
52
+ | layer | scope | test type |
53
+ |-------|-------|-----------|
54
+ | transformers | pure computation, format conversion | unit tests |
55
+ | communicators | sdks, daos, service clients (i/o boundary) | integration tests |
56
+ | orchestrators | composition of transformers + communicators | integration tests |
57
+ | contracts | cli, api, sdk entry points | integration + acceptance tests |
58
+
59
+ ### coverage by case
60
+
61
+ for each codepath, declare coverage across:
62
+
63
+ | case type | what it covers |
64
+ |-----------|----------------|
65
+ | positive | expected inputs produce expected outputs |
66
+ | negative | invalid inputs produce expected errors |
67
+ | happy path | typical successful flow |
68
+ | edge cases | boundary conditions, empty inputs, max limits |
69
+
70
+ ### snapshots
71
+
72
+ acceptance tests MUST snapshot contract stdouts — exhaustive for positive and negative cases:
73
+ - cli stdout/stderr formats (success + all error paths)
74
+ - api response shapes (success + all error responses)
75
+ - sdk return types (success + all thrown errors)
76
+
77
+ snapshots enable visual review in PRs — verify outputs look correct.
78
+
79
+ ### test tree
80
+
81
+ include a treestruct of test coverage for each codepath:
82
+
83
+ ```
84
+ src/domain.operations/myTransformer/
85
+ ├── myTransformer.ts
86
+ └── myTransformer.test.ts # unit: transformer (pure)
87
+
88
+ src/domain.operations/myCommunicator/
89
+ ├── myCommunicator.ts
90
+ └── myCommunicator.integration.test.ts # integration: communicator (i/o)
91
+
92
+ src/domain.operations/myOrchestrator/
93
+ ├── myOrchestrator.ts
94
+ └── myOrchestrator.integration.test.ts # integration: orchestrator
95
+
96
+ src/contract/cli/myCommand.ts
97
+ └── myCommand.integration.test.ts # integration: contract (also an orchestrator)
98
+
99
+ blackbox/cli/myCommand.acceptance.test.ts # acceptance: contract (blackbox)
100
+ ```
101
+
102
+ **legend:**
103
+ - `[+]` create — test to create
104
+ - `[~]` update — test to update
105
+ - `[○]` retain — test to retain
52
106
 
53
107
  ---
54
108
 
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "rhachet-roles-bhuild",
3
3
  "author": "ehmpathy",
4
4
  "description": "roles for building resilient systems, via rhachet",
5
- "version": "0.16.0",
5
+ "version": "0.17.0",
6
6
  "repository": "ehmpathy/rhachet-roles-bhuild",
7
7
  "homepage": "https://github.com/ehmpathy/rhachet-roles-bhuild",
8
8
  "keywords": [