@bendyline/gilde 0.1.58 → 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.
Files changed (25) hide show
  1. package/data/craftbook-templates/ba/backup-routine/versions/1.0.4/craftbook.json +0 -16
  2. package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/craftbook.json +0 -16
  3. package/data/craftbook-templates/co/content-deck/versions/1.2.4/craftbook.json +4 -4
  4. package/data/craftbook-templates/co/content-deck/versions/1.2.4/test.json +3 -0
  5. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.4/craftbook.json +4 -4
  6. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.4/test.json +3 -0
  7. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.4/craftbook.json +0 -16
  8. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.4/craftbook.json +0 -16
  9. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.4/craftbook.json +0 -16
  10. package/data/craftbook-templates/do/dockerize-app/versions/1.0.4/craftbook.json +0 -16
  11. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.4/craftbook.json +0 -16
  12. package/data/craftbook-templates/index.json +1 -1
  13. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/craftbook.json +0 -16
  14. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.4/craftbook.json +314 -0
  15. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.4/test.json +89 -0
  16. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.10/craftbook.json +581 -0
  17. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.10/test.json +240 -0
  18. package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/craftbook.json +0 -8
  19. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.4/craftbook.json +0 -16
  20. package/data/craftbook-templates/re/report-pdf/versions/1.1.4/craftbook.json +315 -0
  21. package/data/craftbook-templates/re/report-pdf/versions/1.1.4/test.json +101 -0
  22. package/data/craftbook-templates/re/research-to-document/versions/1.2.4/craftbook.json +386 -0
  23. package/data/craftbook-templates/re/research-to-document/versions/1.2.4/test.json +242 -0
  24. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/craftbook.json +0 -8
  25. package/package.json +1 -1
@@ -128,14 +128,6 @@
128
128
  "kind": "sniff",
129
129
  "file": "backup.sh",
130
130
  "sniff": "nonempty"
131
- },
132
- {
133
- "kind": "esmImports",
134
- "file": "backup.sh"
135
- },
136
- {
137
- "kind": "sourceParses",
138
- "file": "backup.sh"
139
131
  }
140
132
  ],
141
133
  "onReject": "build",
@@ -192,14 +184,6 @@
192
184
  "kind": "sniff",
193
185
  "file": "backup.sh",
194
186
  "sniff": "nonempty"
195
- },
196
- {
197
- "kind": "esmImports",
198
- "file": "backup.sh"
199
- },
200
- {
201
- "kind": "sourceParses",
202
- "file": "backup.sh"
203
187
  }
204
188
  ],
205
189
  "onReject": "verify",
@@ -104,14 +104,6 @@
104
104
  "kind": "sniff",
105
105
  "file": "booking.py",
106
106
  "sniff": "nonempty"
107
- },
108
- {
109
- "kind": "esmImports",
110
- "file": "booking.py"
111
- },
112
- {
113
- "kind": "sourceParses",
114
- "file": "booking.py"
115
107
  }
116
108
  ],
117
109
  "onReject": "build",
@@ -167,14 +159,6 @@
167
159
  "kind": "sniff",
168
160
  "file": "booking_test.py",
169
161
  "sniff": "nonempty"
170
- },
171
- {
172
- "kind": "esmImports",
173
- "file": "booking_test.py"
174
- },
175
- {
176
- "kind": "sourceParses",
177
- "file": "booking_test.py"
178
162
  }
179
163
  ],
180
164
  "scripts": [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "content-deck",
3
3
  "name": "Slide Deck from Content",
4
- "description": "Turn a body of source content into a presentation deck. Outlines the narrative first, designs a consistent slide look, then builds the deck (HTML slides), evaluating for narrative flow and visual consistency.\n\nA gallery craftbook generated from an archetype spec. It runs\n`phase → (per-phase gate) → … → evaluate → (loop) → finish`. Each build\nphase that produces a checkable artifact is followed by a **runtime\ngate-checkpoint** — the runtime verifies the artifact and routes with no\nmodel turn, looping back to redo the phase on a miss. The final `evaluate`\nstep holds a static deliverable gate plus a reviewer QA pass. What it adds\nover the generic `build-loop`: a specialist role per phase, a\ndomain-correct ordering, and a concrete per-phase quality bar.\n\nDeliverables marked \"artifact\" land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source.\n\nPhases:\n\n1. Outline the deck (planner) — narrative arc + per-slide bullets from the source → gated on artifact `deck/outline.md` (markdown-notes)\n2. Slide design (designer) — a consistent slide template + palette → gated on artifact `deck/design-system.md` (markdown-notes)\n3. Build the deck (developer) — generate the slides to the template → gated on `index.html` (slide-deck)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
4
+ "description": "Turn a body of source content into a presentation deck. Outlines the narrative first, designs a consistent slide look, then builds the deck (HTML slides), evaluating for narrative flow and visual consistency.\n\nA gallery craftbook generated from an archetype spec. It runs\n`phase → (per-phase gate) → … → evaluate → (loop) → finish`. Each build\nphase that produces a checkable artifact is followed by a **runtime\ngate-checkpoint** — the runtime verifies the artifact and routes with no\nmodel turn, looping back to redo the phase on a miss. The final `evaluate`\nstep holds a static deliverable gate plus a reviewer QA pass. What it adds\nover the generic `build-loop`: a specialist role per phase, a\ndomain-correct ordering, and a concrete per-phase quality bar.\n\nDeliverables marked \"artifact\" land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source.\n\nPhases:\n\n1. Outline the deck (planner) — narrative arc + per-slide bullets from the source → gated on artifact `{{workPath}}/outline.md` (markdown-notes)\n2. Slide design (designer) — a consistent slide template + palette → gated on artifact `{{workPath}}/design-system.md` (markdown-notes)\n3. Build the deck (developer) — generate the slides to the template → gated on `index.html` (slide-deck)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
5
  "entryStepId": "outline",
6
6
  "triggers": [
7
7
  "slide deck",
@@ -130,7 +130,7 @@
130
130
  },
131
131
  "consumes": [
132
132
  {
133
- "file": "deck/outline.md",
133
+ "file": "{{workPath}}/outline.md",
134
134
  "artifact": true
135
135
  }
136
136
  ],
@@ -210,11 +210,11 @@
210
210
  },
211
211
  "consumes": [
212
212
  {
213
- "file": "deck/outline.md",
213
+ "file": "{{workPath}}/outline.md",
214
214
  "artifact": true
215
215
  },
216
216
  {
217
- "file": "deck/design-system.md",
217
+ "file": "{{workPath}}/design-system.md",
218
218
  "artifact": true
219
219
  }
220
220
  ],
@@ -20,6 +20,9 @@
20
20
  "worker": {
21
21
  "name": "Sanne",
22
22
  "role": "Developer"
23
+ },
24
+ "craftbookParams": {
25
+ "workPath": "deck"
23
26
  }
24
27
  },
25
28
  "mocks": [],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "corpus-email-digest",
3
3
  "name": "Daily Email Digest from a Corpus",
4
- "description": "Produce an email-ready digest that summarizes a corpus of content (docs, feeds, notes) for a recurring send. Scopes what matters and the format first, drafts the digest in a consistent voice, then builds the email-ready output and evaluates for accuracy and scannability.\n\nA gallery craftbook generated from an archetype spec. It runs\n`phase → (per-phase gate) → … → evaluate → (loop) → finish`. Each build\nphase that produces a checkable artifact is followed by a **runtime\ngate-checkpoint** — the runtime verifies the artifact and routes with no\nmodel turn, looping back to redo the phase on a miss. The final `evaluate`\nstep holds a static deliverable gate plus a reviewer QA pass. What it adds\nover the generic `build-loop`: a specialist role per phase, a\ndomain-correct ordering, and a concrete per-phase quality bar.\n\nDeliverables marked \"artifact\" land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source.\n\nPhases:\n\n1. Scope the digest (planner) — what to include, sections, format, length → gated on artifact `digest/scope.md` (markdown-notes)\n2. Draft the digest (copywriter) — write the digest from the corpus, with citations → gated on artifact `digest/draft.md` (markdown-doc)\n3. Build the email output (developer) — render to an email-ready format → gated on `digest.html` (html-page)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
4
+ "description": "Produce an email-ready digest that summarizes a corpus of content (docs, feeds, notes) for a recurring send. Scopes what matters and the format first, drafts the digest in a consistent voice, then builds the email-ready output and evaluates for accuracy and scannability.\n\nA gallery craftbook generated from an archetype spec. It runs\n`phase → (per-phase gate) → … → evaluate → (loop) → finish`. Each build\nphase that produces a checkable artifact is followed by a **runtime\ngate-checkpoint** — the runtime verifies the artifact and routes with no\nmodel turn, looping back to redo the phase on a miss. The final `evaluate`\nstep holds a static deliverable gate plus a reviewer QA pass. What it adds\nover the generic `build-loop`: a specialist role per phase, a\ndomain-correct ordering, and a concrete per-phase quality bar.\n\nDeliverables marked \"artifact\" land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source.\n\nPhases:\n\n1. Scope the digest (planner) — what to include, sections, format, length → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Draft the digest (copywriter) — write the digest from the corpus, with citations → gated on artifact `{{workPath}}/draft.md` (markdown-doc)\n3. Build the email output (developer) — render to an email-ready format → gated on `digest.html` (html-page)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
5
  "entryStepId": "scope",
6
6
  "triggers": [
7
7
  "daily summary",
@@ -130,7 +130,7 @@
130
130
  },
131
131
  "consumes": [
132
132
  {
133
- "file": "digest/scope.md",
133
+ "file": "{{workPath}}/scope.md",
134
134
  "artifact": true
135
135
  }
136
136
  ],
@@ -212,11 +212,11 @@
212
212
  },
213
213
  "consumes": [
214
214
  {
215
- "file": "digest/scope.md",
215
+ "file": "{{workPath}}/scope.md",
216
216
  "artifact": true
217
217
  },
218
218
  {
219
- "file": "digest/draft.md",
219
+ "file": "{{workPath}}/draft.md",
220
220
  "artifact": true
221
221
  }
222
222
  ],
@@ -29,6 +29,9 @@
29
29
  "worker": {
30
30
  "name": "Jules",
31
31
  "role": "Developer"
32
+ },
33
+ "craftbookParams": {
34
+ "workPath": "digest"
32
35
  }
33
36
  },
34
37
  "mocks": [],
@@ -129,14 +129,6 @@
129
129
  "kind": "sniff",
130
130
  "file": "migrate.py",
131
131
  "sniff": "nonempty"
132
- },
133
- {
134
- "kind": "esmImports",
135
- "file": "migrate.py"
136
- },
137
- {
138
- "kind": "sourceParses",
139
- "file": "migrate.py"
140
132
  }
141
133
  ],
142
134
  "onReject": "build",
@@ -194,14 +186,6 @@
194
186
  "kind": "sniff",
195
187
  "file": "migrate.py",
196
188
  "sniff": "nonempty"
197
- },
198
- {
199
- "kind": "esmImports",
200
- "file": "migrate.py"
201
- },
202
- {
203
- "kind": "sourceParses",
204
- "file": "migrate.py"
205
189
  }
206
190
  ],
207
191
  "onReject": "verify",
@@ -130,14 +130,6 @@
130
130
  "kind": "sniff",
131
131
  "file": "migrations/add_indexes.sql",
132
132
  "sniff": "nonempty"
133
- },
134
- {
135
- "kind": "esmImports",
136
- "file": "migrations/add_indexes.sql"
137
- },
138
- {
139
- "kind": "sourceParses",
140
- "file": "migrations/add_indexes.sql"
141
133
  }
142
134
  ],
143
135
  "onReject": "change",
@@ -195,14 +187,6 @@
195
187
  "kind": "sniff",
196
188
  "file": "migrations/add_indexes.sql",
197
189
  "sniff": "nonempty"
198
- },
199
- {
200
- "kind": "esmImports",
201
- "file": "migrations/add_indexes.sql"
202
- },
203
- {
204
- "kind": "sourceParses",
205
- "file": "migrations/add_indexes.sql"
206
190
  }
207
191
  ],
208
192
  "onReject": "verify",
@@ -129,14 +129,6 @@
129
129
  "kind": "sniff",
130
130
  "file": "intake.py",
131
131
  "sniff": "nonempty"
132
- },
133
- {
134
- "kind": "esmImports",
135
- "file": "intake.py"
136
- },
137
- {
138
- "kind": "sourceParses",
139
- "file": "intake.py"
140
132
  }
141
133
  ],
142
134
  "onReject": "build",
@@ -194,14 +186,6 @@
194
186
  "kind": "sniff",
195
187
  "file": "intake.py",
196
188
  "sniff": "nonempty"
197
- },
198
- {
199
- "kind": "esmImports",
200
- "file": "intake.py"
201
- },
202
- {
203
- "kind": "sourceParses",
204
- "file": "intake.py"
205
189
  }
206
190
  ],
207
191
  "onReject": "verify",
@@ -129,14 +129,6 @@
129
129
  "kind": "sniff",
130
130
  "file": "Dockerfile",
131
131
  "sniff": "nonempty"
132
- },
133
- {
134
- "kind": "esmImports",
135
- "file": "Dockerfile"
136
- },
137
- {
138
- "kind": "sourceParses",
139
- "file": "Dockerfile"
140
132
  }
141
133
  ],
142
134
  "onReject": "build",
@@ -194,14 +186,6 @@
194
186
  "kind": "sniff",
195
187
  "file": "Dockerfile",
196
188
  "sniff": "nonempty"
197
- },
198
- {
199
- "kind": "esmImports",
200
- "file": "Dockerfile"
201
- },
202
- {
203
- "kind": "sourceParses",
204
- "file": "Dockerfile"
205
189
  }
206
190
  ],
207
191
  "onReject": "verify",
@@ -129,14 +129,6 @@
129
129
  "kind": "sniff",
130
130
  "file": "form_fill.py",
131
131
  "sniff": "nonempty"
132
- },
133
- {
134
- "kind": "esmImports",
135
- "file": "form_fill.py"
136
- },
137
- {
138
- "kind": "sourceParses",
139
- "file": "form_fill.py"
140
132
  }
141
133
  ],
142
134
  "onReject": "build",
@@ -194,14 +186,6 @@
194
186
  "kind": "sniff",
195
187
  "file": "form_fill.py",
196
188
  "sniff": "nonempty"
197
- },
198
- {
199
- "kind": "esmImports",
200
- "file": "form_fill.py"
201
- },
202
- {
203
- "kind": "sourceParses",
204
- "file": "form_fill.py"
205
189
  }
206
190
  ],
207
191
  "onReject": "verify",