@oneie/claude 0.8.0 → 0.10.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 (230) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/agents/abm-strategist.md +67 -1
  3. package/agents/ads-meta.md +67 -1
  4. package/agents/analyst.md +67 -1
  5. package/agents/animator.md +108 -0
  6. package/agents/architect.md +269 -20
  7. package/agents/brand-guardian.md +67 -1
  8. package/agents/brand-strategist.md +67 -1
  9. package/agents/campaign-content.md +67 -1
  10. package/agents/campaign-email.md +67 -1
  11. package/agents/campaign-sms.md +67 -1
  12. package/agents/campaign-social.md +67 -1
  13. package/agents/cco.md +83 -2
  14. package/agents/ceo.md +108 -11
  15. package/agents/chairman.md +197 -0
  16. package/agents/cmo.md +82 -2
  17. package/agents/community-greeter.md +67 -1
  18. package/agents/community-moderator.md +67 -1
  19. package/agents/compliance.md +67 -1
  20. package/agents/copywriter.md +67 -1
  21. package/agents/creative-strategist.md +67 -1
  22. package/agents/cro.md +81 -1
  23. package/agents/cto.md +266 -28
  24. package/agents/customer-interviewer.md +67 -1
  25. package/agents/customer-researcher.md +67 -1
  26. package/agents/customer-success-manager.md +67 -1
  27. package/agents/customer-trainer.md +67 -1
  28. package/agents/cxo.md +82 -1
  29. package/agents/demand-creator.md +67 -1
  30. package/agents/demo-mover.md +67 -1
  31. package/agents/demo-specialist.md +67 -1
  32. package/agents/demo-thai-family-law.md +67 -1
  33. package/agents/designer.md +67 -1
  34. package/agents/discovery-caller.md +67 -1
  35. package/agents/doctor.md +269 -0
  36. package/agents/educate-coach.md +67 -1
  37. package/agents/elevate-tutor.md +67 -1
  38. package/agents/email-lifecycle-marketer.md +67 -1
  39. package/agents/engage-specialist.md +67 -1
  40. package/agents/events-coordinator.md +67 -1
  41. package/agents/foundation-builder.md +67 -1
  42. package/agents/funnel-architect.md +67 -1
  43. package/agents/gift-creator.md +67 -1
  44. package/agents/google-ads.md +67 -1
  45. package/agents/guide.md +67 -1
  46. package/agents/helpdesk-dispatcher.md +67 -1
  47. package/agents/hook-specialist.md +67 -1
  48. package/agents/identify-optimizer.md +67 -1
  49. package/agents/implementer.md +313 -45
  50. package/agents/incident-commander.md +67 -1
  51. package/agents/insights-lead.md +87 -1
  52. package/agents/journey-runner.md +67 -1
  53. package/agents/linkedin-ads.md +67 -1
  54. package/agents/live-sales-chat.md +67 -1
  55. package/agents/market-researcher.md +67 -1
  56. package/agents/media-buyer.md +67 -1
  57. package/agents/memory-keeper.md +195 -0
  58. package/agents/movers-customer-researcher.md +67 -1
  59. package/agents/movers-foundation-builder.md +67 -1
  60. package/agents/movers-market-researcher.md +67 -1
  61. package/agents/movers-pricing-strategist.md +67 -1
  62. package/agents/nurture-architect.md +67 -1
  63. package/agents/offer-architect.md +67 -1
  64. package/agents/onboarder.md +67 -1
  65. package/agents/onboarding-specialist.md +67 -1
  66. package/agents/operations-dashboard.md +87 -1
  67. package/agents/perf-engineer.md +333 -37
  68. package/agents/playbook-writer.md +67 -1
  69. package/agents/plg-strategist.md +67 -1
  70. package/agents/positioning-architect.md +67 -1
  71. package/agents/press-officer.md +67 -1
  72. package/agents/pricing-strategist.md +67 -1
  73. package/agents/privacy-officer.md +67 -1
  74. package/agents/referral-manager.md +67 -1
  75. package/agents/refine-analyst.md +67 -1
  76. package/agents/release-manager.md +446 -39
  77. package/agents/renewals-upsell-rep.md +67 -1
  78. package/agents/review-engineer.md +319 -45
  79. package/agents/rewards-steward.md +67 -1
  80. package/agents/sales-call-coach.md +67 -1
  81. package/agents/sales-closer.md +67 -1
  82. package/agents/security-auditor.md +343 -48
  83. package/agents/sell-closer.md +67 -1
  84. package/agents/share-amplifier.md +67 -1
  85. package/agents/social-media-manager.md +67 -1
  86. package/agents/storyteller.md +301 -0
  87. package/agents/strategist.md +67 -1
  88. package/agents/strategy-aligner.md +67 -1
  89. package/agents/support-agent.md +67 -1
  90. package/agents/tagger.md +327 -0
  91. package/agents/tech-writer.md +195 -22
  92. package/agents/test-engineer.md +398 -29
  93. package/agents/tiktok-ads.md +67 -1
  94. package/agents/tracking-engineer.md +67 -1
  95. package/agents/trailkeeper.md +181 -0
  96. package/agents/upsell-strategist.md +67 -1
  97. package/agents/voice.md +67 -1
  98. package/agents/w1-recon.md +1 -1
  99. package/agents/w2-decide.md +1 -1
  100. package/agents/w3-edit.md +8 -2
  101. package/agents/w4-verify.md +13 -0
  102. package/agents/workflow-optimiser.md +81 -1
  103. package/commands/close.md +916 -160
  104. package/commands/deploy.md +102 -724
  105. package/commands/do.md +58 -2
  106. package/commands/sweep.md +159 -0
  107. package/commands/tasks.md +222 -0
  108. package/hooks/scripts/dev-only.sh +135 -0
  109. package/hooks/scripts/git-add-guard.sh +37 -2
  110. package/hooks/scripts/session-start.sh +32 -4
  111. package/package.json +1 -1
  112. package/rules/scripts.md +85 -0
  113. package/scripts/CLAUDE.md +315 -0
  114. package/scripts/ad-copy-lint.sh +656 -0
  115. package/scripts/agent-actor-parity.sh +129 -0
  116. package/scripts/blocks-manifest-cached.sh +100 -0
  117. package/scripts/chat-context-check.sh +89 -0
  118. package/scripts/chrome.mjs +18 -0
  119. package/scripts/close-metrics.sh +587 -0
  120. package/scripts/close-owner.sh +326 -0
  121. package/scripts/db-sync-lock-check.sh +116 -0
  122. package/scripts/deploy-emit.sh +311 -0
  123. package/scripts/deploy-gate-check.sh +155 -0
  124. package/scripts/deploy-ready.sh +78 -0
  125. package/scripts/deploy-record.sh +605 -0
  126. package/scripts/deploy-schema-check.sh +58 -0
  127. package/scripts/deploy.sh +393 -243
  128. package/scripts/do-auto.sh +127 -26
  129. package/scripts/do-board.sh +429 -0
  130. package/scripts/do-close.sh +1184 -0
  131. package/scripts/do-consumer-sweep.sh +18 -1
  132. package/scripts/do-decide.sh +476 -0
  133. package/scripts/do-fleet.sh +8 -2
  134. package/scripts/do-plan-json.mjs +110 -12
  135. package/scripts/do-prove-selftest.sh +108 -0
  136. package/scripts/do-prove.sh +86 -10
  137. package/scripts/do-rank.py +200 -3
  138. package/scripts/do-reconcile.sh +73 -12
  139. package/scripts/do-signal.sh +101 -23
  140. package/scripts/do-smoke.sh +18 -1
  141. package/scripts/do-w4-gates.sh +11 -1
  142. package/scripts/do-world-check.sh +153 -0
  143. package/scripts/download-stats.sh +172 -0
  144. package/scripts/factory-brief-check.sh +330 -0
  145. package/scripts/factory-check.sh +18 -1
  146. package/scripts/factory-close-check.sh +257 -0
  147. package/scripts/factory-emit.sh +211 -0
  148. package/scripts/factory-executor-check.mjs +353 -0
  149. package/scripts/factory-peak.sh +301 -0
  150. package/scripts/factory-repo.sh +71 -0
  151. package/scripts/factory-review-check.mjs +61 -0
  152. package/scripts/factory-tasks-check.sh +18 -1
  153. package/scripts/fixtures/factory-brief-real.md +44 -0
  154. package/scripts/flywheel-outcome.sh +63 -0
  155. package/scripts/gate-reaper-check.sh +98 -0
  156. package/scripts/gate-reaper.sh +9 -0
  157. package/scripts/gate-watchdog.sh +619 -0
  158. package/scripts/gc-content-check.sh +142 -0
  159. package/scripts/gh-traffic-capture.sh +153 -0
  160. package/scripts/govern-order-check.sh +202 -0
  161. package/scripts/governor-doors-check.sh +86 -5
  162. package/scripts/health.sh +448 -0
  163. package/scripts/id-inventory.mjs +418 -0
  164. package/scripts/incident.sh +212 -0
  165. package/scripts/land.sh +755 -45
  166. package/scripts/lib/gc-finished.sh +77 -0
  167. package/scripts/livekit-ratchet.sh +18 -1
  168. package/scripts/machine-check.sh +1 -1
  169. package/scripts/memory-index-budget.sh +79 -0
  170. package/scripts/npm-downloads.sh +109 -0
  171. package/scripts/one-agents.mjs +204 -8
  172. package/scripts/one-resume.sh +31 -3
  173. package/scripts/pr-body.sh +335 -0
  174. package/scripts/preview-fd-check.sh +289 -0
  175. package/scripts/redirect-lint.sh +169 -0
  176. package/scripts/release.sh +40 -6
  177. package/scripts/resume-lost-sessions.sh +68 -0
  178. package/scripts/shoot-pages.mjs +140 -0
  179. package/scripts/signal-meta-backfill.ts +451 -0
  180. package/scripts/signal-watch.sh +63 -6
  181. package/scripts/speed-cache-check.sh +12 -2
  182. package/scripts/sweep.sh +426 -0
  183. package/scripts/task-titles-dump.ts +101 -0
  184. package/scripts/test-cached.sh +47 -10
  185. package/scripts/test-lanes.sh +14 -0
  186. package/scripts/thread-name-backfill.ts +215 -0
  187. package/scripts/triage-shape-check.sh +149 -0
  188. package/scripts/tsc-cached.sh +155 -8
  189. package/scripts/typedb-flake-check.sh +3 -1
  190. package/scripts/urls-lint.sh +8 -0
  191. package/scripts/verify-board-doors.sh +80 -0
  192. package/scripts/verify-fast.sh +159 -6
  193. package/scripts/worktree-up.sh +21 -3
  194. package/skills/astro/SKILL.md +9 -3
  195. package/skills/astro/optimize-performance.md +3 -2
  196. package/skills/cloudflare/SKILL.md +3 -2
  197. package/skills/cloudflare-security-audit/AI-AND-LLM.md +83 -0
  198. package/skills/cloudflare-security-audit/ATTACK-CLASSES.md +130 -0
  199. package/skills/cloudflare-security-audit/CLIENT-SIDE.md +83 -0
  200. package/skills/cloudflare-security-audit/CLOUD-AND-DEPLOYMENT.md +86 -0
  201. package/skills/cloudflare-security-audit/DATA-ISOLATION-AND-LIFECYCLE.md +84 -0
  202. package/skills/cloudflare-security-audit/DESKTOP-MOBILE-AND-LOCAL-IPC.md +89 -0
  203. package/skills/cloudflare-security-audit/HUNTING.md +251 -0
  204. package/skills/cloudflare-security-audit/LICENSE +21 -0
  205. package/skills/cloudflare-security-audit/MEMORY-SAFETY-AND-BINARY.md +101 -0
  206. package/skills/cloudflare-security-audit/PROTOCOLS-RPC-AND-MESSAGING.md +81 -0
  207. package/skills/cloudflare-security-audit/PROVENANCE.md +78 -0
  208. package/skills/cloudflare-security-audit/RECONNAISSANCE.md +156 -0
  209. package/skills/cloudflare-security-audit/RESOURCE-EXHAUSTION-AND-AVAILABILITY.md +78 -0
  210. package/skills/cloudflare-security-audit/SKILL.md +192 -0
  211. package/skills/cloudflare-security-audit/SUPPLY-CHAIN-AND-RELEASE.md +73 -0
  212. package/skills/cloudflare-security-audit/VALIDATION-AND-REPORTING.md +186 -0
  213. package/skills/cloudflare-security-audit/WEB-PROTOCOL-AND-AUTH.md +105 -0
  214. package/skills/cloudflare-security-audit/report-schema.json +461 -0
  215. package/skills/cloudflare-security-audit/validate-coverage-ledger.cjs +872 -0
  216. package/skills/cloudflare-security-audit/validate-coverage-ledger.test.cjs +740 -0
  217. package/skills/cloudflare-security-audit/validate-findings.cjs +773 -0
  218. package/skills/cloudflare-security-audit/validate-findings.test.cjs +652 -0
  219. package/skills/deploy/REFERENCE.md +713 -0
  220. package/skills/deploy/SKILL.md +140 -0
  221. package/skills/fleet-audit/SKILL.md +58 -0
  222. package/skills/meeting/SKILL.md +220 -0
  223. package/skills/planning/SKILL.md +256 -0
  224. package/skills/shadcn/SKILL.md +1 -1
  225. package/skills/typedb/SKILL.md +7 -0
  226. package/skills/voice/SKILL.md +94 -6
  227. package/skills/voice/corpus-check.sh +87 -0
  228. package/templates/template-agent.md +7 -1
  229. package/templates/template-feature.md +9 -0
  230. package/templates/template-todo.md +29 -0
@@ -0,0 +1,461 @@
1
+ {
2
+ "$comment": "Top-level contract for findings.json. validate-findings.cjs interprets and checks this schema directly.",
3
+ "type": "array",
4
+ "items": {
5
+ "oneOf": [
6
+ {
7
+ "type": "object",
8
+ "description": "A source-grounded vulnerability that was independently demonstrated.",
9
+ "properties": {
10
+ "verdict": {
11
+ "type": "string",
12
+ "const": "confirmed"
13
+ },
14
+ "fingerprint": {
15
+ "type": "string",
16
+ "minLength": 1,
17
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/@+-]*$",
18
+ "description": "A stable source-derived identifier that does not change between validation states."
19
+ },
20
+ "title": {
21
+ "type": "string",
22
+ "minLength": 1,
23
+ "visibleContent": true
24
+ },
25
+ "description": {
26
+ "type": "string",
27
+ "minLength": 1,
28
+ "visibleContent": true
29
+ },
30
+ "root_cause": {
31
+ "type": "string",
32
+ "minLength": 1,
33
+ "visibleContent": true
34
+ },
35
+ "intended_behavior": {
36
+ "type": "string",
37
+ "minLength": 1,
38
+ "visibleContent": true
39
+ },
40
+ "trace": {
41
+ "type": "array",
42
+ "minItems": 1,
43
+ "uniqueItems": true,
44
+ "items": {
45
+ "type": "object",
46
+ "properties": {
47
+ "kind": {
48
+ "type": "string",
49
+ "enum": ["entrypoint", "propagation", "sink"]
50
+ },
51
+ "file": {
52
+ "type": "string",
53
+ "minLength": 1
54
+ },
55
+ "line": {
56
+ "type": "integer",
57
+ "minimum": 1
58
+ },
59
+ "scope": {
60
+ "type": "string",
61
+ "minLength": 1,
62
+ "visibleContent": true
63
+ },
64
+ "description": {
65
+ "type": "string",
66
+ "minLength": 1,
67
+ "visibleContent": true
68
+ }
69
+ },
70
+ "required": ["kind", "file", "line", "scope", "description"],
71
+ "additionalProperties": false
72
+ }
73
+ },
74
+ "evidence": {
75
+ "type": "array",
76
+ "minItems": 1,
77
+ "uniqueItems": true,
78
+ "items": {
79
+ "type": "object",
80
+ "properties": {
81
+ "file": {
82
+ "type": "string",
83
+ "minLength": 1
84
+ },
85
+ "line": {
86
+ "type": "integer",
87
+ "minimum": 1
88
+ },
89
+ "description": {
90
+ "type": "string",
91
+ "minLength": 1,
92
+ "visibleContent": true
93
+ }
94
+ },
95
+ "required": ["file", "line", "description"],
96
+ "additionalProperties": false
97
+ }
98
+ },
99
+ "conditions": {
100
+ "type": "array",
101
+ "uniqueItems": true,
102
+ "items": {
103
+ "type": "object",
104
+ "properties": {
105
+ "kind": {
106
+ "type": "string",
107
+ "enum": ["authentication_level", "authorization_role", "user_interaction", "system_configuration", "network_routing", "environmental_dependency", "data_state", "timing_dependency", "third_party_dependency"]
108
+ },
109
+ "description": {
110
+ "type": "string",
111
+ "minLength": 1,
112
+ "visibleContent": true
113
+ }
114
+ },
115
+ "required": ["kind", "description"],
116
+ "additionalProperties": false
117
+ }
118
+ },
119
+ "execution": {
120
+ "type": "object",
121
+ "description": "Target-neutral reproduction in the target's native interface.",
122
+ "properties": {
123
+ "attacker_perspective": {
124
+ "type": "string",
125
+ "minLength": 1,
126
+ "visibleContent": true
127
+ },
128
+ "payloads": {
129
+ "type": "array",
130
+ "minItems": 1,
131
+ "uniqueItems": true,
132
+ "items": {
133
+ "type": "string"
134
+ }
135
+ },
136
+ "instructions": {
137
+ "type": "array",
138
+ "minItems": 1,
139
+ "items": {
140
+ "type": "string",
141
+ "minLength": 1,
142
+ "visibleContent": true
143
+ }
144
+ },
145
+ "observed_result": {
146
+ "type": "string",
147
+ "minLength": 1,
148
+ "visibleContent": true
149
+ }
150
+ },
151
+ "required": ["attacker_perspective", "payloads", "instructions", "observed_result"],
152
+ "additionalProperties": false
153
+ },
154
+ "remediation": {
155
+ "type": "object",
156
+ "properties": {
157
+ "strategy": {
158
+ "type": "string",
159
+ "minLength": 1,
160
+ "visibleContent": true
161
+ },
162
+ "code_changes": {
163
+ "type": "array",
164
+ "items": {
165
+ "type": "object",
166
+ "properties": {
167
+ "file_name": {
168
+ "type": "string",
169
+ "minLength": 1
170
+ },
171
+ "fixed_code": {
172
+ "type": "string"
173
+ }
174
+ },
175
+ "required": ["file_name", "fixed_code"],
176
+ "additionalProperties": false
177
+ }
178
+ }
179
+ },
180
+ "required": ["strategy"],
181
+ "additionalProperties": false
182
+ },
183
+ "severity": {
184
+ "type": "object",
185
+ "properties": {
186
+ "likelihood": {
187
+ "type": "object",
188
+ "properties": {
189
+ "score": {
190
+ "type": "string",
191
+ "enum": ["informational", "low", "medium", "high", "critical"]
192
+ },
193
+ "reason": {
194
+ "type": "string",
195
+ "minLength": 1,
196
+ "visibleContent": true
197
+ }
198
+ },
199
+ "required": ["score", "reason"],
200
+ "additionalProperties": false
201
+ },
202
+ "impact": {
203
+ "type": "object",
204
+ "properties": {
205
+ "score": {
206
+ "type": "string",
207
+ "enum": ["informational", "low", "medium", "high", "critical"]
208
+ },
209
+ "reason": {
210
+ "type": "string",
211
+ "minLength": 1,
212
+ "visibleContent": true
213
+ }
214
+ },
215
+ "required": ["score", "reason"],
216
+ "additionalProperties": false
217
+ },
218
+ "overall_severity": {
219
+ "type": "string",
220
+ "enum": ["informational", "low", "medium", "high", "critical"]
221
+ }
222
+ },
223
+ "required": ["likelihood", "impact", "overall_severity"],
224
+ "additionalProperties": false
225
+ },
226
+ "confidence": {
227
+ "type": "object",
228
+ "properties": {
229
+ "score": {
230
+ "type": "string",
231
+ "enum": ["low", "medium", "high"]
232
+ },
233
+ "reason": {
234
+ "type": "string",
235
+ "minLength": 1,
236
+ "visibleContent": true
237
+ }
238
+ },
239
+ "required": ["score", "reason"],
240
+ "additionalProperties": false
241
+ }
242
+ },
243
+ "required": ["verdict", "fingerprint", "title", "description", "root_cause", "intended_behavior", "trace", "evidence", "conditions", "execution", "remediation", "severity", "confidence"],
244
+ "additionalProperties": false
245
+ },
246
+ {
247
+ "type": "object",
248
+ "description": "A source-grounded candidate whose decisive validation is blocked.",
249
+ "properties": {
250
+ "verdict": {
251
+ "type": "string",
252
+ "const": "needs_validation"
253
+ },
254
+ "fingerprint": {
255
+ "type": "string",
256
+ "minLength": 1,
257
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/@+-]*$"
258
+ },
259
+ "title": {
260
+ "type": "string",
261
+ "minLength": 1,
262
+ "visibleContent": true
263
+ },
264
+ "description": {
265
+ "type": "string",
266
+ "minLength": 1,
267
+ "visibleContent": true
268
+ },
269
+ "claimed_root_cause": {
270
+ "type": "string",
271
+ "minLength": 1,
272
+ "visibleContent": true
273
+ },
274
+ "trace": {
275
+ "type": "array",
276
+ "minItems": 1,
277
+ "uniqueItems": true,
278
+ "items": {
279
+ "type": "object",
280
+ "properties": {
281
+ "kind": {
282
+ "type": "string",
283
+ "enum": ["entrypoint", "propagation", "sink"]
284
+ },
285
+ "file": {
286
+ "type": "string",
287
+ "minLength": 1
288
+ },
289
+ "line": {
290
+ "type": "integer",
291
+ "minimum": 1
292
+ },
293
+ "scope": {
294
+ "type": "string",
295
+ "minLength": 1,
296
+ "visibleContent": true
297
+ },
298
+ "description": {
299
+ "type": "string",
300
+ "minLength": 1,
301
+ "visibleContent": true
302
+ }
303
+ },
304
+ "required": ["kind", "file", "line", "scope", "description"],
305
+ "additionalProperties": false
306
+ }
307
+ },
308
+ "evidence": {
309
+ "type": "array",
310
+ "minItems": 1,
311
+ "uniqueItems": true,
312
+ "items": {
313
+ "type": "object",
314
+ "properties": {
315
+ "file": {
316
+ "type": "string",
317
+ "minLength": 1
318
+ },
319
+ "line": {
320
+ "type": "integer",
321
+ "minimum": 1
322
+ },
323
+ "description": {
324
+ "type": "string",
325
+ "minLength": 1,
326
+ "visibleContent": true
327
+ }
328
+ },
329
+ "required": ["file", "line", "description"],
330
+ "additionalProperties": false
331
+ }
332
+ },
333
+ "blockers": {
334
+ "type": "array",
335
+ "minItems": 1,
336
+ "uniqueItems": true,
337
+ "items": {
338
+ "type": "string",
339
+ "minLength": 1,
340
+ "visibleContent": true
341
+ }
342
+ },
343
+ "validation_plan": {
344
+ "type": "object",
345
+ "properties": {
346
+ "local": {
347
+ "type": "string",
348
+ "minLength": 1,
349
+ "visibleContent": true
350
+ },
351
+ "deployment": {
352
+ "type": "string",
353
+ "minLength": 1,
354
+ "visibleContent": true
355
+ }
356
+ },
357
+ "additionalProperties": false
358
+ }
359
+ },
360
+ "required": ["verdict", "fingerprint", "title", "description", "claimed_root_cause", "trace", "evidence", "blockers", "validation_plan"],
361
+ "additionalProperties": false
362
+ },
363
+ {
364
+ "type": "object",
365
+ "description": "A source-grounded candidate refuted during validation.",
366
+ "properties": {
367
+ "verdict": {
368
+ "type": "string",
369
+ "const": "rejected"
370
+ },
371
+ "fingerprint": {
372
+ "type": "string",
373
+ "minLength": 1,
374
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._:/@+-]*$"
375
+ },
376
+ "title": {
377
+ "type": "string",
378
+ "minLength": 1,
379
+ "visibleContent": true
380
+ },
381
+ "description": {
382
+ "type": "string",
383
+ "minLength": 1,
384
+ "visibleContent": true
385
+ },
386
+ "claimed_root_cause": {
387
+ "type": "string",
388
+ "minLength": 1,
389
+ "visibleContent": true
390
+ },
391
+ "trace": {
392
+ "type": "array",
393
+ "minItems": 1,
394
+ "uniqueItems": true,
395
+ "items": {
396
+ "type": "object",
397
+ "properties": {
398
+ "kind": {
399
+ "type": "string",
400
+ "enum": ["entrypoint", "propagation", "sink"]
401
+ },
402
+ "file": {
403
+ "type": "string",
404
+ "minLength": 1
405
+ },
406
+ "line": {
407
+ "type": "integer",
408
+ "minimum": 1
409
+ },
410
+ "scope": {
411
+ "type": "string",
412
+ "minLength": 1,
413
+ "visibleContent": true
414
+ },
415
+ "description": {
416
+ "type": "string",
417
+ "minLength": 1,
418
+ "visibleContent": true
419
+ }
420
+ },
421
+ "required": ["kind", "file", "line", "scope", "description"],
422
+ "additionalProperties": false
423
+ }
424
+ },
425
+ "evidence": {
426
+ "type": "array",
427
+ "minItems": 1,
428
+ "uniqueItems": true,
429
+ "items": {
430
+ "type": "object",
431
+ "properties": {
432
+ "file": {
433
+ "type": "string",
434
+ "minLength": 1
435
+ },
436
+ "line": {
437
+ "type": "integer",
438
+ "minimum": 1
439
+ },
440
+ "description": {
441
+ "type": "string",
442
+ "minLength": 1,
443
+ "visibleContent": true
444
+ }
445
+ },
446
+ "required": ["file", "line", "description"],
447
+ "additionalProperties": false
448
+ }
449
+ },
450
+ "reason": {
451
+ "type": "string",
452
+ "minLength": 1,
453
+ "visibleContent": true
454
+ }
455
+ },
456
+ "required": ["verdict", "fingerprint", "title", "description", "claimed_root_cause", "trace", "evidence", "reason"],
457
+ "additionalProperties": false
458
+ }
459
+ ]
460
+ }
461
+ }