rhachet-roles-bhuild 0.14.3 → 0.14.5
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/domain.operations/behavior/init/templates/3.3.1.blueprint.product.v1.guard.heavy +13 -0
- package/dist/domain.operations/behavior/init/templates/3.3.1.blueprint.product.v1.guard.light +13 -0
- package/dist/domain.operations/behavior/init/templates/5.1.execution.phase0_to_phaseN.v1.guard +6 -0
- package/dist/domain.operations/behavior/init/templates/5.2.evaluation.v1.stone +11 -9
- package/dist/domain.operations/behavior/init/templates/5.3.verification.v1.guard +48 -10
- package/dist/domain.operations/behavior/init/templates/5.3.verification.v1.stone +31 -3
- package/dist/domain.operations/behavior/init/templates/5.5.playtest.v1.guard +6 -0
- package/package.json +5 -5
package/dist/domain.operations/behavior/init/templates/3.3.1.blueprint.product.v1.guard.heavy
CHANGED
|
@@ -11,6 +11,19 @@ reviews:
|
|
|
11
11
|
say: |
|
|
12
12
|
try hard to delete before you optimize:
|
|
13
13
|
|
|
14
|
+
## features
|
|
15
|
+
|
|
16
|
+
for each feature in the blueprint, ask:
|
|
17
|
+
- does this feature trace to a requirement in the criteria?
|
|
18
|
+
- did the wisher explicitly ask for this feature?
|
|
19
|
+
- or did we assume it was needed?
|
|
20
|
+
|
|
21
|
+
if a feature has no traceability to vision or criteria:
|
|
22
|
+
1. delete it
|
|
23
|
+
2. or flag it as an open question for the wisher
|
|
24
|
+
|
|
25
|
+
## components
|
|
26
|
+
|
|
14
27
|
for each component, ask:
|
|
15
28
|
- can this be removed entirely?
|
|
16
29
|
- if we deleted this and had to add it back, would we?
|
package/dist/domain.operations/behavior/init/templates/3.3.1.blueprint.product.v1.guard.light
CHANGED
|
@@ -11,6 +11,19 @@ reviews:
|
|
|
11
11
|
say: |
|
|
12
12
|
try hard to delete before you optimize:
|
|
13
13
|
|
|
14
|
+
## features
|
|
15
|
+
|
|
16
|
+
for each feature in the blueprint, ask:
|
|
17
|
+
- does this feature trace to a requirement in the criteria?
|
|
18
|
+
- did the wisher explicitly ask for this feature?
|
|
19
|
+
- or did we assume it was needed?
|
|
20
|
+
|
|
21
|
+
if a feature has no traceability to vision or criteria:
|
|
22
|
+
1. delete it
|
|
23
|
+
2. or flag it as an open question for the wisher
|
|
24
|
+
|
|
25
|
+
## components
|
|
26
|
+
|
|
14
27
|
for each component, ask:
|
|
15
28
|
- can this be removed entirely?
|
|
16
29
|
- if we deleted this and had to add it back, would we?
|
package/dist/domain.operations/behavior/init/templates/5.1.execution.phase0_to_phaseN.v1.guard
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# guard for execution stone
|
|
2
2
|
# includes standardized self-review frame
|
|
3
3
|
|
|
4
|
+
artifacts:
|
|
5
|
+
# track execution progress
|
|
6
|
+
- "$route/5.1.execution.phase0_to_phaseN.v1.i1.md"
|
|
7
|
+
# track actual implementation in src/
|
|
8
|
+
- "src/**/*"
|
|
9
|
+
|
|
4
10
|
reviews:
|
|
5
11
|
self:
|
|
6
12
|
# 1. minimalism - yagni
|
|
@@ -3,8 +3,9 @@ evaluate what was implemented against the blueprint
|
|
|
3
3
|
.what = articulate exactly what was implemented, then check for divergences from blueprint.
|
|
4
4
|
|
|
5
5
|
.why = the blueprint declared what the execution would adhere to.
|
|
6
|
-
- divergences
|
|
7
|
-
-
|
|
6
|
+
- divergences are NOT allowed
|
|
7
|
+
- default action is REPAIR — fix implementation to match blueprint
|
|
8
|
+
- if repair is impossible, raise BLOCKER and request human approval
|
|
8
9
|
- this gate prevents silent deviations from approved design
|
|
9
10
|
|
|
10
11
|
---
|
|
@@ -68,20 +69,21 @@ for each section (summary, filediff, codepath, test coverage), compare:
|
|
|
68
69
|
|
|
69
70
|
### divergence resolution
|
|
70
71
|
|
|
71
|
-
for each divergence
|
|
72
|
+
for each divergence:
|
|
72
73
|
|
|
73
|
-
**repair** — fix the implementation to match the blueprint:
|
|
74
|
+
**repair** (default) — fix the implementation to match the blueprint:
|
|
74
75
|
- what needs to change to match blueprint?
|
|
75
76
|
- make the change, then update the "as implemented" section above
|
|
76
77
|
|
|
77
|
-
**
|
|
78
|
-
- why
|
|
79
|
-
-
|
|
80
|
-
-
|
|
78
|
+
**blocker** (only if repair is impossible) — request human approval:
|
|
79
|
+
- why is repair impossible?
|
|
80
|
+
- what constraint prevents adherence to blueprint?
|
|
81
|
+
- run `rhx route.stone.set --as blocked` to declare yourself blocked and request human approval
|
|
82
|
+
- STOP and await human decision before you proceed
|
|
81
83
|
|
|
82
84
|
| divergence | resolution | rationale |
|
|
83
85
|
|------------|------------|-----------|
|
|
84
|
-
| ... | repair/
|
|
86
|
+
| ... | repair/blocker | ... |
|
|
85
87
|
|
|
86
88
|
---
|
|
87
89
|
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
artifacts:
|
|
2
|
+
# track verification progress
|
|
3
|
+
- "$route/5.3.verification.v1.i1.md"
|
|
4
|
+
# track actual implementation in src/
|
|
5
|
+
- "src/**/*"
|
|
6
|
+
|
|
1
7
|
reviews:
|
|
2
8
|
self:
|
|
3
9
|
- slug: has-behavior-coverage
|
|
@@ -67,19 +73,51 @@ reviews:
|
|
|
67
73
|
|
|
68
74
|
if any journey was planned but not implemented, go back and add it.
|
|
69
75
|
|
|
70
|
-
- slug: has-
|
|
76
|
+
- slug: has-contract-output-variants-snapped
|
|
77
|
+
say: |
|
|
78
|
+
double-check: does each public contract have snapshots for all output variants?
|
|
79
|
+
|
|
80
|
+
for each new or modified public contract (cli command, sdk method, api endpoint):
|
|
81
|
+
- is there a dedicated snapshot file with `.toMatchSnapshot()` or equivalent?
|
|
82
|
+
- does the snapshot capture what the caller would actually see?
|
|
83
|
+
- does it exercise the success case?
|
|
84
|
+
- does it exercise error cases?
|
|
85
|
+
- does it exercise edge cases and variants (e.g., --help, empty input)?
|
|
86
|
+
|
|
87
|
+
output types to capture:
|
|
88
|
+
- for CLI: stdout/stderr
|
|
89
|
+
- for UI: screens
|
|
90
|
+
- for SDK: responses
|
|
91
|
+
|
|
92
|
+
why this matters:
|
|
93
|
+
- snapshots enable vibecheck in prs — reviewers see actual output without execute
|
|
94
|
+
- snapshots detect drift over time — output changes surface in diffs
|
|
95
|
+
- absent variants mean blind spots in review
|
|
96
|
+
|
|
97
|
+
if a contract lacks variant coverage, add the test cases now.
|
|
98
|
+
|
|
99
|
+
- slug: has-snap-changes-rationalized
|
|
71
100
|
say: |
|
|
72
|
-
double-check:
|
|
101
|
+
double-check: is every `.snap` file change intentional and justified?
|
|
102
|
+
|
|
103
|
+
for each `.snap` file in git diff:
|
|
104
|
+
1. what changed? (added, modified, deleted)
|
|
105
|
+
2. was this change intended or accidental?
|
|
106
|
+
3. if intended: what is the rationale?
|
|
107
|
+
4. if accidental: revert it or explain why the new output is an improvement
|
|
73
108
|
|
|
74
|
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
77
|
-
-
|
|
78
|
-
-
|
|
79
|
-
|
|
109
|
+
common regressions caught here:
|
|
110
|
+
- output format degraded (lost alignment, lost structure)
|
|
111
|
+
- error messages became less helpful
|
|
112
|
+
- timestamps or ids leaked into snapshots (flaky)
|
|
113
|
+
- extra output added unintentionally
|
|
114
|
+
|
|
115
|
+
forbidden:
|
|
116
|
+
- "updated snapshots" without per-file rationale
|
|
117
|
+
- bulk snapshot updates without review
|
|
118
|
+
- regressions accepted without justification
|
|
80
119
|
|
|
81
|
-
|
|
82
|
-
if snapshots are absent, the reviewer can't verify the user experience.
|
|
120
|
+
every snap change tells a story. make sure the story is intentional.
|
|
83
121
|
|
|
84
122
|
- slug: has-critical-paths-frictionless
|
|
85
123
|
say: |
|
|
@@ -68,9 +68,37 @@ for each journey sketched in repros, verify it was implemented with snapshots.
|
|
|
68
68
|
- [ ] no prior failures carried forward
|
|
69
69
|
|
|
70
70
|
### snapshot coverage for contract outputs
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
-
|
|
71
|
+
|
|
72
|
+
each public contract needs dedicated snapshots that demonstrate its stdout for:
|
|
73
|
+
- **vibechecks in prs** — reviewers see actual output without executing code
|
|
74
|
+
- **drift detection** — changes to output surface in diffs over time
|
|
75
|
+
|
|
76
|
+
| contract | output variants | snapshot file | status |
|
|
77
|
+
|----------|-----------------|---------------|--------|
|
|
78
|
+
| {command 1} | success, error, help | {path.snap} | ⏳ |
|
|
79
|
+
| {command 2} | success, error, help | {path.snap} | ⏳ |
|
|
80
|
+
...
|
|
81
|
+
|
|
82
|
+
checklist:
|
|
83
|
+
- [ ] every new cli command has `.snap` snapshots for stdout/stderr
|
|
84
|
+
- [ ] every new app screen has `.snap` snapshots for screenshots
|
|
85
|
+
- [ ] every new sdk method has `.snap` snapshots for responses
|
|
86
|
+
- [ ] each output variant is exercised (success, error, edge cases)
|
|
87
|
+
- [ ] snapshots demonstrate actual output, not just "it ran"
|
|
88
|
+
|
|
89
|
+
### snapshot change rationalization
|
|
90
|
+
|
|
91
|
+
for each `.snap` file changed, rationalize whether the change was intended or accidental:
|
|
92
|
+
|
|
93
|
+
| snap file | change type | intended? | rationale |
|
|
94
|
+
|-----------|-------------|-----------|-----------|
|
|
95
|
+
| {path.snap} | added / modified / deleted | yes / no | {why this change is correct} |
|
|
96
|
+
...
|
|
97
|
+
|
|
98
|
+
checklist:
|
|
99
|
+
- [ ] every `.snap` change has been reviewed
|
|
100
|
+
- [ ] intended changes have clear rationale
|
|
101
|
+
- [ ] accidental changes have been reverted or justified as improvements
|
|
74
102
|
|
|
75
103
|
### tests executed
|
|
76
104
|
- [ ] `npm run test` — passed
|
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.14.
|
|
5
|
+
"version": "0.14.5",
|
|
6
6
|
"repository": "ehmpathy/rhachet-roles-bhuild",
|
|
7
7
|
"homepage": "https://github.com/ehmpathy/rhachet-roles-bhuild",
|
|
8
8
|
"keywords": [
|
|
@@ -89,11 +89,11 @@
|
|
|
89
89
|
"esbuild-register": "3.6.0",
|
|
90
90
|
"husky": "8.0.3",
|
|
91
91
|
"jest": "30.2.0",
|
|
92
|
-
"rhachet": "1.
|
|
93
|
-
"rhachet-brains-anthropic": "0.
|
|
94
|
-
"rhachet-roles-bhrain": "0.
|
|
92
|
+
"rhachet": "1.38.0",
|
|
93
|
+
"rhachet-brains-anthropic": "0.4.0",
|
|
94
|
+
"rhachet-roles-bhrain": "0.23.8",
|
|
95
95
|
"rhachet-roles-bhuild": "link:.",
|
|
96
|
-
"rhachet-roles-ehmpathy": "1.
|
|
96
|
+
"rhachet-roles-ehmpathy": "1.34.9",
|
|
97
97
|
"tsc-alias": "1.8.10",
|
|
98
98
|
"tsx": "4.20.6",
|
|
99
99
|
"typescript": "5.4.5",
|