doesitfire 0.1.2__py3-none-any.whl
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.
- doesitfire/__init__.py +3 -0
- doesitfire/agents.py +310 -0
- doesitfire/cli.py +263 -0
- doesitfire/config.py +251 -0
- doesitfire/data/demo-results.json +1393 -0
- doesitfire/docker/Dockerfile +24 -0
- doesitfire/docker/egress-proxy.mjs +113 -0
- doesitfire/docker/entrypoint.sh +14 -0
- doesitfire/errors.py +17 -0
- doesitfire/html.py +26 -0
- doesitfire/metrics.py +117 -0
- doesitfire/providers.py +121 -0
- doesitfire/report.py +175 -0
- doesitfire/runner.py +283 -0
- doesitfire/sandbox.py +276 -0
- doesitfire/templates/report.html +341 -0
- doesitfire-0.1.2.dist-info/METADATA +306 -0
- doesitfire-0.1.2.dist-info/RECORD +21 -0
- doesitfire-0.1.2.dist-info/WHEEL +4 -0
- doesitfire-0.1.2.dist-info/entry_points.txt +2 -0
- doesitfire-0.1.2.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,1393 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": 1,
|
|
3
|
+
"tool": "doesitfire",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"started_at": "2026-11-03T20:49:21+00:00",
|
|
6
|
+
"finished_at": null,
|
|
7
|
+
"duration_s": 5131.5,
|
|
8
|
+
"repeats": 3,
|
|
9
|
+
"max_turns": 2,
|
|
10
|
+
"host": {
|
|
11
|
+
"os": "Darwin",
|
|
12
|
+
"arch": "arm64",
|
|
13
|
+
"hardware": "Apple M4, 16 GB",
|
|
14
|
+
"python": "3.13.12",
|
|
15
|
+
"docker": "29.9.2"
|
|
16
|
+
},
|
|
17
|
+
"agents": [
|
|
18
|
+
{
|
|
19
|
+
"name": "claude-code",
|
|
20
|
+
"cli_version": "2.1.317",
|
|
21
|
+
"provider": "ollama",
|
|
22
|
+
"model": "qwen3:4b-16k",
|
|
23
|
+
"experimental": false,
|
|
24
|
+
"repeats": 1
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "opencode",
|
|
28
|
+
"cli_version": "1.19.5",
|
|
29
|
+
"provider": "mistral",
|
|
30
|
+
"model": "ministral-8b-latest",
|
|
31
|
+
"experimental": false,
|
|
32
|
+
"repeats": 3,
|
|
33
|
+
"price": {
|
|
34
|
+
"input": 0.15,
|
|
35
|
+
"output": 0.15,
|
|
36
|
+
"source": "https://docs.mistral.ai/models/ministral-3-8b-25-12",
|
|
37
|
+
"checked": "2026-11-04"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
],
|
|
41
|
+
"skills": [
|
|
42
|
+
{
|
|
43
|
+
"name": "commit-message",
|
|
44
|
+
"description": "Writes git commit messages in Conventional Commits format (type(scope): summary, body, footer). Use when the user asks to write, draft, fix or improve a git commit message."
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "regex-explainer",
|
|
48
|
+
"description": "Explains an existing regular expression token by token and lists strings it matches and does not match. Use when the user pastes a regex and asks what it does or why it fails to match."
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "dockerfile-review",
|
|
52
|
+
"description": "Reviews a Dockerfile for image size, build cache use and security (root user, pinned base images, leaked secrets). Use when the user shares a Dockerfile and asks for a review or how to make the image smaller or safer."
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"trials": [
|
|
56
|
+
{
|
|
57
|
+
"agent": "claude-code",
|
|
58
|
+
"skill": "commit-message",
|
|
59
|
+
"prompt": "Write a commit message for my change: I added a login form with email and password validation.",
|
|
60
|
+
"expect": "fire",
|
|
61
|
+
"repeat": 0,
|
|
62
|
+
"fired": true,
|
|
63
|
+
"activated": [
|
|
64
|
+
"commit-message"
|
|
65
|
+
],
|
|
66
|
+
"error": null,
|
|
67
|
+
"duration_s": 236.96,
|
|
68
|
+
"input_tokens": 0,
|
|
69
|
+
"output_tokens": 0,
|
|
70
|
+
"log": "examples/recorded/logs/claude-code-commit-message-fire-r0-e409dfa5.jsonl",
|
|
71
|
+
"cost_usd": 0.0
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"agent": "claude-code",
|
|
75
|
+
"skill": "commit-message",
|
|
76
|
+
"prompt": "Can you draft a conventional commit for a fix that stops the cart total going negative?",
|
|
77
|
+
"expect": "fire",
|
|
78
|
+
"repeat": 0,
|
|
79
|
+
"fired": false,
|
|
80
|
+
"activated": [],
|
|
81
|
+
"error": null,
|
|
82
|
+
"duration_s": 225.74,
|
|
83
|
+
"input_tokens": 9960,
|
|
84
|
+
"output_tokens": 3855,
|
|
85
|
+
"log": "examples/recorded/logs/claude-code-commit-message-fire-r0-f2fb5411.jsonl",
|
|
86
|
+
"cost_usd": 0.0
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"agent": "claude-code",
|
|
90
|
+
"skill": "commit-message",
|
|
91
|
+
"prompt": "My commit message is 'stuff'. Improve it: I renamed the User model to Account everywhere.",
|
|
92
|
+
"expect": "fire",
|
|
93
|
+
"repeat": 0,
|
|
94
|
+
"fired": false,
|
|
95
|
+
"activated": [],
|
|
96
|
+
"error": null,
|
|
97
|
+
"duration_s": 251.27,
|
|
98
|
+
"input_tokens": 9962,
|
|
99
|
+
"output_tokens": 3952,
|
|
100
|
+
"log": "examples/recorded/logs/claude-code-commit-message-fire-r0-6d69a44f.jsonl",
|
|
101
|
+
"cost_usd": 0.0
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"agent": "claude-code",
|
|
105
|
+
"skill": "commit-message",
|
|
106
|
+
"prompt": "I bumped React from 18 to 19 and fixed two broken tests. What should the commit say?",
|
|
107
|
+
"expect": "fire",
|
|
108
|
+
"repeat": 0,
|
|
109
|
+
"fired": false,
|
|
110
|
+
"activated": [],
|
|
111
|
+
"error": null,
|
|
112
|
+
"duration_s": 111.39,
|
|
113
|
+
"input_tokens": 0,
|
|
114
|
+
"output_tokens": 0,
|
|
115
|
+
"log": "examples/recorded/logs/claude-code-commit-message-fire-r0-edbcb326.jsonl",
|
|
116
|
+
"cost_usd": 0.0
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"agent": "claude-code",
|
|
120
|
+
"skill": "commit-message",
|
|
121
|
+
"prompt": "How do I undo my last git commit but keep the changes?",
|
|
122
|
+
"expect": "no_fire",
|
|
123
|
+
"repeat": 0,
|
|
124
|
+
"fired": false,
|
|
125
|
+
"activated": [],
|
|
126
|
+
"error": null,
|
|
127
|
+
"duration_s": 239.31,
|
|
128
|
+
"input_tokens": 4963,
|
|
129
|
+
"output_tokens": 1128,
|
|
130
|
+
"log": "examples/recorded/logs/claude-code-commit-message-no_fire-r0-d98b2514.jsonl",
|
|
131
|
+
"cost_usd": 0.0
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"agent": "claude-code",
|
|
135
|
+
"skill": "commit-message",
|
|
136
|
+
"prompt": "Explain the difference between git merge and git rebase.",
|
|
137
|
+
"expect": "no_fire",
|
|
138
|
+
"repeat": 0,
|
|
139
|
+
"fired": false,
|
|
140
|
+
"activated": [],
|
|
141
|
+
"error": null,
|
|
142
|
+
"duration_s": 256.07,
|
|
143
|
+
"input_tokens": 4963,
|
|
144
|
+
"output_tokens": 1230,
|
|
145
|
+
"log": "examples/recorded/logs/claude-code-commit-message-no_fire-r0-9080e467.jsonl",
|
|
146
|
+
"cost_usd": 0.0
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"agent": "claude-code",
|
|
150
|
+
"skill": "commit-message",
|
|
151
|
+
"prompt": "Write a CHANGELOG entry for version 2.3.0 of my library.",
|
|
152
|
+
"expect": "no_fire",
|
|
153
|
+
"repeat": 0,
|
|
154
|
+
"fired": false,
|
|
155
|
+
"activated": [],
|
|
156
|
+
"error": null,
|
|
157
|
+
"duration_s": 237.71,
|
|
158
|
+
"input_tokens": 4968,
|
|
159
|
+
"output_tokens": 1011,
|
|
160
|
+
"log": "examples/recorded/logs/claude-code-commit-message-no_fire-r0-5212ab0a.jsonl",
|
|
161
|
+
"cost_usd": 0.0
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"agent": "claude-code",
|
|
165
|
+
"skill": "commit-message",
|
|
166
|
+
"prompt": "Write a Python function that checks whether a string is a palindrome.",
|
|
167
|
+
"expect": "no_fire",
|
|
168
|
+
"repeat": 0,
|
|
169
|
+
"fired": false,
|
|
170
|
+
"activated": [],
|
|
171
|
+
"error": null,
|
|
172
|
+
"duration_s": 178.46,
|
|
173
|
+
"input_tokens": 4962,
|
|
174
|
+
"output_tokens": 881,
|
|
175
|
+
"log": "examples/recorded/logs/claude-code-commit-message-no_fire-r0-fa668f55.jsonl",
|
|
176
|
+
"cost_usd": 0.0
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"agent": "claude-code",
|
|
180
|
+
"skill": "regex-explainer",
|
|
181
|
+
"prompt": "What does this regex do? ^(?:\\+34)?[6-9]\\d{8}$",
|
|
182
|
+
"expect": "fire",
|
|
183
|
+
"repeat": 0,
|
|
184
|
+
"fired": false,
|
|
185
|
+
"activated": [],
|
|
186
|
+
"error": null,
|
|
187
|
+
"duration_s": 323.96,
|
|
188
|
+
"input_tokens": 4973,
|
|
189
|
+
"output_tokens": 1928,
|
|
190
|
+
"log": "examples/recorded/logs/claude-code-regex-explainer-fire-r0-acdcfc02.jsonl",
|
|
191
|
+
"cost_usd": 0.0
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"agent": "claude-code",
|
|
195
|
+
"skill": "regex-explainer",
|
|
196
|
+
"prompt": "Explain this pattern token by token: (?<=\\$)\\d+(?:\\.\\d{2})?",
|
|
197
|
+
"expect": "fire",
|
|
198
|
+
"repeat": 0,
|
|
199
|
+
"fired": false,
|
|
200
|
+
"activated": [],
|
|
201
|
+
"error": null,
|
|
202
|
+
"duration_s": 419.75,
|
|
203
|
+
"input_tokens": 4972,
|
|
204
|
+
"output_tokens": 2571,
|
|
205
|
+
"log": "examples/recorded/logs/claude-code-regex-explainer-fire-r0-ec2fff5e.jsonl",
|
|
206
|
+
"cost_usd": 0.0
|
|
207
|
+
},
|
|
208
|
+
{
|
|
209
|
+
"agent": "claude-code",
|
|
210
|
+
"skill": "regex-explainer",
|
|
211
|
+
"prompt": "Why does /^\\w+@\\w+\\.com$/ not match john.doe@mail.example.com?",
|
|
212
|
+
"expect": "fire",
|
|
213
|
+
"repeat": 0,
|
|
214
|
+
"fired": false,
|
|
215
|
+
"activated": [],
|
|
216
|
+
"error": "timeout after 900s",
|
|
217
|
+
"duration_s": 900.18,
|
|
218
|
+
"input_tokens": 0,
|
|
219
|
+
"output_tokens": 0,
|
|
220
|
+
"log": "examples/recorded/logs/claude-code-regex-explainer-fire-r0-b575a6ef.jsonl",
|
|
221
|
+
"cost_usd": 0.0
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"agent": "claude-code",
|
|
225
|
+
"skill": "regex-explainer",
|
|
226
|
+
"prompt": "I found \\b(\\w+)\\s+\\1\\b in our codebase. What is it for?",
|
|
227
|
+
"expect": "fire",
|
|
228
|
+
"repeat": 0,
|
|
229
|
+
"fired": false,
|
|
230
|
+
"activated": [],
|
|
231
|
+
"error": null,
|
|
232
|
+
"duration_s": 732.85,
|
|
233
|
+
"input_tokens": 9960,
|
|
234
|
+
"output_tokens": 4650,
|
|
235
|
+
"log": "examples/recorded/logs/claude-code-regex-explainer-fire-r0-d87944e8.jsonl",
|
|
236
|
+
"cost_usd": 0.0
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"agent": "opencode",
|
|
240
|
+
"skill": "commit-message",
|
|
241
|
+
"prompt": "Write a commit message for my change: I added a login form with email and password validation.",
|
|
242
|
+
"expect": "fire",
|
|
243
|
+
"repeat": 0,
|
|
244
|
+
"fired": true,
|
|
245
|
+
"activated": [
|
|
246
|
+
"commit-message"
|
|
247
|
+
],
|
|
248
|
+
"error": null,
|
|
249
|
+
"duration_s": 30.43,
|
|
250
|
+
"input_tokens": 4983,
|
|
251
|
+
"output_tokens": 11,
|
|
252
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r0-e409dfa5.jsonl",
|
|
253
|
+
"cost_usd": 0.000749
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"agent": "opencode",
|
|
257
|
+
"skill": "commit-message",
|
|
258
|
+
"prompt": "Can you draft a conventional commit for a fix that stops the cart total going negative?",
|
|
259
|
+
"expect": "fire",
|
|
260
|
+
"repeat": 0,
|
|
261
|
+
"fired": true,
|
|
262
|
+
"activated": [
|
|
263
|
+
"commit-message"
|
|
264
|
+
],
|
|
265
|
+
"error": null,
|
|
266
|
+
"duration_s": 18.0,
|
|
267
|
+
"input_tokens": 4980,
|
|
268
|
+
"output_tokens": 11,
|
|
269
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r0-f2fb5411.jsonl",
|
|
270
|
+
"cost_usd": 0.000749
|
|
271
|
+
},
|
|
272
|
+
{
|
|
273
|
+
"agent": "opencode",
|
|
274
|
+
"skill": "commit-message",
|
|
275
|
+
"prompt": "My commit message is 'stuff'. Improve it: I renamed the User model to Account everywhere.",
|
|
276
|
+
"expect": "fire",
|
|
277
|
+
"repeat": 0,
|
|
278
|
+
"fired": true,
|
|
279
|
+
"activated": [
|
|
280
|
+
"commit-message"
|
|
281
|
+
],
|
|
282
|
+
"error": null,
|
|
283
|
+
"duration_s": 16.22,
|
|
284
|
+
"input_tokens": 4982,
|
|
285
|
+
"output_tokens": 11,
|
|
286
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r0-6d69a44f.jsonl",
|
|
287
|
+
"cost_usd": 0.000749
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"agent": "opencode",
|
|
291
|
+
"skill": "commit-message",
|
|
292
|
+
"prompt": "I bumped React from 18 to 19 and fixed two broken tests. What should the commit say?",
|
|
293
|
+
"expect": "fire",
|
|
294
|
+
"repeat": 0,
|
|
295
|
+
"fired": true,
|
|
296
|
+
"activated": [
|
|
297
|
+
"commit-message"
|
|
298
|
+
],
|
|
299
|
+
"error": null,
|
|
300
|
+
"duration_s": 17.52,
|
|
301
|
+
"input_tokens": 4986,
|
|
302
|
+
"output_tokens": 11,
|
|
303
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r0-edbcb326.jsonl",
|
|
304
|
+
"cost_usd": 0.00075
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"agent": "opencode",
|
|
308
|
+
"skill": "commit-message",
|
|
309
|
+
"prompt": "How do I undo my last git commit but keep the changes?",
|
|
310
|
+
"expect": "no_fire",
|
|
311
|
+
"repeat": 0,
|
|
312
|
+
"fired": false,
|
|
313
|
+
"activated": [],
|
|
314
|
+
"error": null,
|
|
315
|
+
"duration_s": 18.42,
|
|
316
|
+
"input_tokens": 4975,
|
|
317
|
+
"output_tokens": 8,
|
|
318
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r0-d98b2514.jsonl",
|
|
319
|
+
"cost_usd": 0.000747
|
|
320
|
+
},
|
|
321
|
+
{
|
|
322
|
+
"agent": "opencode",
|
|
323
|
+
"skill": "commit-message",
|
|
324
|
+
"prompt": "Explain the difference between git merge and git rebase.",
|
|
325
|
+
"expect": "no_fire",
|
|
326
|
+
"repeat": 0,
|
|
327
|
+
"fired": false,
|
|
328
|
+
"activated": [],
|
|
329
|
+
"error": null,
|
|
330
|
+
"duration_s": 9.55,
|
|
331
|
+
"input_tokens": 4975,
|
|
332
|
+
"output_tokens": 131,
|
|
333
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r0-9080e467.jsonl",
|
|
334
|
+
"cost_usd": 0.000766
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"agent": "opencode",
|
|
338
|
+
"skill": "commit-message",
|
|
339
|
+
"prompt": "Write a CHANGELOG entry for version 2.3.0 of my library.",
|
|
340
|
+
"expect": "no_fire",
|
|
341
|
+
"repeat": 0,
|
|
342
|
+
"fired": true,
|
|
343
|
+
"activated": [
|
|
344
|
+
"commit-message"
|
|
345
|
+
],
|
|
346
|
+
"error": null,
|
|
347
|
+
"duration_s": 12.08,
|
|
348
|
+
"input_tokens": 4981,
|
|
349
|
+
"output_tokens": 11,
|
|
350
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r0-5212ab0a.jsonl",
|
|
351
|
+
"cost_usd": 0.000749
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"agent": "opencode",
|
|
355
|
+
"skill": "commit-message",
|
|
356
|
+
"prompt": "Write a Python function that checks whether a string is a palindrome.",
|
|
357
|
+
"expect": "no_fire",
|
|
358
|
+
"repeat": 0,
|
|
359
|
+
"fired": false,
|
|
360
|
+
"activated": [],
|
|
361
|
+
"error": null,
|
|
362
|
+
"duration_s": 11.21,
|
|
363
|
+
"input_tokens": 4977,
|
|
364
|
+
"output_tokens": 37,
|
|
365
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r0-fa668f55.jsonl",
|
|
366
|
+
"cost_usd": 0.000752
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"agent": "opencode",
|
|
370
|
+
"skill": "regex-explainer",
|
|
371
|
+
"prompt": "What does this regex do? ^(?:\\+34)?[6-9]\\d{8}$",
|
|
372
|
+
"expect": "fire",
|
|
373
|
+
"repeat": 0,
|
|
374
|
+
"fired": true,
|
|
375
|
+
"activated": [
|
|
376
|
+
"regex-explainer"
|
|
377
|
+
],
|
|
378
|
+
"error": null,
|
|
379
|
+
"duration_s": 30.26,
|
|
380
|
+
"input_tokens": 4990,
|
|
381
|
+
"output_tokens": 13,
|
|
382
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r0-acdcfc02.jsonl",
|
|
383
|
+
"cost_usd": 0.00075
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"agent": "opencode",
|
|
387
|
+
"skill": "regex-explainer",
|
|
388
|
+
"prompt": "Explain this pattern token by token: (?<=\\$)\\d+(?:\\.\\d{2})?",
|
|
389
|
+
"expect": "fire",
|
|
390
|
+
"repeat": 0,
|
|
391
|
+
"fired": true,
|
|
392
|
+
"activated": [
|
|
393
|
+
"regex-explainer"
|
|
394
|
+
],
|
|
395
|
+
"error": null,
|
|
396
|
+
"duration_s": 18.05,
|
|
397
|
+
"input_tokens": 4990,
|
|
398
|
+
"output_tokens": 13,
|
|
399
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r0-ec2fff5e.jsonl",
|
|
400
|
+
"cost_usd": 0.00075
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"agent": "opencode",
|
|
404
|
+
"skill": "regex-explainer",
|
|
405
|
+
"prompt": "Why does /^\\w+@\\w+\\.com$/ not match john.doe@mail.example.com?",
|
|
406
|
+
"expect": "fire",
|
|
407
|
+
"repeat": 0,
|
|
408
|
+
"fired": false,
|
|
409
|
+
"activated": [],
|
|
410
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
411
|
+
"duration_s": 17.72,
|
|
412
|
+
"input_tokens": 4990,
|
|
413
|
+
"output_tokens": 16,
|
|
414
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r0-b575a6ef.jsonl",
|
|
415
|
+
"cost_usd": 0.000751
|
|
416
|
+
},
|
|
417
|
+
{
|
|
418
|
+
"agent": "opencode",
|
|
419
|
+
"skill": "regex-explainer",
|
|
420
|
+
"prompt": "I found \\b(\\w+)\\s+\\1\\b in our codebase. What is it for?",
|
|
421
|
+
"expect": "fire",
|
|
422
|
+
"repeat": 0,
|
|
423
|
+
"fired": false,
|
|
424
|
+
"activated": [],
|
|
425
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
426
|
+
"duration_s": 15.74,
|
|
427
|
+
"input_tokens": 4989,
|
|
428
|
+
"output_tokens": 21,
|
|
429
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r0-d87944e8.jsonl",
|
|
430
|
+
"cost_usd": 0.000752
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"agent": "opencode",
|
|
434
|
+
"skill": "regex-explainer",
|
|
435
|
+
"prompt": "Write a regex that matches US ZIP codes.",
|
|
436
|
+
"expect": "no_fire",
|
|
437
|
+
"repeat": 0,
|
|
438
|
+
"fired": false,
|
|
439
|
+
"activated": [],
|
|
440
|
+
"error": null,
|
|
441
|
+
"duration_s": 17.18,
|
|
442
|
+
"input_tokens": 4976,
|
|
443
|
+
"output_tokens": 37,
|
|
444
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r0-7071a2c0.jsonl",
|
|
445
|
+
"cost_usd": 0.000752
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"agent": "opencode",
|
|
449
|
+
"skill": "regex-explainer",
|
|
450
|
+
"prompt": "How do I replace every tab with four spaces in VS Code?",
|
|
451
|
+
"expect": "no_fire",
|
|
452
|
+
"repeat": 0,
|
|
453
|
+
"fired": false,
|
|
454
|
+
"activated": [],
|
|
455
|
+
"error": null,
|
|
456
|
+
"duration_s": 7.42,
|
|
457
|
+
"input_tokens": 4979,
|
|
458
|
+
"output_tokens": 102,
|
|
459
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r0-b75ba907.jsonl",
|
|
460
|
+
"cost_usd": 0.000762
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"agent": "opencode",
|
|
464
|
+
"skill": "regex-explainer",
|
|
465
|
+
"prompt": "Parse this CSV line in Python: name,age,city",
|
|
466
|
+
"expect": "no_fire",
|
|
467
|
+
"repeat": 0,
|
|
468
|
+
"fired": false,
|
|
469
|
+
"activated": [],
|
|
470
|
+
"error": null,
|
|
471
|
+
"duration_s": 12.88,
|
|
472
|
+
"input_tokens": 4980,
|
|
473
|
+
"output_tokens": 60,
|
|
474
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r0-be76a2dc.jsonl",
|
|
475
|
+
"cost_usd": 0.000756
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"agent": "opencode",
|
|
479
|
+
"skill": "regex-explainer",
|
|
480
|
+
"prompt": "What is the time complexity of binary search?",
|
|
481
|
+
"expect": "no_fire",
|
|
482
|
+
"repeat": 0,
|
|
483
|
+
"fired": false,
|
|
484
|
+
"activated": [],
|
|
485
|
+
"error": null,
|
|
486
|
+
"duration_s": 4.6,
|
|
487
|
+
"input_tokens": 4975,
|
|
488
|
+
"output_tokens": 5,
|
|
489
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r0-95c9e10d.jsonl",
|
|
490
|
+
"cost_usd": 0.000747
|
|
491
|
+
},
|
|
492
|
+
{
|
|
493
|
+
"agent": "opencode",
|
|
494
|
+
"skill": "dockerfile-review",
|
|
495
|
+
"prompt": "Review this Dockerfile: FROM python:latest\nCOPY . /app\nRUN pip install -r /app/requirements.txt\nCMD python /app/main.py",
|
|
496
|
+
"expect": "fire",
|
|
497
|
+
"repeat": 0,
|
|
498
|
+
"fired": true,
|
|
499
|
+
"activated": [
|
|
500
|
+
"dockerfile-review"
|
|
501
|
+
],
|
|
502
|
+
"error": null,
|
|
503
|
+
"duration_s": 29.0,
|
|
504
|
+
"input_tokens": 5009,
|
|
505
|
+
"output_tokens": 12,
|
|
506
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r0-00fe9152.jsonl",
|
|
507
|
+
"cost_usd": 0.000753
|
|
508
|
+
},
|
|
509
|
+
{
|
|
510
|
+
"agent": "opencode",
|
|
511
|
+
"skill": "dockerfile-review",
|
|
512
|
+
"prompt": "My Node image is 1.4 GB. Here is the Dockerfile: FROM node:22\nCOPY . .\nRUN npm install\nCMD npm start. How do I make it smaller?",
|
|
513
|
+
"expect": "fire",
|
|
514
|
+
"repeat": 0,
|
|
515
|
+
"fired": true,
|
|
516
|
+
"activated": [
|
|
517
|
+
"dockerfile-review"
|
|
518
|
+
],
|
|
519
|
+
"error": null,
|
|
520
|
+
"duration_s": 17.32,
|
|
521
|
+
"input_tokens": 5013,
|
|
522
|
+
"output_tokens": 12,
|
|
523
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r0-4420d371.jsonl",
|
|
524
|
+
"cost_usd": 0.000754
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"agent": "opencode",
|
|
528
|
+
"skill": "dockerfile-review",
|
|
529
|
+
"prompt": "Is this Dockerfile safe for production? FROM ubuntu\nENV API_KEY=abc123\nRUN apt-get update && apt-get install -y curl\nUSER root",
|
|
530
|
+
"expect": "fire",
|
|
531
|
+
"repeat": 0,
|
|
532
|
+
"fired": true,
|
|
533
|
+
"activated": [
|
|
534
|
+
"dockerfile-review"
|
|
535
|
+
],
|
|
536
|
+
"error": null,
|
|
537
|
+
"duration_s": 16.93,
|
|
538
|
+
"input_tokens": 5007,
|
|
539
|
+
"output_tokens": 12,
|
|
540
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r0-e38f97a6.jsonl",
|
|
541
|
+
"cost_usd": 0.000753
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"agent": "opencode",
|
|
545
|
+
"skill": "dockerfile-review",
|
|
546
|
+
"prompt": "Check my Dockerfile for bad practices: FROM golang:1.23\nWORKDIR /src\nCOPY . .\nRUN go build -o app\nCMD ./app",
|
|
547
|
+
"expect": "fire",
|
|
548
|
+
"repeat": 0,
|
|
549
|
+
"fired": true,
|
|
550
|
+
"activated": [
|
|
551
|
+
"dockerfile-review"
|
|
552
|
+
],
|
|
553
|
+
"error": null,
|
|
554
|
+
"duration_s": 15.92,
|
|
555
|
+
"input_tokens": 5010,
|
|
556
|
+
"output_tokens": 12,
|
|
557
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r0-39ed1761.jsonl",
|
|
558
|
+
"cost_usd": 0.000753
|
|
559
|
+
},
|
|
560
|
+
{
|
|
561
|
+
"agent": "opencode",
|
|
562
|
+
"skill": "dockerfile-review",
|
|
563
|
+
"prompt": "How do I list all running Docker containers?",
|
|
564
|
+
"expect": "no_fire",
|
|
565
|
+
"repeat": 0,
|
|
566
|
+
"fired": false,
|
|
567
|
+
"activated": [],
|
|
568
|
+
"error": null,
|
|
569
|
+
"duration_s": 17.21,
|
|
570
|
+
"input_tokens": 4980,
|
|
571
|
+
"output_tokens": 8,
|
|
572
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r0-fd36fd0d.jsonl",
|
|
573
|
+
"cost_usd": 0.000748
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"agent": "opencode",
|
|
577
|
+
"skill": "dockerfile-review",
|
|
578
|
+
"prompt": "Write a docker-compose.yml with Postgres and Redis.",
|
|
579
|
+
"expect": "no_fire",
|
|
580
|
+
"repeat": 0,
|
|
581
|
+
"fired": false,
|
|
582
|
+
"activated": [],
|
|
583
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
584
|
+
"duration_s": 8.66,
|
|
585
|
+
"input_tokens": 4983,
|
|
586
|
+
"output_tokens": 25,
|
|
587
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r0-1f198403.jsonl",
|
|
588
|
+
"cost_usd": 0.000751
|
|
589
|
+
},
|
|
590
|
+
{
|
|
591
|
+
"agent": "opencode",
|
|
592
|
+
"skill": "dockerfile-review",
|
|
593
|
+
"prompt": "What is the difference between a Docker image and a container?",
|
|
594
|
+
"expect": "no_fire",
|
|
595
|
+
"repeat": 0,
|
|
596
|
+
"fired": false,
|
|
597
|
+
"activated": [],
|
|
598
|
+
"error": null,
|
|
599
|
+
"duration_s": 11.93,
|
|
600
|
+
"input_tokens": 4983,
|
|
601
|
+
"output_tokens": 97,
|
|
602
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r0-db1d220c.jsonl",
|
|
603
|
+
"cost_usd": 0.000762
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"agent": "opencode",
|
|
607
|
+
"skill": "dockerfile-review",
|
|
608
|
+
"prompt": "My Kubernetes pod is stuck in CrashLoopBackOff. How do I debug it?",
|
|
609
|
+
"expect": "no_fire",
|
|
610
|
+
"repeat": 0,
|
|
611
|
+
"fired": false,
|
|
612
|
+
"activated": [],
|
|
613
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
614
|
+
"duration_s": 11.83,
|
|
615
|
+
"input_tokens": 4988,
|
|
616
|
+
"output_tokens": 15,
|
|
617
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r0-3284c6af.jsonl",
|
|
618
|
+
"cost_usd": 0.00075
|
|
619
|
+
},
|
|
620
|
+
{
|
|
621
|
+
"agent": "opencode",
|
|
622
|
+
"skill": "commit-message",
|
|
623
|
+
"prompt": "Write a commit message for my change: I added a login form with email and password validation.",
|
|
624
|
+
"expect": "fire",
|
|
625
|
+
"repeat": 1,
|
|
626
|
+
"fired": true,
|
|
627
|
+
"activated": [
|
|
628
|
+
"commit-message"
|
|
629
|
+
],
|
|
630
|
+
"error": null,
|
|
631
|
+
"duration_s": 13.7,
|
|
632
|
+
"input_tokens": 4982,
|
|
633
|
+
"output_tokens": 11,
|
|
634
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r1-e409dfa5.jsonl",
|
|
635
|
+
"cost_usd": 0.000749
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"agent": "opencode",
|
|
639
|
+
"skill": "commit-message",
|
|
640
|
+
"prompt": "Can you draft a conventional commit for a fix that stops the cart total going negative?",
|
|
641
|
+
"expect": "fire",
|
|
642
|
+
"repeat": 1,
|
|
643
|
+
"fired": true,
|
|
644
|
+
"activated": [
|
|
645
|
+
"commit-message"
|
|
646
|
+
],
|
|
647
|
+
"error": null,
|
|
648
|
+
"duration_s": 10.03,
|
|
649
|
+
"input_tokens": 4980,
|
|
650
|
+
"output_tokens": 11,
|
|
651
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r1-f2fb5411.jsonl",
|
|
652
|
+
"cost_usd": 0.000749
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"agent": "opencode",
|
|
656
|
+
"skill": "commit-message",
|
|
657
|
+
"prompt": "My commit message is 'stuff'. Improve it: I renamed the User model to Account everywhere.",
|
|
658
|
+
"expect": "fire",
|
|
659
|
+
"repeat": 1,
|
|
660
|
+
"fired": true,
|
|
661
|
+
"activated": [
|
|
662
|
+
"commit-message"
|
|
663
|
+
],
|
|
664
|
+
"error": null,
|
|
665
|
+
"duration_s": 10.46,
|
|
666
|
+
"input_tokens": 4982,
|
|
667
|
+
"output_tokens": 11,
|
|
668
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r1-6d69a44f.jsonl",
|
|
669
|
+
"cost_usd": 0.000749
|
|
670
|
+
},
|
|
671
|
+
{
|
|
672
|
+
"agent": "opencode",
|
|
673
|
+
"skill": "commit-message",
|
|
674
|
+
"prompt": "I bumped React from 18 to 19 and fixed two broken tests. What should the commit say?",
|
|
675
|
+
"expect": "fire",
|
|
676
|
+
"repeat": 1,
|
|
677
|
+
"fired": true,
|
|
678
|
+
"activated": [
|
|
679
|
+
"commit-message"
|
|
680
|
+
],
|
|
681
|
+
"error": null,
|
|
682
|
+
"duration_s": 8.8,
|
|
683
|
+
"input_tokens": 4986,
|
|
684
|
+
"output_tokens": 11,
|
|
685
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r1-edbcb326.jsonl",
|
|
686
|
+
"cost_usd": 0.00075
|
|
687
|
+
},
|
|
688
|
+
{
|
|
689
|
+
"agent": "opencode",
|
|
690
|
+
"skill": "commit-message",
|
|
691
|
+
"prompt": "How do I undo my last git commit but keep the changes?",
|
|
692
|
+
"expect": "no_fire",
|
|
693
|
+
"repeat": 1,
|
|
694
|
+
"fired": false,
|
|
695
|
+
"activated": [],
|
|
696
|
+
"error": null,
|
|
697
|
+
"duration_s": 10.3,
|
|
698
|
+
"input_tokens": 4975,
|
|
699
|
+
"output_tokens": 8,
|
|
700
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r1-d98b2514.jsonl",
|
|
701
|
+
"cost_usd": 0.000747
|
|
702
|
+
},
|
|
703
|
+
{
|
|
704
|
+
"agent": "opencode",
|
|
705
|
+
"skill": "commit-message",
|
|
706
|
+
"prompt": "Explain the difference between git merge and git rebase.",
|
|
707
|
+
"expect": "no_fire",
|
|
708
|
+
"repeat": 1,
|
|
709
|
+
"fired": false,
|
|
710
|
+
"activated": [],
|
|
711
|
+
"error": null,
|
|
712
|
+
"duration_s": 24.31,
|
|
713
|
+
"input_tokens": 4975,
|
|
714
|
+
"output_tokens": 97,
|
|
715
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r1-9080e467.jsonl",
|
|
716
|
+
"cost_usd": 0.000761
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"agent": "opencode",
|
|
720
|
+
"skill": "commit-message",
|
|
721
|
+
"prompt": "Write a CHANGELOG entry for version 2.3.0 of my library.",
|
|
722
|
+
"expect": "no_fire",
|
|
723
|
+
"repeat": 1,
|
|
724
|
+
"fired": true,
|
|
725
|
+
"activated": [
|
|
726
|
+
"commit-message"
|
|
727
|
+
],
|
|
728
|
+
"error": null,
|
|
729
|
+
"duration_s": 12.93,
|
|
730
|
+
"input_tokens": 4981,
|
|
731
|
+
"output_tokens": 11,
|
|
732
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r1-5212ab0a.jsonl",
|
|
733
|
+
"cost_usd": 0.000749
|
|
734
|
+
},
|
|
735
|
+
{
|
|
736
|
+
"agent": "opencode",
|
|
737
|
+
"skill": "commit-message",
|
|
738
|
+
"prompt": "Write a Python function that checks whether a string is a palindrome.",
|
|
739
|
+
"expect": "no_fire",
|
|
740
|
+
"repeat": 1,
|
|
741
|
+
"fired": false,
|
|
742
|
+
"activated": [],
|
|
743
|
+
"error": null,
|
|
744
|
+
"duration_s": 11.34,
|
|
745
|
+
"input_tokens": 4977,
|
|
746
|
+
"output_tokens": 37,
|
|
747
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r1-fa668f55.jsonl",
|
|
748
|
+
"cost_usd": 0.000752
|
|
749
|
+
},
|
|
750
|
+
{
|
|
751
|
+
"agent": "opencode",
|
|
752
|
+
"skill": "regex-explainer",
|
|
753
|
+
"prompt": "What does this regex do? ^(?:\\+34)?[6-9]\\d{8}$",
|
|
754
|
+
"expect": "fire",
|
|
755
|
+
"repeat": 1,
|
|
756
|
+
"fired": true,
|
|
757
|
+
"activated": [
|
|
758
|
+
"regex-explainer"
|
|
759
|
+
],
|
|
760
|
+
"error": null,
|
|
761
|
+
"duration_s": 10.28,
|
|
762
|
+
"input_tokens": 4989,
|
|
763
|
+
"output_tokens": 13,
|
|
764
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r1-acdcfc02.jsonl",
|
|
765
|
+
"cost_usd": 0.00075
|
|
766
|
+
},
|
|
767
|
+
{
|
|
768
|
+
"agent": "opencode",
|
|
769
|
+
"skill": "regex-explainer",
|
|
770
|
+
"prompt": "Explain this pattern token by token: (?<=\\$)\\d+(?:\\.\\d{2})?",
|
|
771
|
+
"expect": "fire",
|
|
772
|
+
"repeat": 1,
|
|
773
|
+
"fired": true,
|
|
774
|
+
"activated": [
|
|
775
|
+
"regex-explainer"
|
|
776
|
+
],
|
|
777
|
+
"error": null,
|
|
778
|
+
"duration_s": 7.42,
|
|
779
|
+
"input_tokens": 4990,
|
|
780
|
+
"output_tokens": 13,
|
|
781
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r1-ec2fff5e.jsonl",
|
|
782
|
+
"cost_usd": 0.00075
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
"agent": "opencode",
|
|
786
|
+
"skill": "regex-explainer",
|
|
787
|
+
"prompt": "Why does /^\\w+@\\w+\\.com$/ not match john.doe@mail.example.com?",
|
|
788
|
+
"expect": "fire",
|
|
789
|
+
"repeat": 1,
|
|
790
|
+
"fired": false,
|
|
791
|
+
"activated": [],
|
|
792
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
793
|
+
"duration_s": 7.25,
|
|
794
|
+
"input_tokens": 4990,
|
|
795
|
+
"output_tokens": 16,
|
|
796
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r1-b575a6ef.jsonl",
|
|
797
|
+
"cost_usd": 0.000751
|
|
798
|
+
},
|
|
799
|
+
{
|
|
800
|
+
"agent": "opencode",
|
|
801
|
+
"skill": "regex-explainer",
|
|
802
|
+
"prompt": "I found \\b(\\w+)\\s+\\1\\b in our codebase. What is it for?",
|
|
803
|
+
"expect": "fire",
|
|
804
|
+
"repeat": 1,
|
|
805
|
+
"fired": false,
|
|
806
|
+
"activated": [],
|
|
807
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
808
|
+
"duration_s": 7.12,
|
|
809
|
+
"input_tokens": 4989,
|
|
810
|
+
"output_tokens": 10,
|
|
811
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r1-d87944e8.jsonl",
|
|
812
|
+
"cost_usd": 0.00075
|
|
813
|
+
},
|
|
814
|
+
{
|
|
815
|
+
"agent": "opencode",
|
|
816
|
+
"skill": "regex-explainer",
|
|
817
|
+
"prompt": "Write a regex that matches US ZIP codes.",
|
|
818
|
+
"expect": "no_fire",
|
|
819
|
+
"repeat": 1,
|
|
820
|
+
"fired": false,
|
|
821
|
+
"activated": [],
|
|
822
|
+
"error": null,
|
|
823
|
+
"duration_s": 7.17,
|
|
824
|
+
"input_tokens": 4976,
|
|
825
|
+
"output_tokens": 33,
|
|
826
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r1-7071a2c0.jsonl",
|
|
827
|
+
"cost_usd": 0.000751
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"agent": "opencode",
|
|
831
|
+
"skill": "regex-explainer",
|
|
832
|
+
"prompt": "How do I replace every tab with four spaces in VS Code?",
|
|
833
|
+
"expect": "no_fire",
|
|
834
|
+
"repeat": 1,
|
|
835
|
+
"fired": false,
|
|
836
|
+
"activated": [],
|
|
837
|
+
"error": null,
|
|
838
|
+
"duration_s": 14.86,
|
|
839
|
+
"input_tokens": 4979,
|
|
840
|
+
"output_tokens": 102,
|
|
841
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r1-b75ba907.jsonl",
|
|
842
|
+
"cost_usd": 0.000762
|
|
843
|
+
},
|
|
844
|
+
{
|
|
845
|
+
"agent": "opencode",
|
|
846
|
+
"skill": "regex-explainer",
|
|
847
|
+
"prompt": "Parse this CSV line in Python: name,age,city",
|
|
848
|
+
"expect": "no_fire",
|
|
849
|
+
"repeat": 1,
|
|
850
|
+
"fired": false,
|
|
851
|
+
"activated": [],
|
|
852
|
+
"error": null,
|
|
853
|
+
"duration_s": 5.6,
|
|
854
|
+
"input_tokens": 4980,
|
|
855
|
+
"output_tokens": 60,
|
|
856
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r1-be76a2dc.jsonl",
|
|
857
|
+
"cost_usd": 0.000756
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
"agent": "opencode",
|
|
861
|
+
"skill": "regex-explainer",
|
|
862
|
+
"prompt": "What is the time complexity of binary search?",
|
|
863
|
+
"expect": "no_fire",
|
|
864
|
+
"repeat": 1,
|
|
865
|
+
"fired": false,
|
|
866
|
+
"activated": [],
|
|
867
|
+
"error": null,
|
|
868
|
+
"duration_s": 11.73,
|
|
869
|
+
"input_tokens": 4975,
|
|
870
|
+
"output_tokens": 6,
|
|
871
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r1-95c9e10d.jsonl",
|
|
872
|
+
"cost_usd": 0.000747
|
|
873
|
+
},
|
|
874
|
+
{
|
|
875
|
+
"agent": "opencode",
|
|
876
|
+
"skill": "dockerfile-review",
|
|
877
|
+
"prompt": "Review this Dockerfile: FROM python:latest\nCOPY . /app\nRUN pip install -r /app/requirements.txt\nCMD python /app/main.py",
|
|
878
|
+
"expect": "fire",
|
|
879
|
+
"repeat": 1,
|
|
880
|
+
"fired": true,
|
|
881
|
+
"activated": [
|
|
882
|
+
"dockerfile-review"
|
|
883
|
+
],
|
|
884
|
+
"error": null,
|
|
885
|
+
"duration_s": 13.81,
|
|
886
|
+
"input_tokens": 5008,
|
|
887
|
+
"output_tokens": 12,
|
|
888
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r1-00fe9152.jsonl",
|
|
889
|
+
"cost_usd": 0.000753
|
|
890
|
+
},
|
|
891
|
+
{
|
|
892
|
+
"agent": "opencode",
|
|
893
|
+
"skill": "dockerfile-review",
|
|
894
|
+
"prompt": "My Node image is 1.4 GB. Here is the Dockerfile: FROM node:22\nCOPY . .\nRUN npm install\nCMD npm start. How do I make it smaller?",
|
|
895
|
+
"expect": "fire",
|
|
896
|
+
"repeat": 1,
|
|
897
|
+
"fired": true,
|
|
898
|
+
"activated": [
|
|
899
|
+
"dockerfile-review"
|
|
900
|
+
],
|
|
901
|
+
"error": null,
|
|
902
|
+
"duration_s": 9.96,
|
|
903
|
+
"input_tokens": 5013,
|
|
904
|
+
"output_tokens": 12,
|
|
905
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r1-4420d371.jsonl",
|
|
906
|
+
"cost_usd": 0.000754
|
|
907
|
+
},
|
|
908
|
+
{
|
|
909
|
+
"agent": "opencode",
|
|
910
|
+
"skill": "dockerfile-review",
|
|
911
|
+
"prompt": "Is this Dockerfile safe for production? FROM ubuntu\nENV API_KEY=abc123\nRUN apt-get update && apt-get install -y curl\nUSER root",
|
|
912
|
+
"expect": "fire",
|
|
913
|
+
"repeat": 1,
|
|
914
|
+
"fired": true,
|
|
915
|
+
"activated": [
|
|
916
|
+
"dockerfile-review"
|
|
917
|
+
],
|
|
918
|
+
"error": null,
|
|
919
|
+
"duration_s": 10.51,
|
|
920
|
+
"input_tokens": 5007,
|
|
921
|
+
"output_tokens": 12,
|
|
922
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r1-e38f97a6.jsonl",
|
|
923
|
+
"cost_usd": 0.000753
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
"agent": "opencode",
|
|
927
|
+
"skill": "dockerfile-review",
|
|
928
|
+
"prompt": "Check my Dockerfile for bad practices: FROM golang:1.23\nWORKDIR /src\nCOPY . .\nRUN go build -o app\nCMD ./app",
|
|
929
|
+
"expect": "fire",
|
|
930
|
+
"repeat": 1,
|
|
931
|
+
"fired": true,
|
|
932
|
+
"activated": [
|
|
933
|
+
"dockerfile-review"
|
|
934
|
+
],
|
|
935
|
+
"error": null,
|
|
936
|
+
"duration_s": 10.65,
|
|
937
|
+
"input_tokens": 5010,
|
|
938
|
+
"output_tokens": 12,
|
|
939
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r1-39ed1761.jsonl",
|
|
940
|
+
"cost_usd": 0.000753
|
|
941
|
+
},
|
|
942
|
+
{
|
|
943
|
+
"agent": "opencode",
|
|
944
|
+
"skill": "dockerfile-review",
|
|
945
|
+
"prompt": "How do I list all running Docker containers?",
|
|
946
|
+
"expect": "no_fire",
|
|
947
|
+
"repeat": 1,
|
|
948
|
+
"fired": false,
|
|
949
|
+
"activated": [],
|
|
950
|
+
"error": null,
|
|
951
|
+
"duration_s": 10.98,
|
|
952
|
+
"input_tokens": 4980,
|
|
953
|
+
"output_tokens": 3,
|
|
954
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r1-fd36fd0d.jsonl",
|
|
955
|
+
"cost_usd": 0.000747
|
|
956
|
+
},
|
|
957
|
+
{
|
|
958
|
+
"agent": "opencode",
|
|
959
|
+
"skill": "dockerfile-review",
|
|
960
|
+
"prompt": "Write a docker-compose.yml with Postgres and Redis.",
|
|
961
|
+
"expect": "no_fire",
|
|
962
|
+
"repeat": 1,
|
|
963
|
+
"fired": false,
|
|
964
|
+
"activated": [],
|
|
965
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
966
|
+
"duration_s": 13.31,
|
|
967
|
+
"input_tokens": 4983,
|
|
968
|
+
"output_tokens": 25,
|
|
969
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r1-1f198403.jsonl",
|
|
970
|
+
"cost_usd": 0.000751
|
|
971
|
+
},
|
|
972
|
+
{
|
|
973
|
+
"agent": "opencode",
|
|
974
|
+
"skill": "dockerfile-review",
|
|
975
|
+
"prompt": "What is the difference between a Docker image and a container?",
|
|
976
|
+
"expect": "no_fire",
|
|
977
|
+
"repeat": 1,
|
|
978
|
+
"fired": false,
|
|
979
|
+
"activated": [],
|
|
980
|
+
"error": null,
|
|
981
|
+
"duration_s": 9.81,
|
|
982
|
+
"input_tokens": 4983,
|
|
983
|
+
"output_tokens": 99,
|
|
984
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r1-db1d220c.jsonl",
|
|
985
|
+
"cost_usd": 0.000762
|
|
986
|
+
},
|
|
987
|
+
{
|
|
988
|
+
"agent": "opencode",
|
|
989
|
+
"skill": "dockerfile-review",
|
|
990
|
+
"prompt": "My Kubernetes pod is stuck in CrashLoopBackOff. How do I debug it?",
|
|
991
|
+
"expect": "no_fire",
|
|
992
|
+
"repeat": 1,
|
|
993
|
+
"fired": false,
|
|
994
|
+
"activated": [],
|
|
995
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
996
|
+
"duration_s": 12.77,
|
|
997
|
+
"input_tokens": 4988,
|
|
998
|
+
"output_tokens": 15,
|
|
999
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r1-3284c6af.jsonl",
|
|
1000
|
+
"cost_usd": 0.00075
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
1003
|
+
"agent": "opencode",
|
|
1004
|
+
"skill": "commit-message",
|
|
1005
|
+
"prompt": "Write a commit message for my change: I added a login form with email and password validation.",
|
|
1006
|
+
"expect": "fire",
|
|
1007
|
+
"repeat": 2,
|
|
1008
|
+
"fired": true,
|
|
1009
|
+
"activated": [
|
|
1010
|
+
"commit-message"
|
|
1011
|
+
],
|
|
1012
|
+
"error": null,
|
|
1013
|
+
"duration_s": 12.23,
|
|
1014
|
+
"input_tokens": 4982,
|
|
1015
|
+
"output_tokens": 11,
|
|
1016
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r2-e409dfa5.jsonl",
|
|
1017
|
+
"cost_usd": 0.000749
|
|
1018
|
+
},
|
|
1019
|
+
{
|
|
1020
|
+
"agent": "opencode",
|
|
1021
|
+
"skill": "commit-message",
|
|
1022
|
+
"prompt": "Can you draft a conventional commit for a fix that stops the cart total going negative?",
|
|
1023
|
+
"expect": "fire",
|
|
1024
|
+
"repeat": 2,
|
|
1025
|
+
"fired": true,
|
|
1026
|
+
"activated": [
|
|
1027
|
+
"commit-message"
|
|
1028
|
+
],
|
|
1029
|
+
"error": null,
|
|
1030
|
+
"duration_s": 14.29,
|
|
1031
|
+
"input_tokens": 4980,
|
|
1032
|
+
"output_tokens": 11,
|
|
1033
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r2-f2fb5411.jsonl",
|
|
1034
|
+
"cost_usd": 0.000749
|
|
1035
|
+
},
|
|
1036
|
+
{
|
|
1037
|
+
"agent": "opencode",
|
|
1038
|
+
"skill": "commit-message",
|
|
1039
|
+
"prompt": "My commit message is 'stuff'. Improve it: I renamed the User model to Account everywhere.",
|
|
1040
|
+
"expect": "fire",
|
|
1041
|
+
"repeat": 2,
|
|
1042
|
+
"fired": true,
|
|
1043
|
+
"activated": [
|
|
1044
|
+
"commit-message"
|
|
1045
|
+
],
|
|
1046
|
+
"error": null,
|
|
1047
|
+
"duration_s": 12.41,
|
|
1048
|
+
"input_tokens": 4982,
|
|
1049
|
+
"output_tokens": 11,
|
|
1050
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r2-6d69a44f.jsonl",
|
|
1051
|
+
"cost_usd": 0.000749
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
"agent": "opencode",
|
|
1055
|
+
"skill": "commit-message",
|
|
1056
|
+
"prompt": "I bumped React from 18 to 19 and fixed two broken tests. What should the commit say?",
|
|
1057
|
+
"expect": "fire",
|
|
1058
|
+
"repeat": 2,
|
|
1059
|
+
"fired": true,
|
|
1060
|
+
"activated": [
|
|
1061
|
+
"commit-message"
|
|
1062
|
+
],
|
|
1063
|
+
"error": null,
|
|
1064
|
+
"duration_s": 11.66,
|
|
1065
|
+
"input_tokens": 4986,
|
|
1066
|
+
"output_tokens": 11,
|
|
1067
|
+
"log": "examples/recorded/logs/opencode-commit-message-fire-r2-edbcb326.jsonl",
|
|
1068
|
+
"cost_usd": 0.00075
|
|
1069
|
+
},
|
|
1070
|
+
{
|
|
1071
|
+
"agent": "opencode",
|
|
1072
|
+
"skill": "commit-message",
|
|
1073
|
+
"prompt": "How do I undo my last git commit but keep the changes?",
|
|
1074
|
+
"expect": "no_fire",
|
|
1075
|
+
"repeat": 2,
|
|
1076
|
+
"fired": false,
|
|
1077
|
+
"activated": [],
|
|
1078
|
+
"error": null,
|
|
1079
|
+
"duration_s": 12.89,
|
|
1080
|
+
"input_tokens": 4975,
|
|
1081
|
+
"output_tokens": 13,
|
|
1082
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r2-d98b2514.jsonl",
|
|
1083
|
+
"cost_usd": 0.000748
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"agent": "opencode",
|
|
1087
|
+
"skill": "commit-message",
|
|
1088
|
+
"prompt": "Explain the difference between git merge and git rebase.",
|
|
1089
|
+
"expect": "no_fire",
|
|
1090
|
+
"repeat": 2,
|
|
1091
|
+
"fired": false,
|
|
1092
|
+
"activated": [],
|
|
1093
|
+
"error": null,
|
|
1094
|
+
"duration_s": 11.1,
|
|
1095
|
+
"input_tokens": 4975,
|
|
1096
|
+
"output_tokens": 141,
|
|
1097
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r2-9080e467.jsonl",
|
|
1098
|
+
"cost_usd": 0.000767
|
|
1099
|
+
},
|
|
1100
|
+
{
|
|
1101
|
+
"agent": "opencode",
|
|
1102
|
+
"skill": "commit-message",
|
|
1103
|
+
"prompt": "Write a CHANGELOG entry for version 2.3.0 of my library.",
|
|
1104
|
+
"expect": "no_fire",
|
|
1105
|
+
"repeat": 2,
|
|
1106
|
+
"fired": true,
|
|
1107
|
+
"activated": [
|
|
1108
|
+
"commit-message"
|
|
1109
|
+
],
|
|
1110
|
+
"error": null,
|
|
1111
|
+
"duration_s": 13.99,
|
|
1112
|
+
"input_tokens": 4981,
|
|
1113
|
+
"output_tokens": 11,
|
|
1114
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r2-5212ab0a.jsonl",
|
|
1115
|
+
"cost_usd": 0.000749
|
|
1116
|
+
},
|
|
1117
|
+
{
|
|
1118
|
+
"agent": "opencode",
|
|
1119
|
+
"skill": "commit-message",
|
|
1120
|
+
"prompt": "Write a Python function that checks whether a string is a palindrome.",
|
|
1121
|
+
"expect": "no_fire",
|
|
1122
|
+
"repeat": 2,
|
|
1123
|
+
"fired": false,
|
|
1124
|
+
"activated": [],
|
|
1125
|
+
"error": null,
|
|
1126
|
+
"duration_s": 10.79,
|
|
1127
|
+
"input_tokens": 4977,
|
|
1128
|
+
"output_tokens": 27,
|
|
1129
|
+
"log": "examples/recorded/logs/opencode-commit-message-no_fire-r2-fa668f55.jsonl",
|
|
1130
|
+
"cost_usd": 0.000751
|
|
1131
|
+
},
|
|
1132
|
+
{
|
|
1133
|
+
"agent": "opencode",
|
|
1134
|
+
"skill": "regex-explainer",
|
|
1135
|
+
"prompt": "What does this regex do? ^(?:\\+34)?[6-9]\\d{8}$",
|
|
1136
|
+
"expect": "fire",
|
|
1137
|
+
"repeat": 2,
|
|
1138
|
+
"fired": true,
|
|
1139
|
+
"activated": [
|
|
1140
|
+
"regex-explainer"
|
|
1141
|
+
],
|
|
1142
|
+
"error": null,
|
|
1143
|
+
"duration_s": 9.82,
|
|
1144
|
+
"input_tokens": 4989,
|
|
1145
|
+
"output_tokens": 13,
|
|
1146
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r2-acdcfc02.jsonl",
|
|
1147
|
+
"cost_usd": 0.00075
|
|
1148
|
+
},
|
|
1149
|
+
{
|
|
1150
|
+
"agent": "opencode",
|
|
1151
|
+
"skill": "regex-explainer",
|
|
1152
|
+
"prompt": "Explain this pattern token by token: (?<=\\$)\\d+(?:\\.\\d{2})?",
|
|
1153
|
+
"expect": "fire",
|
|
1154
|
+
"repeat": 2,
|
|
1155
|
+
"fired": true,
|
|
1156
|
+
"activated": [
|
|
1157
|
+
"regex-explainer"
|
|
1158
|
+
],
|
|
1159
|
+
"error": null,
|
|
1160
|
+
"duration_s": 12.11,
|
|
1161
|
+
"input_tokens": 4990,
|
|
1162
|
+
"output_tokens": 13,
|
|
1163
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r2-ec2fff5e.jsonl",
|
|
1164
|
+
"cost_usd": 0.00075
|
|
1165
|
+
},
|
|
1166
|
+
{
|
|
1167
|
+
"agent": "opencode",
|
|
1168
|
+
"skill": "regex-explainer",
|
|
1169
|
+
"prompt": "Why does /^\\w+@\\w+\\.com$/ not match john.doe@mail.example.com?",
|
|
1170
|
+
"expect": "fire",
|
|
1171
|
+
"repeat": 2,
|
|
1172
|
+
"fired": false,
|
|
1173
|
+
"activated": [],
|
|
1174
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
1175
|
+
"duration_s": 6.37,
|
|
1176
|
+
"input_tokens": 4990,
|
|
1177
|
+
"output_tokens": 16,
|
|
1178
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r2-b575a6ef.jsonl",
|
|
1179
|
+
"cost_usd": 0.000751
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"agent": "opencode",
|
|
1183
|
+
"skill": "regex-explainer",
|
|
1184
|
+
"prompt": "I found \\b(\\w+)\\s+\\1\\b in our codebase. What is it for?",
|
|
1185
|
+
"expect": "fire",
|
|
1186
|
+
"repeat": 2,
|
|
1187
|
+
"fired": false,
|
|
1188
|
+
"activated": [],
|
|
1189
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
1190
|
+
"duration_s": 23.95,
|
|
1191
|
+
"input_tokens": 4989,
|
|
1192
|
+
"output_tokens": 82,
|
|
1193
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-fire-r2-d87944e8.jsonl",
|
|
1194
|
+
"cost_usd": 0.000761
|
|
1195
|
+
},
|
|
1196
|
+
{
|
|
1197
|
+
"agent": "opencode",
|
|
1198
|
+
"skill": "regex-explainer",
|
|
1199
|
+
"prompt": "Write a regex that matches US ZIP codes.",
|
|
1200
|
+
"expect": "no_fire",
|
|
1201
|
+
"repeat": 2,
|
|
1202
|
+
"fired": false,
|
|
1203
|
+
"activated": [],
|
|
1204
|
+
"error": null,
|
|
1205
|
+
"duration_s": 8.07,
|
|
1206
|
+
"input_tokens": 4976,
|
|
1207
|
+
"output_tokens": 61,
|
|
1208
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r2-7071a2c0.jsonl",
|
|
1209
|
+
"cost_usd": 0.000756
|
|
1210
|
+
},
|
|
1211
|
+
{
|
|
1212
|
+
"agent": "opencode",
|
|
1213
|
+
"skill": "regex-explainer",
|
|
1214
|
+
"prompt": "How do I replace every tab with four spaces in VS Code?",
|
|
1215
|
+
"expect": "no_fire",
|
|
1216
|
+
"repeat": 2,
|
|
1217
|
+
"fired": false,
|
|
1218
|
+
"activated": [],
|
|
1219
|
+
"error": null,
|
|
1220
|
+
"duration_s": 9.03,
|
|
1221
|
+
"input_tokens": 4979,
|
|
1222
|
+
"output_tokens": 148,
|
|
1223
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r2-b75ba907.jsonl",
|
|
1224
|
+
"cost_usd": 0.000769
|
|
1225
|
+
},
|
|
1226
|
+
{
|
|
1227
|
+
"agent": "opencode",
|
|
1228
|
+
"skill": "regex-explainer",
|
|
1229
|
+
"prompt": "Parse this CSV line in Python: name,age,city",
|
|
1230
|
+
"expect": "no_fire",
|
|
1231
|
+
"repeat": 2,
|
|
1232
|
+
"fired": false,
|
|
1233
|
+
"activated": [],
|
|
1234
|
+
"error": null,
|
|
1235
|
+
"duration_s": 8.09,
|
|
1236
|
+
"input_tokens": 4980,
|
|
1237
|
+
"output_tokens": 60,
|
|
1238
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r2-be76a2dc.jsonl",
|
|
1239
|
+
"cost_usd": 0.000756
|
|
1240
|
+
},
|
|
1241
|
+
{
|
|
1242
|
+
"agent": "opencode",
|
|
1243
|
+
"skill": "regex-explainer",
|
|
1244
|
+
"prompt": "What is the time complexity of binary search?",
|
|
1245
|
+
"expect": "no_fire",
|
|
1246
|
+
"repeat": 2,
|
|
1247
|
+
"fired": false,
|
|
1248
|
+
"activated": [],
|
|
1249
|
+
"error": null,
|
|
1250
|
+
"duration_s": 8.54,
|
|
1251
|
+
"input_tokens": 4975,
|
|
1252
|
+
"output_tokens": 5,
|
|
1253
|
+
"log": "examples/recorded/logs/opencode-regex-explainer-no_fire-r2-95c9e10d.jsonl",
|
|
1254
|
+
"cost_usd": 0.000747
|
|
1255
|
+
},
|
|
1256
|
+
{
|
|
1257
|
+
"agent": "opencode",
|
|
1258
|
+
"skill": "dockerfile-review",
|
|
1259
|
+
"prompt": "Review this Dockerfile: FROM python:latest\nCOPY . /app\nRUN pip install -r /app/requirements.txt\nCMD python /app/main.py",
|
|
1260
|
+
"expect": "fire",
|
|
1261
|
+
"repeat": 2,
|
|
1262
|
+
"fired": true,
|
|
1263
|
+
"activated": [
|
|
1264
|
+
"dockerfile-review"
|
|
1265
|
+
],
|
|
1266
|
+
"error": null,
|
|
1267
|
+
"duration_s": 12.27,
|
|
1268
|
+
"input_tokens": 5008,
|
|
1269
|
+
"output_tokens": 12,
|
|
1270
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r2-00fe9152.jsonl",
|
|
1271
|
+
"cost_usd": 0.000753
|
|
1272
|
+
},
|
|
1273
|
+
{
|
|
1274
|
+
"agent": "opencode",
|
|
1275
|
+
"skill": "dockerfile-review",
|
|
1276
|
+
"prompt": "My Node image is 1.4 GB. Here is the Dockerfile: FROM node:22\nCOPY . .\nRUN npm install\nCMD npm start. How do I make it smaller?",
|
|
1277
|
+
"expect": "fire",
|
|
1278
|
+
"repeat": 2,
|
|
1279
|
+
"fired": true,
|
|
1280
|
+
"activated": [
|
|
1281
|
+
"dockerfile-review"
|
|
1282
|
+
],
|
|
1283
|
+
"error": null,
|
|
1284
|
+
"duration_s": 11.96,
|
|
1285
|
+
"input_tokens": 5013,
|
|
1286
|
+
"output_tokens": 12,
|
|
1287
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r2-4420d371.jsonl",
|
|
1288
|
+
"cost_usd": 0.000754
|
|
1289
|
+
},
|
|
1290
|
+
{
|
|
1291
|
+
"agent": "opencode",
|
|
1292
|
+
"skill": "dockerfile-review",
|
|
1293
|
+
"prompt": "Is this Dockerfile safe for production? FROM ubuntu\nENV API_KEY=abc123\nRUN apt-get update && apt-get install -y curl\nUSER root",
|
|
1294
|
+
"expect": "fire",
|
|
1295
|
+
"repeat": 2,
|
|
1296
|
+
"fired": true,
|
|
1297
|
+
"activated": [
|
|
1298
|
+
"dockerfile-review"
|
|
1299
|
+
],
|
|
1300
|
+
"error": null,
|
|
1301
|
+
"duration_s": 15.33,
|
|
1302
|
+
"input_tokens": 5007,
|
|
1303
|
+
"output_tokens": 12,
|
|
1304
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r2-e38f97a6.jsonl",
|
|
1305
|
+
"cost_usd": 0.000753
|
|
1306
|
+
},
|
|
1307
|
+
{
|
|
1308
|
+
"agent": "opencode",
|
|
1309
|
+
"skill": "dockerfile-review",
|
|
1310
|
+
"prompt": "Check my Dockerfile for bad practices: FROM golang:1.23\nWORKDIR /src\nCOPY . .\nRUN go build -o app\nCMD ./app",
|
|
1311
|
+
"expect": "fire",
|
|
1312
|
+
"repeat": 2,
|
|
1313
|
+
"fired": true,
|
|
1314
|
+
"activated": [
|
|
1315
|
+
"dockerfile-review"
|
|
1316
|
+
],
|
|
1317
|
+
"error": null,
|
|
1318
|
+
"duration_s": 12.18,
|
|
1319
|
+
"input_tokens": 5010,
|
|
1320
|
+
"output_tokens": 12,
|
|
1321
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-fire-r2-39ed1761.jsonl",
|
|
1322
|
+
"cost_usd": 0.000753
|
|
1323
|
+
},
|
|
1324
|
+
{
|
|
1325
|
+
"agent": "opencode",
|
|
1326
|
+
"skill": "dockerfile-review",
|
|
1327
|
+
"prompt": "How do I list all running Docker containers?",
|
|
1328
|
+
"expect": "no_fire",
|
|
1329
|
+
"repeat": 2,
|
|
1330
|
+
"fired": false,
|
|
1331
|
+
"activated": [],
|
|
1332
|
+
"error": null,
|
|
1333
|
+
"duration_s": 11.23,
|
|
1334
|
+
"input_tokens": 4980,
|
|
1335
|
+
"output_tokens": 3,
|
|
1336
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r2-fd36fd0d.jsonl",
|
|
1337
|
+
"cost_usd": 0.000747
|
|
1338
|
+
},
|
|
1339
|
+
{
|
|
1340
|
+
"agent": "opencode",
|
|
1341
|
+
"skill": "dockerfile-review",
|
|
1342
|
+
"prompt": "Write a docker-compose.yml with Postgres and Redis.",
|
|
1343
|
+
"expect": "no_fire",
|
|
1344
|
+
"repeat": 2,
|
|
1345
|
+
"fired": false,
|
|
1346
|
+
"activated": [],
|
|
1347
|
+
"error": "Bad Request: Expected last role User or Tool (or Assistant with prefix True) for serving but got assistant",
|
|
1348
|
+
"duration_s": 11.54,
|
|
1349
|
+
"input_tokens": 4983,
|
|
1350
|
+
"output_tokens": 25,
|
|
1351
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r2-1f198403.jsonl",
|
|
1352
|
+
"cost_usd": 0.000751
|
|
1353
|
+
},
|
|
1354
|
+
{
|
|
1355
|
+
"agent": "opencode",
|
|
1356
|
+
"skill": "dockerfile-review",
|
|
1357
|
+
"prompt": "What is the difference between a Docker image and a container?",
|
|
1358
|
+
"expect": "no_fire",
|
|
1359
|
+
"repeat": 2,
|
|
1360
|
+
"fired": false,
|
|
1361
|
+
"activated": [],
|
|
1362
|
+
"error": null,
|
|
1363
|
+
"duration_s": 11.21,
|
|
1364
|
+
"input_tokens": 4983,
|
|
1365
|
+
"output_tokens": 100,
|
|
1366
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r2-db1d220c.jsonl",
|
|
1367
|
+
"cost_usd": 0.000762
|
|
1368
|
+
},
|
|
1369
|
+
{
|
|
1370
|
+
"agent": "opencode",
|
|
1371
|
+
"skill": "dockerfile-review",
|
|
1372
|
+
"prompt": "My Kubernetes pod is stuck in CrashLoopBackOff. How do I debug it?",
|
|
1373
|
+
"expect": "no_fire",
|
|
1374
|
+
"repeat": 2,
|
|
1375
|
+
"fired": false,
|
|
1376
|
+
"activated": [],
|
|
1377
|
+
"error": null,
|
|
1378
|
+
"duration_s": 35.43,
|
|
1379
|
+
"input_tokens": 4988,
|
|
1380
|
+
"output_tokens": 312,
|
|
1381
|
+
"log": "examples/recorded/logs/opencode-dockerfile-review-no_fire-r2-3284c6af.jsonl",
|
|
1382
|
+
"cost_usd": 0.000795
|
|
1383
|
+
}
|
|
1384
|
+
],
|
|
1385
|
+
"cost_usd": 0.054221,
|
|
1386
|
+
"partial": false,
|
|
1387
|
+
"stop_reason": null,
|
|
1388
|
+
"sessions": 9,
|
|
1389
|
+
"recorded": true,
|
|
1390
|
+
"blocked_egress": [
|
|
1391
|
+
"deny CONNECT registry.npmjs.org:443"
|
|
1392
|
+
]
|
|
1393
|
+
}
|