@bendyline/gilde 0.1.26 → 0.1.28

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 (571) hide show
  1. package/authoring/chat-models/README.md +5 -0
  2. package/authoring/chat-models/deepseek-v4-flash-284b-mxfp4.json +4 -0
  3. package/authoring/chat-models/deepseek-v4-flash-284b-q2.json +4 -0
  4. package/authoring/chat-models/deepseek-v4-flash-284b-q2q4.json +4 -0
  5. package/authoring/chat-models/glm-5.2-754b-q2.json +4 -0
  6. package/authoring/gstack/evals/investigate.json +1 -0
  7. package/authoring/gstack/evals/plan-ceo-review.json +1 -0
  8. package/authoring/gstack/wave.json +2 -2
  9. package/data/chat-models/de/deepseek-v4-flash-284b-mxfp4/manifest.json +4 -0
  10. package/data/chat-models/de/deepseek-v4-flash-284b-q2/manifest.json +4 -0
  11. package/data/chat-models/de/deepseek-v4-flash-284b-q2q4/manifest.json +4 -0
  12. package/data/chat-models/gl/glm-5.2-754b-q2/manifest.json +4 -0
  13. package/data/chat-models/index.json +1 -1
  14. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.1/craftbook.json +141 -0
  15. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.1/test.json +115 -0
  16. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.1/craftbook.json +141 -0
  17. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.1/test.json +186 -0
  18. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.1/craftbook.json +110 -0
  19. package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.1/test.json +97 -0
  20. package/data/craftbook-templates/ad/ad-variations/versions/1.0.1/craftbook.json +105 -0
  21. package/data/craftbook-templates/ad/ad-variations/versions/1.0.1/test.json +108 -0
  22. package/data/craftbook-templates/al/album-curate/versions/1.0.1/craftbook.json +115 -0
  23. package/data/craftbook-templates/al/album-curate/versions/1.0.1/test.json +147 -0
  24. package/data/craftbook-templates/al/alert-rules/versions/1.0.1/craftbook.json +101 -0
  25. package/data/craftbook-templates/al/alert-rules/versions/1.0.1/test.json +145 -0
  26. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.1/craftbook.json +142 -0
  27. package/data/craftbook-templates/al/alt-text-pass/versions/1.0.1/test.json +97 -0
  28. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.3/craftbook.json +226 -0
  29. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.3/test.json +157 -0
  30. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.1/craftbook.json +146 -0
  31. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.1/test.json +102 -0
  32. package/data/craftbook-templates/an/annual-document-review/versions/1.0.1/craftbook.json +140 -0
  33. package/data/craftbook-templates/an/annual-document-review/versions/1.0.1/test.json +110 -0
  34. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.1/craftbook.json +141 -0
  35. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.1/test.json +120 -0
  36. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.1/craftbook.json +141 -0
  37. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.1/test.json +115 -0
  38. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.1/craftbook.json +158 -0
  39. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.1/test.json +136 -0
  40. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.1/craftbook.json +129 -0
  41. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.1/test.json +103 -0
  42. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.1/craftbook.json +123 -0
  43. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.1/test.json +103 -0
  44. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.3/craftbook.json +210 -0
  45. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.3/test.json +221 -0
  46. package/data/craftbook-templates/au/auth-flow/versions/1.0.1/craftbook.json +148 -0
  47. package/data/craftbook-templates/au/auth-flow/versions/1.0.1/test.json +140 -0
  48. package/data/craftbook-templates/au/automation-recipe/versions/1.0.1/craftbook.json +164 -0
  49. package/data/craftbook-templates/au/automation-recipe/versions/1.0.1/test.json +296 -0
  50. package/data/craftbook-templates/ba/backup-routine/versions/1.0.1/craftbook.json +148 -0
  51. package/data/craftbook-templates/ba/backup-routine/versions/1.0.1/test.json +108 -0
  52. package/data/craftbook-templates/bl/blog-post/versions/1.0.1/craftbook.json +143 -0
  53. package/data/craftbook-templates/bl/blog-post/versions/1.0.1/test.json +118 -0
  54. package/data/craftbook-templates/bo/board-deck/versions/1.0.1/craftbook.json +141 -0
  55. package/data/craftbook-templates/bo/board-deck/versions/1.0.1/test.json +100 -0
  56. package/data/craftbook-templates/bo/board-game-web/versions/1.0.1/craftbook.json +150 -0
  57. package/data/craftbook-templates/bo/board-game-web/versions/1.0.1/test.json +99 -0
  58. package/data/craftbook-templates/bo/booking-automation/versions/1.0.1/craftbook.json +158 -0
  59. package/data/craftbook-templates/bo/booking-automation/versions/1.0.1/test.json +162 -0
  60. package/data/craftbook-templates/br/branding-website/versions/1.1.1/craftbook.json +211 -0
  61. package/data/craftbook-templates/br/branding-website/versions/1.1.1/test.json +164 -0
  62. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.1/craftbook.json +107 -0
  63. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.1/test.json +103 -0
  64. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.3/craftbook.json +417 -0
  65. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.3/test.json +376 -0
  66. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.2/craftbook.json +164 -0
  67. package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.2/test.json +92 -0
  68. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.1/craftbook.json +107 -0
  69. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.1/test.json +102 -0
  70. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.1/craftbook.json +110 -0
  71. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.1/test.json +106 -0
  72. package/data/craftbook-templates/ca/case-study/versions/1.0.1/craftbook.json +143 -0
  73. package/data/craftbook-templates/ca/case-study/versions/1.0.1/test.json +112 -0
  74. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.1/craftbook.json +151 -0
  75. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.1/test.json +105 -0
  76. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.1/craftbook.json +113 -0
  77. package/data/craftbook-templates/ch/changelog-cut/versions/1.0.1/test.json +106 -0
  78. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.1/craftbook.json +107 -0
  79. package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.1/test.json +129 -0
  80. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.2/craftbook.json +123 -0
  81. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.2/test.json +155 -0
  82. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.1/craftbook.json +74 -0
  83. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.1/test.json +98 -0
  84. package/data/craftbook-templates/ch/character-sheet/versions/1.0.1/craftbook.json +82 -0
  85. package/data/craftbook-templates/ch/character-sheet/versions/1.0.1/test.json +143 -0
  86. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.1/craftbook.json +121 -0
  87. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.1/test.json +178 -0
  88. package/data/craftbook-templates/ch/chart-pack/versions/1.0.1/craftbook.json +148 -0
  89. package/data/craftbook-templates/ch/chart-pack/versions/1.0.1/test.json +104 -0
  90. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.1/craftbook.json +148 -0
  91. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.1/test.json +97 -0
  92. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.1/craftbook.json +132 -0
  93. package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.1/test.json +162 -0
  94. package/data/craftbook-templates/ci/citation-audit/versions/1.0.1/craftbook.json +146 -0
  95. package/data/craftbook-templates/ci/citation-audit/versions/1.0.1/test.json +149 -0
  96. package/data/craftbook-templates/cl/cli-tool/versions/1.1.1/craftbook.json +147 -0
  97. package/data/craftbook-templates/cl/cli-tool/versions/1.1.1/test.json +128 -0
  98. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.1/craftbook.json +153 -0
  99. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.1/test.json +116 -0
  100. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.1/craftbook.json +153 -0
  101. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.1/test.json +119 -0
  102. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.1/craftbook.json +141 -0
  103. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.1/test.json +226 -0
  104. package/data/craftbook-templates/co/company-research-brief/versions/1.0.1/craftbook.json +139 -0
  105. package/data/craftbook-templates/co/company-research-brief/versions/1.0.1/test.json +97 -0
  106. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.1/craftbook.json +153 -0
  107. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.1/test.json +109 -0
  108. package/data/craftbook-templates/co/compat-check/versions/1.0.1/craftbook.json +146 -0
  109. package/data/craftbook-templates/co/compat-check/versions/1.0.1/test.json +145 -0
  110. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.1/craftbook.json +140 -0
  111. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.1/test.json +116 -0
  112. package/data/craftbook-templates/co/config-scaffold/versions/1.0.1/craftbook.json +105 -0
  113. package/data/craftbook-templates/co/config-scaffold/versions/1.0.1/test.json +120 -0
  114. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.1/craftbook.json +141 -0
  115. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.1/test.json +149 -0
  116. package/data/craftbook-templates/co/content-deck/versions/1.2.1/craftbook.json +206 -0
  117. package/data/craftbook-templates/co/content-deck/versions/1.2.1/test.json +169 -0
  118. package/data/craftbook-templates/co/contract-template/versions/1.0.1/craftbook.json +145 -0
  119. package/data/craftbook-templates/co/contract-template/versions/1.0.1/test.json +102 -0
  120. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.1/craftbook.json +121 -0
  121. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.1/test.json +159 -0
  122. package/data/craftbook-templates/co/copy-review/versions/1.0.1/craftbook.json +141 -0
  123. package/data/craftbook-templates/co/copy-review/versions/1.0.1/test.json +102 -0
  124. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.1/craftbook.json +210 -0
  125. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.1/test.json +187 -0
  126. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.1/craftbook.json +146 -0
  127. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.1/test.json +156 -0
  128. package/data/craftbook-templates/co/cover-letter/versions/1.0.1/craftbook.json +107 -0
  129. package/data/craftbook-templates/co/cover-letter/versions/1.0.1/test.json +100 -0
  130. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.1/craftbook.json +101 -0
  131. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.1/test.json +207 -0
  132. package/data/craftbook-templates/cr/cron-job/versions/1.0.1/craftbook.json +147 -0
  133. package/data/craftbook-templates/cr/cron-job/versions/1.0.1/test.json +104 -0
  134. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.1/craftbook.json +164 -0
  135. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.1/test.json +135 -0
  136. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.2/craftbook.json +101 -0
  137. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.2/test.json +102 -0
  138. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.1/craftbook.json +107 -0
  139. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.1/test.json +114 -0
  140. package/data/craftbook-templates/da/data-dictionary/versions/1.0.1/craftbook.json +107 -0
  141. package/data/craftbook-templates/da/data-dictionary/versions/1.0.1/test.json +101 -0
  142. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.1/craftbook.json +148 -0
  143. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.1/test.json +104 -0
  144. package/data/craftbook-templates/da/data-join-merge/versions/1.0.1/craftbook.json +101 -0
  145. package/data/craftbook-templates/da/data-join-merge/versions/1.0.1/test.json +104 -0
  146. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.2/craftbook.json +148 -0
  147. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.2/test.json +162 -0
  148. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.1/craftbook.json +141 -0
  149. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.1/test.json +326 -0
  150. package/data/craftbook-templates/da/data-to-report/versions/1.0.1/craftbook.json +140 -0
  151. package/data/craftbook-templates/da/data-to-report/versions/1.0.1/test.json +95 -0
  152. package/data/craftbook-templates/da/data-viz-page/versions/1.0.1/craftbook.json +143 -0
  153. package/data/craftbook-templates/da/data-viz-page/versions/1.0.1/test.json +117 -0
  154. package/data/craftbook-templates/da/dataset-clean/versions/1.2.2/craftbook.json +101 -0
  155. package/data/craftbook-templates/da/dataset-clean/versions/1.2.2/test.json +95 -0
  156. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.1/craftbook.json +148 -0
  157. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.1/test.json +104 -0
  158. package/data/craftbook-templates/de/deep-security-review/versions/1.1.1/craftbook.json +211 -0
  159. package/data/craftbook-templates/de/deep-security-review/versions/1.1.1/test.json +157 -0
  160. package/data/craftbook-templates/de/dependency-audit/versions/1.1.1/craftbook.json +141 -0
  161. package/data/craftbook-templates/de/dependency-audit/versions/1.1.1/test.json +108 -0
  162. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.1/craftbook.json +159 -0
  163. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.1/test.json +165 -0
  164. package/data/craftbook-templates/de/design-review/versions/1.0.1/craftbook.json +141 -0
  165. package/data/craftbook-templates/de/design-review/versions/1.0.1/test.json +118 -0
  166. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.3/craftbook.json +431 -0
  167. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.3/test.json +201 -0
  168. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.1/craftbook.json +109 -0
  169. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.1/test.json +97 -0
  170. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.1/craftbook.json +146 -0
  171. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.1/test.json +162 -0
  172. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.1/craftbook.json +148 -0
  173. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.1/test.json +104 -0
  174. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.1/craftbook.json +107 -0
  175. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.1/test.json +110 -0
  176. package/data/craftbook-templates/do/dockerize-app/versions/1.0.1/craftbook.json +148 -0
  177. package/data/craftbook-templates/do/dockerize-app/versions/1.0.1/test.json +92 -0
  178. package/data/craftbook-templates/do/docs-site/versions/1.0.1/craftbook.json +143 -0
  179. package/data/craftbook-templates/do/docs-site/versions/1.0.1/test.json +97 -0
  180. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.1/craftbook.json +153 -0
  181. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.1/test.json +132 -0
  182. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.1/craftbook.json +140 -0
  183. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.1/test.json +104 -0
  184. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.1/craftbook.json +146 -0
  185. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.1/test.json +110 -0
  186. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.1/craftbook.json +143 -0
  187. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.1/test.json +97 -0
  188. package/data/craftbook-templates/ed/edit-notes/versions/1.0.1/craftbook.json +176 -0
  189. package/data/craftbook-templates/ed/edit-notes/versions/1.0.1/test.json +146 -0
  190. package/data/craftbook-templates/em/email-sequence/versions/1.0.1/craftbook.json +142 -0
  191. package/data/craftbook-templates/em/email-sequence/versions/1.0.1/test.json +97 -0
  192. package/data/craftbook-templates/em/email-template/versions/1.0.1/craftbook.json +143 -0
  193. package/data/craftbook-templates/em/email-template/versions/1.0.1/test.json +97 -0
  194. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.3/craftbook.json +403 -0
  195. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.3/test.json +191 -0
  196. package/data/craftbook-templates/ep/episode-plan/versions/1.0.1/craftbook.json +140 -0
  197. package/data/craftbook-templates/ep/episode-plan/versions/1.0.1/test.json +97 -0
  198. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.1/craftbook.json +107 -0
  199. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.1/test.json +110 -0
  200. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.1/craftbook.json +146 -0
  201. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.1/test.json +110 -0
  202. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.3/craftbook.json +433 -0
  203. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.3/test.json +136 -0
  204. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.1/craftbook.json +140 -0
  205. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.1/test.json +104 -0
  206. package/data/craftbook-templates/fa/fact-check/versions/1.0.1/craftbook.json +146 -0
  207. package/data/craftbook-templates/fa/fact-check/versions/1.0.1/test.json +110 -0
  208. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.1/craftbook.json +74 -0
  209. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.1/test.json +108 -0
  210. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.1/craftbook.json +107 -0
  211. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.1/test.json +110 -0
  212. package/data/craftbook-templates/fa/favicon-set/versions/1.0.1/craftbook.json +146 -0
  213. package/data/craftbook-templates/fa/favicon-set/versions/1.0.1/test.json +103 -0
  214. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.1/craftbook.json +159 -0
  215. package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.1/test.json +162 -0
  216. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.1/craftbook.json +148 -0
  217. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.1/test.json +162 -0
  218. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.1/craftbook.json +143 -0
  219. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.1/test.json +97 -0
  220. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.1/craftbook.json +103 -0
  221. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.1/test.json +103 -0
  222. package/data/craftbook-templates/fo/forecast-model/versions/1.0.1/craftbook.json +105 -0
  223. package/data/craftbook-templates/fo/forecast-model/versions/1.0.1/test.json +104 -0
  224. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.1/craftbook.json +148 -0
  225. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.1/test.json +162 -0
  226. package/data/craftbook-templates/fo/form-wizard/versions/1.0.1/craftbook.json +110 -0
  227. package/data/craftbook-templates/fo/form-wizard/versions/1.0.1/test.json +110 -0
  228. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.1/craftbook.json +168 -0
  229. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.1/test.json +99 -0
  230. package/data/craftbook-templates/gl/glossary-build/versions/1.0.1/craftbook.json +140 -0
  231. package/data/craftbook-templates/gl/glossary-build/versions/1.0.1/test.json +110 -0
  232. package/data/craftbook-templates/gr/graphql-api/versions/1.0.2/craftbook.json +146 -0
  233. package/data/craftbook-templates/gr/graphql-api/versions/1.0.2/test.json +92 -0
  234. package/data/craftbook-templates/gr/grpc-service/versions/1.0.1/craftbook.json +147 -0
  235. package/data/craftbook-templates/gr/grpc-service/versions/1.0.1/test.json +92 -0
  236. package/data/craftbook-templates/ha/handbook-section/versions/1.0.1/craftbook.json +145 -0
  237. package/data/craftbook-templates/ha/handbook-section/versions/1.0.1/test.json +110 -0
  238. package/data/craftbook-templates/he/hero-image/versions/1.0.1/craftbook.json +154 -0
  239. package/data/craftbook-templates/he/hero-image/versions/1.0.1/test.json +103 -0
  240. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.1/craftbook.json +202 -0
  241. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.1/test.json +128 -0
  242. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.1/craftbook.json +182 -0
  243. package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.1/test.json +92 -0
  244. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.1/craftbook.json +218 -0
  245. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.1/test.json +176 -0
  246. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.1/craftbook.json +150 -0
  247. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.1/test.json +99 -0
  248. package/data/craftbook-templates/ic/icon-pack/versions/1.0.1/craftbook.json +146 -0
  249. package/data/craftbook-templates/ic/icon-pack/versions/1.0.1/test.json +103 -0
  250. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.3/craftbook.json +397 -0
  251. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.3/test.json +141 -0
  252. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.1/craftbook.json +150 -0
  253. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.1/test.json +99 -0
  254. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.1/craftbook.json +141 -0
  255. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.1/test.json +103 -0
  256. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.1/craftbook.json +140 -0
  257. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.1/test.json +103 -0
  258. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.1/craftbook.json +109 -0
  259. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.1/test.json +97 -0
  260. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.1/craftbook.json +105 -0
  261. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.1/test.json +103 -0
  262. package/data/craftbook-templates/im/image-set-index/versions/1.2.1/craftbook.json +179 -0
  263. package/data/craftbook-templates/im/image-set-index/versions/1.2.1/test.json +180 -0
  264. package/data/craftbook-templates/in/inbox-triage/versions/1.0.1/craftbook.json +140 -0
  265. package/data/craftbook-templates/in/inbox-triage/versions/1.0.1/test.json +104 -0
  266. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.1/craftbook.json +107 -0
  267. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.1/test.json +110 -0
  268. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.1/craftbook.json +158 -0
  269. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.1/test.json +109 -0
  270. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.1/craftbook.json +153 -0
  271. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.1/test.json +121 -0
  272. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.1/craftbook.json +143 -0
  273. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.1/test.json +99 -0
  274. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.1/craftbook.json +141 -0
  275. package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.1/test.json +110 -0
  276. package/data/craftbook-templates/in/invitation-design/versions/1.0.1/craftbook.json +128 -0
  277. package/data/craftbook-templates/in/invitation-design/versions/1.0.1/test.json +121 -0
  278. package/data/craftbook-templates/in/invoice-generator/versions/1.0.1/craftbook.json +110 -0
  279. package/data/craftbook-templates/in/invoice-generator/versions/1.0.1/test.json +97 -0
  280. package/data/craftbook-templates/in/invoice-run/versions/1.1.1/craftbook.json +199 -0
  281. package/data/craftbook-templates/in/invoice-run/versions/1.1.1/test.json +140 -0
  282. package/data/craftbook-templates/index.json +1 -1
  283. package/data/craftbook-templates/it/item-intake/versions/1.0.1/craftbook.json +140 -0
  284. package/data/craftbook-templates/it/item-intake/versions/1.0.1/test.json +145 -0
  285. package/data/craftbook-templates/ju/juice-pass/versions/1.0.1/craftbook.json +116 -0
  286. package/data/craftbook-templates/ju/juice-pass/versions/1.0.1/test.json +116 -0
  287. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.1/craftbook.json +143 -0
  288. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.1/test.json +110 -0
  289. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.1/craftbook.json +148 -0
  290. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.1/test.json +97 -0
  291. package/data/craftbook-templates/la/landing-copy/versions/1.0.1/craftbook.json +143 -0
  292. package/data/craftbook-templates/la/landing-copy/versions/1.0.1/test.json +110 -0
  293. package/data/craftbook-templates/la/landing-page/versions/1.0.1/craftbook.json +184 -0
  294. package/data/craftbook-templates/la/landing-page/versions/1.0.1/test.json +97 -0
  295. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.1/craftbook.json +140 -0
  296. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.1/test.json +104 -0
  297. package/data/craftbook-templates/li/library-package/versions/1.0.1/craftbook.json +147 -0
  298. package/data/craftbook-templates/li/library-package/versions/1.0.1/test.json +92 -0
  299. package/data/craftbook-templates/li/literature-review/versions/1.0.1/craftbook.json +146 -0
  300. package/data/craftbook-templates/li/literature-review/versions/1.0.1/test.json +110 -0
  301. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.1/craftbook.json +141 -0
  302. package/data/craftbook-templates/li/live-browser-qa/versions/1.0.1/test.json +162 -0
  303. package/data/craftbook-templates/lo/localize-content/versions/1.0.1/craftbook.json +143 -0
  304. package/data/craftbook-templates/lo/localize-content/versions/1.0.1/test.json +110 -0
  305. package/data/craftbook-templates/lo/logo-set/versions/1.0.1/craftbook.json +146 -0
  306. package/data/craftbook-templates/lo/logo-set/versions/1.0.1/test.json +103 -0
  307. package/data/craftbook-templates/ma/market-scan/versions/1.0.1/craftbook.json +146 -0
  308. package/data/craftbook-templates/ma/market-scan/versions/1.0.1/test.json +210 -0
  309. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.1/craftbook.json +108 -0
  310. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.1/test.json +110 -0
  311. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.1/craftbook.json +107 -0
  312. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.1/test.json +110 -0
  313. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.1/craftbook.json +107 -0
  314. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.1/test.json +184 -0
  315. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.1/craftbook.json +109 -0
  316. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.1/test.json +103 -0
  317. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.1/craftbook.json +115 -0
  318. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.1/test.json +112 -0
  319. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.1/craftbook.json +147 -0
  320. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.1/test.json +92 -0
  321. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.1/craftbook.json +117 -0
  322. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.1/test.json +99 -0
  323. package/data/craftbook-templates/mo/mock-interview/versions/1.0.1/craftbook.json +139 -0
  324. package/data/craftbook-templates/mo/mock-interview/versions/1.0.1/test.json +110 -0
  325. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.1/craftbook.json +156 -0
  326. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.1/test.json +133 -0
  327. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.1/craftbook.json +158 -0
  328. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.1/test.json +197 -0
  329. package/data/craftbook-templates/mo/month-close/versions/1.0.1/craftbook.json +140 -0
  330. package/data/craftbook-templates/mo/month-close/versions/1.0.1/test.json +97 -0
  331. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.1/craftbook.json +140 -0
  332. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.1/test.json +117 -0
  333. package/data/craftbook-templates/mo/moodboard/versions/1.0.1/craftbook.json +109 -0
  334. package/data/craftbook-templates/mo/moodboard/versions/1.0.1/test.json +103 -0
  335. package/data/craftbook-templates/mo/morning-brief/versions/1.0.1/craftbook.json +107 -0
  336. package/data/craftbook-templates/mo/morning-brief/versions/1.0.1/test.json +225 -0
  337. package/data/craftbook-templates/mo/morning-report/versions/1.0.1/craftbook.json +152 -0
  338. package/data/craftbook-templates/mo/morning-report/versions/1.0.1/test.json +250 -0
  339. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.1/craftbook.json +101 -0
  340. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.1/test.json +103 -0
  341. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.1/craftbook.json +181 -0
  342. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.1/test.json +86 -0
  343. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.1/craftbook.json +143 -0
  344. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.1/test.json +110 -0
  345. package/data/craftbook-templates/no/notification-router/versions/1.0.1/craftbook.json +158 -0
  346. package/data/craftbook-templates/no/notification-router/versions/1.0.1/test.json +162 -0
  347. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.1/craftbook.json +137 -0
  348. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.1/test.json +103 -0
  349. package/data/craftbook-templates/of/offer-compare/versions/1.0.1/craftbook.json +106 -0
  350. package/data/craftbook-templates/of/offer-compare/versions/1.0.1/test.json +110 -0
  351. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.1/craftbook.json +107 -0
  352. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.1/test.json +110 -0
  353. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.1/craftbook.json +143 -0
  354. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.1/test.json +97 -0
  355. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.1/craftbook.json +107 -0
  356. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.1/test.json +110 -0
  357. package/data/craftbook-templates/on/one-pager/versions/1.0.1/craftbook.json +143 -0
  358. package/data/craftbook-templates/on/one-pager/versions/1.0.1/test.json +110 -0
  359. package/data/craftbook-templates/op/ops-runbook/versions/1.0.1/craftbook.json +112 -0
  360. package/data/craftbook-templates/op/ops-runbook/versions/1.0.1/test.json +104 -0
  361. package/data/craftbook-templates/pa/page-spread/versions/1.0.1/craftbook.json +82 -0
  362. package/data/craftbook-templates/pa/page-spread/versions/1.0.1/test.json +132 -0
  363. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.1/craftbook.json +147 -0
  364. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.1/test.json +92 -0
  365. package/data/craftbook-templates/pe/perf-audit/versions/1.0.1/craftbook.json +141 -0
  366. package/data/craftbook-templates/pe/perf-audit/versions/1.0.1/test.json +162 -0
  367. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.1/craftbook.json +148 -0
  368. package/data/craftbook-templates/pe/perf-optimization/versions/1.0.1/test.json +92 -0
  369. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.1/craftbook.json +140 -0
  370. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.1/test.json +122 -0
  371. package/data/craftbook-templates/ph/photo-cull/versions/1.0.1/craftbook.json +140 -0
  372. package/data/craftbook-templates/ph/photo-cull/versions/1.0.1/test.json +103 -0
  373. package/data/craftbook-templates/ph/physics-toy/versions/1.0.1/craftbook.json +110 -0
  374. package/data/craftbook-templates/ph/physics-toy/versions/1.0.1/test.json +99 -0
  375. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.1/craftbook.json +141 -0
  376. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.1/test.json +97 -0
  377. package/data/craftbook-templates/pl/playtest-report/versions/1.0.1/craftbook.json +140 -0
  378. package/data/craftbook-templates/pl/playtest-report/versions/1.0.1/test.json +111 -0
  379. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.1/craftbook.json +140 -0
  380. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.1/test.json +103 -0
  381. package/data/craftbook-templates/po/portfolio-site/versions/1.0.1/craftbook.json +151 -0
  382. package/data/craftbook-templates/po/portfolio-site/versions/1.0.1/test.json +97 -0
  383. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.0/craftbook.json +257 -0
  384. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.0/test.json +228 -0
  385. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.1/craftbook.json +347 -0
  386. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.1/test.json +228 -0
  387. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.1/craftbook.json +141 -0
  388. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.1/test.json +110 -0
  389. package/data/craftbook-templates/pr/practice-exam/versions/1.0.1/craftbook.json +159 -0
  390. package/data/craftbook-templates/pr/practice-exam/versions/1.0.1/test.json +117 -0
  391. package/data/craftbook-templates/pr/practice-session/versions/1.0.1/craftbook.json +115 -0
  392. package/data/craftbook-templates/pr/practice-session/versions/1.0.1/test.json +114 -0
  393. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.1/craftbook.json +140 -0
  394. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.1/test.json +97 -0
  395. package/data/craftbook-templates/pr/press-release/versions/1.0.1/craftbook.json +143 -0
  396. package/data/craftbook-templates/pr/press-release/versions/1.0.1/test.json +356 -0
  397. package/data/craftbook-templates/pr/price-tracker/versions/1.0.1/craftbook.json +109 -0
  398. package/data/craftbook-templates/pr/price-tracker/versions/1.0.1/test.json +150 -0
  399. package/data/craftbook-templates/pr/pricing-page/versions/1.0.1/craftbook.json +184 -0
  400. package/data/craftbook-templates/pr/pricing-page/versions/1.0.1/test.json +97 -0
  401. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.1/craftbook.json +105 -0
  402. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.1/test.json +110 -0
  403. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.1/craftbook.json +143 -0
  404. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.1/test.json +110 -0
  405. package/data/craftbook-templates/pu/pull-request-review/manifest.json +3 -1
  406. package/data/craftbook-templates/pu/pull-request-review/versions/1.4.1/craftbook.json +180 -0
  407. package/data/craftbook-templates/pu/pull-request-review/versions/1.4.1/test.json +123 -0
  408. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.1/craftbook.json +121 -0
  409. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.1/test.json +123 -0
  410. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.1/craftbook.json +155 -0
  411. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.1/test.json +97 -0
  412. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.1/craftbook.json +140 -0
  413. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.1/test.json +113 -0
  414. package/data/craftbook-templates/re/reading-list/versions/1.0.1/craftbook.json +107 -0
  415. package/data/craftbook-templates/re/reading-list/versions/1.0.1/test.json +110 -0
  416. package/data/craftbook-templates/re/receipt-intake/versions/1.0.1/craftbook.json +140 -0
  417. package/data/craftbook-templates/re/receipt-intake/versions/1.0.1/test.json +149 -0
  418. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.1/craftbook.json +140 -0
  419. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.1/test.json +104 -0
  420. package/data/craftbook-templates/re/recipe-capture/versions/1.0.1/craftbook.json +140 -0
  421. package/data/craftbook-templates/re/recipe-capture/versions/1.0.1/test.json +128 -0
  422. package/data/craftbook-templates/re/record-a-relative/versions/1.0.1/craftbook.json +115 -0
  423. package/data/craftbook-templates/re/record-a-relative/versions/1.0.1/test.json +110 -0
  424. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.1/craftbook.json +148 -0
  425. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.1/test.json +104 -0
  426. package/data/craftbook-templates/re/refactor-module/versions/1.0.2/craftbook.json +148 -0
  427. package/data/craftbook-templates/re/refactor-module/versions/1.0.2/test.json +92 -0
  428. package/data/craftbook-templates/re/regex-builder/versions/1.0.1/craftbook.json +147 -0
  429. package/data/craftbook-templates/re/regex-builder/versions/1.0.1/test.json +92 -0
  430. package/data/craftbook-templates/re/release-announcement/versions/1.0.1/craftbook.json +159 -0
  431. package/data/craftbook-templates/re/release-announcement/versions/1.0.1/test.json +202 -0
  432. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.1/craftbook.json +214 -0
  433. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.1/test.json +138 -0
  434. package/data/craftbook-templates/re/release-notes/versions/1.0.1/craftbook.json +159 -0
  435. package/data/craftbook-templates/re/release-notes/versions/1.0.1/test.json +111 -0
  436. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.1/craftbook.json +147 -0
  437. package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.1/test.json +162 -0
  438. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.1/craftbook.json +141 -0
  439. package/data/craftbook-templates/re/release-readiness-review/versions/1.0.1/test.json +110 -0
  440. package/data/craftbook-templates/re/reliability-review/versions/1.0.1/craftbook.json +153 -0
  441. package/data/craftbook-templates/re/reliability-review/versions/1.0.1/test.json +112 -0
  442. package/data/craftbook-templates/re/report-pdf/versions/1.1.1/craftbook.json +173 -0
  443. package/data/craftbook-templates/re/report-pdf/versions/1.1.1/test.json +98 -0
  444. package/data/craftbook-templates/re/research-report/versions/1.0.1/craftbook.json +146 -0
  445. package/data/craftbook-templates/re/research-report/versions/1.0.1/test.json +110 -0
  446. package/data/craftbook-templates/re/research-to-document/versions/1.2.1/craftbook.json +216 -0
  447. package/data/craftbook-templates/re/research-to-document/versions/1.2.1/test.json +240 -0
  448. package/data/craftbook-templates/re/rest-api/versions/1.0.2/craftbook.json +147 -0
  449. package/data/craftbook-templates/re/rest-api/versions/1.0.2/test.json +387 -0
  450. package/data/craftbook-templates/re/resume-cv/versions/1.0.1/craftbook.json +143 -0
  451. package/data/craftbook-templates/re/resume-cv/versions/1.0.1/test.json +97 -0
  452. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.1/craftbook.json +159 -0
  453. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.1/test.json +162 -0
  454. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.3/craftbook.json +413 -0
  455. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.3/test.json +154 -0
  456. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.2/craftbook.json +167 -0
  457. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.2/test.json +137 -0
  458. package/data/craftbook-templates/ru/runbook/versions/1.0.1/craftbook.json +145 -0
  459. package/data/craftbook-templates/ru/runbook/versions/1.0.1/test.json +118 -0
  460. package/data/craftbook-templates/sc/schema-migration/versions/1.0.1/craftbook.json +144 -0
  461. package/data/craftbook-templates/sc/schema-migration/versions/1.0.1/test.json +103 -0
  462. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.2/craftbook.json +140 -0
  463. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.2/test.json +162 -0
  464. package/data/craftbook-templates/sc/script-automation/versions/1.0.1/craftbook.json +148 -0
  465. package/data/craftbook-templates/sc/script-automation/versions/1.0.1/test.json +162 -0
  466. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.2/craftbook.json +147 -0
  467. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.2/test.json +90 -0
  468. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.1/craftbook.json +140 -0
  469. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.1/test.json +110 -0
  470. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.3/craftbook.json +440 -0
  471. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.3/test.json +154 -0
  472. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.1/craftbook.json +105 -0
  473. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.1/test.json +97 -0
  474. package/data/craftbook-templates/so/social-thread/versions/1.0.1/craftbook.json +107 -0
  475. package/data/craftbook-templates/so/social-thread/versions/1.0.1/test.json +110 -0
  476. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.1/craftbook.json +140 -0
  477. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.1/test.json +158 -0
  478. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.1/craftbook.json +143 -0
  479. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.1/test.json +97 -0
  480. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.3/craftbook.json +436 -0
  481. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.3/test.json +162 -0
  482. package/data/craftbook-templates/sp/spec-doc/versions/1.0.1/craftbook.json +143 -0
  483. package/data/craftbook-templates/sp/spec-doc/versions/1.0.1/test.json +104 -0
  484. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.1/craftbook.json +109 -0
  485. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.1/test.json +160 -0
  486. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.1/craftbook.json +137 -0
  487. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.1/test.json +103 -0
  488. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.1/craftbook.json +109 -0
  489. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.1/test.json +104 -0
  490. package/data/craftbook-templates/st/standup-summary/versions/1.0.1/craftbook.json +107 -0
  491. package/data/craftbook-templates/st/standup-summary/versions/1.0.1/test.json +110 -0
  492. package/data/craftbook-templates/st/state-machine/versions/1.0.1/craftbook.json +147 -0
  493. package/data/craftbook-templates/st/state-machine/versions/1.0.1/test.json +92 -0
  494. package/data/craftbook-templates/st/status-report/versions/1.0.1/craftbook.json +146 -0
  495. package/data/craftbook-templates/st/status-report/versions/1.0.1/test.json +110 -0
  496. package/data/craftbook-templates/su/subscription-audit/versions/1.0.1/craftbook.json +140 -0
  497. package/data/craftbook-templates/su/subscription-audit/versions/1.0.1/test.json +104 -0
  498. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.1/craftbook.json +128 -0
  499. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.1/test.json +103 -0
  500. package/data/craftbook-templates/su/summarize-long/versions/1.0.1/craftbook.json +107 -0
  501. package/data/craftbook-templates/su/summarize-long/versions/1.0.1/test.json +110 -0
  502. package/data/craftbook-templates/su/survey-analysis/versions/1.0.1/craftbook.json +141 -0
  503. package/data/craftbook-templates/su/survey-analysis/versions/1.0.1/test.json +104 -0
  504. package/data/craftbook-templates/sv/svg-animation/versions/1.0.1/craftbook.json +110 -0
  505. package/data/craftbook-templates/sv/svg-animation/versions/1.0.1/test.json +97 -0
  506. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.1/craftbook.json +114 -0
  507. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.1/test.json +97 -0
  508. package/data/craftbook-templates/te/technical-documentation/versions/2.0.3/craftbook.json +408 -0
  509. package/data/craftbook-templates/te/technical-documentation/versions/2.0.3/test.json +174 -0
  510. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.1/craftbook.json +141 -0
  511. package/data/craftbook-templates/te/test-coverage-review/versions/1.1.1/test.json +113 -0
  512. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.1/craftbook.json +120 -0
  513. package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.1/test.json +92 -0
  514. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.1/craftbook.json +143 -0
  515. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.1/test.json +141 -0
  516. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.1/craftbook.json +143 -0
  517. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.1/test.json +142 -0
  518. package/data/craftbook-templates/th/threat-model/versions/1.0.1/craftbook.json +141 -0
  519. package/data/craftbook-templates/th/threat-model/versions/1.0.1/test.json +110 -0
  520. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.1/craftbook.json +103 -0
  521. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.1/test.json +103 -0
  522. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.1/craftbook.json +160 -0
  523. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.1/test.json +159 -0
  524. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.1/craftbook.json +107 -0
  525. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.1/test.json +110 -0
  526. package/data/craftbook-templates/to/topic-explainer/versions/1.0.1/craftbook.json +140 -0
  527. package/data/craftbook-templates/to/topic-explainer/versions/1.0.1/test.json +110 -0
  528. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.1/craftbook.json +115 -0
  529. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.1/test.json +98 -0
  530. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.1/craftbook.json +107 -0
  531. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.1/test.json +103 -0
  532. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.1/craftbook.json +171 -0
  533. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.1/test.json +151 -0
  534. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.1/craftbook.json +148 -0
  535. package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.1/test.json +92 -0
  536. package/data/craftbook-templates/ve/version-bump/versions/1.0.1/craftbook.json +155 -0
  537. package/data/craftbook-templates/ve/version-bump/versions/1.0.1/test.json +92 -0
  538. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.1/craftbook.json +109 -0
  539. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.1/test.json +103 -0
  540. package/data/craftbook-templates/vi/visit-prep/versions/1.0.1/craftbook.json +140 -0
  541. package/data/craftbook-templates/vi/visit-prep/versions/1.0.1/test.json +97 -0
  542. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.1/craftbook.json +107 -0
  543. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.1/test.json +103 -0
  544. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.1/craftbook.json +154 -0
  545. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.1/test.json +124 -0
  546. package/data/craftbook-templates/we/web-app-crud/versions/1.0.1/craftbook.json +143 -0
  547. package/data/craftbook-templates/we/web-app-crud/versions/1.0.1/test.json +97 -0
  548. package/data/craftbook-templates/we/web-component/versions/1.0.1/craftbook.json +110 -0
  549. package/data/craftbook-templates/we/web-component/versions/1.0.1/test.json +97 -0
  550. package/data/craftbook-templates/we/webhook-handler/versions/1.0.1/craftbook.json +147 -0
  551. package/data/craftbook-templates/we/webhook-handler/versions/1.0.1/test.json +162 -0
  552. package/data/craftbook-templates/we/week-plan/versions/1.0.1/craftbook.json +140 -0
  553. package/data/craftbook-templates/we/week-plan/versions/1.0.1/test.json +255 -0
  554. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.1/craftbook.json +140 -0
  555. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.1/test.json +97 -0
  556. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.1/craftbook.json +106 -0
  557. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.1/test.json +104 -0
  558. package/data/craftbook-templates/we/weekly-review/versions/1.0.1/craftbook.json +107 -0
  559. package/data/craftbook-templates/we/weekly-review/versions/1.0.1/test.json +110 -0
  560. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.1/craftbook.json +140 -0
  561. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.1/test.json +138 -0
  562. package/data/craftbook-templates/wh/whitepaper/versions/1.0.1/craftbook.json +141 -0
  563. package/data/craftbook-templates/wh/whitepaper/versions/1.0.1/test.json +110 -0
  564. package/data/craftbook-templates/ye/year-in-review/versions/1.0.1/craftbook.json +115 -0
  565. package/data/craftbook-templates/ye/year-in-review/versions/1.0.1/test.json +145 -0
  566. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.1/craftbook.json +134 -0
  567. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.1/test.json +103 -0
  568. package/package.json +1 -1
  569. package/schemas/chat-model-identity.schema.json +16 -0
  570. package/schemas/craftbook-doc.schema.json +8 -2
  571. package/schemas/craftbook-template-version.schema.json +8 -2
@@ -0,0 +1,86 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Animated Content Slideshow Markdown-source smoke eval",
4
+ "objective": "Verify that the media workflow produces concise scene-structured Markdown before DocBlocks MP4/GIF conversion; catalog contract tests cover the media toolset and dual artifact gate.",
5
+ "tags": [
6
+ "media"
7
+ ],
8
+ "prompt": "Read source/brief.md and write slideshow.md for a seven-scene animated operations update. Use one H1 heading per scene, short on-screen bullets, and a final next-actions scene. Do not create HTML.",
9
+ "setup": {
10
+ "projectName": "Animated Content Slideshow Eval",
11
+ "about": "The slideshow source is Markdown and will be rendered to MP4 and GIF by DocBlocks.",
12
+ "missionObjectives": "Create concise, source-grounded slideshow.md with one H1 per scene and no HTML intermediary.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "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."
17
+ }
18
+ ],
19
+ "worker": {
20
+ "name": "Jules",
21
+ "role": "Copywriter"
22
+ }
23
+ },
24
+ "mocks": [],
25
+ "success": {
26
+ "summary": "slideshow.md is a concise, source-grounded scene sequence ready for DocBlocks MP4/GIF conversion.",
27
+ "deliverables": [
28
+ {
29
+ "path": "slideshow.md",
30
+ "kind": "markdown-doc",
31
+ "minBytes": 650,
32
+ "checks": [
33
+ {
34
+ "kind": "contains",
35
+ "file": "slideshow.md",
36
+ "pattern": "(?:^|\\n)#\\s+.+",
37
+ "flags": "m"
38
+ },
39
+ {
40
+ "kind": "contains",
41
+ "file": "slideshow.md",
42
+ "pattern": "18\\s+SKUs|18\\s+hours|6\\s+hours|14\\.2%|8\\.9%",
43
+ "flags": "i"
44
+ },
45
+ {
46
+ "kind": "contains",
47
+ "file": "slideshow.md",
48
+ "pattern": "automated status emails|barcode-exception training|weekly Finance exception export",
49
+ "flags": "i"
50
+ },
51
+ {
52
+ "kind": "notContains",
53
+ "file": "slideshow.md",
54
+ "pattern": "<html|<script|<style|base64",
55
+ "flags": "i"
56
+ }
57
+ ]
58
+ }
59
+ ]
60
+ },
61
+ "rubric": {
62
+ "artifact": {
63
+ "path": "slideshow.md",
64
+ "kind": "markdown"
65
+ },
66
+ "axes": [
67
+ {
68
+ "name": "story",
69
+ "description": "The scenes form a coherent update with one message per scene and a clear final action."
70
+ },
71
+ {
72
+ "name": "grounding",
73
+ "description": "Every metric and action comes from the seeded brief."
74
+ },
75
+ {
76
+ "name": "renderability",
77
+ "description": "One H1 per scene and concise blocks make the source suitable for rendered MP4/GIF output."
78
+ }
79
+ ]
80
+ },
81
+ "qualityFocus": [
82
+ "one H1 per scene",
83
+ "source grounding",
84
+ "no HTML intermediary"
85
+ ]
86
+ }
@@ -0,0 +1,143 @@
1
+ {
2
+ "id": "newsletter-issue",
3
+ "name": "Newsletter Issue",
4
+ "description": "Produce a single polished, email-client-safe newsletter issue — intro, a few curated stories with links, a featured section, and a CTA — that renders correctly across email clients. Outlines the issue's theme and section lineup FIRST, writes scannable, personable copy with working links, then builds the email-safe HTML using inline styles and table layout so it survives Gmail/Outlook. Use for recurring email newsletters, product updates, and curated digests sent to subscribers.\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 issue (planner) — theme, section lineup, story picks, and the one CTA → gated on artifact `notes/outline.md` (markdown-notes)\n2. Write the copy (copywriter) — scannable, personable copy with links and one CTA → gated on artifact `notes/write.md` (markdown-notes)\n3. Build the email HTML (developer) — render index.html email-safe: inline styles, table layout, ~600px → gated on `index.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
+ "entryStepId": "outline",
6
+ "triggers": [
7
+ "newsletter issue",
8
+ "write a newsletter",
9
+ "email newsletter",
10
+ "build a newsletter",
11
+ "weekly update email",
12
+ "subscriber email"
13
+ ],
14
+ "steps": [
15
+ {
16
+ "id": "outline",
17
+ "name": "Outline the issue",
18
+ "description": "theme, section lineup, story picks, and the one CTA",
19
+ "prompt": "Plan the issue before writing. Step 1: name this issue's theme/hook and the audience. Step 2: lay out the section lineup in order — subject line + preheader, a short personal intro, 3-5 curated stories (each: title, link, 1-2 line take), a featured/deep-dive block, and a single clear CTA. Step 3: pick the actual stories/links to include and note the angle for each; cut anything off-theme. Step 4: decide the one primary action you want readers to take. Step 5: write an acceptance-criteria checklist ('has a subject line + preheader', 'intro is short and personable', '3-5 stories each with a working link and a one-line take', 'exactly one primary CTA', 'scannable in under two minutes'). Write the lineup + checklist via write_task_note AND to notes/outline.md. No copy or HTML yet.\n\nThe deliverable `notes/outline.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
20
+ "suggestedRole": "planner",
21
+ "advanceWhen": {
22
+ "file": "notes/outline.md",
23
+ "minBytes": 1,
24
+ "sniff": "nonempty",
25
+ "artifact": true
26
+ },
27
+ "gate": {
28
+ "at": "completion",
29
+ "checks": [
30
+ {
31
+ "kind": "minBytes",
32
+ "file": "notes/outline.md",
33
+ "bytes": 120,
34
+ "artifact": true
35
+ },
36
+ {
37
+ "kind": "sniff",
38
+ "file": "notes/outline.md",
39
+ "sniff": "nonempty",
40
+ "artifact": true
41
+ }
42
+ ],
43
+ "onReject": "outline",
44
+ "maxAttempts": 3
45
+ },
46
+ "next": "write"
47
+ },
48
+ {
49
+ "id": "write",
50
+ "name": "Write the copy",
51
+ "description": "scannable, personable copy with links and one CTA",
52
+ "prompt": "Write the newsletter copy from the outline in a warm, scannable voice. Step 1: write a subject line (under ~50 chars, curiosity or value) and a preheader that complements it. Step 2: write a short, personable intro (2-4 sentences) tied to the theme. Step 3: for each curated story write a punchy title and a 1-2 line take that gives the reader a reason to click, with the link. Step 4: write the featured/deep-dive block — a few sentences with a clear payoff. Step 5: write the one CTA with action-oriented button copy. Keep paragraphs short, use the second person, and make it skimmable. Do not invent links — use the ones from the outline. Write the section-by-section copy via write_task_note AND to notes/write.md.\n\nThe deliverable `notes/write.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
53
+ "suggestedRole": "copywriter",
54
+ "advanceWhen": {
55
+ "file": "notes/write.md",
56
+ "minBytes": 1,
57
+ "sniff": "nonempty",
58
+ "artifact": true
59
+ },
60
+ "gate": {
61
+ "at": "completion",
62
+ "checks": [
63
+ {
64
+ "kind": "minBytes",
65
+ "file": "notes/write.md",
66
+ "bytes": 120,
67
+ "artifact": true
68
+ },
69
+ {
70
+ "kind": "sniff",
71
+ "file": "notes/write.md",
72
+ "sniff": "nonempty",
73
+ "artifact": true
74
+ }
75
+ ],
76
+ "onReject": "write",
77
+ "maxAttempts": 3
78
+ },
79
+ "next": "build"
80
+ },
81
+ {
82
+ "id": "build",
83
+ "name": "Build the email HTML",
84
+ "description": "render index.html email-safe: inline styles, table layout, ~600px",
85
+ "prompt": "Build the issue as a single self-contained index.html that renders in real email clients. Step 1: use a table-based layout centered at ~600px with all CSS INLINE on elements (email clients strip <style> and ignore fl/grid) — no external stylesheets, no web fonts, web-safe font stacks only. Step 2: lay out the sections per the outline order (preheader text first, hidden but present; intro; story list; featured block; CTA button) with the approved copy verbatim. Step 3: render the CTA as a bulletproof button (a padded, background-colored anchor styled as a table cell) and make every story link a real working <a href>. Step 4: keep images optional and provide alt text; ensure it degrades gracefully with images off. Step 5: include a footer with an (illustrative) unsubscribe link. On a loop-back, fix ONLY the named gaps. Write the path via write_task_note.",
86
+ "suggestedRole": "developer",
87
+ "advanceWhen": {
88
+ "file": "index.html",
89
+ "minBytes": 1,
90
+ "sniff": "html-complete"
91
+ },
92
+ "gate": {
93
+ "at": "completion",
94
+ "checks": [
95
+ {
96
+ "kind": "minBytes",
97
+ "file": "index.html",
98
+ "bytes": 800
99
+ },
100
+ {
101
+ "kind": "htmlLint",
102
+ "file": "index.html"
103
+ }
104
+ ],
105
+ "scripts": [
106
+ {
107
+ "name": "checkHtmlComplete",
108
+ "scope": "standard",
109
+ "inputs": {
110
+ "file": "index.html"
111
+ }
112
+ }
113
+ ],
114
+ "onReject": "build",
115
+ "maxAttempts": 4
116
+ },
117
+ "next": "evaluate"
118
+ },
119
+ {
120
+ "id": "evaluate",
121
+ "name": "Evaluate",
122
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
123
+ "prompt": "QA the newsletter against the locked criteria. Step 1: open/render index.html. Step 2: confirm email-safety: table layout, inline styles only (no reliance on <style>/flex/grid), centered ~600px, web-safe fonts. Step 3: check EACH acceptance criterion: subject line + preheader present, short personable intro, 3-5 stories each with a working <a href> link and a one-line take, exactly one primary CTA rendered as a tappable button, footer with unsubscribe. Step 4: confirm it is scannable in under two minutes and links are real (from the outline, not invented). Write PASS/FAIL per criterion with the offending section on any FAIL.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"build\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
124
+ "suggestedRole": "reviewer",
125
+ "consumes": [
126
+ {
127
+ "file": "index.html"
128
+ }
129
+ ],
130
+ "next": "build"
131
+ },
132
+ {
133
+ "id": "finish",
134
+ "name": "Finish",
135
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
136
+ "prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.",
137
+ "suggestedRole": "developer",
138
+ "terminal": true
139
+ }
140
+ ],
141
+ "version": "1.0.1",
142
+ "releasedAt": "2026-08-14T00:00:00Z"
143
+ }
@@ -0,0 +1,110 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Newsletter Issue smoke eval",
4
+ "objective": "Self-contained smoke eval for the Newsletter Issue craftbook using the corpus generic harness.",
5
+ "tags": [
6
+ "corpus"
7
+ ],
8
+ "prompt": "We need a newsletter issue for the returns-desk work. The backgound info is in source/brief.md — have a look and write it up in report.md.",
9
+ "setup": {
10
+ "projectName": "Newsletter Issue Eval",
11
+ "about": "Self-contained eval project for newsletter-issue. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/report.md.",
12
+ "missionObjectives": "Use the Newsletter Issue craftbook/template, read the seeded local fixtures, and write report.md without network calls, real credentials, or live services.",
13
+ "files": [
14
+ {
15
+ "path": "source/brief.md",
16
+ "content": "# Newsletter Issue Eval Brief\n\nClient: Boreal Desk, a home-office accessories company.\nAudience: operations leads who need an artifact they can use this week.\n\nFixed source facts for grounding:\n- The returns desk pilot covered 18 SKUs.\n- Median first response improved from 18 hours to 6 hours.\n- Preventable refund leakage fell from 14.2% to 8.9%.\n- The top unresolved complaint is status silence after photo submission.\n- Required next actions are automated status emails, barcode-exception training, and a weekly Finance exception export.\n\nUse these facts when the task asks for prose, analysis, copy, UI content, or test data. Do not use live web services, real credentials, or current outside data.\n\nCraftbook under test: newsletter-issue - Newsletter Issue.\n"
17
+ }
18
+ ],
19
+ "worker": {
20
+ "name": "Jules",
21
+ "role": "Writer"
22
+ }
23
+ },
24
+ "mocks": [],
25
+ "success": {
26
+ "summary": "report.md is a source-grounded markdown artifact with required facts and actions.",
27
+ "deliverables": [
28
+ {
29
+ "path": "report.md",
30
+ "kind": "markdown-report",
31
+ "minBytes": 1000,
32
+ "checks": [
33
+ {
34
+ "kind": "contains",
35
+ "file": "report.md",
36
+ "pattern": "(?:^|\\n)#{1,3}\\s+\\S",
37
+ "flags": "i"
38
+ },
39
+ {
40
+ "kind": "contains",
41
+ "file": "report.md",
42
+ "pattern": "source/brief\\.md|Brief",
43
+ "flags": "i",
44
+ "label": "cite or name the seeded source"
45
+ },
46
+ {
47
+ "kind": "contains",
48
+ "file": "report.md",
49
+ "pattern": "18\\b[\\s\\S]{0,30}\\bSKUs",
50
+ "flags": "i",
51
+ "label": "include the 18-SKU pilot scope"
52
+ },
53
+ {
54
+ "kind": "contains",
55
+ "file": "report.md",
56
+ "pattern": "18\\s*hours|6\\s*hours",
57
+ "flags": "i"
58
+ },
59
+ {
60
+ "kind": "contains",
61
+ "file": "report.md",
62
+ "pattern": "14\\.2%|8\\.9%",
63
+ "flags": "i"
64
+ },
65
+ {
66
+ "kind": "contains",
67
+ "file": "report.md",
68
+ "pattern": "status silence|photo submission",
69
+ "flags": "i"
70
+ },
71
+ {
72
+ "kind": "contains",
73
+ "file": "report.md",
74
+ "pattern": "automated status emails|barcode|Finance",
75
+ "flags": "i"
76
+ }
77
+ ]
78
+ }
79
+ ]
80
+ },
81
+ "rubric": {
82
+ "artifact": {
83
+ "path": "report.md",
84
+ "kind": "markdown"
85
+ },
86
+ "axes": [
87
+ {
88
+ "name": "grounding",
89
+ "description": "Seeded facts appear faithfully and the source is cited."
90
+ },
91
+ {
92
+ "name": "structure",
93
+ "description": "Sections progress logically for the artifact class."
94
+ },
95
+ {
96
+ "name": "completeness",
97
+ "description": "Required elements (risks, next actions, scope) are all present."
98
+ },
99
+ {
100
+ "name": "tone",
101
+ "description": "The register fits the audience and artifact class."
102
+ }
103
+ ]
104
+ },
105
+ "qualityFocus": [
106
+ "source-grounded prose",
107
+ "section structure",
108
+ "next-action clarity"
109
+ ]
110
+ }
@@ -0,0 +1,158 @@
1
+ {
2
+ "id": "notification-router",
3
+ "name": "Notification Router",
4
+ "description": "Build an event-to-channel notification router: a small module that takes incoming events and routes each to the right destination (Slack channel, email, PagerDuty, webhook) based on type, severity, and quiet-hours rules — with dedupe, throttling, and a fallback channel. Scopes the routing matrix and policy FIRST (event taxonomy, channel map, severity→destination rules, dedupe key, rate limits, fallback), then a developer implements the router module to that matrix, then writes tests covering each routing branch. Scoping the matrix before coding is what guarantees every event type has a defined destination and that critical events can never be silently dropped. Use for notification routing, alert fan-out, event dispatch, webhook routing, and on-call/Slack notification systems.\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 router (planner) — lock the routing matrix, dedupe, throttle, and fallback → gated on artifact `notes/scope.md` (markdown-notes)\n2. Build the router (developer) — implement the router module to the matrix → gated on `router.ts` (code-module)\n3. Test the router (developer) — cover every routing branch with assertions → gated on `router.test.ts` (code-with-tests)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
5
+ "entryStepId": "scope",
6
+ "triggers": [
7
+ "notification router",
8
+ "route events to channels",
9
+ "alert fan-out",
10
+ "event dispatch",
11
+ "send notifications to slack"
12
+ ],
13
+ "steps": [
14
+ {
15
+ "id": "scope",
16
+ "name": "Scope the router",
17
+ "description": "lock the routing matrix, dedupe, throttle, and fallback",
18
+ "prompt": "Define the routing contract before coding. (1) Enumerate the event taxonomy (the event types/shapes the router accepts) and the available destination channels. (2) Build the routing matrix: for each (event type × severity) pair, the destination channel(s) — make it total so no input is undefined. (3) Define the dedupe key (which fields identify a duplicate within a window) and the suppression window. (4) Set per-channel rate limits/throttling and a quiet-hours rule (and which severities override quiet hours). (5) Define a fallback channel for events that match no rule, so nothing is dropped silently, and the behavior on a destination send failure (retry/fallback). (6) Pick the language and the function signature, e.g. route(event) -> Destination[]. Write an acceptance-criteria checklist ('every (type,severity) maps to a destination', 'unmatched events hit the fallback, never dropped', 'duplicates within the window are suppressed', 'rate limits enforced', 'critical severity overrides quiet hours', 'pure routing logic is unit-testable without live channels') plus the matrix to notes/scope.md via write_task_note AND the produces path.\n\nThe deliverable `notes/scope.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
19
+ "suggestedRole": "planner",
20
+ "advanceWhen": {
21
+ "file": "notes/scope.md",
22
+ "minBytes": 1,
23
+ "sniff": "nonempty",
24
+ "artifact": true
25
+ },
26
+ "gate": {
27
+ "at": "completion",
28
+ "checks": [
29
+ {
30
+ "kind": "minBytes",
31
+ "file": "notes/scope.md",
32
+ "bytes": 120,
33
+ "artifact": true
34
+ },
35
+ {
36
+ "kind": "sniff",
37
+ "file": "notes/scope.md",
38
+ "sniff": "nonempty",
39
+ "artifact": true
40
+ }
41
+ ],
42
+ "onReject": "scope",
43
+ "maxAttempts": 3
44
+ },
45
+ "next": "build"
46
+ },
47
+ {
48
+ "id": "build",
49
+ "name": "Build the router",
50
+ "description": "implement the router module to the matrix",
51
+ "prompt": "Implement the router as a single module (e.g. router.ts/router.py) realizing the locked matrix. Separate PURE routing logic — route(event) returning the destination list — from any side-effecting send, so routing is testable in isolation. Implement: matrix lookup with the fallback for unmatched events, dedupe via the locked key + window (an in-memory recent-key set is fine), per-channel throttling, and the quiet-hours rule with the critical-severity override. Validate/normalize inbound events and reject malformed ones explicitly. Never let an event with no matching rule vanish — it goes to fallback. Add brief doc comments mapping code back to matrix rows. On a loop-back fix only the flagged behavior. Write the module path and the implemented signature to notes via write_task_note.",
52
+ "suggestedRole": "developer",
53
+ "advanceWhen": {
54
+ "file": "router.ts",
55
+ "minBytes": 1,
56
+ "sniff": "nonempty"
57
+ },
58
+ "gate": {
59
+ "at": "completion",
60
+ "checks": [
61
+ {
62
+ "kind": "minBytes",
63
+ "file": "router.ts",
64
+ "bytes": 200
65
+ },
66
+ {
67
+ "kind": "sniff",
68
+ "file": "router.ts",
69
+ "sniff": "nonempty"
70
+ },
71
+ {
72
+ "kind": "esmImports",
73
+ "file": "router.ts"
74
+ },
75
+ {
76
+ "kind": "sourceParses",
77
+ "file": "router.ts"
78
+ }
79
+ ],
80
+ "onReject": "build",
81
+ "maxAttempts": 3
82
+ },
83
+ "next": "test"
84
+ },
85
+ {
86
+ "id": "test",
87
+ "name": "Test the router",
88
+ "description": "cover every routing branch with assertions",
89
+ "prompt": "Write router.test.ts exercising the router's pure logic. Cover, with explicit assertions: (1) a representative event for each (type,severity) row resolves to the matrix's destination; (2) an unmatched event routes to the fallback and is NOT dropped; (3) a duplicate within the window is suppressed and the same key after the window is allowed; (4) throttling blocks the N+1th send to a channel in the window; (5) a critical event during quiet hours still routes, a non-critical one is held; (6) a malformed event is rejected. Use the test runner's describe/it/expect (or equivalent assert). Tests must run without live channels. On a loop-back add the missing cases. Write the test path and the branch-coverage list to notes via write_task_note.",
90
+ "suggestedRole": "developer",
91
+ "advanceWhen": {
92
+ "file": "router.test.ts",
93
+ "minBytes": 1,
94
+ "sniff": "nonempty"
95
+ },
96
+ "gate": {
97
+ "at": "completion",
98
+ "checks": [
99
+ {
100
+ "kind": "minBytes",
101
+ "file": "router.test.ts",
102
+ "bytes": 300
103
+ },
104
+ {
105
+ "kind": "sniff",
106
+ "file": "router.test.ts",
107
+ "sniff": "nonempty"
108
+ },
109
+ {
110
+ "kind": "esmImports",
111
+ "file": "router.test.ts"
112
+ },
113
+ {
114
+ "kind": "sourceParses",
115
+ "file": "router.test.ts"
116
+ }
117
+ ],
118
+ "scripts": [
119
+ {
120
+ "name": "checkContains",
121
+ "scope": "standard",
122
+ "inputs": {
123
+ "file": "router.test.ts",
124
+ "pattern": "\\b(test|describe|it|assert|expect)\\b",
125
+ "flags": "i"
126
+ }
127
+ }
128
+ ],
129
+ "onReject": "test",
130
+ "maxAttempts": 4
131
+ },
132
+ "next": "evaluate"
133
+ },
134
+ {
135
+ "id": "evaluate",
136
+ "name": "Evaluate",
137
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
138
+ "prompt": "QA the router against the locked criteria. (1) Run the test suite (or trace it) — every test must pass; a failing/empty suite is FAIL. (2) Confirm tests exist for each matrix row, the fallback path, dedupe (hit and post-window allow), throttling, the quiet-hours + critical-override behavior, and malformed-event rejection. (3) Read router.ts: is routing pure and side-effect-free, is the matrix total, can an unmatched event ever be silently dropped (must be NO)? (4) Spot-check 2 matrix rows in code against notes/scope.md. Write PASS/FAIL per criterion with the gaps.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"build\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
139
+ "suggestedRole": "reviewer",
140
+ "consumes": [
141
+ {
142
+ "file": "router.test.ts"
143
+ }
144
+ ],
145
+ "next": "build"
146
+ },
147
+ {
148
+ "id": "finish",
149
+ "name": "Finish",
150
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
151
+ "prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: what was built, the deliverable path(s), and a one-line confirmation that each criterion is met. Then report DONE.",
152
+ "suggestedRole": "developer",
153
+ "terminal": true
154
+ }
155
+ ],
156
+ "version": "1.0.1",
157
+ "releasedAt": "2026-08-14T00:00:00Z"
158
+ }