@bendyline/gilde 0.1.39 → 0.1.40

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 (313) hide show
  1. package/authoring/chat-models/muse-glimmer-30b-q4.json +3 -3
  2. package/authoring/chat-models/ornith-9b-q4.json +1 -1
  3. package/authoring/chat-models/ornith1.5-9b-q4.json +149 -0
  4. package/authoring/chat-models/qwen3.8-27b-iq1-s.json +190 -0
  5. package/authoring/chat-models/qwen3.8-27b-q2.json +189 -0
  6. package/data/chat-models/index.json +1 -1
  7. package/data/chat-models/mu/muse-glimmer-30b-q4/manifest.json +4 -3
  8. package/data/chat-models/mu/muse-glimmer-30b-q4/versions/1.0.2/manifest.json +20 -0
  9. package/data/chat-models/or/ornith-9b-q4/manifest.json +1 -1
  10. package/data/chat-models/or/ornith1.5-9b-q4/manifest.json +187 -0
  11. package/data/chat-models/or/ornith1.5-9b-q4/versions/1.0.0/manifest.json +53 -0
  12. package/data/chat-models/qw/qwen3.8-27b-iq1-s/manifest.json +195 -0
  13. package/data/chat-models/qw/qwen3.8-27b-iq1-s/versions/1.0.0/manifest.json +19 -0
  14. package/data/chat-models/qw/qwen3.8-27b-q2/manifest.json +194 -0
  15. package/data/chat-models/qw/qwen3.8-27b-q2/versions/1.0.0/manifest.json +19 -0
  16. package/data/craftbook-templates/a1/a11y-audit/manifest.json +1 -0
  17. package/data/craftbook-templates/ab/ab-test-readout/manifest.json +1 -0
  18. package/data/craftbook-templates/ac/accessibility-retrofit/manifest.json +1 -0
  19. package/data/craftbook-templates/ad/ad-variations/manifest.json +1 -0
  20. package/data/craftbook-templates/al/album-curate/manifest.json +1 -0
  21. package/data/craftbook-templates/al/alert-rules/manifest.json +1 -0
  22. package/data/craftbook-templates/al/alt-text-pass/manifest.json +1 -0
  23. package/data/craftbook-templates/an/anniversary-cut/manifest.json +1 -0
  24. package/data/craftbook-templates/an/annotated-bibliography/manifest.json +1 -0
  25. package/data/craftbook-templates/an/annual-document-review/manifest.json +1 -0
  26. package/data/craftbook-templates/an/anomaly-scan/manifest.json +1 -0
  27. package/data/craftbook-templates/ap/api-contract-review/manifest.json +1 -0
  28. package/data/craftbook-templates/ar/artifact-integrity-review/manifest.json +1 -0
  29. package/data/craftbook-templates/au/audio-ad-spot/manifest.json +1 -0
  30. package/data/craftbook-templates/au/audio-highlight-reel/manifest.json +1 -0
  31. package/data/craftbook-templates/au/audiobook-master-pack/manifest.json +1 -0
  32. package/data/craftbook-templates/au/auth-flow/manifest.json +1 -0
  33. package/data/craftbook-templates/au/automation-recipe/manifest.json +1 -0
  34. package/data/craftbook-templates/ba/backup-routine/manifest.json +1 -0
  35. package/data/craftbook-templates/bl/blog-post/manifest.json +1 -0
  36. package/data/craftbook-templates/bo/board-deck/manifest.json +1 -0
  37. package/data/craftbook-templates/bo/board-game-web/manifest.json +1 -0
  38. package/data/craftbook-templates/bo/booking-automation/manifest.json +1 -0
  39. package/data/craftbook-templates/br/branding-website/manifest.json +1 -0
  40. package/data/craftbook-templates/br/broadcast-announcement/manifest.json +1 -0
  41. package/data/craftbook-templates/br/browser-qa-audit/manifest.json +1 -0
  42. package/data/craftbook-templates/bu/bug-fix-tdd/manifest.json +1 -0
  43. package/data/craftbook-templates/bu/build-loop/manifest.json +1 -0
  44. package/data/craftbook-templates/ca/calendar-brief/manifest.json +1 -0
  45. package/data/craftbook-templates/ca/canvas-generative-art/manifest.json +1 -0
  46. package/data/craftbook-templates/ca/careful-mode/manifest.json +1 -0
  47. package/data/craftbook-templates/ca/case-study/manifest.json +1 -0
  48. package/data/craftbook-templates/ca/case-study-writeup/manifest.json +1 -0
  49. package/data/craftbook-templates/ch/changelog-cut/manifest.json +1 -0
  50. package/data/craftbook-templates/ch/changelog-writeup/manifest.json +1 -0
  51. package/data/craftbook-templates/ch/chapter-narration-run/manifest.json +1 -0
  52. package/data/craftbook-templates/ch/chapter-weave/manifest.json +1 -0
  53. package/data/craftbook-templates/ch/character-sheet/manifest.json +1 -0
  54. package/data/craftbook-templates/ch/character-turnaround/manifest.json +1 -0
  55. package/data/craftbook-templates/ch/chart-pack/manifest.json +1 -0
  56. package/data/craftbook-templates/ch/chrome-extension/manifest.json +1 -0
  57. package/data/craftbook-templates/ci/ci-pipeline/manifest.json +1 -0
  58. package/data/craftbook-templates/ci/citation-audit/manifest.json +1 -0
  59. package/data/craftbook-templates/cl/cli-tool/manifest.json +1 -0
  60. package/data/craftbook-templates/co/code-review/manifest.json +1 -0
  61. package/data/craftbook-templates/co/codebase-refactoring-review/manifest.json +1 -0
  62. package/data/craftbook-templates/co/codebase-ux-review/manifest.json +1 -0
  63. package/data/craftbook-templates/co/cohort-analysis/manifest.json +1 -0
  64. package/data/craftbook-templates/co/company-research-brief/manifest.json +1 -0
  65. package/data/craftbook-templates/co/comparison-matrix/manifest.json +1 -0
  66. package/data/craftbook-templates/co/compat-check/manifest.json +1 -0
  67. package/data/craftbook-templates/co/competitive-analysis/manifest.json +1 -0
  68. package/data/craftbook-templates/co/comprehensive-codebase-review/art.json +12 -0
  69. package/data/craftbook-templates/co/comprehensive-codebase-review/logo.webp +0 -0
  70. package/data/craftbook-templates/co/comprehensive-codebase-review/manifest.json +27 -0
  71. package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.0/craftbook.json +337 -0
  72. package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.0/test.json +160 -0
  73. package/data/craftbook-templates/co/config-scaffold/manifest.json +1 -0
  74. package/data/craftbook-templates/co/content-accuracy-review/manifest.json +1 -0
  75. package/data/craftbook-templates/co/content-deck/manifest.json +1 -0
  76. package/data/craftbook-templates/co/contract-template/manifest.json +1 -0
  77. package/data/craftbook-templates/co/cookbook-layout/manifest.json +1 -0
  78. package/data/craftbook-templates/co/copy-review/manifest.json +1 -0
  79. package/data/craftbook-templates/co/corpus-email-digest/manifest.json +1 -0
  80. package/data/craftbook-templates/co/corpus-synthesis/manifest.json +1 -0
  81. package/data/craftbook-templates/co/cover-letter/manifest.json +1 -0
  82. package/data/craftbook-templates/cr/crm-update-batch/manifest.json +1 -0
  83. package/data/craftbook-templates/cr/cron-job/manifest.json +1 -0
  84. package/data/craftbook-templates/cr/crossword-forge/manifest.json +1 -0
  85. package/data/craftbook-templates/cs/csv-transformer/manifest.json +1 -0
  86. package/data/craftbook-templates/da/dashboard-spec/manifest.json +1 -0
  87. package/data/craftbook-templates/da/data-dictionary/manifest.json +1 -0
  88. package/data/craftbook-templates/da/data-export-migrate/manifest.json +1 -0
  89. package/data/craftbook-templates/da/data-join-merge/manifest.json +1 -0
  90. package/data/craftbook-templates/da/data-pipeline-etl/manifest.json +1 -0
  91. package/data/craftbook-templates/da/data-quality-audit/manifest.json +1 -0
  92. package/data/craftbook-templates/da/data-to-report/manifest.json +1 -0
  93. package/data/craftbook-templates/da/data-viz-page/manifest.json +1 -0
  94. package/data/craftbook-templates/da/dataset-clean/manifest.json +1 -0
  95. package/data/craftbook-templates/db/db-index-tuning/manifest.json +1 -0
  96. package/data/craftbook-templates/de/deep-security-review/manifest.json +1 -0
  97. package/data/craftbook-templates/de/dependency-audit/manifest.json +1 -0
  98. package/data/craftbook-templates/de/deploy-checklist/manifest.json +1 -0
  99. package/data/craftbook-templates/de/design-review/manifest.json +1 -0
  100. package/data/craftbook-templates/de/design-system-consultation/manifest.json +1 -0
  101. package/data/craftbook-templates/di/diagram-from-text/manifest.json +1 -0
  102. package/data/craftbook-templates/di/digest-from-feeds/manifest.json +1 -0
  103. package/data/craftbook-templates/do/doc-intake-pipeline/manifest.json +1 -0
  104. package/data/craftbook-templates/do/doc-rewrite/manifest.json +1 -0
  105. package/data/craftbook-templates/do/dockerize-app/manifest.json +1 -0
  106. package/data/craftbook-templates/do/docs-site/manifest.json +1 -0
  107. package/data/craftbook-templates/do/documentation-drift-review/manifest.json +1 -0
  108. package/data/craftbook-templates/dr/draft-social-post/manifest.json +1 -0
  109. package/data/craftbook-templates/dr/drive-wrap-up/manifest.json +1 -0
  110. package/data/craftbook-templates/du/due-diligence-brief/manifest.json +1 -0
  111. package/data/craftbook-templates/eb/ebook-compile/manifest.json +1 -0
  112. package/data/craftbook-templates/ed/edit-notes/manifest.json +1 -0
  113. package/data/craftbook-templates/em/email-sequence/manifest.json +1 -0
  114. package/data/craftbook-templates/em/email-template/manifest.json +1 -0
  115. package/data/craftbook-templates/en/engineering-retrospective/manifest.json +1 -0
  116. package/data/craftbook-templates/ep/episode-plan/manifest.json +1 -0
  117. package/data/craftbook-templates/es/escalation-playbook/manifest.json +1 -0
  118. package/data/craftbook-templates/ev/evidence-brief/manifest.json +1 -0
  119. package/data/craftbook-templates/ex/executive-level-review/manifest.json +1 -0
  120. package/data/craftbook-templates/ex/expense-categorize/manifest.json +1 -0
  121. package/data/craftbook-templates/fa/fact-check/manifest.json +1 -0
  122. package/data/craftbook-templates/fa/family-story-chapter/manifest.json +1 -0
  123. package/data/craftbook-templates/fa/faq-from-docs/manifest.json +1 -0
  124. package/data/craftbook-templates/fa/favicon-set/manifest.json +1 -0
  125. package/data/craftbook-templates/fe/feature-flag-release/manifest.json +1 -0
  126. package/data/craftbook-templates/fe/feature-flag-rollout/manifest.json +1 -0
  127. package/data/craftbook-templates/fe/feedback-widget/manifest.json +1 -0
  128. package/data/craftbook-templates/fo/folder-to-audio/manifest.json +1 -0
  129. package/data/craftbook-templates/fo/forecast-model/manifest.json +1 -0
  130. package/data/craftbook-templates/fo/form-fill-batch/manifest.json +1 -0
  131. package/data/craftbook-templates/fo/form-wizard/manifest.json +1 -0
  132. package/data/craftbook-templates/fr/freeze-scope/manifest.json +1 -0
  133. package/data/craftbook-templates/ga/game-with-screens/manifest.json +1 -0
  134. package/data/craftbook-templates/gl/glossary-build/manifest.json +1 -0
  135. package/data/craftbook-templates/gr/graphql-api/manifest.json +1 -0
  136. package/data/craftbook-templates/gr/grpc-service/manifest.json +1 -0
  137. package/data/craftbook-templates/ha/handbook-section/manifest.json +1 -0
  138. package/data/craftbook-templates/he/hero-image/manifest.json +1 -0
  139. package/data/craftbook-templates/ho/holiday-card-run/manifest.json +1 -0
  140. package/data/craftbook-templates/ho/hotfix-flow/manifest.json +1 -0
  141. package/data/craftbook-templates/ht/html-arcade-game/manifest.json +1 -0
  142. package/data/craftbook-templates/ht/html-puzzle-game/manifest.json +1 -0
  143. package/data/craftbook-templates/ic/icon-pack/manifest.json +1 -0
  144. package/data/craftbook-templates/id/idea-office-hours/manifest.json +1 -0
  145. package/data/craftbook-templates/id/idle-clicker-game/manifest.json +1 -0
  146. package/data/craftbook-templates/im/image-batch-edit/manifest.json +1 -0
  147. package/data/craftbook-templates/im/image-dedup-cluster/manifest.json +1 -0
  148. package/data/craftbook-templates/im/image-palette-extract/manifest.json +1 -0
  149. package/data/craftbook-templates/im/image-seo-rename/manifest.json +1 -0
  150. package/data/craftbook-templates/im/image-set-index/manifest.json +1 -0
  151. package/data/craftbook-templates/in/inbox-triage/manifest.json +1 -0
  152. package/data/craftbook-templates/in/incident-comms-templates/manifest.json +1 -0
  153. package/data/craftbook-templates/in/incident-postmortem/manifest.json +1 -0
  154. package/data/craftbook-templates/in/insurance-inventory/manifest.json +1 -0
  155. package/data/craftbook-templates/in/interactive-quiz/manifest.json +1 -0
  156. package/data/craftbook-templates/in/investigate/manifest.json +1 -0
  157. package/data/craftbook-templates/in/investigate-root-cause/manifest.json +1 -0
  158. package/data/craftbook-templates/in/invitation-design/manifest.json +1 -0
  159. package/data/craftbook-templates/in/invoice-generator/manifest.json +1 -0
  160. package/data/craftbook-templates/in/invoice-run/manifest.json +1 -0
  161. package/data/craftbook-templates/index.json +1 -1
  162. package/data/craftbook-templates/it/item-intake/manifest.json +1 -0
  163. package/data/craftbook-templates/ju/juice-pass/manifest.json +1 -0
  164. package/data/craftbook-templates/kn/knowledge-base-article/manifest.json +1 -0
  165. package/data/craftbook-templates/kp/kpi-scorecard/manifest.json +1 -0
  166. package/data/craftbook-templates/la/landing-copy/manifest.json +1 -0
  167. package/data/craftbook-templates/la/landing-page/manifest.json +1 -0
  168. package/data/craftbook-templates/le/lead-enrichment/manifest.json +1 -0
  169. package/data/craftbook-templates/li/library-package/manifest.json +1 -0
  170. package/data/craftbook-templates/li/literature-review/manifest.json +1 -0
  171. package/data/craftbook-templates/li/live-browser-qa/manifest.json +1 -0
  172. package/data/craftbook-templates/lo/localize-content/manifest.json +1 -0
  173. package/data/craftbook-templates/lo/logo-set/manifest.json +1 -0
  174. package/data/craftbook-templates/ma/market-scan/manifest.json +1 -0
  175. package/data/craftbook-templates/me/meeting-minutes/manifest.json +1 -0
  176. package/data/craftbook-templates/me/meeting-notes-to-actions/manifest.json +1 -0
  177. package/data/craftbook-templates/me/meeting-prep-brief/manifest.json +1 -0
  178. package/data/craftbook-templates/me/meeting-summary-audio/manifest.json +1 -0
  179. package/data/craftbook-templates/me/memory-prompt-session/manifest.json +1 -0
  180. package/data/craftbook-templates/me/message-queue-consumer/manifest.json +1 -0
  181. package/data/craftbook-templates/mi/micro-game-jam/manifest.json +1 -0
  182. package/data/craftbook-templates/mo/mock-interview/manifest.json +1 -0
  183. package/data/craftbook-templates/mo/mod-scaffold/manifest.json +1 -0
  184. package/data/craftbook-templates/mo/monitor-and-alert/manifest.json +1 -0
  185. package/data/craftbook-templates/mo/month-close/manifest.json +1 -0
  186. package/data/craftbook-templates/mo/monthly-recording-review/manifest.json +1 -0
  187. package/data/craftbook-templates/mo/moodboard/manifest.json +1 -0
  188. package/data/craftbook-templates/mo/morning-brief/manifest.json +1 -0
  189. package/data/craftbook-templates/mo/morning-report/manifest.json +1 -0
  190. package/data/craftbook-templates/mu/music-metadata-tag/manifest.json +1 -0
  191. package/data/craftbook-templates/na/narrated-slideshow/manifest.json +1 -0
  192. package/data/craftbook-templates/ne/newsletter-issue/manifest.json +1 -0
  193. package/data/craftbook-templates/no/notification-router/manifest.json +1 -0
  194. package/data/craftbook-templates/oc/ocr-extract/manifest.json +1 -0
  195. package/data/craftbook-templates/of/offer-compare/manifest.json +1 -0
  196. package/data/craftbook-templates/of/office-hours/manifest.json +1 -0
  197. package/data/craftbook-templates/on/onboarding-checklist/manifest.json +1 -0
  198. package/data/craftbook-templates/on/onboarding-flow/manifest.json +1 -0
  199. package/data/craftbook-templates/on/oncall-handoff/manifest.json +1 -0
  200. package/data/craftbook-templates/on/one-pager/manifest.json +1 -0
  201. package/data/craftbook-templates/op/ops-runbook/manifest.json +1 -0
  202. package/data/craftbook-templates/pa/page-spread/manifest.json +1 -0
  203. package/data/craftbook-templates/pa/parser-grammar/manifest.json +1 -0
  204. package/data/craftbook-templates/pe/perf-audit/manifest.json +1 -0
  205. package/data/craftbook-templates/pe/perf-optimization/manifest.json +1 -0
  206. package/data/craftbook-templates/pe/pest-diagnosis/manifest.json +1 -0
  207. package/data/craftbook-templates/ph/photo-cull/manifest.json +1 -0
  208. package/data/craftbook-templates/ph/physics-toy/manifest.json +1 -0
  209. package/data/craftbook-templates/pi/pitch-deck/manifest.json +1 -0
  210. package/data/craftbook-templates/pl/plan/manifest.json +1 -0
  211. package/data/craftbook-templates/pl/playtest-report/manifest.json +1 -0
  212. package/data/craftbook-templates/po/podcast-chaptering/manifest.json +1 -0
  213. package/data/craftbook-templates/po/portfolio-site/manifest.json +1 -0
  214. package/data/craftbook-templates/po/powerpoint-deck/manifest.json +1 -0
  215. package/data/craftbook-templates/pr/pr-security-review/manifest.json +1 -0
  216. package/data/craftbook-templates/pr/practice-exam/manifest.json +1 -0
  217. package/data/craftbook-templates/pr/practice-session/manifest.json +1 -0
  218. package/data/craftbook-templates/pr/pre-departure-countdown/manifest.json +1 -0
  219. package/data/craftbook-templates/pr/press-release/manifest.json +1 -0
  220. package/data/craftbook-templates/pr/price-tracker/manifest.json +1 -0
  221. package/data/craftbook-templates/pr/pricing-page/manifest.json +1 -0
  222. package/data/craftbook-templates/pr/product-descriptions/manifest.json +1 -0
  223. package/data/craftbook-templates/pr/proposal-sow/manifest.json +1 -0
  224. package/data/craftbook-templates/pu/pull-request-review/manifest.json +1 -0
  225. package/data/craftbook-templates/pu/puzzle-pack-layout/manifest.json +1 -0
  226. package/data/craftbook-templates/pw/pwa-offline/manifest.json +1 -0
  227. package/data/craftbook-templates/qa/qa/manifest.json +1 -0
  228. package/data/craftbook-templates/qu/quarterly-summary/manifest.json +1 -0
  229. package/data/craftbook-templates/re/reading-list/manifest.json +1 -0
  230. package/data/craftbook-templates/re/receipt-intake/manifest.json +1 -0
  231. package/data/craftbook-templates/re/receipt-ocr-ledger/manifest.json +1 -0
  232. package/data/craftbook-templates/re/reception-report/manifest.json +1 -0
  233. package/data/craftbook-templates/re/recipe-capture/manifest.json +1 -0
  234. package/data/craftbook-templates/re/record-a-relative/manifest.json +1 -0
  235. package/data/craftbook-templates/re/recurring-invoice-run/manifest.json +1 -0
  236. package/data/craftbook-templates/re/refactor-module/manifest.json +1 -0
  237. package/data/craftbook-templates/re/regex-builder/manifest.json +1 -0
  238. package/data/craftbook-templates/re/release-announcement/manifest.json +1 -0
  239. package/data/craftbook-templates/re/release-artifact-sanity-check/manifest.json +1 -0
  240. package/data/craftbook-templates/re/release-notes/manifest.json +1 -0
  241. package/data/craftbook-templates/re/release-pipeline-ci/manifest.json +1 -0
  242. package/data/craftbook-templates/re/release-readiness-review/manifest.json +1 -0
  243. package/data/craftbook-templates/re/reliability-review/manifest.json +1 -0
  244. package/data/craftbook-templates/re/report-pdf/manifest.json +1 -0
  245. package/data/craftbook-templates/re/research-report/manifest.json +1 -0
  246. package/data/craftbook-templates/re/research-to-document/manifest.json +1 -0
  247. package/data/craftbook-templates/re/rest-api/manifest.json +1 -0
  248. package/data/craftbook-templates/re/resume-cv/manifest.json +1 -0
  249. package/data/craftbook-templates/re/reviewer-loop/manifest.json +1 -0
  250. package/data/craftbook-templates/ro/rollback-plan/manifest.json +1 -0
  251. package/data/craftbook-templates/ro/root-cause-investigation/manifest.json +1 -0
  252. package/data/craftbook-templates/ro/rough-cut-assembly/manifest.json +1 -0
  253. package/data/craftbook-templates/ru/runbook/manifest.json +1 -0
  254. package/data/craftbook-templates/sc/schema-migration/manifest.json +1 -0
  255. package/data/craftbook-templates/sc/scrape-to-structured/manifest.json +1 -0
  256. package/data/craftbook-templates/sc/script-automation/manifest.json +1 -0
  257. package/data/craftbook-templates/sd/sdk-wrapper/manifest.json +1 -0
  258. package/data/craftbook-templates/se/seasonal-maintenance-sweep/manifest.json +1 -0
  259. package/data/craftbook-templates/se/security-architecture-review/manifest.json +1 -0
  260. package/data/craftbook-templates/se/seo-meta-pack/manifest.json +1 -0
  261. package/data/craftbook-templates/sh/ship/manifest.json +1 -0
  262. package/data/craftbook-templates/so/social-digest/manifest.json +1 -0
  263. package/data/craftbook-templates/so/social-thread/manifest.json +1 -0
  264. package/data/craftbook-templates/so/source-quality-audit/manifest.json +1 -0
  265. package/data/craftbook-templates/sp/spa-dashboard/manifest.json +1 -0
  266. package/data/craftbook-templates/sp/spec-authoring/manifest.json +1 -0
  267. package/data/craftbook-templates/sp/spec-doc/manifest.json +1 -0
  268. package/data/craftbook-templates/sp/spreadsheet-model/manifest.json +1 -0
  269. package/data/craftbook-templates/sp/sprite-sheet/manifest.json +1 -0
  270. package/data/craftbook-templates/sq/sql-analysis/manifest.json +1 -0
  271. package/data/craftbook-templates/st/standup-summary/manifest.json +1 -0
  272. package/data/craftbook-templates/st/state-machine/manifest.json +1 -0
  273. package/data/craftbook-templates/st/status-report/manifest.json +1 -0
  274. package/data/craftbook-templates/su/subscription-audit/manifest.json +1 -0
  275. package/data/craftbook-templates/su/subtitle-generator/manifest.json +1 -0
  276. package/data/craftbook-templates/su/summarize-long/manifest.json +1 -0
  277. package/data/craftbook-templates/su/survey-analysis/manifest.json +1 -0
  278. package/data/craftbook-templates/sv/svg-animation/manifest.json +1 -0
  279. package/data/craftbook-templates/ta/tailor-resume/manifest.json +1 -0
  280. package/data/craftbook-templates/te/technical-documentation/manifest.json +1 -0
  281. package/data/craftbook-templates/te/test-coverage-review/manifest.json +1 -0
  282. package/data/craftbook-templates/te/test-suite-backfill/manifest.json +1 -0
  283. package/data/craftbook-templates/th/thank-you-batch/manifest.json +1 -0
  284. package/data/craftbook-templates/th/thank-you-sweep/manifest.json +1 -0
  285. package/data/craftbook-templates/th/threat-model/manifest.json +1 -0
  286. package/data/craftbook-templates/th/thumbnail-generator/manifest.json +1 -0
  287. package/data/craftbook-templates/ti/tileset-batch/manifest.json +1 -0
  288. package/data/craftbook-templates/to/tone-rewrite/manifest.json +1 -0
  289. package/data/craftbook-templates/to/topic-explainer/manifest.json +1 -0
  290. package/data/craftbook-templates/tr/transcribe-and-shownotes/manifest.json +1 -0
  291. package/data/craftbook-templates/tr/transcribe-audio/manifest.json +1 -0
  292. package/data/craftbook-templates/tr/transcribe-index/manifest.json +1 -0
  293. package/data/craftbook-templates/tr/translate-content/manifest.json +1 -0
  294. package/data/craftbook-templates/ty/type-safety-pass/manifest.json +1 -0
  295. package/data/craftbook-templates/ve/version-bump/manifest.json +1 -0
  296. package/data/craftbook-templates/vi/video-storyboard/manifest.json +1 -0
  297. package/data/craftbook-templates/vi/visit-prep/manifest.json +1 -0
  298. package/data/craftbook-templates/vo/voiceover-script/manifest.json +1 -0
  299. package/data/craftbook-templates/we/weak-spot-drill/manifest.json +1 -0
  300. package/data/craftbook-templates/we/web-app-crud/manifest.json +1 -0
  301. package/data/craftbook-templates/we/web-component/manifest.json +1 -0
  302. package/data/craftbook-templates/we/webhook-handler/manifest.json +1 -0
  303. package/data/craftbook-templates/we/week-plan/manifest.json +1 -0
  304. package/data/craftbook-templates/we/weekly-menu-plan/manifest.json +1 -0
  305. package/data/craftbook-templates/we/weekly-pipeline-review/manifest.json +1 -0
  306. package/data/craftbook-templates/we/weekly-review/manifest.json +1 -0
  307. package/data/craftbook-templates/we/weekly-walkthrough/manifest.json +1 -0
  308. package/data/craftbook-templates/wh/whitepaper/manifest.json +1 -0
  309. package/data/craftbook-templates/ye/year-in-review/manifest.json +1 -0
  310. package/data/craftbook-templates/yo/youtube-chapters-seo/manifest.json +1 -0
  311. package/package.json +1 -1
  312. package/schemas/craftbook-template-identity.schema.json +21 -0
  313. package/schemas/craftbook-test.schema.json +10 -0
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "ci-pipeline",
5
5
  "role": "maintenance-review",
6
+ "category": "code-release",
6
7
  "name": "CI Pipeline from Scratch",
7
8
  "description": "Build a continuous-integration pipeline that installs, lints, tests, and builds on every push/PR — fast, cached, and gating merges on green. Scopes the pipeline contract FIRST — triggers, the job/stage graph, the matrix, caching strategy, and the gates — then writes the CI workflow YAML, then a reviewer validates the syntax, stage ordering, caching, and that it actually fails on a broken build. Covers CI triggers, job/stage dependencies, dependency caching, build matrices, status checks, fail-fast gating, and a valid workflow file.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "citation-audit",
5
5
  "role": "maintenance-review",
6
+ "category": "research",
6
7
  "name": "Citation Audit",
7
8
  "description": "Audit an existing document's claims against its citations and report every mismatch: a reviewer pairs each cited claim with the citation it depends on and locks the audit rubric, a researcher opens each cited source and verifies the claim is actually supported, and a reviewer compiles a per-citation audit report with verdicts and fixes. The ordering matters because auditing without first pairing claims to citations misses unsupported claims, and a report without a fixed verdict scale is inconsistent; building the claim-citation pairing and rubric first makes the audit exhaustive and the report actionable. Use this for checking that citations support their claims, source-verification of a draft, catching citation drift or unsupported statements, and 'do these references actually back up the text' reviews.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "cli-tool",
5
5
  "role": "project-starter",
6
+ "category": "code-build",
6
7
  "name": "Command-Line Tool",
7
8
  "description": "Build a command-line tool with subcommands, flags, arguments, help text, and proper exit codes. Designs the CLI UX FIRST — the command surface, flags with defaults, positional args, help/usage output, and exit-code conventions — because a CLI's contract is its interface, then implements argument parsing and command logic, then writes tests for parsing, help, happy paths, and error exits. Covers argv parsing, subcommands, --flags and -short forms, --help, stdin/stdout/stderr conventions, and non-zero exit codes on error.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "code-review",
5
5
  "role": "maintenance-review",
6
+ "category": "code-review",
6
7
  "name": "Code Review",
7
8
  "description": "Snapshot-driven code review. Consumes a staged change-set snapshot (reviews/<reviewId>/manifest.json + changes.diff in the project artifacts drawer) and emits a gated markdown report artifact with severity-ranked, file-cited findings and an approve/request-changes verdict. Shared by commit reviews (uncommitted work vs the last save) and branch reviews (this branch vs the default branch); the Gezel Review panel stages the snapshot and launches this book automatically.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "codebase-refactoring-review",
5
5
  "role": "maintenance-review",
6
+ "category": "code-quality",
6
7
  "name": "Codebase Refactoring Review",
7
8
  "description": "Review an entire codebase for the least cogent, highest-leverage refactoring opportunities without changing source. Uses the repository map and per-file AI health index to rank weak areas, then verifies each lead in the real code and leaves a file-and-line-cited morning report with sequenced refactor plans, risk, effort, and tests that must protect behavior. Use for a weekly code-health sweep, refactoring review, technical-debt triage, finding code smells, or deciding which files should be refactored first.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "codebase-ux-review",
5
5
  "role": "maintenance-review",
6
+ "category": "design",
6
7
  "name": "Codebase UX Review",
7
8
  "description": "Review the user experience implemented across a codebase and, when runnable, exercise the key flows in a real browser. Starts from the indexed UI surface rather than one screenshot, traces primary journeys and state transitions, then leaves a prioritized morning report covering information architecture, comprehension, feedback, recovery, consistency, responsive behavior, and user impact with source or runtime evidence. Use for a weekly UX sweep, product usability review, interaction review, or finding the highest-impact friction in an application.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "cohort-analysis",
5
5
  "role": "general",
6
+ "category": "research",
6
7
  "name": "Cohort / Retention Analysis",
7
8
  "description": "Analyze retention or behavior by cohort to reveal whether the product is getting stickier over time. Defines the cohort key, the activity event, and the retention window FIRST (so 'retained' has one unambiguous meaning), then builds the cohort/retention table and computes retention curves and trends as a data-analyst, then writes a readout on what the cohorts reveal. Use this for retention analysis, cohort tables, churn/stickiness analysis, a retention curve, or 'are newer users retaining better than older ones'.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "company-research-brief",
5
5
  "role": "general",
6
+ "category": "business",
6
7
  "name": "Company Research Brief",
7
8
  "description": "A sharp, dated, sourced brief on a company before an interview or application — what they do and how they make money, recent signals, team and role context, culture as evidenced, likely interview themes, and five specific questions to ask THEM. Skimmable in ten minutes; every claim dated or marked UNKNOWN rather than guessed. Use before any serious interview or when deciding whether to apply.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "comparison-matrix",
5
5
  "role": "general",
6
+ "category": "research",
6
7
  "name": "Option Comparison Matrix",
7
8
  "description": "Compare a set of options against weighted criteria and ship an interactive HTML comparison matrix with a recommendation: a planner locks the options, the criteria, and their weights, a researcher fills every cell with an evidence-backed value, and a developer builds a single-file HTML page with a sortable/filterable comparison table and a scored recommendation. The ordering matters because criteria and weights chosen after seeing the data bias the winner, and a static table buries the decision; locking weighted criteria first makes the comparison fair and lets the build compute a transparent score. Use this for option/tool/vendor comparisons, decision matrices, buying guides, 'help me choose between X, Y, Z', and weighted pros/cons tables.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "compat-check",
5
5
  "role": "maintenance-review",
6
+ "category": "code-build",
6
7
  "name": "Compatibility Check",
7
8
  "description": "Answer 'does it still work on the new version?' with a matrix, not a shrug: the datapack's files checked against each target version's format rules, every break named with the exact file and the exact fix, and the upgrade path written down in order. Locks the target version list and the compat criteria FIRST (format numbers, renamed folders, changed identifiers), then checks version by version, then writes the matrix and the fixes. Use for version compatibility checks, 'does the mod work on 1.21', update breakage sweeps, and upgrade planning.",
8
9
  "tags": [
@@ -3,6 +3,7 @@
3
3
  "kind": "craftbook-template",
4
4
  "id": "competitive-analysis",
5
5
  "role": "general",
6
+ "category": "research",
6
7
  "name": "Competitive Analysis",
7
8
  "description": "Compare a set of competitors across consistent dimensions and turn the comparison into an actionable analysis: a planner locks the competitor set and the evaluation dimensions, a researcher fills a feature/positioning matrix with evidence-backed cells, and a copywriter writes the analysis with a clear recommendation and competitive gaps. The ordering matters because dimensions chosen after the research are cherry-picked, and a write-up without a complete matrix has holes a reader will spot; locking the same dimensions for every competitor up front forces an apples-to-apples comparison. Use this for competitor teardowns, market positioning, win/loss analysis, 'how do we compare to X and Y' questions, and feature/pricing comparisons across rivals.",
8
9
  "tags": [
@@ -0,0 +1,12 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "promptVersion": "workshop-mark-1910-v2",
4
+ "periodCue": "circa-1910-subtle",
5
+ "family": "inspect-review",
6
+ "accents": [
7
+ "muted terracotta",
8
+ "sage"
9
+ ],
10
+ "sourceSummary": "The definitive deep, consultant-level review of an entire codebase and its architecture, from a freshly caught-up index to a prioritized scorecard report.",
11
+ "styleReference": "codebase-refactoring-review"
12
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "kind": "craftbook-template",
4
+ "id": "comprehensive-codebase-review",
5
+ "role": "maintenance-review",
6
+ "category": "code-review",
7
+ "name": "Comprehensive Codebase Review",
8
+ "description": "The definitive deep, consultant-level review of an entire codebase and its architecture. Before any review turn runs, the runtime brings the project's static index and AI index as up to date as they can get and publishes an honest coverage snapshot the report must cite. The review then harvests every indexed finding (per-file AI reviews, Boekwachter issues, security findings, dependency advisories), assesses the architecture and module boundaries, sweeps for duplicated code and logic, dead code, hygiene problems, embarrassments, and lightweight security issues — verifying every lead in real source — and clusters it all into systemic themes. The deliverable is a prioritized consultant report with a per-dimension scorecard, file-and-line-cited findings, quick wins vs strategic recommendations, and a machine-readable findings file, gated so no fabricated citation survives. Use for a comprehensive codebase review, a deep code and architecture audit, a code-quality due-diligence pass, or the definitive 'please review my whole codebase' request.",
9
+ "tags": [
10
+ "gallery",
11
+ "maintenance-review",
12
+ "night-shift",
13
+ "code-quality",
14
+ "architecture",
15
+ "technical-debt",
16
+ "duplication",
17
+ "security",
18
+ "codebase"
19
+ ],
20
+ "maintainer": {
21
+ "name": "Gezel"
22
+ },
23
+ "logo": "logo.webp",
24
+ "license": "MIT",
25
+ "yankedVersions": [],
26
+ "workflow": "build-loop"
27
+ }
@@ -0,0 +1,337 @@
1
+ {
2
+ "id": "comprehensive-codebase-review",
3
+ "name": "Comprehensive Codebase Review",
4
+ "description": "The definitive deep, consultant-level review of an entire codebase and its architecture. Before any review turn runs, the runtime brings the project's static index and AI index as up to date as they can get and publishes an honest coverage snapshot the report must cite. The review then harvests every indexed finding (per-file AI reviews, Boekwachter issues, security findings, dependency advisories), assesses the architecture and module boundaries, sweeps for duplicated code and logic, dead code, hygiene problems, embarrassments, and lightweight security issues — verifying every lead in real source — and clusters it all into systemic themes. The deliverable is a prioritized consultant report with a per-dimension scorecard, file-and-line-cited findings, quick wins vs strategic recommendations, and a machine-readable findings file, gated so no fabricated citation survives.\n\nWhat makes this the deep review rather than a long one: it starts from evidence the runtime prepared. On entering the first step, an `ensureIndexFresh` hook re-scans the static index, drives the AI tiers (embeddings, summaries, per-file reviews) with a bounded wait, and lands `review/index-readiness.json` in the task's working folder — including what could NOT be made fresh (no Boekwachter on the crew, indexing paused or disabled), so a quiet issue list is never mistaken for a clean codebase. Every phase gates on an artifact, the final report is checked structurally AND against fabrication (every cited file must exist in the workspace), and an evaluate loop repairs named gaps before the task can finish.\n\nDeliverables land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source, and the review never modifies the codebase.\n\nPhases:\n\n1. Survey the system (reviewer) — index freshness snapshot + whole-system map → gated on artifact `{{workPath}}/review/system-map.md`\n2. Harvest indexed findings (reviewer) — every existing AI-review, security, and dependency lead in one place → gated on artifact `{{workPath}}/review/indexed-findings.md`\n3. Assess the architecture (reviewer) — boundaries, coupling, pattern consistency, duplicated logic, verified in source → gated on artifact `{{workPath}}/review/architecture.md`\n4. Sweep quality and hygiene (reviewer) — duplication, dead code, embarrassments, lightweight security, verified in source → gated on artifact `{{workPath}}/review/hygiene.md`\n5. Synthesize themes (reviewer) — root-cause clusters ranked by blast radius; quick wins vs strategic work → gated on artifact `{{workPath}}/review/themes.md`\n6. Write the consultant report (reviewer) — scorecard, cited findings, recommendations + machine-readable findings JSON → gated on artifact `{{workPath}}/codebase-review.md` including an anti-fabrication check\n\nThe gates never advance with an unmet criterion, and loop back to the owning phase to fix named gaps. For a dedicated deep dive on one dimension afterwards, the report points at the specialist books: Deep Security Review, Codebase Refactoring Review, Reliability & Resilience Review, Documentation Drift Review.\n",
5
+ "entryStepId": "survey",
6
+ "triggers": [
7
+ "comprehensive codebase review",
8
+ "deep codebase review",
9
+ "review my whole codebase",
10
+ "consultant level code review",
11
+ "deep dive on code quality and architecture",
12
+ "full audit of the codebase",
13
+ "what is wrong with this codebase"
14
+ ],
15
+ "toolsets": [
16
+ {
17
+ "toolsetId": "builtin.code-intel",
18
+ "autoAllow": true,
19
+ "reason": "map the repo, rank indexed file-health leads, and verify every finding in real symbols"
20
+ },
21
+ {
22
+ "toolsetId": "builtin.security-intel",
23
+ "autoAllow": true,
24
+ "reason": "harvest static security findings, attack surface, and dependency advisories for the lightweight security pass"
25
+ },
26
+ {
27
+ "toolsetId": "builtin.git",
28
+ "autoAllow": true,
29
+ "reason": "read-only churn and fix-frequency evidence for prioritizing findings"
30
+ }
31
+ ],
32
+ "runModes": {
33
+ "nightShift": "recommended",
34
+ "scheduled": "supported"
35
+ },
36
+ "paramSchema": {
37
+ "type": "object",
38
+ "properties": {
39
+ "workPath": {
40
+ "type": "string",
41
+ "title": "Working folder",
42
+ "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.",
43
+ "default": "{{task.dir}}"
44
+ },
45
+ "focus": {
46
+ "type": "string",
47
+ "title": "Review focus",
48
+ "default": "overall code health, architecture, and maintainability",
49
+ "description": "Optional area to emphasize, e.g. architecture, duplication, security, tests, or a specific subsystem."
50
+ }
51
+ }
52
+ },
53
+ "steps": [
54
+ {
55
+ "id": "survey",
56
+ "name": "Survey the system",
57
+ "description": "read the runtime's index-freshness snapshot and map the whole system before judging any of it",
58
+ "prompt": "You are opening a comprehensive, consultant-level review of this entire codebase, weighted toward `{{focus}}`. You never modify project source in this craftbook — every deliverable is an artifact.\n\n**The runtime already ran the index-freshness pass.** On entering this step it re-scanned the static index, drove the AI index tiers with a bounded wait, and published the honest result to the artifact `{{workPath}}/review/index-readiness.json`. Step 1: call `read_artifact` on that file. Record its static state, search readiness, AI-tier coverage (summaries and per-file reviews: reviewed vs eligible), and EVERY entry in its `notes` array — those caveats (no Boekwachter on the crew, indexing paused or disabled, catch-up still running) are coverage limits your final report must state. If the file does not exist, say plainly that index freshness could not be verified and derive coverage from `map_repo` instead — never invent numbers.\n\nStep 2: map the system. Call `map_repo` and record languages, top areas, file counts, indexed health rollup, and worst files. Read the top-level manifests and docs (`read_file` on the package/build manifests and README) to state what the system IS: its purpose, runtime shape, entry points, external dependencies, and how it is built and tested. Step 3: if git history is available, use read-only `run_git` queries (log, shortlog, churn on the worst areas) for change-frequency evidence; missing history is not a failure. Step 4: name the 4-8 areas the deep phases will cover and anything deliberately out of scope.\n\nWrite the artifact `{{workPath}}/review/system-map.md` with `write_artifact`: the system's purpose and shape, the area inventory, churn hot spots, your review plan — and a section headed exactly `## Index coverage` quoting the readiness numbers and caveats. No findings yet; this phase orients the review.",
59
+ "suggestedRole": "reviewer",
60
+ "onEnter": [
61
+ {
62
+ "name": "ensureIndexFresh",
63
+ "scope": "standard",
64
+ "inputs": {
65
+ "outFile": "{{workPath}}/review/index-readiness.json",
66
+ "waitBudgetSeconds": 180
67
+ }
68
+ }
69
+ ],
70
+ "advanceWhen": {
71
+ "file": "{{workPath}}/review/system-map.md",
72
+ "minBytes": 1,
73
+ "sniff": "nonempty",
74
+ "artifact": true
75
+ },
76
+ "gate": {
77
+ "at": "completion",
78
+ "checks": [
79
+ {
80
+ "kind": "minBytes",
81
+ "file": "{{workPath}}/review/system-map.md",
82
+ "bytes": 150,
83
+ "artifact": true
84
+ },
85
+ {
86
+ "kind": "contains",
87
+ "file": "{{workPath}}/review/system-map.md",
88
+ "pattern": "(?:^|\\n)#{1,4}\\s+Index coverage",
89
+ "flags": "i",
90
+ "label": "an '## Index coverage' section quoting the readiness snapshot",
91
+ "artifact": true
92
+ }
93
+ ],
94
+ "onReject": "survey",
95
+ "maxAttempts": 3
96
+ },
97
+ "next": "harvest"
98
+ },
99
+ {
100
+ "id": "harvest",
101
+ "name": "Harvest indexed findings",
102
+ "description": "pull every existing AI-review, security, and dependency lead into one evidence base",
103
+ "prompt": "Collect everything gezel's indexes already know about this codebase before forming your own opinions. Step 1: call `list_file_issues` across the repo and record the totals by severity and category, the reviewed-vs-eligible coverage it reports, and the worst files; call `file_review` on the 5-10 lowest-health files for the indexed rationale. Step 2: call `security_scan` once to refresh the dependency inventory and run any installed scanners, then `security_overview` for the posture and candidate systemic themes, `scan_findings` for the static security leads by severity, and `list_dependencies` for advisory-bearing packages. Step 3: cross-reference with the churn hot spots from the system map — a low-health, high-churn file outranks a low-health frozen one.\n\nWrite the artifact `{{workPath}}/review/indexed-findings.md` with `write_artifact`: the counts and coverage per source, then the top leads grouped by dimension (architecture, duplication, hygiene, security, tests), each with its file path and one line of indexed rationale. Label everything here a LEAD, not a finding — nothing is a finding until a later phase verifies it in real source. Note which sources were empty and why (the readiness snapshot's caveats say whether an empty issue list means a clean codebase or an unstaffed AI tier).\n\nBefore working, open the artifact input `{{workPath}}/review/system-map.md` with `read_artifact`; do not look for it in the workspace.",
104
+ "suggestedRole": "reviewer",
105
+ "consumes": [
106
+ {
107
+ "file": "{{workPath}}/review/system-map.md",
108
+ "artifact": true
109
+ }
110
+ ],
111
+ "advanceWhen": {
112
+ "file": "{{workPath}}/review/indexed-findings.md",
113
+ "minBytes": 1,
114
+ "sniff": "nonempty",
115
+ "artifact": true
116
+ },
117
+ "gate": {
118
+ "at": "completion",
119
+ "checks": [
120
+ {
121
+ "kind": "minBytes",
122
+ "file": "{{workPath}}/review/indexed-findings.md",
123
+ "bytes": 150,
124
+ "artifact": true
125
+ },
126
+ {
127
+ "kind": "sniff",
128
+ "file": "{{workPath}}/review/indexed-findings.md",
129
+ "sniff": "nonempty",
130
+ "artifact": true
131
+ }
132
+ ],
133
+ "onReject": "harvest",
134
+ "maxAttempts": 3
135
+ },
136
+ "next": "architecture"
137
+ },
138
+ {
139
+ "id": "architecture",
140
+ "name": "Assess the architecture",
141
+ "description": "boundaries, coupling, dependency direction, pattern consistency, and duplicated logic — verified in source",
142
+ "prompt": "Judge the architecture the way a consultant would: by how the pieces actually depend on each other, not by the directory names. Step 1: from the system map, identify the intended layers/modules and their boundaries. Step 2: verify them — use `outline_file` before reading any large file, `read_symbol` for the load-bearing units, and `find_references` to see real dependency direction; flag boundary leaks (a lower layer importing upward, UI reaching into storage, cross-module reach-ins). Step 3: assess pattern consistency with `search_code`: how many different ways does this codebase do error handling, data access, configuration, validation? Each extra way is a finding. Step 4: hunt duplicated LOGIC across modules (the same responsibility implemented twice), oversized orchestration files, god objects, and unclear ownership — start from the worst-health files in the indexed leads and confirm or explicitly reject each. Step 5: for every CONFIRMED problem record file:line evidence, why it hurts (change amplification, blast radius, onboarding cost), a bounded remediation seam, and effort/risk. Note what you checked and found SOUND — that list is half the report's credibility.\n\nWrite the evidence to the artifact `{{workPath}}/review/architecture.md` with `write_artifact`. Do not modify source.\n\nBefore working, open the artifact inputs `{{workPath}}/review/system-map.md` and `{{workPath}}/review/indexed-findings.md` with `read_artifact`; do not look for them in the workspace.",
143
+ "suggestedRole": "reviewer",
144
+ "consumes": [
145
+ {
146
+ "file": "{{workPath}}/review/system-map.md",
147
+ "artifact": true
148
+ },
149
+ {
150
+ "file": "{{workPath}}/review/indexed-findings.md",
151
+ "artifact": true
152
+ }
153
+ ],
154
+ "advanceWhen": {
155
+ "file": "{{workPath}}/review/architecture.md",
156
+ "minBytes": 1,
157
+ "sniff": "nonempty",
158
+ "artifact": true
159
+ },
160
+ "gate": {
161
+ "at": "completion",
162
+ "checks": [
163
+ {
164
+ "kind": "minBytes",
165
+ "file": "{{workPath}}/review/architecture.md",
166
+ "bytes": 150,
167
+ "artifact": true
168
+ },
169
+ {
170
+ "kind": "sniff",
171
+ "file": "{{workPath}}/review/architecture.md",
172
+ "sniff": "nonempty",
173
+ "artifact": true
174
+ }
175
+ ],
176
+ "onReject": "architecture",
177
+ "maxAttempts": 3
178
+ },
179
+ "next": "hygiene"
180
+ },
181
+ {
182
+ "id": "hygiene",
183
+ "name": "Sweep quality and hygiene",
184
+ "description": "duplicated code, dead code, embarrassments, and lightweight security problems — verified in source",
185
+ "prompt": "Sweep for the problems that make a codebase embarrassing to hand to a new engineer. Step 1: copy-paste duplication — use `search_code` and `grep_files` for distinctive repeated fragments and near-identical functions; confirm each pair by reading both sides. Step 2: dead weight — exports with no references (`find_references`), unreachable branches, leftover scratch/experiment files, and committed junk (`find_files` for logs, editor droppings, build outputs, `.env`-style files that should not be in the tree). Step 3: embarrassments — clusters of TODO/FIXME/HACK/XXX, commented-out code blocks, debug prints left in production paths, misspellings in public names, wildly inconsistent naming. Cluster them; five scattered TODOs are noise, thirty in one module are a finding. Step 4: lightweight security — verify the harvested leads and grep for hardcoded secrets/tokens, ad-hoc environment reads, string-built queries or shell commands reaching user input, and debug/permissive flags left on. Confirm in source; severity honestly (a hardcoded token is high; a TODO is info). This is the LIGHTWEIGHT pass — recommend the Deep Security Review craftbook in the report for anything that needs a real audit. Step 5: test posture — where are the tests thin relative to the risk you have seen? For every confirmed finding: file:line, why it matters, the concrete fix. Record what came out CLEAN too.\n\nWrite the evidence to the artifact `{{workPath}}/review/hygiene.md` with `write_artifact`. Do not modify source.\n\nBefore working, open the artifact input `{{workPath}}/review/indexed-findings.md` with `read_artifact`; do not look for it in the workspace.",
186
+ "suggestedRole": "reviewer",
187
+ "consumes": [
188
+ {
189
+ "file": "{{workPath}}/review/indexed-findings.md",
190
+ "artifact": true
191
+ }
192
+ ],
193
+ "advanceWhen": {
194
+ "file": "{{workPath}}/review/hygiene.md",
195
+ "minBytes": 1,
196
+ "sniff": "nonempty",
197
+ "artifact": true
198
+ },
199
+ "gate": {
200
+ "at": "completion",
201
+ "checks": [
202
+ {
203
+ "kind": "minBytes",
204
+ "file": "{{workPath}}/review/hygiene.md",
205
+ "bytes": 150,
206
+ "artifact": true
207
+ },
208
+ {
209
+ "kind": "sniff",
210
+ "file": "{{workPath}}/review/hygiene.md",
211
+ "sniff": "nonempty",
212
+ "artifact": true
213
+ }
214
+ ],
215
+ "onReject": "hygiene",
216
+ "maxAttempts": 3
217
+ },
218
+ "next": "synthesize"
219
+ },
220
+ {
221
+ "id": "synthesize",
222
+ "name": "Synthesize themes",
223
+ "description": "cluster every confirmed finding into root-cause themes; rank; split quick wins from strategic work",
224
+ "prompt": "Step back from individual findings and produce the analysis only a whole-codebase review can: the systemic picture. Step 1: re-read your evidence artifacts (`{{workPath}}/review/architecture.md`, `{{workPath}}/review/hygiene.md`, `{{workPath}}/review/indexed-findings.md`) with `read_artifact`. Step 2: cluster every CONFIRMED finding by ROOT CAUSE, not by file — e.g. 'there is no shared validation layer so each route re-implements it', 'module boundaries are undocumented so logic duplicates across areas'. For each theme state the root cause, the blast radius (how much of the system it touches and how many findings it explains), and the single change that would prevent the whole class. Step 3: rank themes by blast radius × severity, weighted toward `{{focus}}`. Step 4: split the remediation into QUICK WINS (safe, bounded, this-week fixes: delete the dead files, remove the debug prints, extract one duplicated helper) and STRATEGIC WORK (sequenced refactors with migration boundaries and the tests that must protect behavior). Step 5: assign each confirmed finding a severity (critical, high, medium, low, info) and the theme it belongs to — this taxonomy feeds the final report and its machine-readable findings file. A healthy codebase with few material findings should say so plainly rather than inventing themes.\n\nWrite the artifact `{{workPath}}/review/themes.md` with `write_artifact`.",
225
+ "suggestedRole": "reviewer",
226
+ "consumes": [
227
+ {
228
+ "file": "{{workPath}}/review/architecture.md",
229
+ "artifact": true
230
+ },
231
+ {
232
+ "file": "{{workPath}}/review/hygiene.md",
233
+ "artifact": true
234
+ }
235
+ ],
236
+ "advanceWhen": {
237
+ "file": "{{workPath}}/review/themes.md",
238
+ "minBytes": 1,
239
+ "sniff": "nonempty",
240
+ "artifact": true
241
+ },
242
+ "gate": {
243
+ "at": "completion",
244
+ "checks": [
245
+ {
246
+ "kind": "minBytes",
247
+ "file": "{{workPath}}/review/themes.md",
248
+ "bytes": 150,
249
+ "artifact": true
250
+ },
251
+ {
252
+ "kind": "sniff",
253
+ "file": "{{workPath}}/review/themes.md",
254
+ "sniff": "nonempty",
255
+ "artifact": true
256
+ }
257
+ ],
258
+ "onReject": "synthesize",
259
+ "maxAttempts": 3
260
+ },
261
+ "next": "report"
262
+ },
263
+ {
264
+ "id": "report",
265
+ "name": "Write the consultant report",
266
+ "description": "the definitive deliverable: scorecard, cited findings, recommendations, and a machine-readable findings file",
267
+ "prompt": "Write the final deliverable as TWO artifacts, in this order.\n\nStep 1: write `{{workPath}}/codebase-review-findings.json` with `write_artifact` — a JSON array where each confirmed finding is an object with: `file` (a REAL workspace path — the gate verifies every one exists), `line` (a number; REQUIRED for critical and high findings), `severity` (one of critical, high, medium, low, info), `dimension` (architecture, duplication, hygiene, security, tests, or docs), `title`, `remediation` (a concrete fix), and `theme` (the systemic theme it belongs to). No fabricated paths, no vague remediations.\n\nStep 2: write `{{workPath}}/codebase-review.md` with `write_artifact`, using these exact section headings:\n\n`## Executive summary` — 3-6 sentences an owner reads first: overall judgment, the finding counts by severity, the top systemic themes, and the single most valuable next action. The tone must match the open severity — never 'excellent health' over an open critical/high.\n`## Scorecard` — a markdown table with columns `Dimension`, `Grade`, `Evidence` grading at least five dimensions (architecture, code quality & duplication, hygiene, security posture, tests) A-F, each grade justified by one line of evidence from your phases.\n`## Index coverage and method` — the readiness snapshot's numbers and caveats, what each phase examined, and the limits of this review.\n`## Systemic themes` — each theme with its root cause and blast radius, ranked. This is the heart of the review.\n`## Findings` — each finding as `### [SEVERITY] title — file:line` with the evidence, the consequence, and the remediation, ordered by severity then blast radius.\n`## Quick wins` — the safe, bounded fixes worth doing this week.\n`## Strategic recommendations` — the sequenced larger work: seams, migration order, and the behavior-preserving tests required first.\n`## Verified sound` — what you checked and found solid, so coverage is auditable.\n`## Not assessed` — what this review did not cover (runtime performance, deployment, anything the index caveats excluded).\n`## Suggested deeper reviews` — which specialist craftbooks to run next (Deep Security Review, Codebase Refactoring Review, Reliability & Resilience Review, Documentation Drift Review) and why, based on what you found.\n\nThe gate re-reads both artifacts: it verifies every cited file exists, every finding is complete, the scorecard table is real, and the themes analyze root cause and blast radius. On a loop-back, fix ONLY the gaps it names without dropping findings that already passed.\n\nBefore working, open the artifact input `{{workPath}}/review/themes.md` with `read_artifact`; do not look for it in the workspace.",
268
+ "suggestedRole": "reviewer",
269
+ "consumes": [
270
+ {
271
+ "file": "{{workPath}}/review/themes.md",
272
+ "artifact": true
273
+ }
274
+ ],
275
+ "advanceWhen": {
276
+ "file": "{{workPath}}/codebase-review.md",
277
+ "minBytes": 500,
278
+ "artifact": true
279
+ },
280
+ "gate": {
281
+ "at": "completion",
282
+ "checks": [
283
+ {
284
+ "kind": "minBytes",
285
+ "file": "{{workPath}}/codebase-review.md",
286
+ "bytes": 2500,
287
+ "artifact": true
288
+ },
289
+ {
290
+ "kind": "minBytes",
291
+ "file": "{{workPath}}/codebase-review-findings.json",
292
+ "bytes": 2,
293
+ "artifact": true
294
+ }
295
+ ],
296
+ "scripts": [
297
+ {
298
+ "name": "checkCodebaseReviewReport",
299
+ "scope": "standard",
300
+ "inputs": {
301
+ "file": "{{workPath}}/codebase-review.md",
302
+ "findings": "{{workPath}}/codebase-review-findings.json"
303
+ }
304
+ }
305
+ ],
306
+ "onReject": "report",
307
+ "maxAttempts": 4
308
+ },
309
+ "next": "evaluate"
310
+ },
311
+ {
312
+ "id": "evaluate",
313
+ "name": "Evaluate",
314
+ "description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
315
+ "prompt": "Grade `{{workPath}}/codebase-review.md` against the standard a paying client would hold a consultant to. Check EACH criterion and write PASS/FAIL with a one-line reason: (1) the executive summary gives a real judgment an owner can act on, consistent with the open severity; (2) the scorecard grades are grounded in the report's own evidence, not vibes; (3) index coverage and its caveats are stated, and 'Not assessed' is honest — a quiet report is never passed off as a clean codebase; (4) every finding was verified in source and cites a real file (critical/high pinned to a line); (5) systemic themes are root-cause clusters with blast radius, not a re-grouped file list; (6) quick wins are genuinely safe and bounded, and strategic recommendations name seams, sequence, and behavior-preserving tests; (7) severities are calibrated — no inflation to look thorough, no deflation to look kind; (8) the suggested deeper reviews follow from what was actually found; (9) no project source was modified. \n\nThe deliverable lives in the project's artifacts drawer — open `{{workPath}}/codebase-review.md` with `read_artifact`, not `read_file`.\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: \"report\" })` 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 read like a definitive review). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
316
+ "suggestedRole": "reviewer",
317
+ "consumes": [
318
+ {
319
+ "file": "{{workPath}}/codebase-review.md",
320
+ "artifact": true
321
+ }
322
+ ],
323
+ "next": "report"
324
+ },
325
+ {
326
+ "id": "finish",
327
+ "name": "Finish",
328
+ "description": "All acceptance criteria met. Stamp a short summary and report DONE.",
329
+ "prompt": "Every acceptance criterion passed. Write a one-paragraph DONE summary to task notes via `write_task_note`: the overall judgment, the finding counts by severity, the top systemic themes, and the deliverable paths (`{{workPath}}/codebase-review.md`, `{{workPath}}/codebase-review-findings.json`, with the phase evidence under `{{workPath}}/review/`). Note that nothing in the workspace was modified. Then report DONE.",
330
+ "suggestedRole": "reviewer",
331
+ "terminal": true
332
+ }
333
+ ],
334
+ "version": "1.0.0",
335
+ "releasedAt": "2026-08-23T00:00:00Z",
336
+ "minGezelVersion": "1.26235"
337
+ }