@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.
Files changed (34) hide show
  1. package/authoring/chat-models/qwen3.5-27b-q4.json +147 -0
  2. package/authoring/gstack/evals/cso.json +21 -18
  3. package/authoring/gstack/evals/investigate.json +25 -22
  4. package/authoring/gstack/evals/plan-ceo-review.json +19 -16
  5. package/authoring/gstack/overlays/retro.json +2 -2
  6. package/authoring/gstack/wave.json +2 -2
  7. package/data/chat-models/index.json +1 -1
  8. package/data/chat-models/qw/qwen3.5-27b-q4/manifest.json +217 -0
  9. package/data/chat-models/qw/qwen3.5-27b-q4/versions/1.0.0/manifest.json +90 -0
  10. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.7/craftbook.json +620 -0
  11. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.7/test.json +376 -0
  12. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.7/craftbook.json +616 -0
  13. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.7/test.json +201 -0
  14. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.7/craftbook.json +566 -0
  15. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.7/test.json +191 -0
  16. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.7/craftbook.json +595 -0
  17. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.7/test.json +139 -0
  18. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.7/craftbook.json +566 -0
  19. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.7/test.json +141 -0
  20. package/data/craftbook-templates/index.json +1 -1
  21. package/data/craftbook-templates/pl/plan/versions/1.0.2/craftbook.json +222 -0
  22. package/data/craftbook-templates/pl/plan/versions/1.0.2/test.json +91 -0
  23. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.7/craftbook.json +595 -0
  24. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.7/test.json +157 -0
  25. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/craftbook.json +597 -0
  26. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.7/test.json +157 -0
  27. package/data/craftbook-templates/sh/ship/versions/1.1.2/craftbook.json +346 -0
  28. package/data/craftbook-templates/sh/ship/versions/1.1.2/test.json +228 -0
  29. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.7/craftbook.json +599 -0
  30. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.7/test.json +162 -0
  31. package/data/craftbook-templates/te/technical-documentation/versions/2.0.7/craftbook.json +577 -0
  32. package/data/craftbook-templates/te/technical-documentation/versions/2.0.7/test.json +174 -0
  33. package/package.json +1 -1
  34. package/schemas/craftbook-test.schema.json +7 -1
@@ -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
+ }