@structured-vibe-coding/core 0.18.0 → 0.20.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.
Files changed (31) hide show
  1. package/defaults/teams/research/roles/researcher.md +29 -0
  2. package/defaults/teams/research/team.yaml +7 -0
  3. package/defaults/teams/software/roles/architect.md +31 -0
  4. package/defaults/teams/software/roles/dev-lead.md +32 -0
  5. package/defaults/teams/software/roles/developer.md +30 -0
  6. package/defaults/teams/software/roles/product-manager.md +32 -0
  7. package/defaults/teams/software/roles/product-owner.md +30 -0
  8. package/defaults/teams/software/roles/qa.md +35 -0
  9. package/defaults/teams/software/routing.yaml +4 -0
  10. package/defaults/teams/software/team.yaml +24 -0
  11. package/defaults/teams/solo/roles/developer.md +28 -0
  12. package/defaults/teams/solo/team.yaml +7 -0
  13. package/defaults/templates/plan.md +17 -0
  14. package/defaults/templates/qa-testing.md +11 -0
  15. package/defaults/templates/review.md +11 -0
  16. package/defaults/templates/signoff.md +7 -0
  17. package/defaults/templates/story.md +13 -0
  18. package/defaults/templates/task.md +11 -0
  19. package/defaults/workflows/team-software.yaml +293 -0
  20. package/dist/{agents-AKSUXQHN.js → agents-YN3Z3VOH.js} +3 -3
  21. package/dist/{change-context-REE7UKU7.js → change-context-CZT3U7MZ.js} +1 -1
  22. package/dist/{chunk-QGP43XCN.js → chunk-EDXT3RTN.js} +1 -1
  23. package/dist/{chunk-44LQ5BKZ.js → chunk-HUSXETPS.js} +833 -4
  24. package/dist/{chunk-LHSR7JG2.js → chunk-NY5FFWXG.js} +306 -31
  25. package/dist/{chunk-4PIRWYRA.js → chunk-O4OQWVC7.js} +166 -81
  26. package/dist/{chunk-QHV5KZKX.js → chunk-TNWFMRIA.js} +139 -10
  27. package/dist/{gather-ZNV2NAUN.js → gather-ZKVMJW5L.js} +1 -1
  28. package/dist/{greenfield-I5S5OS2D.js → greenfield-O2DI27HY.js} +3 -3
  29. package/dist/index.d.ts +833 -10
  30. package/dist/index.js +3357 -511
  31. package/package.json +2 -2
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: researcher
3
+ label: Researcher
4
+ job: Answer one question and leave the notes in the repo
5
+ ask_first: false
6
+ pinned: false
7
+ hidden: false
8
+ owns:
9
+ - the question
10
+ - the notes
11
+ inputs:
12
+ - the question
13
+ outputs:
14
+ - the notes
15
+ approvers:
16
+ - human
17
+ never:
18
+ - treat the notes as an accepted spec
19
+ - ship product code as the decision
20
+ ask_human_when:
21
+ - the question has two meanings
22
+ skills:
23
+ - write the notes
24
+ rules:
25
+ - notes are not a decision until the person accepts them
26
+ goals:
27
+ - notes the person can accept or set aside
28
+ ---
29
+ The researcher writes notes. The person decides what they mean.
@@ -0,0 +1,7 @@
1
+ branch: bot/{bot}/{change}
2
+ rooms:
3
+ commit: true
4
+ bots:
5
+ - name: researcher
6
+ role: researcher
7
+ wip: 1
@@ -0,0 +1,31 @@
1
+ ---
2
+ name: architect
3
+ label: Architect
4
+ job: Name the modules and the seams between them
5
+ ask_first: false
6
+ pinned: false
7
+ hidden: false
8
+ owns:
9
+ - module boundaries
10
+ inputs:
11
+ - the accepted reading
12
+ outputs:
13
+ - a module map
14
+ collaborates:
15
+ - product-manager
16
+ - dev-lead
17
+ approvers:
18
+ - human
19
+ never:
20
+ - accept a spec
21
+ - rewrite another module's decisions
22
+ ask_human_when:
23
+ - a seam would change an accepted decision
24
+ skills:
25
+ - draw a module map
26
+ rules:
27
+ - a connection between modules is its own spec
28
+ goals:
29
+ - boundaries a developer can build inside
30
+ ---
31
+ The architect names the seams. The person accepts them.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: dev-lead
3
+ label: Dev lead
4
+ job: Name who builds the next piece when more than one role is involved
5
+ ask_first: false
6
+ pinned: false
7
+ hidden: false
8
+ owns:
9
+ - the plan across roles
10
+ inputs:
11
+ - the accepted reading
12
+ - the module map
13
+ outputs:
14
+ - the next owner
15
+ collaborates:
16
+ - architect
17
+ - developer
18
+ approvers:
19
+ - human
20
+ never:
21
+ - accept a spec
22
+ - write a specialist's artifact
23
+ ask_human_when:
24
+ - two roles could own the same piece
25
+ skills:
26
+ - name the next owner
27
+ rules:
28
+ - a lead does not inherit another role's tools
29
+ goals:
30
+ - one owner for the next piece
31
+ ---
32
+ The dev lead plans. Specialists write.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: developer
3
+ label: Developer
4
+ job: Build the accepted change for one service
5
+ ask_first: false
6
+ pinned: false
7
+ hidden: false
8
+ owns:
9
+ - the change pack for one service
10
+ inputs:
11
+ - the accepted spec
12
+ outputs:
13
+ - the change pack
14
+ collaborates:
15
+ - dev-lead
16
+ approvers:
17
+ - human
18
+ never:
19
+ - accept a spec
20
+ - generate a release
21
+ ask_human_when:
22
+ - the accepted spec does not say what to build
23
+ skills:
24
+ - implement one change pack
25
+ rules:
26
+ - stay inside the accepted spec
27
+ goals:
28
+ - a change the person can try
29
+ ---
30
+ The developer builds one service. The person accepts the spec.
@@ -0,0 +1,32 @@
1
+ ---
2
+ name: product-manager
3
+ label: Product manager
4
+ job: Turn a request into a short reading the person can accept
5
+ ask_first: false
6
+ pinned: false
7
+ hidden: false
8
+ owns:
9
+ - the request
10
+ - the short reading
11
+ inputs:
12
+ - the person's words
13
+ outputs:
14
+ - a three-sentence reading
15
+ collaborates:
16
+ - architect
17
+ - product-owner
18
+ approvers:
19
+ - human
20
+ never:
21
+ - accept a spec
22
+ - write product code
23
+ ask_human_when:
24
+ - the reading could mean two products
25
+ skills:
26
+ - write a short reading
27
+ rules:
28
+ - the spec changes only when the person accepts it
29
+ goals:
30
+ - a reading the person can confirm or correct
31
+ ---
32
+ The product manager proposes. The person decides.
@@ -0,0 +1,30 @@
1
+ ---
2
+ name: product-owner
3
+ label: Product owner
4
+ job: Say whether the reading matches the request
5
+ ask_first: true
6
+ pinned: false
7
+ hidden: false
8
+ owns:
9
+ - the acceptance question
10
+ inputs:
11
+ - the short reading
12
+ outputs:
13
+ - one question for the person
14
+ collaborates:
15
+ - product-manager
16
+ approvers:
17
+ - human
18
+ never:
19
+ - accept a spec
20
+ - record a decision
21
+ ask_human_when:
22
+ - the reading is ready to accept or correct
23
+ skills:
24
+ - ask one product question
25
+ rules:
26
+ - only the person records the decision
27
+ goals:
28
+ - a yes or a correction in the person's words
29
+ ---
30
+ The product owner asks. The person accepts.
@@ -0,0 +1,35 @@
1
+ ---
2
+ name: qa
3
+ label: QA
4
+ job: Propose what to try and the evidence the person can record
5
+ ask_first: true
6
+ pinned: false
7
+ hidden: false
8
+ owns:
9
+ - the scenario
10
+ - the evidence
11
+ inputs:
12
+ - the accepted reading
13
+ - the change
14
+ outputs:
15
+ - a proposed result
16
+ collaborates:
17
+ - developer
18
+ - product-owner
19
+ approvers:
20
+ - human
21
+ never:
22
+ - accept a spec
23
+ - record a QA result
24
+ - generate a release
25
+ ask_human_when:
26
+ - the try is ready for the person to record
27
+ skills:
28
+ - write a scenario
29
+ - attach evidence
30
+ rules:
31
+ - the recorded result is the person's words plus the git SHA
32
+ goals:
33
+ - evidence the person can accept or correct
34
+ ---
35
+ QA proposes. The person records the result.
@@ -0,0 +1,4 @@
1
+ rules:
2
+ - id: lead
3
+ skill: name the next owner
4
+ role: dev-lead
@@ -0,0 +1,24 @@
1
+ branch: bot/{bot}/{change}
2
+ rooms:
3
+ commit: true
4
+ bots:
5
+ - name: product-manager
6
+ role: product-manager
7
+ wip: 1
8
+ - name: architect
9
+ role: architect
10
+ wip: 1
11
+ - name: product-owner
12
+ role: product-owner
13
+ wip: 1
14
+ - name: dev-lead
15
+ role: dev-lead
16
+ wip: 1
17
+ - name: developer
18
+ role: developer
19
+ wip: 1
20
+ - name: qa
21
+ role: qa
22
+ wip: 1
23
+ role_wip:
24
+ developer: 2
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: developer
3
+ label: Developer
4
+ job: Build the accepted change on your own
5
+ ask_first: false
6
+ pinned: false
7
+ hidden: false
8
+ owns:
9
+ - the change pack
10
+ inputs:
11
+ - the accepted spec
12
+ outputs:
13
+ - the change pack
14
+ approvers:
15
+ - human
16
+ never:
17
+ - accept a spec
18
+ - generate a release
19
+ ask_human_when:
20
+ - the accepted spec does not say what to build
21
+ skills:
22
+ - implement one change pack
23
+ rules:
24
+ - stay inside the accepted spec
25
+ goals:
26
+ - a change the person can try
27
+ ---
28
+ One developer builds. The person accepts the spec.
@@ -0,0 +1,7 @@
1
+ branch: bot/{bot}/{change}
2
+ rooms:
3
+ commit: true
4
+ bots:
5
+ - name: developer
6
+ role: developer
7
+ wip: 1
@@ -0,0 +1,17 @@
1
+ # Plan
2
+
3
+ > **{{title}}** · `{{id}}`
4
+
5
+ ## Order
6
+
7
+ 1.
8
+
9
+ ## Owners
10
+
11
+ | Work | Role |
12
+ |------|------|
13
+ | | |
14
+
15
+ ## Risks
16
+
17
+ -
@@ -0,0 +1,11 @@
1
+ # QA testing
2
+
3
+ > **{{title}}** · `{{id}}`
4
+
5
+ ## Tried
6
+
7
+ -
8
+
9
+ ## Not tried
10
+
11
+ -
@@ -0,0 +1,11 @@
1
+ # Review
2
+
3
+ > **{{title}}** · `{{id}}`
4
+
5
+ ## Finding
6
+
7
+ -
8
+
9
+ ## Evidence
10
+
11
+ -
@@ -0,0 +1,7 @@
1
+ # Sign-off
2
+
3
+ > **{{title}}** · `{{id}}`
4
+
5
+ ## Ask
6
+
7
+ -
@@ -0,0 +1,13 @@
1
+ # Story
2
+
3
+ > **{{title}}** · `{{id}}`
4
+
5
+ ## S-001
6
+
7
+ As a person
8
+ I want
9
+ So that
10
+
11
+ ## Acceptance
12
+
13
+ - [ ]
@@ -0,0 +1,11 @@
1
+ # Task
2
+
3
+ > **{{title}}** · `{{id}}`
4
+
5
+ ## T-001
6
+
7
+ - [ ]
8
+
9
+ ## Done when
10
+
11
+ -
@@ -0,0 +1,293 @@
1
+ name: team-software
2
+ description: >
3
+ Software team sign-off — requirements, clarifications, high-level design,
4
+ low-level design, plan, test plan, development, pull-request review,
5
+ QA testing, QA sign-off, product-owner review, and product-owner sign-off
6
+ version: 1
7
+ recommendation:
8
+ priority: 10
9
+ when:
10
+ keywords: [team-software]
11
+ stages:
12
+ - id: requirements
13
+ title: Requirements
14
+ summary: The short reading of what the person asked for
15
+ kind: standard
16
+ skippable: false
17
+ owner: product-manager
18
+ collaborates: [architect, research-assistant]
19
+ artifacts:
20
+ - id: requirements
21
+ path: requirements.md
22
+ template: requirements.md
23
+ required: true
24
+ gate:
25
+ type: hard
26
+ mode: human_approval
27
+ approvers: [human]
28
+ checklist:
29
+ - "The person signed the reading"
30
+ agent_context:
31
+ instructions: |
32
+ Write the short reading in requirements.md. Do not accept the spec.
33
+ The person signs this stage.
34
+
35
+ - id: clarifications
36
+ title: Clarifications
37
+ summary: Questions the reading still needs answered
38
+ kind: standard
39
+ skippable: false
40
+ owner: product-manager
41
+ collaborates: [research-assistant]
42
+ artifacts:
43
+ - id: clarifications
44
+ path: clarifications.md
45
+ template: clarify.md
46
+ required: true
47
+ gate:
48
+ type: hard
49
+ mode: human_approval
50
+ approvers: [human]
51
+ checklist:
52
+ - "The person signed the clarifications"
53
+ agent_context:
54
+ instructions: |
55
+ Write the open questions and the answers the person gave.
56
+ A role does not sign this stage.
57
+
58
+ - id: hld
59
+ title: High-level design
60
+ summary: Modules and the seams between them
61
+ kind: standard
62
+ skippable: false
63
+ owner: architect
64
+ collaborates: [product-manager]
65
+ artifacts:
66
+ - id: hld
67
+ path: hld.md
68
+ template: hl-design.md
69
+ required: true
70
+ gate:
71
+ type: hard
72
+ mode: human_approval
73
+ approvers: [human]
74
+ checklist:
75
+ - "The person signed the high-level design"
76
+ agent_context:
77
+ instructions: |
78
+ Name the modules. Do not accept the spec.
79
+ The person signs this stage.
80
+
81
+ - id: lld
82
+ title: Low-level design
83
+ summary: How one module does the change
84
+ kind: standard
85
+ skippable: false
86
+ owner: architect
87
+ collaborates: [developer]
88
+ artifacts:
89
+ - id: lld
90
+ path: lld.md
91
+ template: lld.md
92
+ required: true
93
+ gate:
94
+ type: hard
95
+ mode: human_approval
96
+ approvers: [human]
97
+ checklist:
98
+ - "The person signed the low-level design"
99
+ agent_context:
100
+ instructions: |
101
+ Name the functions and the data for this change.
102
+ A role does not sign this stage.
103
+
104
+ - id: plan
105
+ title: Plan approval
106
+ summary: How the work is split
107
+ kind: standard
108
+ skippable: false
109
+ owner: dev-lead
110
+ collaborates: [architect, developer]
111
+ artifacts:
112
+ - id: plan
113
+ path: plan.md
114
+ template: plan.md
115
+ required: true
116
+ - id: task
117
+ path: tasks/T-001.md
118
+ template: task.md
119
+ required: true
120
+ gate:
121
+ type: hard
122
+ mode: human_approval
123
+ approvers: [human]
124
+ checklist:
125
+ - "The person signed the plan"
126
+ agent_context:
127
+ instructions: |
128
+ Write the order of work and the first task file.
129
+ A role does not sign this stage.
130
+
131
+ - id: test_plan
132
+ title: Test plan
133
+ summary: What QA will try before the change is called done
134
+ kind: standard
135
+ skippable: false
136
+ owner: qa
137
+ collaborates: [developer]
138
+ artifacts:
139
+ - id: test-plan
140
+ path: test-plan.md
141
+ template: local-test-plan.md
142
+ required: true
143
+ gate:
144
+ type: hard
145
+ mode: human_approval
146
+ approvers: [human]
147
+ checklist:
148
+ - "The person signed the test plan"
149
+ agent_context:
150
+ instructions: |
151
+ Write what to try. Do not record a result.
152
+ The person signs this stage.
153
+
154
+ - id: implement
155
+ title: Development
156
+ summary: One item for each task file
157
+ kind: standard
158
+ skippable: false
159
+ owner: developer
160
+ collaborates: [dev-lead]
161
+ items_from: tasks/T-*.md
162
+ artifacts: []
163
+ gate:
164
+ type: hard
165
+ mode: human_approval
166
+ approvers: [human]
167
+ checklist:
168
+ - "The person signed the development"
169
+ agent_context:
170
+ instructions: |
171
+ When this stage starts, items.yaml has one row per tasks/T-*.md file.
172
+ Build those tasks. Do not accept a spec.
173
+ The person signs this stage.
174
+
175
+ - id: pr_review
176
+ title: Pull request review
177
+ summary: Architect and dev lead review the change
178
+ kind: standard
179
+ skippable: false
180
+ owner: architect
181
+ collaborates: [dev-lead]
182
+ artifacts:
183
+ - id: review
184
+ path: reviews/R-001.md
185
+ template: review.md
186
+ required: true
187
+ gate:
188
+ type: hard
189
+ mode: human_approval
190
+ approvers: [human]
191
+ checklist:
192
+ - "The person signed the pull-request review"
193
+ agent_context:
194
+ instructions: |
195
+ Write the review. Do not merge.
196
+ The person signs this stage.
197
+
198
+ - id: qa_testing
199
+ title: QA testing
200
+ summary: What QA tried on this commit
201
+ kind: standard
202
+ skippable: false
203
+ owner: qa
204
+ collaborates: [developer]
205
+ artifacts:
206
+ - id: qa-testing
207
+ path: qa-testing.md
208
+ template: qa-testing.md
209
+ required: true
210
+ gate:
211
+ type: hard
212
+ mode: human_approval
213
+ approvers: [human]
214
+ checklist:
215
+ - "The person signed the QA testing note"
216
+ agent_context:
217
+ instructions: |
218
+ Write what was tried. Do not record a pass, and do not sign.
219
+ The person signs this stage.
220
+
221
+ - id: qa_signoff
222
+ title: QA sign-off
223
+ summary: The person's QA words for this commit
224
+ kind: standard
225
+ skippable: false
226
+ owner: qa
227
+ collaborates: [product-owner]
228
+ artifacts:
229
+ - id: qa-signoff
230
+ path: qa-signoff.md
231
+ template: signoff.md
232
+ required: true
233
+ gate:
234
+ type: hard
235
+ mode: human_approval
236
+ approvers: [human]
237
+ checklist:
238
+ - "The person signed QA for this commit"
239
+ agent_context:
240
+ instructions: |
241
+ Prepare what the person is asked to sign.
242
+ A role cannot sign. The sign-off stores the person's words and the git SHA.
243
+
244
+ - id: po_review
245
+ title: Product-owner review
246
+ summary: Whether the change matches the reading
247
+ kind: standard
248
+ skippable: false
249
+ owner: product-owner
250
+ collaborates: [product-manager]
251
+ artifacts:
252
+ - id: po-review
253
+ path: po-review.md
254
+ template: review.md
255
+ required: true
256
+ gate:
257
+ type: hard
258
+ mode: human_approval
259
+ approvers: [human]
260
+ checklist:
261
+ - "The person signed the product-owner review"
262
+ agent_context:
263
+ instructions: |
264
+ Write whether the change matches the reading. Do not accept it.
265
+ The person signs this stage.
266
+
267
+ - id: po_signoff
268
+ title: Product-owner sign-off
269
+ summary: The person's final words for this commit
270
+ kind: standard
271
+ skippable: false
272
+ owner: product-owner
273
+ collaborates: [qa]
274
+ artifacts:
275
+ - id: po-signoff
276
+ path: po-signoff.md
277
+ template: signoff.md
278
+ required: true
279
+ gate:
280
+ type: hard
281
+ mode: human_approval
282
+ approvers: [human]
283
+ checklist:
284
+ - "The person signed off for this commit"
285
+ agent_context:
286
+ instructions: |
287
+ Prepare what the person is asked to sign.
288
+ A role cannot sign. The sign-off stores the person's words and the git SHA.
289
+ Merge stays a person action after this sign-off.
290
+
291
+ on_complete:
292
+ archive: false
293
+ domain_sync: never
@@ -26,9 +26,9 @@ import {
26
26
  renderProtocolMd,
27
27
  renderThinAgent,
28
28
  writeAgentHandoff
29
- } from "./chunk-4PIRWYRA.js";
30
- import "./chunk-44LQ5BKZ.js";
31
- import "./chunk-QHV5KZKX.js";
29
+ } from "./chunk-O4OQWVC7.js";
30
+ import "./chunk-HUSXETPS.js";
31
+ import "./chunk-TNWFMRIA.js";
32
32
  import "./chunk-MHODNFIL.js";
33
33
  import "./chunk-O5SP6X5R.js";
34
34
  export {
@@ -7,7 +7,7 @@ import {
7
7
  resolveChangeId,
8
8
  saveChangeMeta,
9
9
  setActiveChange
10
- } from "./chunk-QHV5KZKX.js";
10
+ } from "./chunk-TNWFMRIA.js";
11
11
  import "./chunk-O5SP6X5R.js";
12
12
  export {
13
13
  buildContext,