@bendyline/gilde 0.1.57 → 0.1.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/craftbook.json +0 -16
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/test.json +7 -10
- package/data/craftbook-templates/co/content-deck/versions/1.2.4/craftbook.json +4 -4
- package/data/craftbook-templates/co/content-deck/versions/1.2.4/test.json +3 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.4/craftbook.json +4 -4
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.4/test.json +3 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/test.json +3 -6
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/test.json +6 -9
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.3/test.json +7 -10
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/test.json +9 -11
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/craftbook.json +0 -16
- package/data/craftbook-templates/mo/morning-report/versions/1.0.3/test.json +14 -17
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.4/craftbook.json +314 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.4/test.json +89 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/test.json +12 -15
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/test.json +9 -12
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.10/craftbook.json +581 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.10/test.json +240 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/test.json +3 -6
- package/data/craftbook-templates/pr/practice-session/versions/1.0.3/test.json +6 -9
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/craftbook.json +0 -8
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/test.json +8 -11
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/test.json +8 -11
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/test.json +9 -11
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.4/craftbook.json +0 -16
- package/data/craftbook-templates/re/report-pdf/versions/1.1.4/craftbook.json +315 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.4/test.json +101 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.4/craftbook.json +386 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.4/test.json +242 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/test.json +9 -12
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/test.json +15 -18
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/craftbook.json +0 -8
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/test.json +5 -8
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/test.json +13 -16
- package/data/toolsets/do/docblocks/versions/2.6.0/manifest.json +95 -0
- package/data/toolsets/index.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "PowerPoint source-acquisition, outline parity, and DocBlocks production",
|
|
4
|
+
"objective": "Measure the whole PowerPoint route in one eval: acquire and cite sources, hold the deck to its own outline, and then actually PRODUCE the binary — 1.5.0 graded only the Markdown and 1.4.0 graded only the production, so each on its own let half the recipe pass unverified.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"corpus",
|
|
7
|
+
"research",
|
|
8
|
+
"grounding",
|
|
9
|
+
"external",
|
|
10
|
+
"documents"
|
|
11
|
+
],
|
|
12
|
+
"prompt": "Create a PowerPoint from source/brief.md for operations leads. Use 6-8 slides, preserve the supplied facts exactly, and close with next actions. Do not create HTML.\n\nProduce the finished file through the DocBlocks tools on your roster: `list_roots`, then `convert_document` on the approved `powerpoint/eval/deck.md`, `preview_document` to confirm it rendered, and `save_artifact` to write the deck to `deliverables/d-day.pptx`. Markdown or hand-built OOXML written to that path is not a substitute for the real file.",
|
|
13
|
+
"setup": {
|
|
14
|
+
"projectName": "PowerPoint Grounding Eval",
|
|
15
|
+
"about": "The exact source file is authoritative; the deck must keep the locked outline and its facts.",
|
|
16
|
+
"missionObjectives": "Read source/brief.md, cite it, lock a numbered outline, and create matching slide-structured Markdown ready for editable PPTX conversion.",
|
|
17
|
+
"craftbookParams": {
|
|
18
|
+
"outputPath": "deliverables/d-day.pptx",
|
|
19
|
+
"sourcePath": "source/brief.md",
|
|
20
|
+
"topic": "Boreal Desk Returns Pilot",
|
|
21
|
+
"content": "",
|
|
22
|
+
"audience": "operations leads",
|
|
23
|
+
"outputDir": "powerpoint/eval"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
{
|
|
27
|
+
"path": "source/brief.md",
|
|
28
|
+
"content": "# Boreal Desk Returns Pilot\n\nAudience: operations leads.\n\nFacts:\n- Pilot coverage: 18 SKUs.\n- Median first response: 18 hours to 6 hours.\n- Preventable refund leakage: 14.2% to 8.9%.\n- Top unresolved complaint: status silence after photo submission.\n- Next actions: automated status emails, barcode-exception training, weekly Finance exception export.\n\nDo not invent other metrics."
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"worker": {
|
|
32
|
+
"name": "Mara",
|
|
33
|
+
"role": "Researcher"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"mocks": [
|
|
37
|
+
{
|
|
38
|
+
"kind": "mcp",
|
|
39
|
+
"id": "docblocks",
|
|
40
|
+
"toolsetId": "docblocks",
|
|
41
|
+
"description": "Deterministic fake DocBlocks MCP for final presentation conversion, preview, and saving.",
|
|
42
|
+
"tools": [
|
|
43
|
+
{
|
|
44
|
+
"name": "list_roots",
|
|
45
|
+
"description": "List the workspace read root and artifacts write root.",
|
|
46
|
+
"resultTemplate": {
|
|
47
|
+
"roots": [
|
|
48
|
+
{
|
|
49
|
+
"id": "workspace",
|
|
50
|
+
"name": "workspace",
|
|
51
|
+
"capabilities": [
|
|
52
|
+
"read"
|
|
53
|
+
]
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "artifacts",
|
|
57
|
+
"name": "artifacts",
|
|
58
|
+
"capabilities": [
|
|
59
|
+
"read",
|
|
60
|
+
"write"
|
|
61
|
+
]
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"name": "get_authoring_context",
|
|
68
|
+
"description": "Return optional PPTX authoring guidance.",
|
|
69
|
+
"resultTemplate": {
|
|
70
|
+
"targetFormat": "pptx",
|
|
71
|
+
"guidance": "Use one H1 per slide and editable-native fidelity."
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "convert_document",
|
|
76
|
+
"description": "Convert approved Markdown to a deterministic PPTX artifact URI.",
|
|
77
|
+
"resultTemplate": {
|
|
78
|
+
"artifacts": [
|
|
79
|
+
{
|
|
80
|
+
"format": "pptx",
|
|
81
|
+
"uri": "mock://docblocks/deck.pptx",
|
|
82
|
+
"sha256": "1111111111111111111111111111111111111111111111111111111111111111"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"diagnostics": []
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "preview_document",
|
|
90
|
+
"description": "Return deterministic slide-preview evidence.",
|
|
91
|
+
"resultTemplate": {
|
|
92
|
+
"slides": 7,
|
|
93
|
+
"overflow": false,
|
|
94
|
+
"tinyText": false,
|
|
95
|
+
"previewed": true
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "save_artifact",
|
|
100
|
+
"description": "Save the converted PPTX into the project artifacts drawer.",
|
|
101
|
+
"resultTemplate": {
|
|
102
|
+
"ok": true,
|
|
103
|
+
"bytes": 2400,
|
|
104
|
+
"sha256": "2222222222222222222222222222222222222222222222222222222222222222"
|
|
105
|
+
},
|
|
106
|
+
"writeFixture": {
|
|
107
|
+
"surface": "artifact",
|
|
108
|
+
"pathArgument": "destination.path",
|
|
109
|
+
"fixture": "minimal-pptx"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"success": {
|
|
116
|
+
"summary": "The source packet cites the exact brief, the outline is numbered, powerpoint/eval/deck.md matches every outline slide while preserving the supplied facts, and a real ZIP-shaped PPTX — not the Markdown source — lands at the requested workspace path via DocBlocks.",
|
|
117
|
+
"deliverables": [
|
|
118
|
+
{
|
|
119
|
+
"path": "{{task.dir}}/sources.md",
|
|
120
|
+
"kind": "markdown-doc",
|
|
121
|
+
"minBytes": 500,
|
|
122
|
+
"artifact": true,
|
|
123
|
+
"checks": [
|
|
124
|
+
{
|
|
125
|
+
"kind": "citationsResolve",
|
|
126
|
+
"file": "{{task.dir}}/sources.md",
|
|
127
|
+
"artifact": true,
|
|
128
|
+
"minCitations": 1
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"path": "{{task.dir}}/outline.md",
|
|
134
|
+
"kind": "markdown-doc",
|
|
135
|
+
"minBytes": 500,
|
|
136
|
+
"artifact": true,
|
|
137
|
+
"checks": [
|
|
138
|
+
{
|
|
139
|
+
"kind": "contains",
|
|
140
|
+
"file": "{{task.dir}}/outline.md",
|
|
141
|
+
"pattern": "(?:^|\\n)#{2,6}\\s+(?:Slide\\s+)?1(?:\\s*[.:\\-–—]\\s*|\\s+)\\S",
|
|
142
|
+
"flags": "i",
|
|
143
|
+
"label": "a numbered Slide 1 heading",
|
|
144
|
+
"artifact": true
|
|
145
|
+
}
|
|
146
|
+
]
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"path": "powerpoint/eval/deck.md",
|
|
150
|
+
"kind": "markdown-doc",
|
|
151
|
+
"minBytes": 700,
|
|
152
|
+
"checks": [
|
|
153
|
+
{
|
|
154
|
+
"kind": "markdownHeadingsMatch",
|
|
155
|
+
"file": "powerpoint/eval/deck.md",
|
|
156
|
+
"outlineFile": "{{task.dir}}/outline.md",
|
|
157
|
+
"outlineArtifact": true
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"kind": "citationsResolve",
|
|
161
|
+
"file": "powerpoint/eval/deck.md",
|
|
162
|
+
"minCitations": 1
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"kind": "contains",
|
|
166
|
+
"file": "powerpoint/eval/deck.md",
|
|
167
|
+
"pattern": "18\\s+SKUs|18\\s+hours|6\\s+hours|14\\.2%|8\\.9%",
|
|
168
|
+
"flags": "i",
|
|
169
|
+
"label": "the supplied figures, verbatim"
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"kind": "contains",
|
|
173
|
+
"file": "powerpoint/eval/deck.md",
|
|
174
|
+
"pattern": "automated status emails|barcode-exception training|weekly Finance exception export",
|
|
175
|
+
"flags": "i",
|
|
176
|
+
"label": "the supplied next actions"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"kind": "notContains",
|
|
180
|
+
"file": "powerpoint/eval/deck.md",
|
|
181
|
+
"pattern": "<html|<script|<style",
|
|
182
|
+
"flags": "i"
|
|
183
|
+
}
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"path": "deliverables/d-day.pptx",
|
|
188
|
+
"kind": "slide-deck",
|
|
189
|
+
"minBytes": 1000,
|
|
190
|
+
"checks": [
|
|
191
|
+
{
|
|
192
|
+
"kind": "binaryDocument",
|
|
193
|
+
"file": "deliverables/d-day.pptx",
|
|
194
|
+
"minBytes": 1000
|
|
195
|
+
}
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
"mocks": [
|
|
200
|
+
{
|
|
201
|
+
"service": "docblocks",
|
|
202
|
+
"requiredTools": [
|
|
203
|
+
"convert_document",
|
|
204
|
+
"preview_document",
|
|
205
|
+
"save_artifact"
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
]
|
|
209
|
+
},
|
|
210
|
+
"rubric": {
|
|
211
|
+
"artifact": {
|
|
212
|
+
"path": "powerpoint/eval/deck.md",
|
|
213
|
+
"kind": "markdown"
|
|
214
|
+
},
|
|
215
|
+
"axes": [
|
|
216
|
+
{
|
|
217
|
+
"name": "source-acquisition",
|
|
218
|
+
"description": "The workflow read and cited the exact supplied source before outlining."
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
"name": "outline-parity",
|
|
222
|
+
"description": "Every numbered outline slide appears exactly once as a same-title H1 in powerpoint/eval/deck.md, in order."
|
|
223
|
+
},
|
|
224
|
+
{
|
|
225
|
+
"name": "grounding",
|
|
226
|
+
"description": "Every metric and action comes from source/brief.md and no extra metric was invented."
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"name": "convertibility",
|
|
230
|
+
"description": "One H1 per slide and concise block content make the source ready for DocBlocks PPTX conversion."
|
|
231
|
+
}
|
|
232
|
+
]
|
|
233
|
+
},
|
|
234
|
+
"qualityFocus": [
|
|
235
|
+
"successful exact-source retrieval",
|
|
236
|
+
"resolvable citations",
|
|
237
|
+
"exact outline-to-deck slide parity",
|
|
238
|
+
"no HTML intermediary"
|
|
239
|
+
]
|
|
240
|
+
}
|
|
@@ -19,14 +19,11 @@
|
|
|
19
19
|
"worker": {
|
|
20
20
|
"name": "Milan",
|
|
21
21
|
"role": "Developer"
|
|
22
|
-
},
|
|
23
|
-
"craftbookParams": {
|
|
24
|
-
"workPath": "tasks/eval"
|
|
25
22
|
}
|
|
26
23
|
},
|
|
27
24
|
"mocks": [],
|
|
28
25
|
"success": {
|
|
29
|
-
"summary": "exam.html is a timed, self-scoring exam built from the deck with the record's weak topics weighted up;
|
|
26
|
+
"summary": "exam.html is a timed, self-scoring exam built from the deck with the record's weak topics weighted up; answer-key.md in this task's own artifacts working folder explains every answer.",
|
|
30
27
|
"deliverables": [
|
|
31
28
|
{
|
|
32
29
|
"path": "exam.html",
|
|
@@ -73,13 +70,13 @@
|
|
|
73
70
|
]
|
|
74
71
|
},
|
|
75
72
|
{
|
|
76
|
-
"path": "
|
|
73
|
+
"path": "{{task.dir}}/answer-key.md",
|
|
77
74
|
"kind": "markdown-notes",
|
|
78
75
|
"minBytes": 800,
|
|
79
76
|
"checks": [
|
|
80
77
|
{
|
|
81
78
|
"kind": "contains",
|
|
82
|
-
"file": "
|
|
79
|
+
"file": "{{task.dir}}/answer-key.md",
|
|
83
80
|
"pattern": "card|deck",
|
|
84
81
|
"flags": "i",
|
|
85
82
|
"label": "key points back to the deck",
|
|
@@ -23,30 +23,27 @@
|
|
|
23
23
|
"worker": {
|
|
24
24
|
"name": "Ruben",
|
|
25
25
|
"role": "Coach"
|
|
26
|
-
},
|
|
27
|
-
"craftbookParams": {
|
|
28
|
-
"workPath": "tasks/eval"
|
|
29
26
|
}
|
|
30
27
|
},
|
|
31
28
|
"mocks": [],
|
|
32
29
|
"success": {
|
|
33
|
-
"summary": "Today's session is appended to practice.json as a well-formed entry, and
|
|
30
|
+
"summary": "Today's session is appended to practice.json as a well-formed entry, and report.md in this task's own artifacts working folder closes the day with the streak state and a concrete, targeted plan for tomorrow.",
|
|
34
31
|
"deliverables": [
|
|
35
32
|
{
|
|
36
|
-
"path": "
|
|
33
|
+
"path": "{{task.dir}}/report.md",
|
|
37
34
|
"kind": "markdown-report",
|
|
38
35
|
"minBytes": 800,
|
|
39
36
|
"checks": [
|
|
40
37
|
{
|
|
41
38
|
"kind": "contains",
|
|
42
|
-
"file": "
|
|
39
|
+
"file": "{{task.dir}}/report.md",
|
|
43
40
|
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
44
41
|
"flags": "i",
|
|
45
42
|
"artifact": true
|
|
46
43
|
},
|
|
47
44
|
{
|
|
48
45
|
"kind": "contains",
|
|
49
|
-
"file": "
|
|
46
|
+
"file": "{{task.dir}}/report.md",
|
|
50
47
|
"pattern": "tomorrow|next session",
|
|
51
48
|
"flags": "i",
|
|
52
49
|
"label": "tomorrow's plan present",
|
|
@@ -54,7 +51,7 @@
|
|
|
54
51
|
},
|
|
55
52
|
{
|
|
56
53
|
"kind": "contains",
|
|
57
|
-
"file": "
|
|
54
|
+
"file": "{{task.dir}}/report.md",
|
|
58
55
|
"pattern": "bpm|bar\\s*\\d+",
|
|
59
56
|
"flags": "i",
|
|
60
57
|
"label": "concrete tempo or bar targets",
|
|
@@ -91,7 +88,7 @@
|
|
|
91
88
|
},
|
|
92
89
|
"rubric": {
|
|
93
90
|
"artifact": {
|
|
94
|
-
"path": "
|
|
91
|
+
"path": "{{task.dir}}/report.md",
|
|
95
92
|
"kind": "markdown"
|
|
96
93
|
},
|
|
97
94
|
"axes": [
|
|
@@ -104,14 +104,6 @@
|
|
|
104
104
|
"kind": "sniff",
|
|
105
105
|
"file": "price_tracker.py",
|
|
106
106
|
"sniff": "nonempty"
|
|
107
|
-
},
|
|
108
|
-
{
|
|
109
|
-
"kind": "esmImports",
|
|
110
|
-
"file": "price_tracker.py"
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
"kind": "sourceParses",
|
|
114
|
-
"file": "price_tracker.py"
|
|
115
107
|
}
|
|
116
108
|
],
|
|
117
109
|
"onReject": "build",
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"prompt": "i dropped this months recipts into inbox/ — can you get them into the shoebox and flag anything that looks off?",
|
|
9
9
|
"setup": {
|
|
10
10
|
"projectName": "Tax Shoebox — Receipt Intake Eval",
|
|
11
|
-
"about": "Self-contained eval project for receipt-intake. The intake rail has already pre-extracted each snapped receipt photo into a plain-text note under inbox/ (vendor, date, total, and any handwriting). The ledger lives at ledger.json in the workspace; the run's write-up goes to
|
|
12
|
-
"missionObjectives": "Use the Receipt Intake craftbook/template, read the seeded local fixtures only, and finish with an updated ledger.json plus
|
|
11
|
+
"about": "Self-contained eval project for receipt-intake. The intake rail has already pre-extracted each snapped receipt photo into a plain-text note under inbox/ (vendor, date, total, and any handwriting). The ledger lives at ledger.json in the workspace; the run's write-up goes to report.md in this task's own artifacts working folder.",
|
|
12
|
+
"missionObjectives": "Use the Receipt Intake craftbook/template, read the seeded local fixtures only, and finish with an updated ledger.json plus report.md in this task's own artifacts working folder — no network calls, real credentials, or live services.",
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "inbox/receipt-01.txt",
|
|
@@ -39,30 +39,27 @@
|
|
|
39
39
|
"worker": {
|
|
40
40
|
"name": "Nora",
|
|
41
41
|
"role": "Clerk"
|
|
42
|
-
},
|
|
43
|
-
"craftbookParams": {
|
|
44
|
-
"workPath": "tasks/eval"
|
|
45
42
|
}
|
|
46
43
|
},
|
|
47
44
|
"mocks": [],
|
|
48
45
|
"success": {
|
|
49
|
-
"summary": "The ledger gains schema-clean entries whose amounts match the receipts exactly, and
|
|
46
|
+
"summary": "The ledger gains schema-clean entries whose amounts match the receipts exactly, and report.md in this task's own artifacts working folder surfaces the duplicate and the owner question instead of guessing.",
|
|
50
47
|
"deliverables": [
|
|
51
48
|
{
|
|
52
|
-
"path": "
|
|
49
|
+
"path": "{{task.dir}}/report.md",
|
|
53
50
|
"kind": "markdown-report",
|
|
54
51
|
"minBytes": 600,
|
|
55
52
|
"checks": [
|
|
56
53
|
{
|
|
57
54
|
"kind": "contains",
|
|
58
|
-
"file": "
|
|
55
|
+
"file": "{{task.dir}}/report.md",
|
|
59
56
|
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
60
57
|
"flags": "i",
|
|
61
58
|
"artifact": true
|
|
62
59
|
},
|
|
63
60
|
{
|
|
64
61
|
"kind": "contains",
|
|
65
|
-
"file": "
|
|
62
|
+
"file": "{{task.dir}}/report.md",
|
|
66
63
|
"pattern": "question|unsure|unclear|flag",
|
|
67
64
|
"flags": "i",
|
|
68
65
|
"label": "ambiguous receipt surfaced as an owner question, not a guess",
|
|
@@ -70,7 +67,7 @@
|
|
|
70
67
|
},
|
|
71
68
|
{
|
|
72
69
|
"kind": "contains",
|
|
73
|
-
"file": "
|
|
70
|
+
"file": "{{task.dir}}/report.md",
|
|
74
71
|
"pattern": "duplicate|already (in|entered|logged)|double[- ]?count",
|
|
75
72
|
"flags": "i",
|
|
76
73
|
"label": "the repeat Office Depot receipt is flagged as a likely duplicate",
|
|
@@ -126,7 +123,7 @@
|
|
|
126
123
|
},
|
|
127
124
|
"rubric": {
|
|
128
125
|
"artifact": {
|
|
129
|
-
"path": "
|
|
126
|
+
"path": "{{task.dir}}/report.md",
|
|
130
127
|
"kind": "markdown"
|
|
131
128
|
},
|
|
132
129
|
"axes": [
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
"prompt": "scanned two of omas cards — the transcriptions are in inbox/card-1.txt and inbox/card-2.txt. can you get them into the book propperly?",
|
|
9
9
|
"setup": {
|
|
10
10
|
"projectName": "Family Recipe Book — Card Capture Eval",
|
|
11
|
-
"about": "Self-contained eval project for recipe-capture. The card photos have already been pre-extracted into plain-text scan notes under inbox/ (the text as written, plus margin notes). Captured recipes go under recipes/ and are recorded in recipes.json; the capture log goes to
|
|
12
|
-
"missionObjectives": "Use the Capture a Recipe Card craftbook/template, work only from the seeded card notes, and finish with the recipe files, an updated recipes.json, and
|
|
11
|
+
"about": "Self-contained eval project for recipe-capture. The card photos have already been pre-extracted into plain-text scan notes under inbox/ (the text as written, plus margin notes). Captured recipes go under recipes/ and are recorded in recipes.json; the capture log goes to report.md in this task's own artifacts working folder.",
|
|
12
|
+
"missionObjectives": "Use the Capture a Recipe Card craftbook/template, work only from the seeded card notes, and finish with the recipe files, an updated recipes.json, and report.md in this task's own artifacts working folder — no network calls, real credentials, or live services.",
|
|
13
13
|
"files": [
|
|
14
14
|
{
|
|
15
15
|
"path": "inbox/card-1.txt",
|
|
@@ -27,9 +27,6 @@
|
|
|
27
27
|
"worker": {
|
|
28
28
|
"name": "Bep",
|
|
29
29
|
"role": "Archivist"
|
|
30
|
-
},
|
|
31
|
-
"craftbookParams": {
|
|
32
|
-
"workPath": "tasks/eval"
|
|
33
30
|
}
|
|
34
31
|
},
|
|
35
32
|
"mocks": [],
|
|
@@ -37,34 +34,34 @@
|
|
|
37
34
|
"summary": "Both cards become recipe files under recipes/ with provenance kept beside the food, the store records each capture, and the log flags what needs a test-cook.",
|
|
38
35
|
"deliverables": [
|
|
39
36
|
{
|
|
40
|
-
"path": "
|
|
37
|
+
"path": "{{task.dir}}/report.md",
|
|
41
38
|
"kind": "markdown-report",
|
|
42
39
|
"minBytes": 500,
|
|
43
40
|
"checks": [
|
|
44
41
|
{
|
|
45
42
|
"kind": "contains",
|
|
46
|
-
"file": "
|
|
43
|
+
"file": "{{task.dir}}/report.md",
|
|
47
44
|
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
48
45
|
"flags": "i",
|
|
49
46
|
"artifact": true
|
|
50
47
|
},
|
|
51
48
|
{
|
|
52
49
|
"kind": "contains",
|
|
53
|
-
"file": "
|
|
50
|
+
"file": "{{task.dir}}/report.md",
|
|
54
51
|
"pattern": "Oma|Riet",
|
|
55
52
|
"label": "provenance carried into the capture log",
|
|
56
53
|
"artifact": true
|
|
57
54
|
},
|
|
58
55
|
{
|
|
59
56
|
"kind": "contains",
|
|
60
|
-
"file": "
|
|
57
|
+
"file": "{{task.dir}}/report.md",
|
|
61
58
|
"pattern": "\\?",
|
|
62
59
|
"label": "questions for the family are actually asked",
|
|
63
60
|
"artifact": true
|
|
64
61
|
},
|
|
65
62
|
{
|
|
66
63
|
"kind": "contains",
|
|
67
|
-
"file": "
|
|
64
|
+
"file": "{{task.dir}}/report.md",
|
|
68
65
|
"pattern": "test[- ]?cook|try (it|the)|verify",
|
|
69
66
|
"flags": "i",
|
|
70
67
|
"label": "test-cook needs named",
|
|
@@ -106,7 +103,7 @@
|
|
|
106
103
|
},
|
|
107
104
|
"rubric": {
|
|
108
105
|
"artifact": {
|
|
109
|
-
"path": "
|
|
106
|
+
"path": "{{task.dir}}/report.md",
|
|
110
107
|
"kind": "markdown"
|
|
111
108
|
},
|
|
112
109
|
"axes": [
|
|
@@ -23,29 +23,26 @@
|
|
|
23
23
|
"worker": {
|
|
24
24
|
"name": "Teun",
|
|
25
25
|
"role": "Genealogist"
|
|
26
|
-
},
|
|
27
|
-
"craftbookParams": {
|
|
28
|
-
"workPath": "tasks/eval"
|
|
29
26
|
}
|
|
30
27
|
},
|
|
31
28
|
"mocks": [],
|
|
32
29
|
"success": {
|
|
33
|
-
"summary": "The transcript is filed under interviews/, and
|
|
30
|
+
"summary": "The transcript is filed under interviews/, and report.md in this task's own artifacts working folder extracts the facts with their quotes, surfaces the 1919-vs-1921 birth-year conflict as a conflict, keeps the uncertain brother story uncertain, and asks follow-up questions.",
|
|
34
31
|
"deliverables": [
|
|
35
32
|
{
|
|
36
|
-
"path": "
|
|
33
|
+
"path": "{{task.dir}}/report.md",
|
|
37
34
|
"kind": "markdown-report",
|
|
38
35
|
"minBytes": 1000,
|
|
39
36
|
"checks": [
|
|
40
37
|
{
|
|
41
38
|
"kind": "contains",
|
|
42
|
-
"file": "
|
|
39
|
+
"file": "{{task.dir}}/report.md",
|
|
43
40
|
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
44
41
|
"flags": "i"
|
|
45
42
|
},
|
|
46
43
|
{
|
|
47
44
|
"kind": "valuesSubsetOf",
|
|
48
|
-
"file": "
|
|
45
|
+
"file": "{{task.dir}}/report.md",
|
|
49
46
|
"sourceFiles": [
|
|
50
47
|
"recordings/oma-2026-07.txt",
|
|
51
48
|
"tree.json"
|
|
@@ -56,18 +53,19 @@
|
|
|
56
53
|
},
|
|
57
54
|
{
|
|
58
55
|
"kind": "contains",
|
|
59
|
-
"file": "
|
|
56
|
+
"file": "{{task.dir}}/report.md",
|
|
60
57
|
"pattern": "conflict|differs|doesn.t match|discrepan|disagree",
|
|
61
58
|
"flags": "i",
|
|
62
59
|
"label": "the tree conflict is surfaced"
|
|
63
60
|
},
|
|
64
61
|
{
|
|
65
62
|
"kind": "contains",
|
|
66
|
-
"file": "
|
|
63
|
+
"file": "{{task.dir}}/report.md",
|
|
67
64
|
"pattern": "\\?",
|
|
68
65
|
"label": "follow-up questions are real questions"
|
|
69
66
|
}
|
|
70
|
-
]
|
|
67
|
+
],
|
|
68
|
+
"artifact": true
|
|
71
69
|
}
|
|
72
70
|
],
|
|
73
71
|
"checks": [
|
|
@@ -83,7 +81,7 @@
|
|
|
83
81
|
},
|
|
84
82
|
"rubric": {
|
|
85
83
|
"artifact": {
|
|
86
|
-
"path": "
|
|
84
|
+
"path": "{{task.dir}}/report.md",
|
|
87
85
|
"kind": "markdown"
|
|
88
86
|
},
|
|
89
87
|
"axes": [
|
|
@@ -129,14 +129,6 @@
|
|
|
129
129
|
"kind": "sniff",
|
|
130
130
|
"file": "invoice_run.py",
|
|
131
131
|
"sniff": "nonempty"
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"kind": "esmImports",
|
|
135
|
-
"file": "invoice_run.py"
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"kind": "sourceParses",
|
|
139
|
-
"file": "invoice_run.py"
|
|
140
132
|
}
|
|
141
133
|
],
|
|
142
134
|
"onReject": "build",
|
|
@@ -194,14 +186,6 @@
|
|
|
194
186
|
"kind": "sniff",
|
|
195
187
|
"file": "invoice_run.py",
|
|
196
188
|
"sniff": "nonempty"
|
|
197
|
-
},
|
|
198
|
-
{
|
|
199
|
-
"kind": "esmImports",
|
|
200
|
-
"file": "invoice_run.py"
|
|
201
|
-
},
|
|
202
|
-
{
|
|
203
|
-
"kind": "sourceParses",
|
|
204
|
-
"file": "invoice_run.py"
|
|
205
189
|
}
|
|
206
190
|
],
|
|
207
191
|
"onReject": "verify",
|