@bendyline/gilde 0.1.51 → 0.1.52

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 (583) hide show
  1. package/authoring/chat-models/nanbeige4.2-3b-q4.json +133 -0
  2. package/data/chat-models/index.json +1 -1
  3. package/data/chat-models/na/nanbeige4.2-3b-q4/manifest.json +138 -0
  4. package/data/chat-models/na/nanbeige4.2-3b-q4/versions/1.0.0/manifest.json +14 -0
  5. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/craftbook.json +278 -0
  6. package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/test.json +118 -0
  7. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.3/craftbook.json +277 -0
  8. package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.3/test.json +189 -0
  9. package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.1/craftbook.json +616 -0
  10. package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.1/test.json +228 -0
  11. package/data/craftbook-templates/ad/ad-variations/versions/1.0.3/craftbook.json +213 -0
  12. package/data/craftbook-templates/ad/ad-variations/versions/1.0.3/test.json +108 -0
  13. package/data/craftbook-templates/al/album-curate/versions/1.0.3/craftbook.json +250 -0
  14. package/data/craftbook-templates/al/album-curate/versions/1.0.3/test.json +147 -0
  15. package/data/craftbook-templates/al/alert-rules/versions/1.0.3/craftbook.json +213 -0
  16. package/data/craftbook-templates/al/alert-rules/versions/1.0.3/test.json +145 -0
  17. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/craftbook.json +381 -0
  18. package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/test.json +157 -0
  19. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.3/craftbook.json +279 -0
  20. package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.3/test.json +102 -0
  21. package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/craftbook.json +277 -0
  22. package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/test.json +113 -0
  23. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/craftbook.json +277 -0
  24. package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/test.json +123 -0
  25. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.3/craftbook.json +278 -0
  26. package/data/craftbook-templates/ap/api-contract-review/versions/1.1.3/test.json +192 -0
  27. package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.1/craftbook.json +600 -0
  28. package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.1/test.json +290 -0
  29. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/craftbook.json +282 -0
  30. package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/test.json +139 -0
  31. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.3/craftbook.json +265 -0
  32. package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.3/test.json +103 -0
  33. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.3/craftbook.json +259 -0
  34. package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.3/test.json +103 -0
  35. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/craftbook.json +370 -0
  36. package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/test.json +221 -0
  37. package/data/craftbook-templates/au/auth-flow/versions/1.0.3/craftbook.json +279 -0
  38. package/data/craftbook-templates/au/auth-flow/versions/1.0.3/test.json +143 -0
  39. package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/craftbook.json +324 -0
  40. package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/test.json +296 -0
  41. package/data/craftbook-templates/ba/backup-routine/versions/1.0.3/craftbook.json +279 -0
  42. package/data/craftbook-templates/ba/backup-routine/versions/1.0.3/test.json +108 -0
  43. package/data/craftbook-templates/bl/blog-post/versions/1.0.3/craftbook.json +278 -0
  44. package/data/craftbook-templates/bl/blog-post/versions/1.0.3/test.json +118 -0
  45. package/data/craftbook-templates/bo/board-deck/versions/1.0.3/craftbook.json +279 -0
  46. package/data/craftbook-templates/bo/board-deck/versions/1.0.3/test.json +100 -0
  47. package/data/craftbook-templates/bo/board-game-web/versions/1.0.3/craftbook.json +288 -0
  48. package/data/craftbook-templates/bo/board-game-web/versions/1.0.3/test.json +99 -0
  49. package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/craftbook.json +294 -0
  50. package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/test.json +162 -0
  51. package/data/craftbook-templates/br/branding-website/versions/1.1.2/craftbook.json +329 -0
  52. package/data/craftbook-templates/br/branding-website/versions/1.1.2/test.json +164 -0
  53. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/craftbook.json +219 -0
  54. package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/test.json +103 -0
  55. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.6/craftbook.json +620 -0
  56. package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.6/test.json +376 -0
  57. package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.1/craftbook.json +728 -0
  58. package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.1/test.json +221 -0
  59. package/data/craftbook-templates/bu/build-loop/versions/1.1.1/craftbook.json +139 -0
  60. package/data/craftbook-templates/bu/build-loop/versions/1.1.1/test.json +121 -0
  61. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.3/craftbook.json +219 -0
  62. package/data/craftbook-templates/ca/calendar-brief/versions/1.0.3/test.json +102 -0
  63. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.3/craftbook.json +222 -0
  64. package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.3/test.json +106 -0
  65. package/data/craftbook-templates/ca/careful-mode/versions/1.2.1/craftbook.json +64 -0
  66. package/data/craftbook-templates/ca/careful-mode/versions/1.2.1/test.json +110 -0
  67. package/data/craftbook-templates/ca/case-study/versions/1.0.3/craftbook.json +275 -0
  68. package/data/craftbook-templates/ca/case-study/versions/1.0.3/test.json +112 -0
  69. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.3/craftbook.json +289 -0
  70. package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.3/test.json +105 -0
  71. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/craftbook.json +279 -0
  72. package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/test.json +155 -0
  73. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.3/craftbook.json +184 -0
  74. package/data/craftbook-templates/ch/chapter-weave/versions/1.0.3/test.json +98 -0
  75. package/data/craftbook-templates/ch/character-sheet/versions/1.0.3/craftbook.json +216 -0
  76. package/data/craftbook-templates/ch/character-sheet/versions/1.0.3/test.json +143 -0
  77. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/craftbook.json +256 -0
  78. package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/test.json +178 -0
  79. package/data/craftbook-templates/ch/chart-pack/versions/1.0.3/craftbook.json +285 -0
  80. package/data/craftbook-templates/ch/chart-pack/versions/1.0.3/test.json +104 -0
  81. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.3/craftbook.json +286 -0
  82. package/data/craftbook-templates/ch/chrome-extension/versions/1.0.3/test.json +97 -0
  83. package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.1/craftbook.json +585 -0
  84. package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.1/test.json +225 -0
  85. package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/craftbook.json +278 -0
  86. package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/test.json +152 -0
  87. package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/craftbook.json +283 -0
  88. package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/test.json +128 -0
  89. package/data/craftbook-templates/co/code-review/versions/1.0.1/craftbook.json +229 -0
  90. package/data/craftbook-templates/co/code-review/versions/1.0.1/test.json +249 -0
  91. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/craftbook.json +280 -0
  92. package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/test.json +119 -0
  93. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/craftbook.json +279 -0
  94. package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/test.json +122 -0
  95. package/data/craftbook-templates/co/codemod-sweep/versions/1.0.0/test.json +1 -1
  96. package/data/craftbook-templates/co/codemod-sweep/versions/1.0.1/craftbook.json +603 -0
  97. package/data/craftbook-templates/co/codemod-sweep/versions/1.0.1/test.json +252 -0
  98. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/craftbook.json +277 -0
  99. package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/test.json +229 -0
  100. package/data/craftbook-templates/co/company-research-brief/versions/1.0.3/craftbook.json +272 -0
  101. package/data/craftbook-templates/co/company-research-brief/versions/1.0.3/test.json +97 -0
  102. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.3/craftbook.json +286 -0
  103. package/data/craftbook-templates/co/comparison-matrix/versions/1.0.3/test.json +109 -0
  104. package/data/craftbook-templates/co/compat-check/versions/1.0.3/craftbook.json +285 -0
  105. package/data/craftbook-templates/co/compat-check/versions/1.0.3/test.json +148 -0
  106. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/craftbook.json +273 -0
  107. package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/test.json +119 -0
  108. package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.1/craftbook.json +518 -0
  109. package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.1/test.json +160 -0
  110. package/data/craftbook-templates/co/config-scaffold/versions/1.0.3/craftbook.json +215 -0
  111. package/data/craftbook-templates/co/config-scaffold/versions/1.0.3/test.json +120 -0
  112. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/craftbook.json +277 -0
  113. package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/test.json +152 -0
  114. package/data/craftbook-templates/co/content-deck/versions/1.2.3/craftbook.json +335 -0
  115. package/data/craftbook-templates/co/content-deck/versions/1.2.3/test.json +169 -0
  116. package/data/craftbook-templates/co/contract-template/versions/1.0.3/craftbook.json +283 -0
  117. package/data/craftbook-templates/co/contract-template/versions/1.0.3/test.json +102 -0
  118. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.3/craftbook.json +233 -0
  119. package/data/craftbook-templates/co/cookbook-layout/versions/1.0.3/test.json +159 -0
  120. package/data/craftbook-templates/co/copy-review/versions/1.0.3/craftbook.json +278 -0
  121. package/data/craftbook-templates/co/copy-review/versions/1.0.3/test.json +105 -0
  122. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/craftbook.json +339 -0
  123. package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/test.json +187 -0
  124. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/craftbook.json +279 -0
  125. package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/test.json +159 -0
  126. package/data/craftbook-templates/co/cover-letter/versions/1.0.3/craftbook.json +216 -0
  127. package/data/craftbook-templates/co/cover-letter/versions/1.0.3/test.json +100 -0
  128. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.3/craftbook.json +212 -0
  129. package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.3/test.json +207 -0
  130. package/data/craftbook-templates/cr/cron-job/versions/1.0.3/craftbook.json +282 -0
  131. package/data/craftbook-templates/cr/cron-job/versions/1.0.3/test.json +104 -0
  132. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.3/craftbook.json +301 -0
  133. package/data/craftbook-templates/cr/crossword-forge/versions/1.0.3/test.json +138 -0
  134. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/craftbook.json +211 -0
  135. package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/test.json +102 -0
  136. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/craftbook.json +219 -0
  137. package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/test.json +114 -0
  138. package/data/craftbook-templates/da/data-dictionary/versions/1.0.3/craftbook.json +219 -0
  139. package/data/craftbook-templates/da/data-dictionary/versions/1.0.3/test.json +101 -0
  140. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.3/craftbook.json +282 -0
  141. package/data/craftbook-templates/da/data-export-migrate/versions/1.0.3/test.json +104 -0
  142. package/data/craftbook-templates/da/data-join-merge/versions/1.0.3/craftbook.json +212 -0
  143. package/data/craftbook-templates/da/data-join-merge/versions/1.0.3/test.json +104 -0
  144. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.4/craftbook.json +281 -0
  145. package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.4/test.json +162 -0
  146. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/craftbook.json +277 -0
  147. package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/test.json +329 -0
  148. package/data/craftbook-templates/da/data-to-report/versions/1.0.3/craftbook.json +277 -0
  149. package/data/craftbook-templates/da/data-to-report/versions/1.0.3/test.json +98 -0
  150. package/data/craftbook-templates/da/data-viz-page/versions/1.0.3/craftbook.json +281 -0
  151. package/data/craftbook-templates/da/data-viz-page/versions/1.0.3/test.json +117 -0
  152. package/data/craftbook-templates/da/dataset-clean/versions/1.2.4/craftbook.json +212 -0
  153. package/data/craftbook-templates/da/dataset-clean/versions/1.2.4/test.json +95 -0
  154. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.3/craftbook.json +283 -0
  155. package/data/craftbook-templates/db/db-index-tuning/versions/1.0.3/test.json +104 -0
  156. package/data/craftbook-templates/de/deep-security-review/versions/1.1.3/craftbook.json +378 -0
  157. package/data/craftbook-templates/de/deep-security-review/versions/1.1.3/test.json +184 -0
  158. package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/craftbook.json +275 -0
  159. package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/test.json +111 -0
  160. package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.1/craftbook.json +619 -0
  161. package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.1/test.json +235 -0
  162. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.3/craftbook.json +288 -0
  163. package/data/craftbook-templates/de/deploy-checklist/versions/1.0.3/test.json +165 -0
  164. package/data/craftbook-templates/de/design-review/versions/1.0.3/craftbook.json +277 -0
  165. package/data/craftbook-templates/de/design-review/versions/1.0.3/test.json +121 -0
  166. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.5/craftbook.json +627 -0
  167. package/data/craftbook-templates/de/design-system-consultation/versions/2.0.5/test.json +201 -0
  168. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.3/craftbook.json +221 -0
  169. package/data/craftbook-templates/di/diagram-from-text/versions/1.0.3/test.json +97 -0
  170. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.3/craftbook.json +283 -0
  171. package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.3/test.json +162 -0
  172. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.3/craftbook.json +282 -0
  173. package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.3/test.json +104 -0
  174. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/craftbook.json +216 -0
  175. package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/test.json +110 -0
  176. package/data/craftbook-templates/do/dockerize-app/versions/1.0.3/craftbook.json +282 -0
  177. package/data/craftbook-templates/do/dockerize-app/versions/1.0.3/test.json +92 -0
  178. package/data/craftbook-templates/do/docs-site/versions/1.0.3/craftbook.json +281 -0
  179. package/data/craftbook-templates/do/docs-site/versions/1.0.3/test.json +97 -0
  180. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/craftbook.json +279 -0
  181. package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/test.json +135 -0
  182. package/data/craftbook-templates/dr/draft-social-post/versions/1.0.1/craftbook.json +321 -0
  183. package/data/craftbook-templates/dr/draft-social-post/versions/1.0.1/test.json +161 -0
  184. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.3/craftbook.json +277 -0
  185. package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.3/test.json +104 -0
  186. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.3/craftbook.json +278 -0
  187. package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.3/test.json +110 -0
  188. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.3/craftbook.json +280 -0
  189. package/data/craftbook-templates/eb/ebook-compile/versions/1.0.3/test.json +97 -0
  190. package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/craftbook.json +312 -0
  191. package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/test.json +146 -0
  192. package/data/craftbook-templates/em/email-sequence/versions/1.0.3/craftbook.json +274 -0
  193. package/data/craftbook-templates/em/email-sequence/versions/1.0.3/test.json +97 -0
  194. package/data/craftbook-templates/em/email-template/versions/1.0.3/craftbook.json +281 -0
  195. package/data/craftbook-templates/em/email-template/versions/1.0.3/test.json +97 -0
  196. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.5/craftbook.json +577 -0
  197. package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.5/test.json +191 -0
  198. package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/craftbook.json +277 -0
  199. package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/test.json +100 -0
  200. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.3/craftbook.json +219 -0
  201. package/data/craftbook-templates/es/escalation-playbook/versions/1.0.3/test.json +110 -0
  202. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.3/craftbook.json +279 -0
  203. package/data/craftbook-templates/ev/evidence-brief/versions/1.0.3/test.json +110 -0
  204. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.5/craftbook.json +606 -0
  205. package/data/craftbook-templates/ex/executive-level-review/versions/2.0.5/test.json +139 -0
  206. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.3/craftbook.json +274 -0
  207. package/data/craftbook-templates/ex/expense-categorize/versions/1.0.3/test.json +104 -0
  208. package/data/craftbook-templates/fa/fact-check/versions/1.0.3/craftbook.json +278 -0
  209. package/data/craftbook-templates/fa/fact-check/versions/1.0.3/test.json +110 -0
  210. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.3/craftbook.json +184 -0
  211. package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.3/test.json +111 -0
  212. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.3/craftbook.json +215 -0
  213. package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.3/test.json +110 -0
  214. package/data/craftbook-templates/fa/favicon-set/versions/1.0.3/craftbook.json +284 -0
  215. package/data/craftbook-templates/fa/favicon-set/versions/1.0.3/test.json +103 -0
  216. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.1/craftbook.json +324 -0
  217. package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.1/test.json +162 -0
  218. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.3/craftbook.json +281 -0
  219. package/data/craftbook-templates/fe/feedback-widget/versions/1.0.3/test.json +97 -0
  220. package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.1/craftbook.json +716 -0
  221. package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.1/test.json +239 -0
  222. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.3/craftbook.json +215 -0
  223. package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.3/test.json +103 -0
  224. package/data/craftbook-templates/fo/forecast-model/versions/1.0.3/craftbook.json +216 -0
  225. package/data/craftbook-templates/fo/forecast-model/versions/1.0.3/test.json +104 -0
  226. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.3/craftbook.json +282 -0
  227. package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.3/test.json +162 -0
  228. package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/craftbook.json +222 -0
  229. package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/test.json +110 -0
  230. package/data/craftbook-templates/fr/freeze-scope/versions/1.3.1/craftbook.json +96 -0
  231. package/data/craftbook-templates/fr/freeze-scope/versions/1.3.1/test.json +131 -0
  232. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.3/craftbook.json +306 -0
  233. package/data/craftbook-templates/ga/game-with-screens/versions/1.0.3/test.json +99 -0
  234. package/data/craftbook-templates/gl/glossary-build/versions/1.0.3/craftbook.json +274 -0
  235. package/data/craftbook-templates/gl/glossary-build/versions/1.0.3/test.json +110 -0
  236. package/data/craftbook-templates/gr/graphql-api/versions/1.0.4/craftbook.json +281 -0
  237. package/data/craftbook-templates/gr/graphql-api/versions/1.0.4/test.json +92 -0
  238. package/data/craftbook-templates/gr/grpc-service/versions/1.0.3/craftbook.json +283 -0
  239. package/data/craftbook-templates/gr/grpc-service/versions/1.0.3/test.json +92 -0
  240. package/data/craftbook-templates/ha/handbook-section/versions/1.0.3/craftbook.json +283 -0
  241. package/data/craftbook-templates/ha/handbook-section/versions/1.0.3/test.json +110 -0
  242. package/data/craftbook-templates/he/hero-image/versions/1.0.3/craftbook.json +289 -0
  243. package/data/craftbook-templates/he/hero-image/versions/1.0.3/test.json +103 -0
  244. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/craftbook.json +365 -0
  245. package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/test.json +128 -0
  246. package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.1/craftbook.json +605 -0
  247. package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.1/test.json +220 -0
  248. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.2/craftbook.json +337 -0
  249. package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.2/test.json +176 -0
  250. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.3/craftbook.json +288 -0
  251. package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.3/test.json +99 -0
  252. package/data/craftbook-templates/ic/icon-pack/versions/1.0.3/craftbook.json +281 -0
  253. package/data/craftbook-templates/ic/icon-pack/versions/1.0.3/test.json +103 -0
  254. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.5/craftbook.json +571 -0
  255. package/data/craftbook-templates/id/idea-office-hours/versions/2.0.5/test.json +141 -0
  256. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.3/craftbook.json +288 -0
  257. package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.3/test.json +99 -0
  258. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.3/craftbook.json +277 -0
  259. package/data/craftbook-templates/im/image-batch-edit/versions/1.0.3/test.json +103 -0
  260. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.3/craftbook.json +276 -0
  261. package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.3/test.json +103 -0
  262. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.3/craftbook.json +221 -0
  263. package/data/craftbook-templates/im/image-palette-extract/versions/1.0.3/test.json +97 -0
  264. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.3/craftbook.json +216 -0
  265. package/data/craftbook-templates/im/image-seo-rename/versions/1.0.3/test.json +103 -0
  266. package/data/craftbook-templates/im/image-set-index/versions/1.2.2/craftbook.json +295 -0
  267. package/data/craftbook-templates/im/image-set-index/versions/1.2.2/test.json +180 -0
  268. package/data/craftbook-templates/in/inbox-triage/versions/1.0.3/craftbook.json +276 -0
  269. package/data/craftbook-templates/in/inbox-triage/versions/1.0.3/test.json +104 -0
  270. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.3/craftbook.json +219 -0
  271. package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.3/test.json +110 -0
  272. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.3/craftbook.json +288 -0
  273. package/data/craftbook-templates/in/incident-postmortem/versions/1.0.3/test.json +109 -0
  274. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/craftbook.json +288 -0
  275. package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/test.json +121 -0
  276. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/craftbook.json +281 -0
  277. package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/test.json +99 -0
  278. package/data/craftbook-templates/in/invitation-design/versions/1.0.3/craftbook.json +240 -0
  279. package/data/craftbook-templates/in/invitation-design/versions/1.0.3/test.json +121 -0
  280. package/data/craftbook-templates/in/invoice-generator/versions/1.0.3/craftbook.json +222 -0
  281. package/data/craftbook-templates/in/invoice-generator/versions/1.0.3/test.json +97 -0
  282. package/data/craftbook-templates/in/invoice-run/versions/1.1.3/craftbook.json +354 -0
  283. package/data/craftbook-templates/in/invoice-run/versions/1.1.3/test.json +140 -0
  284. package/data/craftbook-templates/index.json +1 -1
  285. package/data/craftbook-templates/it/item-intake/versions/1.0.3/craftbook.json +276 -0
  286. package/data/craftbook-templates/it/item-intake/versions/1.0.3/test.json +145 -0
  287. package/data/craftbook-templates/ju/juice-pass/versions/1.0.3/craftbook.json +228 -0
  288. package/data/craftbook-templates/ju/juice-pass/versions/1.0.3/test.json +116 -0
  289. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.3/craftbook.json +275 -0
  290. package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.3/test.json +110 -0
  291. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.3/craftbook.json +285 -0
  292. package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.3/test.json +97 -0
  293. package/data/craftbook-templates/la/landing-copy/versions/1.0.3/craftbook.json +275 -0
  294. package/data/craftbook-templates/la/landing-copy/versions/1.0.3/test.json +110 -0
  295. package/data/craftbook-templates/la/landing-page/versions/1.0.3/craftbook.json +348 -0
  296. package/data/craftbook-templates/la/landing-page/versions/1.0.3/test.json +97 -0
  297. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.3/craftbook.json +274 -0
  298. package/data/craftbook-templates/le/lead-enrichment/versions/1.0.3/test.json +104 -0
  299. package/data/craftbook-templates/li/library-package/versions/1.0.3/craftbook.json +284 -0
  300. package/data/craftbook-templates/li/library-package/versions/1.0.3/test.json +92 -0
  301. package/data/craftbook-templates/li/literature-review/versions/1.0.3/craftbook.json +279 -0
  302. package/data/craftbook-templates/li/literature-review/versions/1.0.3/test.json +110 -0
  303. package/data/craftbook-templates/lo/localize-content/versions/1.0.3/craftbook.json +275 -0
  304. package/data/craftbook-templates/lo/localize-content/versions/1.0.3/test.json +110 -0
  305. package/data/craftbook-templates/lo/logo-set/versions/1.0.3/craftbook.json +281 -0
  306. package/data/craftbook-templates/lo/logo-set/versions/1.0.3/test.json +103 -0
  307. package/data/craftbook-templates/ma/market-scan/versions/1.0.3/craftbook.json +279 -0
  308. package/data/craftbook-templates/ma/market-scan/versions/1.0.3/test.json +213 -0
  309. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.3/craftbook.json +220 -0
  310. package/data/craftbook-templates/me/meeting-minutes/versions/1.0.3/test.json +110 -0
  311. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.3/craftbook.json +219 -0
  312. package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.3/test.json +110 -0
  313. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/craftbook.json +218 -0
  314. package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/test.json +187 -0
  315. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.3/craftbook.json +220 -0
  316. package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.3/test.json +103 -0
  317. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/craftbook.json +250 -0
  318. package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/test.json +112 -0
  319. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.3/craftbook.json +283 -0
  320. package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.3/test.json +92 -0
  321. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.3/craftbook.json +229 -0
  322. package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.3/test.json +99 -0
  323. package/data/craftbook-templates/mo/mock-interview/versions/1.0.3/craftbook.json +270 -0
  324. package/data/craftbook-templates/mo/mock-interview/versions/1.0.3/test.json +110 -0
  325. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.3/craftbook.json +293 -0
  326. package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.3/test.json +136 -0
  327. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/craftbook.json +294 -0
  328. package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/test.json +197 -0
  329. package/data/craftbook-templates/mo/month-close/versions/1.0.3/craftbook.json +277 -0
  330. package/data/craftbook-templates/mo/month-close/versions/1.0.3/test.json +97 -0
  331. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.3/craftbook.json +277 -0
  332. package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.3/test.json +120 -0
  333. package/data/craftbook-templates/mo/moodboard/versions/1.0.3/craftbook.json +221 -0
  334. package/data/craftbook-templates/mo/moodboard/versions/1.0.3/test.json +103 -0
  335. package/data/craftbook-templates/mo/morning-brief/versions/1.0.3/craftbook.json +241 -0
  336. package/data/craftbook-templates/mo/morning-brief/versions/1.0.3/test.json +225 -0
  337. package/data/craftbook-templates/mo/morning-report/versions/1.0.3/craftbook.json +289 -0
  338. package/data/craftbook-templates/mo/morning-report/versions/1.0.3/test.json +250 -0
  339. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.3/craftbook.json +212 -0
  340. package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.3/test.json +103 -0
  341. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.3/craftbook.json +324 -0
  342. package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.3/test.json +86 -0
  343. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.3/craftbook.json +281 -0
  344. package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.3/test.json +110 -0
  345. package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.1/craftbook.json +242 -0
  346. package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.1/test.json +120 -0
  347. package/data/craftbook-templates/no/notification-router/versions/1.0.3/craftbook.json +293 -0
  348. package/data/craftbook-templates/no/notification-router/versions/1.0.3/test.json +162 -0
  349. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.3/craftbook.json +275 -0
  350. package/data/craftbook-templates/oc/ocr-extract/versions/1.0.3/test.json +103 -0
  351. package/data/craftbook-templates/of/offer-compare/versions/1.0.3/craftbook.json +214 -0
  352. package/data/craftbook-templates/of/offer-compare/versions/1.0.3/test.json +110 -0
  353. package/data/craftbook-templates/of/office-hours/versions/1.1.1/craftbook.json +150 -0
  354. package/data/craftbook-templates/of/office-hours/versions/1.1.1/test.json +118 -0
  355. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.3/craftbook.json +219 -0
  356. package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.3/test.json +110 -0
  357. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.3/craftbook.json +281 -0
  358. package/data/craftbook-templates/on/onboarding-flow/versions/1.0.3/test.json +97 -0
  359. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.3/craftbook.json +219 -0
  360. package/data/craftbook-templates/on/oncall-handoff/versions/1.0.3/test.json +110 -0
  361. package/data/craftbook-templates/on/one-pager/versions/1.0.3/craftbook.json +281 -0
  362. package/data/craftbook-templates/on/one-pager/versions/1.0.3/test.json +110 -0
  363. package/data/craftbook-templates/op/ops-runbook/versions/1.0.3/craftbook.json +197 -0
  364. package/data/craftbook-templates/op/ops-runbook/versions/1.0.3/test.json +104 -0
  365. package/data/craftbook-templates/pa/page-spread/versions/1.0.3/craftbook.json +216 -0
  366. package/data/craftbook-templates/pa/page-spread/versions/1.0.3/test.json +132 -0
  367. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.3/craftbook.json +283 -0
  368. package/data/craftbook-templates/pa/parser-grammar/versions/1.0.3/test.json +92 -0
  369. package/data/craftbook-templates/pe/perf-audit/versions/1.1.1/craftbook.json +320 -0
  370. package/data/craftbook-templates/pe/perf-audit/versions/1.1.1/test.json +162 -0
  371. package/data/craftbook-templates/pe/perf-optimization/versions/2.0.1/craftbook.json +695 -0
  372. package/data/craftbook-templates/pe/perf-optimization/versions/2.0.1/test.json +235 -0
  373. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/craftbook.json +276 -0
  374. package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/test.json +122 -0
  375. package/data/craftbook-templates/ph/photo-cull/versions/1.0.3/craftbook.json +277 -0
  376. package/data/craftbook-templates/ph/photo-cull/versions/1.0.3/test.json +103 -0
  377. package/data/craftbook-templates/ph/physics-toy/versions/1.0.3/craftbook.json +222 -0
  378. package/data/craftbook-templates/ph/physics-toy/versions/1.0.3/test.json +99 -0
  379. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.3/craftbook.json +279 -0
  380. package/data/craftbook-templates/pi/pitch-deck/versions/1.0.3/test.json +97 -0
  381. package/data/craftbook-templates/pl/plan/versions/1.0.1/craftbook.json +222 -0
  382. package/data/craftbook-templates/pl/plan/versions/1.0.1/test.json +91 -0
  383. package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/craftbook.json +277 -0
  384. package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/test.json +111 -0
  385. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.3/craftbook.json +276 -0
  386. package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.3/test.json +103 -0
  387. package/data/craftbook-templates/po/portfolio-site/versions/1.0.3/craftbook.json +289 -0
  388. package/data/craftbook-templates/po/portfolio-site/versions/1.0.3/test.json +97 -0
  389. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.9/craftbook.json +589 -0
  390. package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.9/test.json +240 -0
  391. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.3/craftbook.json +273 -0
  392. package/data/craftbook-templates/pr/pr-security-review/versions/1.0.3/test.json +110 -0
  393. package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/craftbook.json +296 -0
  394. package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/test.json +117 -0
  395. package/data/craftbook-templates/pr/practice-session/versions/1.0.3/craftbook.json +250 -0
  396. package/data/craftbook-templates/pr/practice-session/versions/1.0.3/test.json +114 -0
  397. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.3/craftbook.json +277 -0
  398. package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.3/test.json +97 -0
  399. package/data/craftbook-templates/pr/press-release/versions/1.0.3/craftbook.json +275 -0
  400. package/data/craftbook-templates/pr/press-release/versions/1.0.3/test.json +356 -0
  401. package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/craftbook.json +220 -0
  402. package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/test.json +150 -0
  403. package/data/craftbook-templates/pr/pricing-page/versions/1.0.3/craftbook.json +348 -0
  404. package/data/craftbook-templates/pr/pricing-page/versions/1.0.3/test.json +97 -0
  405. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.3/craftbook.json +213 -0
  406. package/data/craftbook-templates/pr/product-descriptions/versions/1.0.3/test.json +110 -0
  407. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.3/craftbook.json +281 -0
  408. package/data/craftbook-templates/pr/proposal-sow/versions/1.0.3/test.json +110 -0
  409. package/data/craftbook-templates/pu/pull-request-review/versions/1.9.1/craftbook.json +432 -0
  410. package/data/craftbook-templates/pu/pull-request-review/versions/1.9.1/test.json +141 -0
  411. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.3/craftbook.json +233 -0
  412. package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.3/test.json +123 -0
  413. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.3/craftbook.json +293 -0
  414. package/data/craftbook-templates/pw/pwa-offline/versions/1.0.3/test.json +97 -0
  415. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/craftbook.json +277 -0
  416. package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/test.json +116 -0
  417. package/data/craftbook-templates/re/reading-list/versions/1.0.3/craftbook.json +218 -0
  418. package/data/craftbook-templates/re/reading-list/versions/1.0.3/test.json +110 -0
  419. package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/craftbook.json +277 -0
  420. package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/test.json +149 -0
  421. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.3/craftbook.json +274 -0
  422. package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.3/test.json +104 -0
  423. package/data/craftbook-templates/re/reception-report/versions/1.0.2/craftbook.json +295 -0
  424. package/data/craftbook-templates/re/reception-report/versions/1.0.2/test.json +168 -0
  425. package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/craftbook.json +277 -0
  426. package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/test.json +128 -0
  427. package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/craftbook.json +250 -0
  428. package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/test.json +110 -0
  429. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.3/craftbook.json +282 -0
  430. package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.3/test.json +104 -0
  431. package/data/craftbook-templates/re/refactor-module/versions/2.0.1/craftbook.json +693 -0
  432. package/data/craftbook-templates/re/refactor-module/versions/2.0.1/test.json +241 -0
  433. package/data/craftbook-templates/re/regex-builder/versions/1.0.3/craftbook.json +283 -0
  434. package/data/craftbook-templates/re/regex-builder/versions/1.0.3/test.json +92 -0
  435. package/data/craftbook-templates/re/release-announcement/versions/1.0.3/craftbook.json +290 -0
  436. package/data/craftbook-templates/re/release-announcement/versions/1.0.3/test.json +202 -0
  437. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/craftbook.json +358 -0
  438. package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/test.json +138 -0
  439. package/data/craftbook-templates/re/release-notes/versions/1.0.4/craftbook.json +336 -0
  440. package/data/craftbook-templates/re/release-notes/versions/1.0.4/test.json +111 -0
  441. package/data/craftbook-templates/re/release-readiness-review/versions/1.1.1/craftbook.json +317 -0
  442. package/data/craftbook-templates/re/release-readiness-review/versions/1.1.1/test.json +110 -0
  443. package/data/craftbook-templates/re/reliability-review/versions/1.0.3/craftbook.json +281 -0
  444. package/data/craftbook-templates/re/reliability-review/versions/1.0.3/test.json +115 -0
  445. package/data/craftbook-templates/re/report-pdf/versions/1.1.3/craftbook.json +317 -0
  446. package/data/craftbook-templates/re/report-pdf/versions/1.1.3/test.json +98 -0
  447. package/data/craftbook-templates/re/research-report/versions/1.0.3/craftbook.json +279 -0
  448. package/data/craftbook-templates/re/research-report/versions/1.0.3/test.json +113 -0
  449. package/data/craftbook-templates/re/research-to-document/versions/1.2.3/craftbook.json +388 -0
  450. package/data/craftbook-templates/re/research-to-document/versions/1.2.3/test.json +243 -0
  451. package/data/craftbook-templates/re/rest-api/versions/1.0.4/craftbook.json +282 -0
  452. package/data/craftbook-templates/re/rest-api/versions/1.0.4/test.json +387 -0
  453. package/data/craftbook-templates/re/resume-cv/versions/1.0.3/craftbook.json +281 -0
  454. package/data/craftbook-templates/re/resume-cv/versions/1.0.3/test.json +97 -0
  455. package/data/craftbook-templates/re/reviewer-loop/versions/1.0.1/craftbook.json +144 -0
  456. package/data/craftbook-templates/re/reviewer-loop/versions/1.0.1/test.json +135 -0
  457. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.3/craftbook.json +290 -0
  458. package/data/craftbook-templates/ro/rollback-plan/versions/1.0.3/test.json +162 -0
  459. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.6/craftbook.json +595 -0
  460. package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.6/test.json +157 -0
  461. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/craftbook.json +302 -0
  462. package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/test.json +137 -0
  463. package/data/craftbook-templates/ru/runbook/versions/1.0.3/craftbook.json +282 -0
  464. package/data/craftbook-templates/ru/runbook/versions/1.0.3/test.json +118 -0
  465. package/data/craftbook-templates/sc/schema-migration/versions/2.0.1/craftbook.json +619 -0
  466. package/data/craftbook-templates/sc/schema-migration/versions/2.0.1/test.json +225 -0
  467. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.4/craftbook.json +274 -0
  468. package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.4/test.json +162 -0
  469. package/data/craftbook-templates/sc/script-automation/versions/1.0.3/craftbook.json +281 -0
  470. package/data/craftbook-templates/sc/script-automation/versions/1.0.3/test.json +162 -0
  471. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.4/craftbook.json +282 -0
  472. package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.4/test.json +90 -0
  473. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.3/craftbook.json +277 -0
  474. package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.3/test.json +110 -0
  475. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.5/craftbook.json +608 -0
  476. package/data/craftbook-templates/se/security-architecture-review/versions/2.0.5/test.json +157 -0
  477. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.3/craftbook.json +213 -0
  478. package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.3/test.json +97 -0
  479. package/data/craftbook-templates/sh/ship/versions/1.1.1/craftbook.json +301 -0
  480. package/data/craftbook-templates/sh/ship/versions/1.1.1/test.json +225 -0
  481. package/data/craftbook-templates/so/social-digest/versions/1.0.2/craftbook.json +233 -0
  482. package/data/craftbook-templates/so/social-digest/versions/1.0.2/test.json +168 -0
  483. package/data/craftbook-templates/so/social-thread/versions/1.0.3/craftbook.json +216 -0
  484. package/data/craftbook-templates/so/social-thread/versions/1.0.3/test.json +110 -0
  485. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/craftbook.json +277 -0
  486. package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/test.json +158 -0
  487. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.3/craftbook.json +280 -0
  488. package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.3/test.json +97 -0
  489. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.5/craftbook.json +610 -0
  490. package/data/craftbook-templates/sp/spec-authoring/versions/2.0.5/test.json +162 -0
  491. package/data/craftbook-templates/sp/spec-doc/versions/1.0.3/craftbook.json +280 -0
  492. package/data/craftbook-templates/sp/spec-doc/versions/1.0.3/test.json +104 -0
  493. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.3/craftbook.json +221 -0
  494. package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.3/test.json +160 -0
  495. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.3/craftbook.json +271 -0
  496. package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.3/test.json +103 -0
  497. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/craftbook.json +218 -0
  498. package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/test.json +104 -0
  499. package/data/craftbook-templates/st/standup-summary/versions/1.0.3/craftbook.json +219 -0
  500. package/data/craftbook-templates/st/standup-summary/versions/1.0.3/test.json +110 -0
  501. package/data/craftbook-templates/st/state-machine/versions/1.0.3/craftbook.json +283 -0
  502. package/data/craftbook-templates/st/state-machine/versions/1.0.3/test.json +92 -0
  503. package/data/craftbook-templates/st/status-report/versions/1.0.3/craftbook.json +283 -0
  504. package/data/craftbook-templates/st/status-report/versions/1.0.3/test.json +110 -0
  505. package/data/craftbook-templates/su/subscription-audit/versions/1.0.3/craftbook.json +277 -0
  506. package/data/craftbook-templates/su/subscription-audit/versions/1.0.3/test.json +104 -0
  507. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.3/craftbook.json +264 -0
  508. package/data/craftbook-templates/su/subtitle-generator/versions/1.0.3/test.json +103 -0
  509. package/data/craftbook-templates/su/summarize-long/versions/1.0.3/craftbook.json +216 -0
  510. package/data/craftbook-templates/su/summarize-long/versions/1.0.3/test.json +110 -0
  511. package/data/craftbook-templates/su/survey-analysis/versions/1.0.3/craftbook.json +277 -0
  512. package/data/craftbook-templates/su/survey-analysis/versions/1.0.3/test.json +104 -0
  513. package/data/craftbook-templates/sv/svg-animation/versions/1.0.3/craftbook.json +219 -0
  514. package/data/craftbook-templates/sv/svg-animation/versions/1.0.3/test.json +97 -0
  515. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.3/craftbook.json +226 -0
  516. package/data/craftbook-templates/ta/tailor-resume/versions/1.0.3/test.json +97 -0
  517. package/data/craftbook-templates/te/technical-documentation/versions/2.0.5/craftbook.json +582 -0
  518. package/data/craftbook-templates/te/technical-documentation/versions/2.0.5/test.json +174 -0
  519. package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/craftbook.json +320 -0
  520. package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/test.json +116 -0
  521. package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.1/craftbook.json +590 -0
  522. package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.1/test.json +195 -0
  523. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/craftbook.json +280 -0
  524. package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/test.json +144 -0
  525. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/craftbook.json +280 -0
  526. package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/test.json +142 -0
  527. package/data/craftbook-templates/th/threat-model/versions/1.0.3/craftbook.json +274 -0
  528. package/data/craftbook-templates/th/threat-model/versions/1.0.3/test.json +110 -0
  529. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.3/craftbook.json +214 -0
  530. package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.3/test.json +103 -0
  531. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/craftbook.json +321 -0
  532. package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/test.json +159 -0
  533. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.3/craftbook.json +216 -0
  534. package/data/craftbook-templates/to/tone-rewrite/versions/1.0.3/test.json +110 -0
  535. package/data/craftbook-templates/to/topic-explainer/versions/1.0.3/craftbook.json +274 -0
  536. package/data/craftbook-templates/to/topic-explainer/versions/1.0.3/test.json +110 -0
  537. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/craftbook.json +250 -0
  538. package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/test.json +101 -0
  539. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.3/craftbook.json +218 -0
  540. package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.3/test.json +103 -0
  541. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/craftbook.json +329 -0
  542. package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/test.json +154 -0
  543. package/data/craftbook-templates/tr/translate-content/versions/1.1.2/craftbook.json +139 -0
  544. package/data/craftbook-templates/tr/translate-content/versions/1.1.2/test.json +141 -0
  545. package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.1/craftbook.json +589 -0
  546. package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.1/test.json +221 -0
  547. package/data/craftbook-templates/ux/ux-update/versions/1.0.1/craftbook.json +604 -0
  548. package/data/craftbook-templates/ux/ux-update/versions/1.0.1/test.json +206 -0
  549. package/data/craftbook-templates/ve/version-bump/versions/1.1.1/craftbook.json +322 -0
  550. package/data/craftbook-templates/ve/version-bump/versions/1.1.1/test.json +92 -0
  551. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.3/craftbook.json +221 -0
  552. package/data/craftbook-templates/vi/video-storyboard/versions/1.0.3/test.json +103 -0
  553. package/data/craftbook-templates/vi/visit-prep/versions/1.0.3/craftbook.json +274 -0
  554. package/data/craftbook-templates/vi/visit-prep/versions/1.0.3/test.json +97 -0
  555. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.3/craftbook.json +216 -0
  556. package/data/craftbook-templates/vo/voiceover-script/versions/1.0.3/test.json +103 -0
  557. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/craftbook.json +291 -0
  558. package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/test.json +124 -0
  559. package/data/craftbook-templates/we/web-app-crud/versions/1.0.3/craftbook.json +281 -0
  560. package/data/craftbook-templates/we/web-app-crud/versions/1.0.3/test.json +97 -0
  561. package/data/craftbook-templates/we/web-component/versions/1.0.3/craftbook.json +222 -0
  562. package/data/craftbook-templates/we/web-component/versions/1.0.3/test.json +97 -0
  563. package/data/craftbook-templates/we/webhook-handler/versions/1.0.3/craftbook.json +283 -0
  564. package/data/craftbook-templates/we/webhook-handler/versions/1.0.3/test.json +162 -0
  565. package/data/craftbook-templates/we/week-plan/versions/1.0.3/craftbook.json +276 -0
  566. package/data/craftbook-templates/we/week-plan/versions/1.0.3/test.json +258 -0
  567. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.3/craftbook.json +277 -0
  568. package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.3/test.json +97 -0
  569. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.3/craftbook.json +214 -0
  570. package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.3/test.json +104 -0
  571. package/data/craftbook-templates/we/weekly-review/versions/1.0.3/craftbook.json +219 -0
  572. package/data/craftbook-templates/we/weekly-review/versions/1.0.3/test.json +110 -0
  573. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/craftbook.json +277 -0
  574. package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/test.json +138 -0
  575. package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/craftbook.json +277 -0
  576. package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/test.json +113 -0
  577. package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/craftbook.json +250 -0
  578. package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/test.json +145 -0
  579. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.3/craftbook.json +271 -0
  580. package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.3/test.json +103 -0
  581. package/package.json +1 -1
  582. package/schemas/craftbook-doc.schema.json +86 -0
  583. package/schemas/craftbook-template-version.schema.json +86 -0
@@ -0,0 +1,242 @@
1
+ {
2
+ "id": "nightly-fix-sweep",
3
+ "name": "Nightly Fix Sweep",
4
+ "description": "Turn a batch of open code findings into reviewable change proposals. The host triages the leads against the current code — a lead that no longer matches the file, or that needs a judgement only the owner can make, is legitimately left out — then clusters what belongs together as ONE change (a fix that spans a file and its caller is one cluster, not two) and fans out one drafting shard per cluster. Each shard makes the smallest correct change for its leads and explains it under Problem, Change, Risk, and How to verify. Built for unattended night runs: proposals are what the user reviews and applies in the morning, and the project's files are never touched by the sweep itself.",
5
+ "entryStepId": "triage",
6
+ "triggers": [
7
+ "sweep the open findings",
8
+ "nightly fixes",
9
+ "draft fixes for the open issues",
10
+ "fix the boekwachter findings"
11
+ ],
12
+ "runModes": {
13
+ "nightShift": "recommended"
14
+ },
15
+ "paramSchema": {
16
+ "type": "object",
17
+ "properties": {
18
+ "workPath": {
19
+ "type": "string",
20
+ "title": "Working folder",
21
+ "description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
22
+ "default": "{{task.dir}}"
23
+ },
24
+ "leads": {
25
+ "type": "string",
26
+ "title": "Leads",
27
+ "description": "Comma-separated finding refs to sweep (e.g. BW-3,BW-8). Leave empty when the task description carries the leads.",
28
+ "default": ""
29
+ }
30
+ }
31
+ },
32
+ "steps": [
33
+ {
34
+ "id": "triage",
35
+ "name": "Triage the leads into clusters",
36
+ "prompt": "You have been handed open findings to sweep: {{leads}}. The task description may carry more detail per lead.\n\nRead the affected files and judge each lead against the CURRENT code: real, already fixed, stale, or a judgement only the owner can make. Leaving a lead out is legitimate — say why rather than forcing a change to satisfy a stale review.\n\nCluster what belongs together as ONE change: a fix that spans a file and its caller is one cluster, not two — splitting it would hand the user two half-changes neither of which stands alone. At most 8 clusters; prefer fewer, focused ones.\n\nWrite ONE `write_task_note` starting with the line `## Triage`: per lead, whether you will fix it and which cluster it belongs to, with reasons for anything left out.\n\nThen write the cluster list to the artifact `{{workPath}}/clusters.json` with ONE `write_artifact` call: a JSON array where each entry is an object with exactly these string fields — `slug` (short kebab-case name for the cluster, e.g. \"auth-null-guard\"), `issueRefs` (the refs in that cluster, comma-separated), and `focus` (one sentence on what that cluster should change). If nothing is worth fixing, write an empty array `[]` and say why in your note.",
37
+ "suggestedRole": "developer",
38
+ "capabilityFloor": "medium",
39
+ "advanceWhen": {
40
+ "file": "{{workPath}}/clusters.json",
41
+ "minBytes": 2,
42
+ "sniff": "json-valid",
43
+ "artifact": true
44
+ },
45
+ "gate": {
46
+ "at": "completion",
47
+ "checks": [
48
+ {
49
+ "kind": "sniff",
50
+ "file": "{{workPath}}/clusters.json",
51
+ "sniff": "json-valid",
52
+ "artifact": true
53
+ }
54
+ ],
55
+ "scripts": [
56
+ {
57
+ "name": "checkTaskNoteContains",
58
+ "scope": "standard",
59
+ "inputs": {
60
+ "taskRef": "{{task.ref}}",
61
+ "pattern": "##\\s*Triage"
62
+ }
63
+ }
64
+ ],
65
+ "onReject": "triage",
66
+ "maxAttempts": 3
67
+ },
68
+ "next": "fanout",
69
+ "toolPolicy": {
70
+ "disallowBuiltinToolsets": [
71
+ "ai-apps",
72
+ "archives",
73
+ "audio",
74
+ "browser-automation",
75
+ "craftbooks",
76
+ "data-tables",
77
+ "entity-intel",
78
+ "git",
79
+ "image-intel",
80
+ "images",
81
+ "role-delegation",
82
+ "role-delegation-escalation",
83
+ "security-intel",
84
+ "team-management",
85
+ "videos",
86
+ "web",
87
+ "workspace-fs-write"
88
+ ],
89
+ "outputMedium": "artifact",
90
+ "additionalOutputMedia": [
91
+ "task-note"
92
+ ]
93
+ }
94
+ },
95
+ {
96
+ "id": "fanout",
97
+ "name": "Draft the proposals",
98
+ "prompt": "Your clusters are being drafted, one proposal per cluster. Wait for the shards to finish, then call `advance_task_step`.",
99
+ "next": "collect",
100
+ "spawnFanout": true,
101
+ "toolPolicy": {
102
+ "disallowBuiltinToolsets": [
103
+ "ai-apps",
104
+ "archives",
105
+ "artifacts",
106
+ "audio",
107
+ "browser-automation",
108
+ "code-execution",
109
+ "craftbooks",
110
+ "data-tables",
111
+ "entity-intel",
112
+ "git",
113
+ "image-intel",
114
+ "images",
115
+ "role-delegation",
116
+ "role-delegation-escalation",
117
+ "security-intel",
118
+ "team-management",
119
+ "videos",
120
+ "web",
121
+ "workspace-fs-write"
122
+ ],
123
+ "outputMedium": "none"
124
+ }
125
+ },
126
+ {
127
+ "id": "collect",
128
+ "name": "Hand over",
129
+ "prompt": "The sweep is done. Write one short `write_task_note` naming the proposals your crew drafted (by cluster) and any leads deliberately left alone with their reasons, then call `advance_task_step`. Never claim anything was fixed or applied — these are proposals for the user to review.",
130
+ "terminal": true,
131
+ "toolPolicy": {
132
+ "disallowBuiltinToolsets": [
133
+ "ai-apps",
134
+ "archives",
135
+ "artifacts",
136
+ "audio",
137
+ "browser-automation",
138
+ "code-execution",
139
+ "craftbooks",
140
+ "data-tables",
141
+ "entity-intel",
142
+ "git",
143
+ "image-intel",
144
+ "images",
145
+ "role-delegation",
146
+ "role-delegation-escalation",
147
+ "security-intel",
148
+ "team-management",
149
+ "videos",
150
+ "web",
151
+ "workspace-fs-write"
152
+ ],
153
+ "outputMedium": "task-note"
154
+ }
155
+ }
156
+ ],
157
+ "spawn": {
158
+ "overFile": "{{workPath}}/clusters.json",
159
+ "overArtifact": true,
160
+ "entryStepId": "draft",
161
+ "steps": [
162
+ {
163
+ "id": "draft",
164
+ "name": "Draft the change",
165
+ "prompt": "Your cluster is {{issueRefs}} ({{slug}}). What it should change: {{focus}}\n\nRead the affected files first, then make the smallest correct change for those leads and nothing else. Use `read_file`, `write_file`, and `replace_in_file` exactly as you always do. Keep it focused — a change a reviewer can read in a minute gets applied; a sprawling one gets dismissed. If a lead turns out to be wrong once you are in the code, leave it alone and say so.\n\nThen write your explanation to the artifact `{{diffpack.dir}}/notes.md` in ONE `write_artifact` call, with exactly these four headings:\n\n## Problem\n## Change\n## Risk\n## How to verify\n\nUnder Change, describe what you altered and why, naming the refs. Under Risk, be honest about what you could not verify without running the code. Then call `advance_task_step`.",
166
+ "suggestedRole": "developer",
167
+ "capabilityFloor": "small",
168
+ "advanceWhen": {
169
+ "file": "{{diffpack.dir}}/notes.md",
170
+ "minBytes": 200,
171
+ "artifact": true
172
+ },
173
+ "gate": {
174
+ "at": "completion",
175
+ "checks": [
176
+ {
177
+ "kind": "contains",
178
+ "file": "{{diffpack.dir}}/notes.md",
179
+ "pattern": "##\\s+Problem",
180
+ "label": "Problem section",
181
+ "artifact": true
182
+ },
183
+ {
184
+ "kind": "contains",
185
+ "file": "{{diffpack.dir}}/notes.md",
186
+ "pattern": "##\\s+Change",
187
+ "label": "Change section",
188
+ "artifact": true
189
+ },
190
+ {
191
+ "kind": "contains",
192
+ "file": "{{diffpack.dir}}/notes.md",
193
+ "pattern": "##\\s+Risk",
194
+ "label": "Risk section",
195
+ "artifact": true
196
+ },
197
+ {
198
+ "kind": "contains",
199
+ "file": "{{diffpack.dir}}/notes.md",
200
+ "pattern": "##\\s+How to verify",
201
+ "label": "How to verify section",
202
+ "artifact": true
203
+ }
204
+ ],
205
+ "onReject": "draft",
206
+ "maxAttempts": 3
207
+ },
208
+ "terminal": true,
209
+ "toolPolicy": {
210
+ "disallowBuiltinToolsets": [
211
+ "ai-apps",
212
+ "archives",
213
+ "audio",
214
+ "browser-automation",
215
+ "code-execution",
216
+ "craftbooks",
217
+ "data-tables",
218
+ "entity-intel",
219
+ "git",
220
+ "image-intel",
221
+ "images",
222
+ "role-delegation",
223
+ "role-delegation-escalation",
224
+ "security-intel",
225
+ "team-management",
226
+ "videos",
227
+ "web"
228
+ ],
229
+ "outputMedium": "artifact",
230
+ "additionalOutputMedia": [
231
+ "workspace"
232
+ ]
233
+ }
234
+ }
235
+ ]
236
+ },
237
+ "diffpackCapable": true,
238
+ "capabilityFloor": "small",
239
+ "version": "1.0.1",
240
+ "releasedAt": "2026-09-01T20:00:00Z",
241
+ "minGezelVersion": "1.26236"
242
+ }
@@ -0,0 +1,120 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "title": "Nightly sweep drafts sealed proposals without touching the tree",
4
+ "objective": "The host triages two seeded findings into clusters and fans out drafting shards; each shard's edits land in a change proposal that seals on completion, the four-heading notes contract holds, and the workspace files stay byte-identical.",
5
+ "tags": [
6
+ "code",
7
+ "night-shift",
8
+ "proposals",
9
+ "fanout",
10
+ "tactical-fleet"
11
+ ],
12
+ "prompt": "Run the Nightly Fix Sweep for the two open findings described in the task. LEAD-1: src/greet.js builds the greeting with a stray double space when no title is given. LEAD-2: src/farewell.js says 'Godbye' instead of 'Goodbye'. Draft the fixes as proposals.",
13
+ "setup": {
14
+ "projectName": "Sweep Fixture",
15
+ "about": "A tiny greeting library with two known low-risk defects, used to exercise the nightly proposal sweep.",
16
+ "managedWorkspaceWritePolicy": "deny",
17
+ "files": [
18
+ {
19
+ "path": "src/greet.js",
20
+ "content": "export function greet(name, title) {\n const prefix = title ? `${title} ` : ' ';\n return `Hello, ${prefix}${name}!`;\n}\n"
21
+ },
22
+ {
23
+ "path": "src/farewell.js",
24
+ "content": "export function farewell(name) {\n return `Godbye, ${name}.`;\n}\n"
25
+ },
26
+ {
27
+ "path": "source/findings.md",
28
+ "content": "# Open findings\n\n- LEAD-1 (minor, src/greet.js): greeting has a leading double space when no title is passed - `greet('Ada')` returns `Hello, Ada!`. The no-title prefix should be empty.\n- LEAD-2 (minor, src/farewell.js): the farewell text misspells Goodbye as 'Godbye'.\n"
29
+ }
30
+ ],
31
+ "craftbookParams": {
32
+ "leads": "LEAD-1,LEAD-2"
33
+ }
34
+ },
35
+ "success": {
36
+ "summary": "Clusters were published, shards drafted, at least one proposal sealed with the four-heading notes, and the workspace was never modified.",
37
+ "deliverables": [
38
+ {
39
+ "path": "{{task.dir}}/clusters.json",
40
+ "kind": "json",
41
+ "artifact": true,
42
+ "minBytes": 2,
43
+ "checks": [
44
+ {
45
+ "kind": "recordSchema",
46
+ "file": "{{task.dir}}/clusters.json",
47
+ "artifact": true,
48
+ "minRows": 1,
49
+ "fields": [
50
+ {
51
+ "name": "slug",
52
+ "rule": "nonempty"
53
+ },
54
+ {
55
+ "name": "issueRefs",
56
+ "rule": "nonempty"
57
+ },
58
+ {
59
+ "name": "focus",
60
+ "rule": "nonempty"
61
+ }
62
+ ]
63
+ }
64
+ ]
65
+ }
66
+ ],
67
+ "taskNotes": {
68
+ "minBytes": 120,
69
+ "requireCraftbookTask": true,
70
+ "checks": [
71
+ {
72
+ "kind": "contains",
73
+ "file": "task-notes.md",
74
+ "pattern": "##\\s*Triage",
75
+ "label": "triage note present"
76
+ }
77
+ ]
78
+ },
79
+ "taskGraph": {
80
+ "requireCraftbookTask": true,
81
+ "requireTerminalStep": true
82
+ },
83
+ "history": [
84
+ {
85
+ "kind": "project.diffpack.sealed",
86
+ "minEntries": 1
87
+ }
88
+ ],
89
+ "unchangedFixtures": [
90
+ "src/greet.js",
91
+ "src/farewell.js",
92
+ "source/findings.md"
93
+ ]
94
+ },
95
+ "rubric": {
96
+ "artifact": {
97
+ "path": "{{task.dir}}/clusters.json",
98
+ "kind": "json"
99
+ },
100
+ "axes": [
101
+ {
102
+ "name": "Triage judgement",
103
+ "description": "Leads were judged against the current code and clustered sensibly; anything left out has an honest reason."
104
+ },
105
+ {
106
+ "name": "Proposal focus",
107
+ "description": "Each drafted proposal is the smallest correct change for its cluster, explained under Problem, Change, Risk, and How to verify."
108
+ },
109
+ {
110
+ "name": "Honesty about mode",
111
+ "description": "Notes never claim anything was fixed or applied; risk sections admit what could not be verified without running the code."
112
+ }
113
+ ]
114
+ },
115
+ "qualityFocus": [
116
+ "proposal discipline",
117
+ "cluster judgement",
118
+ "untouched workspace"
119
+ ]
120
+ }
@@ -0,0 +1,293 @@
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 `{{workPath}}/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
+ "paramSchema": {
14
+ "type": "object",
15
+ "properties": {
16
+ "workPath": {
17
+ "type": "string",
18
+ "title": "Working folder",
19
+ "description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
20
+ "default": "{{task.dir}}"
21
+ }
22
+ }
23
+ },
24
+ "steps": [
25
+ {
26
+ "id": "scope",
27
+ "name": "Scope the router",
28
+ "description": "lock the routing matrix, dedupe, throttle, and fallback",
29
+ "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 {{workPath}}/scope.md via write_task_note AND the produces path.\n\nThe deliverable `{{workPath}}/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.",
30
+ "suggestedRole": "planner",
31
+ "advanceWhen": {
32
+ "file": "{{workPath}}/scope.md",
33
+ "minBytes": 1,
34
+ "sniff": "nonempty",
35
+ "artifact": true
36
+ },
37
+ "gate": {
38
+ "at": "completion",
39
+ "checks": [
40
+ {
41
+ "kind": "minBytes",
42
+ "file": "{{workPath}}/scope.md",
43
+ "bytes": 120,
44
+ "artifact": true
45
+ },
46
+ {
47
+ "kind": "sniff",
48
+ "file": "{{workPath}}/scope.md",
49
+ "sniff": "nonempty",
50
+ "artifact": true
51
+ }
52
+ ],
53
+ "onReject": "scope",
54
+ "maxAttempts": 3
55
+ },
56
+ "next": "build",
57
+ "toolPolicy": {
58
+ "disallowBuiltinToolsets": [
59
+ "ai-apps",
60
+ "archives",
61
+ "audio",
62
+ "browser-automation",
63
+ "code-execution",
64
+ "craftbooks",
65
+ "data-tables",
66
+ "entity-intel",
67
+ "git",
68
+ "image-intel",
69
+ "images",
70
+ "role-delegation",
71
+ "role-delegation-escalation",
72
+ "security-intel",
73
+ "team-management",
74
+ "videos",
75
+ "web",
76
+ "workspace-fs-write"
77
+ ],
78
+ "outputMedium": "artifact",
79
+ "additionalOutputMedia": [
80
+ "task-note"
81
+ ]
82
+ }
83
+ },
84
+ {
85
+ "id": "build",
86
+ "name": "Build the router",
87
+ "description": "implement the router module to the matrix",
88
+ "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.",
89
+ "suggestedRole": "developer",
90
+ "advanceWhen": {
91
+ "file": "router.ts",
92
+ "minBytes": 1,
93
+ "sniff": "nonempty"
94
+ },
95
+ "gate": {
96
+ "at": "completion",
97
+ "checks": [
98
+ {
99
+ "kind": "minBytes",
100
+ "file": "router.ts",
101
+ "bytes": 200
102
+ },
103
+ {
104
+ "kind": "sniff",
105
+ "file": "router.ts",
106
+ "sniff": "nonempty"
107
+ },
108
+ {
109
+ "kind": "esmImports",
110
+ "file": "router.ts"
111
+ },
112
+ {
113
+ "kind": "sourceParses",
114
+ "file": "router.ts"
115
+ }
116
+ ],
117
+ "onReject": "build",
118
+ "maxAttempts": 3
119
+ },
120
+ "next": "test",
121
+ "toolPolicy": {
122
+ "disallowBuiltinToolsets": [
123
+ "ai-apps",
124
+ "archives",
125
+ "artifacts",
126
+ "audio",
127
+ "browser-automation",
128
+ "craftbooks",
129
+ "data-tables",
130
+ "entity-intel",
131
+ "git",
132
+ "image-intel",
133
+ "images",
134
+ "role-delegation",
135
+ "role-delegation-escalation",
136
+ "security-intel",
137
+ "team-management",
138
+ "videos",
139
+ "web"
140
+ ],
141
+ "outputMedium": "workspace",
142
+ "additionalOutputMedia": [
143
+ "task-note"
144
+ ]
145
+ }
146
+ },
147
+ {
148
+ "id": "test",
149
+ "name": "Test the router",
150
+ "description": "cover every routing branch with assertions",
151
+ "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.",
152
+ "suggestedRole": "developer",
153
+ "advanceWhen": {
154
+ "file": "router.test.ts",
155
+ "minBytes": 1,
156
+ "sniff": "nonempty"
157
+ },
158
+ "gate": {
159
+ "at": "completion",
160
+ "checks": [
161
+ {
162
+ "kind": "minBytes",
163
+ "file": "router.test.ts",
164
+ "bytes": 300
165
+ },
166
+ {
167
+ "kind": "sniff",
168
+ "file": "router.test.ts",
169
+ "sniff": "nonempty"
170
+ },
171
+ {
172
+ "kind": "esmImports",
173
+ "file": "router.test.ts"
174
+ },
175
+ {
176
+ "kind": "sourceParses",
177
+ "file": "router.test.ts"
178
+ }
179
+ ],
180
+ "scripts": [
181
+ {
182
+ "name": "checkContains",
183
+ "scope": "standard",
184
+ "inputs": {
185
+ "file": "router.test.ts",
186
+ "pattern": "\\b(test|describe|it|assert|expect)\\b",
187
+ "flags": "i"
188
+ }
189
+ }
190
+ ],
191
+ "onReject": "test",
192
+ "maxAttempts": 4
193
+ },
194
+ "next": "evaluate",
195
+ "toolPolicy": {
196
+ "disallowBuiltinToolsets": [
197
+ "ai-apps",
198
+ "archives",
199
+ "artifacts",
200
+ "audio",
201
+ "browser-automation",
202
+ "craftbooks",
203
+ "data-tables",
204
+ "entity-intel",
205
+ "git",
206
+ "image-intel",
207
+ "images",
208
+ "role-delegation",
209
+ "role-delegation-escalation",
210
+ "security-intel",
211
+ "team-management",
212
+ "videos",
213
+ "web"
214
+ ],
215
+ "outputMedium": "workspace",
216
+ "additionalOutputMedia": [
217
+ "task-note"
218
+ ]
219
+ }
220
+ },
221
+ {
222
+ "id": "evaluate",
223
+ "name": "Evaluate",
224
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
225
+ "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 {{workPath}}/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.",
226
+ "suggestedRole": "reviewer",
227
+ "consumes": [
228
+ {
229
+ "file": "router.test.ts"
230
+ }
231
+ ],
232
+ "next": "build",
233
+ "toolPolicy": {
234
+ "disallowBuiltinToolsets": [
235
+ "ai-apps",
236
+ "archives",
237
+ "artifacts",
238
+ "audio",
239
+ "browser-automation",
240
+ "craftbooks",
241
+ "data-tables",
242
+ "entity-intel",
243
+ "git",
244
+ "image-intel",
245
+ "images",
246
+ "role-delegation",
247
+ "role-delegation-escalation",
248
+ "security-intel",
249
+ "team-management",
250
+ "videos",
251
+ "web",
252
+ "workspace-fs-write"
253
+ ],
254
+ "outputMedium": "task-note"
255
+ }
256
+ },
257
+ {
258
+ "id": "finish",
259
+ "name": "Finish",
260
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
261
+ "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.",
262
+ "suggestedRole": "developer",
263
+ "terminal": true,
264
+ "toolPolicy": {
265
+ "disallowBuiltinToolsets": [
266
+ "ai-apps",
267
+ "archives",
268
+ "artifacts",
269
+ "audio",
270
+ "browser-automation",
271
+ "code-execution",
272
+ "craftbooks",
273
+ "data-tables",
274
+ "entity-intel",
275
+ "git",
276
+ "image-intel",
277
+ "images",
278
+ "role-delegation",
279
+ "role-delegation-escalation",
280
+ "security-intel",
281
+ "team-management",
282
+ "videos",
283
+ "web",
284
+ "workspace-fs-write"
285
+ ],
286
+ "outputMedium": "task-note"
287
+ }
288
+ }
289
+ ],
290
+ "version": "1.0.3",
291
+ "releasedAt": "2026-09-01T20:00:00Z",
292
+ "minGezelVersion": "1.26233"
293
+ }