@bendyline/gilde 0.1.53 → 0.1.55
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/authoring/chat-models/qwen3.5-27b-q4.json +147 -0
- package/authoring/gstack/evals/cso.json +21 -18
- package/authoring/gstack/evals/investigate.json +25 -22
- package/authoring/gstack/evals/plan-ceo-review.json +19 -16
- package/authoring/gstack/overlays/retro.json +2 -2
- package/authoring/gstack/wave.json +2 -2
- package/data/chat-models/index.json +1 -1
- package/data/chat-models/qw/qwen3.5-27b-q4/manifest.json +217 -0
- package/data/chat-models/qw/qwen3.5-27b-q4/versions/1.0.0/manifest.json +90 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.7/craftbook.json +620 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.7/test.json +376 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.7/craftbook.json +616 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.7/test.json +201 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.7/craftbook.json +566 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.7/test.json +191 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.7/craftbook.json +595 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.7/test.json +139 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.7/craftbook.json +566 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.7/test.json +141 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/pl/plan/versions/1.0.2/craftbook.json +222 -0
- package/data/craftbook-templates/pl/plan/versions/1.0.2/test.json +91 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.7/craftbook.json +595 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.7/test.json +157 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/craftbook.json +597 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/test.json +157 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.2/craftbook.json +346 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.2/test.json +228 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.7/craftbook.json +599 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.7/test.json +162 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.7/craftbook.json +577 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.7/test.json +174 -0
- package/package.json +1 -1
- package/schemas/craftbook-test.schema.json +7 -1
package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/craftbook.json
ADDED
|
@@ -0,0 +1,597 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "security-architecture-review",
|
|
3
|
+
"name": "Security Architecture Review",
|
|
4
|
+
"description": "A structured security architecture review: walk the stack for secrets, dependencies, auth, and common vulnerability classes, then report findings ranked by severity and confidence.",
|
|
5
|
+
"basedOn": {
|
|
6
|
+
"name": "gstack",
|
|
7
|
+
"url": "https://github.com/garrytan/gstack"
|
|
8
|
+
},
|
|
9
|
+
"plan": "Run an evidence-first architecture review without changing product code. Trace trust boundaries, data flows, identity, authorization, secrets, dependencies, and operational controls from actual workspace material. Never copy secret values into notes or reports. Separate confirmed findings from hypotheses and research gaps. Rank actionable findings by severity, exploitability, confidence, and blast radius, then give the owner a practical remediation and verification path.",
|
|
10
|
+
"entryStepId": "model-system",
|
|
11
|
+
"triggers": [
|
|
12
|
+
"security audit",
|
|
13
|
+
"check for vulnerabilities",
|
|
14
|
+
"owasp review"
|
|
15
|
+
],
|
|
16
|
+
"command": "security-architecture-review",
|
|
17
|
+
"steps": [
|
|
18
|
+
{
|
|
19
|
+
"id": "model-system",
|
|
20
|
+
"name": "Map assets and trust boundaries",
|
|
21
|
+
"description": "Establish the system, sensitive assets, actors, data flows, controls, and review limits.",
|
|
22
|
+
"prompt": "Inspect architecture notes, entry points, deployment and dependency metadata, configuration schemas, authentication and authorization code, persistence, network surfaces, and security tests. Map sensitive assets, actors, privilege levels, trust boundaries, inbound and outbound data flows, third parties, and existing controls. Record only secret names or locations, never values. State scope exclusions and missing evidence explicitly.\n\nObservable handoff: write the completed result to `security/review-scope.md` in the project's artifacts drawer with `write_artifact`. Do not merely describe what the file would contain. Re-read it with `read_artifact` before finishing this phase and repair any incomplete sections.",
|
|
23
|
+
"suggestedRole": "security architect",
|
|
24
|
+
"advanceWhen": {
|
|
25
|
+
"file": "security/review-scope.md",
|
|
26
|
+
"minBytes": 1000,
|
|
27
|
+
"sniff": "nonempty",
|
|
28
|
+
"requireChange": true,
|
|
29
|
+
"artifact": true,
|
|
30
|
+
"goto": "audit"
|
|
31
|
+
},
|
|
32
|
+
"gate": {
|
|
33
|
+
"at": "completion",
|
|
34
|
+
"checks": [
|
|
35
|
+
{
|
|
36
|
+
"kind": "minBytes",
|
|
37
|
+
"file": "security/review-scope.md",
|
|
38
|
+
"bytes": 1000,
|
|
39
|
+
"artifact": true
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"kind": "sniff",
|
|
43
|
+
"file": "security/review-scope.md",
|
|
44
|
+
"sniff": "nonempty",
|
|
45
|
+
"artifact": true
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"kind": "contains",
|
|
49
|
+
"file": "security/review-scope.md",
|
|
50
|
+
"pattern": "^##\\s+System scope",
|
|
51
|
+
"flags": "im",
|
|
52
|
+
"label": "System scope section",
|
|
53
|
+
"artifact": true
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"kind": "contains",
|
|
57
|
+
"file": "security/review-scope.md",
|
|
58
|
+
"pattern": "^##\\s+Assets",
|
|
59
|
+
"flags": "im",
|
|
60
|
+
"label": "Assets section",
|
|
61
|
+
"artifact": true
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"kind": "contains",
|
|
65
|
+
"file": "security/review-scope.md",
|
|
66
|
+
"pattern": "^##\\s+Actors and privileges",
|
|
67
|
+
"flags": "im",
|
|
68
|
+
"label": "Actors and privileges section",
|
|
69
|
+
"artifact": true
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"kind": "contains",
|
|
73
|
+
"file": "security/review-scope.md",
|
|
74
|
+
"pattern": "^##\\s+Trust boundaries",
|
|
75
|
+
"flags": "im",
|
|
76
|
+
"label": "Trust boundaries section",
|
|
77
|
+
"artifact": true
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"kind": "contains",
|
|
81
|
+
"file": "security/review-scope.md",
|
|
82
|
+
"pattern": "^##\\s+Data flows",
|
|
83
|
+
"flags": "im",
|
|
84
|
+
"label": "Data flows section",
|
|
85
|
+
"artifact": true
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"kind": "contains",
|
|
89
|
+
"file": "security/review-scope.md",
|
|
90
|
+
"pattern": "^##\\s+Review limits",
|
|
91
|
+
"flags": "im",
|
|
92
|
+
"label": "Review limits section",
|
|
93
|
+
"artifact": true
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"onReject": "model-system",
|
|
97
|
+
"maxAttempts": 3
|
|
98
|
+
},
|
|
99
|
+
"next": "audit",
|
|
100
|
+
"toolPolicy": {
|
|
101
|
+
"disallowBuiltinToolsets": [
|
|
102
|
+
"ai-apps",
|
|
103
|
+
"archives",
|
|
104
|
+
"audio",
|
|
105
|
+
"browser-automation",
|
|
106
|
+
"code-execution",
|
|
107
|
+
"craftbooks",
|
|
108
|
+
"data-tables",
|
|
109
|
+
"entity-intel",
|
|
110
|
+
"git",
|
|
111
|
+
"image-intel",
|
|
112
|
+
"images",
|
|
113
|
+
"role-delegation",
|
|
114
|
+
"role-delegation-escalation",
|
|
115
|
+
"team-management",
|
|
116
|
+
"videos",
|
|
117
|
+
"web",
|
|
118
|
+
"workspace-fs-write"
|
|
119
|
+
],
|
|
120
|
+
"outputMedium": "artifact"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"id": "audit",
|
|
125
|
+
"name": "Audit controls and prove findings",
|
|
126
|
+
"description": "Walk the attack surface systematically and maintain an evidence-backed findings register.",
|
|
127
|
+
"prompt": "Use `security/review-scope.md` to inspect secrets handling, dependency and supply-chain controls, authentication, session management, authorization at every mutation sink, input handling, output encoding, injection boundaries, file and path access, cryptography, logging, privacy, network exposure, update paths, and failure behavior. For every candidate, capture the exact evidence path, attack preconditions, affected asset, impact, confidence, and a safe validation method. Do not claim a vulnerability from a pattern match alone. If external advisory research is unavailable, label dependency status unverified rather than guessing. Before working, open `security/review-scope.md` with `read_artifact`.\n\nObservable handoff: write the completed result to `security/findings-register.md` in the project's artifacts drawer with `write_artifact`. Do not merely describe what the file would contain. Re-read it with `read_artifact` before finishing this phase and repair any incomplete sections.",
|
|
128
|
+
"suggestedRole": "application security engineer",
|
|
129
|
+
"consumes": [
|
|
130
|
+
{
|
|
131
|
+
"file": "security/review-scope.md",
|
|
132
|
+
"artifact": true
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"advanceWhen": {
|
|
136
|
+
"file": "security/findings-register.md",
|
|
137
|
+
"minBytes": 1300,
|
|
138
|
+
"sniff": "nonempty",
|
|
139
|
+
"requireChange": true,
|
|
140
|
+
"artifact": true,
|
|
141
|
+
"goto": "report"
|
|
142
|
+
},
|
|
143
|
+
"gate": {
|
|
144
|
+
"at": "completion",
|
|
145
|
+
"checks": [
|
|
146
|
+
{
|
|
147
|
+
"kind": "minBytes",
|
|
148
|
+
"file": "security/findings-register.md",
|
|
149
|
+
"bytes": 1300,
|
|
150
|
+
"artifact": true
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"kind": "sniff",
|
|
154
|
+
"file": "security/findings-register.md",
|
|
155
|
+
"sniff": "nonempty",
|
|
156
|
+
"artifact": true
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"kind": "contains",
|
|
160
|
+
"file": "security/findings-register.md",
|
|
161
|
+
"pattern": "^##\\s+Coverage",
|
|
162
|
+
"flags": "im",
|
|
163
|
+
"label": "Coverage section",
|
|
164
|
+
"artifact": true
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"kind": "contains",
|
|
168
|
+
"file": "security/findings-register.md",
|
|
169
|
+
"pattern": "^##\\s+Confirmed findings",
|
|
170
|
+
"flags": "im",
|
|
171
|
+
"label": "Confirmed findings section",
|
|
172
|
+
"artifact": true
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"kind": "contains",
|
|
176
|
+
"file": "security/findings-register.md",
|
|
177
|
+
"pattern": "^##\\s+Rejected hypotheses",
|
|
178
|
+
"flags": "im",
|
|
179
|
+
"label": "Rejected hypotheses section",
|
|
180
|
+
"artifact": true
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"kind": "contains",
|
|
184
|
+
"file": "security/findings-register.md",
|
|
185
|
+
"pattern": "^##\\s+Research gaps",
|
|
186
|
+
"flags": "im",
|
|
187
|
+
"label": "Research gaps section",
|
|
188
|
+
"artifact": true
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"kind": "contains",
|
|
192
|
+
"file": "security/findings-register.md",
|
|
193
|
+
"pattern": "Severity.*Confidence.*Evidence",
|
|
194
|
+
"flags": "im",
|
|
195
|
+
"label": "finding table with severity, confidence, and evidence",
|
|
196
|
+
"artifact": true
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"onReject": "audit",
|
|
200
|
+
"maxAttempts": 3
|
|
201
|
+
},
|
|
202
|
+
"next": "report",
|
|
203
|
+
"toolPolicy": {
|
|
204
|
+
"disallowBuiltinToolsets": [
|
|
205
|
+
"ai-apps",
|
|
206
|
+
"archives",
|
|
207
|
+
"audio",
|
|
208
|
+
"browser-automation",
|
|
209
|
+
"code-execution",
|
|
210
|
+
"craftbooks",
|
|
211
|
+
"data-tables",
|
|
212
|
+
"entity-intel",
|
|
213
|
+
"git",
|
|
214
|
+
"image-intel",
|
|
215
|
+
"images",
|
|
216
|
+
"role-delegation",
|
|
217
|
+
"role-delegation-escalation",
|
|
218
|
+
"team-management",
|
|
219
|
+
"videos",
|
|
220
|
+
"web",
|
|
221
|
+
"workspace-fs-write"
|
|
222
|
+
],
|
|
223
|
+
"outputMedium": "artifact"
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"id": "report",
|
|
228
|
+
"name": "Write the security architecture review",
|
|
229
|
+
"description": "Deliver prioritized findings, strengths, remediation, and retest instructions for owners.",
|
|
230
|
+
"prompt": "Synthesize the scope and findings register into a decision-ready report. Start with an executive risk posture and the strongest controls already working. For each confirmed finding, include severity, confidence, evidence path, causal control gap, realistic attack path, impact, prioritized remediation, owner, verification, and residual risk. Group systemic themes, distinguish quick containment from durable fixes, and state areas not verified. Do not include exploit payloads or sensitive values unless the user explicitly needs a safe proof and policy permits it.\n\nObservable handoff: write the completed result to `security/security-architecture-review.md` in the project's artifacts drawer with `write_artifact`. Do not merely describe what the file would contain. Re-read it with `read_artifact` before finishing this phase and repair any incomplete sections.",
|
|
231
|
+
"suggestedRole": "security reviewer",
|
|
232
|
+
"advanceWhen": {
|
|
233
|
+
"file": "security/security-architecture-review.md",
|
|
234
|
+
"minBytes": 1600,
|
|
235
|
+
"sniff": "nonempty",
|
|
236
|
+
"requireChange": true,
|
|
237
|
+
"artifact": true,
|
|
238
|
+
"goto": "evaluate"
|
|
239
|
+
},
|
|
240
|
+
"gate": {
|
|
241
|
+
"at": "completion",
|
|
242
|
+
"checks": [
|
|
243
|
+
{
|
|
244
|
+
"kind": "minBytes",
|
|
245
|
+
"file": "security/security-architecture-review.md",
|
|
246
|
+
"bytes": 1600,
|
|
247
|
+
"artifact": true
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
"kind": "sniff",
|
|
251
|
+
"file": "security/security-architecture-review.md",
|
|
252
|
+
"sniff": "nonempty",
|
|
253
|
+
"artifact": true
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"kind": "contains",
|
|
257
|
+
"file": "security/security-architecture-review.md",
|
|
258
|
+
"pattern": "^##\\s+Executive risk posture",
|
|
259
|
+
"flags": "im",
|
|
260
|
+
"label": "Executive risk posture section",
|
|
261
|
+
"artifact": true
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"kind": "contains",
|
|
265
|
+
"file": "security/security-architecture-review.md",
|
|
266
|
+
"pattern": "^##\\s+What is working",
|
|
267
|
+
"flags": "im",
|
|
268
|
+
"label": "What is working section",
|
|
269
|
+
"artifact": true
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"kind": "contains",
|
|
273
|
+
"file": "security/security-architecture-review.md",
|
|
274
|
+
"pattern": "^##\\s+Prioritized findings",
|
|
275
|
+
"flags": "im",
|
|
276
|
+
"label": "Prioritized findings section",
|
|
277
|
+
"artifact": true
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"kind": "contains",
|
|
281
|
+
"file": "security/security-architecture-review.md",
|
|
282
|
+
"pattern": "^##\\s+Remediation plan",
|
|
283
|
+
"flags": "im",
|
|
284
|
+
"label": "Remediation plan section",
|
|
285
|
+
"artifact": true
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"kind": "contains",
|
|
289
|
+
"file": "security/security-architecture-review.md",
|
|
290
|
+
"pattern": "^##\\s+Verification",
|
|
291
|
+
"flags": "im",
|
|
292
|
+
"label": "Verification section",
|
|
293
|
+
"artifact": true
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"kind": "contains",
|
|
297
|
+
"file": "security/security-architecture-review.md",
|
|
298
|
+
"pattern": "^##\\s+Unverified areas",
|
|
299
|
+
"flags": "im",
|
|
300
|
+
"label": "Unverified areas section",
|
|
301
|
+
"artifact": true
|
|
302
|
+
}
|
|
303
|
+
],
|
|
304
|
+
"onReject": "report",
|
|
305
|
+
"maxAttempts": 3
|
|
306
|
+
},
|
|
307
|
+
"next": "evaluate",
|
|
308
|
+
"toolPolicy": {
|
|
309
|
+
"disallowBuiltinToolsets": [
|
|
310
|
+
"ai-apps",
|
|
311
|
+
"archives",
|
|
312
|
+
"audio",
|
|
313
|
+
"browser-automation",
|
|
314
|
+
"code-execution",
|
|
315
|
+
"craftbooks",
|
|
316
|
+
"data-tables",
|
|
317
|
+
"entity-intel",
|
|
318
|
+
"git",
|
|
319
|
+
"image-intel",
|
|
320
|
+
"images",
|
|
321
|
+
"role-delegation",
|
|
322
|
+
"role-delegation-escalation",
|
|
323
|
+
"team-management",
|
|
324
|
+
"videos",
|
|
325
|
+
"web",
|
|
326
|
+
"workspace-fs-write"
|
|
327
|
+
],
|
|
328
|
+
"outputMedium": "artifact"
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"id": "evaluate",
|
|
333
|
+
"name": "Evaluate the deliverable",
|
|
334
|
+
"description": "Independently grade the observable deliverable and route it to finish, repair, or user escalation.",
|
|
335
|
+
"prompt": "Review `security/security-architecture-review.md`, `security/review-scope.md`, `security/findings-register.md` against every criterion below. Inspect the underlying evidence files named by the workflow; do not grade from the author's summary alone.\n\n1. Scope, assets, trust boundaries, actors, data flows, and review limits are explicit.\n2. Coverage includes identity, authorization, secrets, dependencies, inputs, storage, network, logging, updates, and operational failure paths where applicable.\n3. Every confirmed finding has inspectable evidence, realistic preconditions, impact, severity, and confidence; pattern-only suspicions are not promoted.\n4. No secret value or unsafe exploit detail is exposed in the deliverables.\n5. Remediation is prioritized, owned, verifiable, and distinguishes containment from durable control repair.\n6. Positive controls, rejected hypotheses, residual risk, and unverified areas are reported honestly.\n\nOpen `security/security-architecture-review.md`, `security/review-scope.md`, `security/findings-register.md` with `read_artifact`. Write the evidence-backed review to `reviews/security-architecture-review-evaluation.md` in the artifacts drawer with `write_artifact`. Give each criterion a PASS or FAIL with a concrete path, excerpt, measurement, or observed behavior. End with exactly `Verdict: PASS` or `Verdict: REVISE`. Then use `advance_task_step` for the active task: PASS routes to `finish`; REVISE routes to `repair` for review rounds 1 through 2, and the 3th REVISE routes to `needs-user`. Never route to finish while a criterion is unmet.",
|
|
336
|
+
"suggestedRole": "independent security reviewer",
|
|
337
|
+
"consumes": [
|
|
338
|
+
{
|
|
339
|
+
"file": "security/security-architecture-review.md",
|
|
340
|
+
"artifact": true
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"file": "security/review-scope.md",
|
|
344
|
+
"artifact": true
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"file": "security/findings-register.md",
|
|
348
|
+
"artifact": true
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
"gate": {
|
|
352
|
+
"at": "completion",
|
|
353
|
+
"checks": [
|
|
354
|
+
{
|
|
355
|
+
"kind": "minBytes",
|
|
356
|
+
"file": "reviews/security-architecture-review-evaluation.md",
|
|
357
|
+
"bytes": 400,
|
|
358
|
+
"artifact": true
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
"kind": "contains",
|
|
362
|
+
"file": "reviews/security-architecture-review-evaluation.md",
|
|
363
|
+
"pattern": "Verdict:\\s*(?:PASS|REVISE)",
|
|
364
|
+
"flags": "i",
|
|
365
|
+
"label": "explicit PASS or REVISE verdict",
|
|
366
|
+
"artifact": true
|
|
367
|
+
}
|
|
368
|
+
],
|
|
369
|
+
"onReject": "evaluate",
|
|
370
|
+
"maxAttempts": 3
|
|
371
|
+
},
|
|
372
|
+
"next": "repair",
|
|
373
|
+
"toolPolicy": {
|
|
374
|
+
"disallowBuiltinToolsets": [
|
|
375
|
+
"ai-apps",
|
|
376
|
+
"archives",
|
|
377
|
+
"audio",
|
|
378
|
+
"browser-automation",
|
|
379
|
+
"code-execution",
|
|
380
|
+
"craftbooks",
|
|
381
|
+
"data-tables",
|
|
382
|
+
"entity-intel",
|
|
383
|
+
"git",
|
|
384
|
+
"image-intel",
|
|
385
|
+
"images",
|
|
386
|
+
"role-delegation",
|
|
387
|
+
"role-delegation-escalation",
|
|
388
|
+
"team-management",
|
|
389
|
+
"videos",
|
|
390
|
+
"web",
|
|
391
|
+
"workspace-fs-write"
|
|
392
|
+
],
|
|
393
|
+
"outputMedium": "artifact"
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"id": "repair",
|
|
398
|
+
"name": "Repair the deliverable",
|
|
399
|
+
"description": "Fix only the concrete gaps from the latest independent review.",
|
|
400
|
+
"prompt": "Read `reviews/security-architecture-review-evaluation.md` with `read_artifact` and repair every failed criterion in `security/security-architecture-review.md`, `security/review-scope.md`, `security/findings-register.md`. Make changes on each file's declared surface (`write_artifact` for artifact inputs, `write_file` for workspace inputs), not in task notes or a reply. Preserve evidence that already passed. Re-run or re-check anything the reviewer found unproven. Ensure `security/security-architecture-review.md` is genuinely updated this turn so the repair is observable, then hand it back for independent evaluation.",
|
|
401
|
+
"suggestedRole": "application security engineer",
|
|
402
|
+
"consumes": [
|
|
403
|
+
{
|
|
404
|
+
"file": "reviews/security-architecture-review-evaluation.md",
|
|
405
|
+
"artifact": true
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"file": "security/security-architecture-review.md",
|
|
409
|
+
"artifact": true
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"file": "security/review-scope.md",
|
|
413
|
+
"artifact": true
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"file": "security/findings-register.md",
|
|
417
|
+
"artifact": true
|
|
418
|
+
}
|
|
419
|
+
],
|
|
420
|
+
"advanceWhen": {
|
|
421
|
+
"file": "security/security-architecture-review.md",
|
|
422
|
+
"minBytes": 1600,
|
|
423
|
+
"sniff": "nonempty",
|
|
424
|
+
"requireChange": true,
|
|
425
|
+
"artifact": true,
|
|
426
|
+
"goto": "evaluate"
|
|
427
|
+
},
|
|
428
|
+
"gate": {
|
|
429
|
+
"at": "completion",
|
|
430
|
+
"checks": [
|
|
431
|
+
{
|
|
432
|
+
"kind": "minBytes",
|
|
433
|
+
"file": "security/security-architecture-review.md",
|
|
434
|
+
"bytes": 1600,
|
|
435
|
+
"artifact": true
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"kind": "sniff",
|
|
439
|
+
"file": "security/security-architecture-review.md",
|
|
440
|
+
"sniff": "nonempty",
|
|
441
|
+
"artifact": true
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"kind": "contains",
|
|
445
|
+
"file": "security/security-architecture-review.md",
|
|
446
|
+
"pattern": "^##\\s+Executive risk posture",
|
|
447
|
+
"flags": "im",
|
|
448
|
+
"label": "Executive risk posture section",
|
|
449
|
+
"artifact": true
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
"kind": "contains",
|
|
453
|
+
"file": "security/security-architecture-review.md",
|
|
454
|
+
"pattern": "^##\\s+What is working",
|
|
455
|
+
"flags": "im",
|
|
456
|
+
"label": "What is working section",
|
|
457
|
+
"artifact": true
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
"kind": "contains",
|
|
461
|
+
"file": "security/security-architecture-review.md",
|
|
462
|
+
"pattern": "^##\\s+Prioritized findings",
|
|
463
|
+
"flags": "im",
|
|
464
|
+
"label": "Prioritized findings section",
|
|
465
|
+
"artifact": true
|
|
466
|
+
},
|
|
467
|
+
{
|
|
468
|
+
"kind": "contains",
|
|
469
|
+
"file": "security/security-architecture-review.md",
|
|
470
|
+
"pattern": "^##\\s+Remediation plan",
|
|
471
|
+
"flags": "im",
|
|
472
|
+
"label": "Remediation plan section",
|
|
473
|
+
"artifact": true
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"kind": "contains",
|
|
477
|
+
"file": "security/security-architecture-review.md",
|
|
478
|
+
"pattern": "^##\\s+Verification",
|
|
479
|
+
"flags": "im",
|
|
480
|
+
"label": "Verification section",
|
|
481
|
+
"artifact": true
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"kind": "contains",
|
|
485
|
+
"file": "security/security-architecture-review.md",
|
|
486
|
+
"pattern": "^##\\s+Unverified areas",
|
|
487
|
+
"flags": "im",
|
|
488
|
+
"label": "Unverified areas section",
|
|
489
|
+
"artifact": true
|
|
490
|
+
}
|
|
491
|
+
],
|
|
492
|
+
"onReject": "repair",
|
|
493
|
+
"maxAttempts": 3
|
|
494
|
+
},
|
|
495
|
+
"next": "evaluate",
|
|
496
|
+
"toolPolicy": {
|
|
497
|
+
"disallowBuiltinToolsets": [
|
|
498
|
+
"ai-apps",
|
|
499
|
+
"archives",
|
|
500
|
+
"audio",
|
|
501
|
+
"browser-automation",
|
|
502
|
+
"code-execution",
|
|
503
|
+
"craftbooks",
|
|
504
|
+
"data-tables",
|
|
505
|
+
"entity-intel",
|
|
506
|
+
"git",
|
|
507
|
+
"image-intel",
|
|
508
|
+
"images",
|
|
509
|
+
"role-delegation",
|
|
510
|
+
"role-delegation-escalation",
|
|
511
|
+
"team-management",
|
|
512
|
+
"videos",
|
|
513
|
+
"web"
|
|
514
|
+
],
|
|
515
|
+
"outputMedium": "artifact",
|
|
516
|
+
"additionalOutputMedia": [
|
|
517
|
+
"task-note",
|
|
518
|
+
"workspace"
|
|
519
|
+
]
|
|
520
|
+
}
|
|
521
|
+
},
|
|
522
|
+
{
|
|
523
|
+
"id": "finish",
|
|
524
|
+
"name": "Finish",
|
|
525
|
+
"description": "All deterministic and reviewer criteria passed.",
|
|
526
|
+
"prompt": "The independent review passed. Read `reviews/security-architecture-review-evaluation.md` with `read_artifact`, then use `write_task_note` to record a concise DONE summary with the final deliverable paths (`security/security-architecture-review.md`, `security/review-scope.md`, `security/findings-register.md`) and the evidence that each acceptance criterion passed. Report DONE without starting new work.",
|
|
527
|
+
"suggestedRole": "project lead",
|
|
528
|
+
"consumes": [
|
|
529
|
+
{
|
|
530
|
+
"file": "reviews/security-architecture-review-evaluation.md",
|
|
531
|
+
"artifact": true
|
|
532
|
+
}
|
|
533
|
+
],
|
|
534
|
+
"terminal": true,
|
|
535
|
+
"toolPolicy": {
|
|
536
|
+
"disallowBuiltinToolsets": [
|
|
537
|
+
"ai-apps",
|
|
538
|
+
"archives",
|
|
539
|
+
"audio",
|
|
540
|
+
"browser-automation",
|
|
541
|
+
"code-execution",
|
|
542
|
+
"craftbooks",
|
|
543
|
+
"data-tables",
|
|
544
|
+
"entity-intel",
|
|
545
|
+
"git",
|
|
546
|
+
"image-intel",
|
|
547
|
+
"images",
|
|
548
|
+
"role-delegation",
|
|
549
|
+
"role-delegation-escalation",
|
|
550
|
+
"team-management",
|
|
551
|
+
"videos",
|
|
552
|
+
"web",
|
|
553
|
+
"workspace-fs-write"
|
|
554
|
+
],
|
|
555
|
+
"outputMedium": "task-note"
|
|
556
|
+
}
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
"id": "needs-user",
|
|
560
|
+
"name": "Escalate unresolved concerns",
|
|
561
|
+
"description": "The bounded repair loop ended without a defensible pass.",
|
|
562
|
+
"prompt": "The deliverable did not pass after 3 review rounds. Do not claim success. Read `reviews/security-architecture-review-evaluation.md` with `read_artifact`, then use `write_task_note` to record DONE_WITH_CONCERNS: the unmet criteria, what was attempted, the affected paths, and the smallest user decision or missing input needed to continue.",
|
|
563
|
+
"suggestedRole": "project lead",
|
|
564
|
+
"consumes": [
|
|
565
|
+
{
|
|
566
|
+
"file": "reviews/security-architecture-review-evaluation.md",
|
|
567
|
+
"artifact": true
|
|
568
|
+
}
|
|
569
|
+
],
|
|
570
|
+
"terminal": true,
|
|
571
|
+
"toolPolicy": {
|
|
572
|
+
"disallowBuiltinToolsets": [
|
|
573
|
+
"ai-apps",
|
|
574
|
+
"archives",
|
|
575
|
+
"audio",
|
|
576
|
+
"browser-automation",
|
|
577
|
+
"code-execution",
|
|
578
|
+
"craftbooks",
|
|
579
|
+
"data-tables",
|
|
580
|
+
"entity-intel",
|
|
581
|
+
"git",
|
|
582
|
+
"image-intel",
|
|
583
|
+
"images",
|
|
584
|
+
"role-delegation",
|
|
585
|
+
"role-delegation-escalation",
|
|
586
|
+
"team-management",
|
|
587
|
+
"videos",
|
|
588
|
+
"web",
|
|
589
|
+
"workspace-fs-write"
|
|
590
|
+
],
|
|
591
|
+
"outputMedium": "task-note"
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
],
|
|
595
|
+
"version": "2.0.7",
|
|
596
|
+
"releasedAt": "2026-09-04T13:46:25Z"
|
|
597
|
+
}
|