@bendyline/gilde 0.1.37 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/test.json +118 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/test.json +189 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.2/test.json +150 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/craftbook.json +154 -0
- package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/craftbook.json +238 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/test.json +160 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/test.json +123 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/test.json +118 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/test.json +139 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/craftbook.json +141 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/craftbook.json +135 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/craftbook.json +222 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/test.json +224 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.2/test.json +143 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/craftbook.json +176 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/test.json +299 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.2/test.json +103 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/craftbook.json +429 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/test.json +379 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/craftbook.json +176 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/test.json +109 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/craftbook.json +163 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/test.json +108 -0
- package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/craftbook.json +125 -0
- package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/test.json +109 -0
- package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/test.json +132 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/craftbook.json +135 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/test.json +158 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/craftbook.json +86 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/test.json +101 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/craftbook.json +94 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/test.json +146 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/test.json +181 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/craftbook.json +144 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/craftbook.json +159 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/test.json +131 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/test.json +122 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/test.json +229 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/craftbook.json +151 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/test.json +112 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/test.json +123 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/test.json +162 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/test.json +159 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.2/test.json +103 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/test.json +210 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/craftbook.json +176 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/test.json +138 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/craftbook.json +113 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/test.json +105 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/test.json +117 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/test.json +104 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/craftbook.json +160 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/test.json +165 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/test.json +329 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.2/test.json +98 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/craftbook.json +113 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/test.json +98 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/craftbook.json +223 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/test.json +160 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/test.json +111 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/test.json +168 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/craftbook.json +443 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/test.json +204 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/test.json +135 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/craftbook.json +188 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/test.json +149 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.2/craftbook.json +154 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/craftbook.json +415 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/test.json +194 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/craftbook.json +445 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/test.json +139 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/craftbook.json +86 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/craftbook.json +115 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/craftbook.json +180 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/craftbook.json +158 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.2/craftbook.json +166 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/craftbook.json +214 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/test.json +131 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/craftbook.json +194 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/craftbook.json +409 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/test.json +144 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/test.json +112 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/test.json +124 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.2/craftbook.json +140 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.2/test.json +124 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.2/craftbook.json +211 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.2/test.json +143 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/it/item-intake/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/craftbook.json +128 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.2/craftbook.json +196 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.2/test.json +213 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/craftbook.json +120 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/test.json +187 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/craftbook.json +129 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/craftbook.json +151 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/craftbook.json +168 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/test.json +136 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/test.json +200 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/test.json +228 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.2/craftbook.json +164 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.2/test.json +253 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/craftbook.json +193 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/test.json +89 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/craftbook.json +149 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.2/craftbook.json +118 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/craftbook.json +124 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.2/craftbook.json +94 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.2/test.json +135 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/test.json +125 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/test.json +114 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/craftbook.json +163 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.3/craftbook.json +9 -8
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/craftbook.json +397 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/test.json +242 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.2/test.json +117 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.2/test.json +359 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/test.json +153 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/craftbook.json +196 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.1/craftbook.json +273 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.1/test.json +141 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/craftbook.json +279 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/test.json +144 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/test.json +126 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/craftbook.json +167 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/test.json +116 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.1/craftbook.json +177 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.1/test.json +169 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/test.json +131 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.3/craftbook.json +160 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.2/test.json +205 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/craftbook.json +226 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/test.json +141 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.2/test.json +114 -0
- package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.2/craftbook.json +185 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.2/test.json +101 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.2/craftbook.json +228 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.2/test.json +243 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.3/craftbook.json +159 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.3/test.json +390 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/craftbook.json +425 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/test.json +157 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/craftbook.json +179 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/test.json +140 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/craftbook.json +156 -0
- package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/craftbook.json +152 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/test.json +165 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/craftbook.json +159 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/test.json +93 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/craftbook.json +452 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/test.json +157 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.1/test.json +169 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/test.json +161 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/craftbook.json +448 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/test.json +165 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/test.json +163 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/craftbook.json +149 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/craftbook.json +140 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/craftbook.json +126 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/craftbook.json +420 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/test.json +177 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/test.json +116 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/craftbook.json +132 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/test.json +144 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/test.json +145 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/craftbook.json +115 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/craftbook.json +172 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/test.json +162 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/test.json +101 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/craftbook.json +183 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/test.json +154 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.0.2/craftbook.json +167 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/craftbook.json +166 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/test.json +127 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.2/test.json +258 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/craftbook.json +118 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/test.json +141 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/craftbook.json +146 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/test.json +106 -0
- package/package.json +1 -1
- package/schemas/craftbook-doc.schema.json +4 -2
- package/schemas/craftbook-template-version.schema.json +4 -2
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Release Readiness Review smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Release Readiness Review craftbook using the corpus generic harness.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"corpus"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "We need a release readiness review for the returns-desk work. The backgound info is in source/brief.md — have a look and write it up in report.md.",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Release Readiness Review Eval",
|
|
11
|
+
"about": "Self-contained eval project for release-readiness-review. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/report.md.",
|
|
12
|
+
"missionObjectives": "Use the Release Readiness Review craftbook/template, read the seeded local fixtures, and write report.md without network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/brief.md",
|
|
16
|
+
"content": "# Release Readiness Review Eval Brief\n\nClient: Boreal Desk, a home-office accessories company.\nAudience: operations leads who need an artifact they can use this week.\n\nFixed source facts for grounding:\n- The returns desk pilot covered 18 SKUs.\n- Median first response improved from 18 hours to 6 hours.\n- Preventable refund leakage fell from 14.2% to 8.9%.\n- The top unresolved complaint is status silence after photo submission.\n- Required next actions are automated status emails, barcode-exception training, and a weekly Finance exception export.\n\nUse these facts when the task asks for prose, analysis, copy, UI content, or test data. Do not use live web services, real credentials, or current outside data.\n\nCraftbook under test: release-readiness-review - Release Readiness Review.\n"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"worker": {
|
|
20
|
+
"name": "Jules",
|
|
21
|
+
"role": "Writer"
|
|
22
|
+
},
|
|
23
|
+
"craftbookParams": {
|
|
24
|
+
"workPath": "tasks/eval"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"mocks": [],
|
|
28
|
+
"success": {
|
|
29
|
+
"summary": "report.md is a source-grounded markdown artifact with required facts and actions.",
|
|
30
|
+
"deliverables": [
|
|
31
|
+
{
|
|
32
|
+
"path": "report.md",
|
|
33
|
+
"kind": "markdown-report",
|
|
34
|
+
"minBytes": 1000,
|
|
35
|
+
"checks": [
|
|
36
|
+
{
|
|
37
|
+
"kind": "contains",
|
|
38
|
+
"file": "report.md",
|
|
39
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
40
|
+
"flags": "i"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"kind": "contains",
|
|
44
|
+
"file": "report.md",
|
|
45
|
+
"pattern": "source/brief\\.md|Brief",
|
|
46
|
+
"flags": "i",
|
|
47
|
+
"label": "cite or name the seeded source"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"kind": "contains",
|
|
51
|
+
"file": "report.md",
|
|
52
|
+
"pattern": "18\\b[\\s\\S]{0,30}\\bSKUs",
|
|
53
|
+
"flags": "i",
|
|
54
|
+
"label": "include the 18-SKU pilot scope"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"kind": "contains",
|
|
58
|
+
"file": "report.md",
|
|
59
|
+
"pattern": "18\\s*hours|6\\s*hours",
|
|
60
|
+
"flags": "i"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"kind": "contains",
|
|
64
|
+
"file": "report.md",
|
|
65
|
+
"pattern": "14\\.2%|8\\.9%",
|
|
66
|
+
"flags": "i"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"kind": "contains",
|
|
70
|
+
"file": "report.md",
|
|
71
|
+
"pattern": "status silence|photo submission",
|
|
72
|
+
"flags": "i"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"kind": "contains",
|
|
76
|
+
"file": "report.md",
|
|
77
|
+
"pattern": "automated status emails|barcode|Finance",
|
|
78
|
+
"flags": "i"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"rubric": {
|
|
85
|
+
"artifact": {
|
|
86
|
+
"path": "report.md",
|
|
87
|
+
"kind": "markdown"
|
|
88
|
+
},
|
|
89
|
+
"axes": [
|
|
90
|
+
{
|
|
91
|
+
"name": "grounding",
|
|
92
|
+
"description": "Seeded facts appear faithfully and the source is cited."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "structure",
|
|
96
|
+
"description": "Sections progress logically for the artifact class."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "completeness",
|
|
100
|
+
"description": "Required elements (risks, next actions, scope) are all present."
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "tone",
|
|
104
|
+
"description": "The register fits the audience and artifact class."
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"qualityFocus": [
|
|
109
|
+
"source-grounded prose",
|
|
110
|
+
"section structure",
|
|
111
|
+
"next-action clarity"
|
|
112
|
+
]
|
|
113
|
+
}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "reliability-review",
|
|
3
|
+
"name": "Reliability & Resilience Review",
|
|
4
|
+
"description": "Review a codebase for production reliability and resilience risks across asynchronous work, external dependencies, state transitions, resource lifecycles, and recovery paths. Uses the repository and per-file indexes to map failure domains, verifies likely issues in source and tests, and leaves a prioritized morning report covering timeouts, retries, idempotency, cancellation, concurrency, backpressure, cleanup, graceful shutdown, observability, and disaster recovery. Use for a weekly reliability sweep, resilience review, failure-mode audit, or pre-production hardening review.\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. Map failure domains (reviewer) — inventory stateful and asynchronous boundaries plus their reliability contract → gated on artifact `{{workPath}}/reliability/failure-map.md` (markdown-notes)\n2. Verify failure handling (reviewer) — trace representative failures through source and tests → gated on artifact `{{workPath}}/reliability/evidence.md` (markdown-notes)\n3. Write the reliability report (reviewer) — ranked failure-mode report with concrete hardening work → gated on artifact `{{workPath}}/reliability-review.md` (markdown-report)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
|
|
5
|
+
"entryStepId": "model",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"reliability review",
|
|
8
|
+
"resilience audit",
|
|
9
|
+
"review failure modes",
|
|
10
|
+
"weekly production hardening",
|
|
11
|
+
"find reliability risks",
|
|
12
|
+
"nightly reliability sweep"
|
|
13
|
+
],
|
|
14
|
+
"toolsets": [
|
|
15
|
+
{
|
|
16
|
+
"toolsetId": "builtin.code-intel",
|
|
17
|
+
"autoAllow": true,
|
|
18
|
+
"reason": "map failure domains and verify indexed reliability leads in source"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"toolsetId": "builtin.code-execution",
|
|
22
|
+
"autoAllow": true,
|
|
23
|
+
"reason": "run safe existing tests or focused diagnostic scripts when available"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"steps": [
|
|
27
|
+
{
|
|
28
|
+
"id": "model",
|
|
29
|
+
"name": "Map failure domains",
|
|
30
|
+
"description": "inventory stateful and asynchronous boundaries plus their reliability contract",
|
|
31
|
+
"prompt": "Call `map_repo`, `list_file_issues`, and targeted `search_code` queries for queues/jobs, timers, promises, subprocesses, network/database/filesystem calls, caches, locks, transactions, startup/shutdown, and persistence. Build a failure-domain map: critical user journeys, state owners, external dependencies, retry boundaries, resource lifecycles, and recovery expectations. For each boundary define the reliability contract: timeout, retry/backoff/jitter, idempotency, cancellation, concurrency limit/backpressure, cleanup, error propagation, monitoring, and recovery. Record index coverage and areas not statically observable. Write the map and prioritized audit plan to `{{workPath}}/reliability/failure-map.md`.\n\nThe deliverable `{{workPath}}/reliability/failure-map.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.",
|
|
32
|
+
"suggestedRole": "reviewer",
|
|
33
|
+
"advanceWhen": {
|
|
34
|
+
"file": "{{workPath}}/reliability/failure-map.md",
|
|
35
|
+
"minBytes": 1,
|
|
36
|
+
"sniff": "nonempty",
|
|
37
|
+
"artifact": true
|
|
38
|
+
},
|
|
39
|
+
"gate": {
|
|
40
|
+
"at": "completion",
|
|
41
|
+
"checks": [
|
|
42
|
+
{
|
|
43
|
+
"kind": "minBytes",
|
|
44
|
+
"file": "{{workPath}}/reliability/failure-map.md",
|
|
45
|
+
"bytes": 120,
|
|
46
|
+
"artifact": true
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"kind": "sniff",
|
|
50
|
+
"file": "{{workPath}}/reliability/failure-map.md",
|
|
51
|
+
"sniff": "nonempty",
|
|
52
|
+
"artifact": true
|
|
53
|
+
}
|
|
54
|
+
],
|
|
55
|
+
"onReject": "model",
|
|
56
|
+
"maxAttempts": 3
|
|
57
|
+
},
|
|
58
|
+
"next": "verify"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"id": "verify",
|
|
62
|
+
"name": "Verify failure handling",
|
|
63
|
+
"description": "trace representative failures through source and tests",
|
|
64
|
+
"prompt": "For each high-impact boundary, inspect the relevant symbols and callers with `file_review`, `outline_file`, `read_symbol`, and `find_references`. Trace representative failures: slow/hung dependency, transient failure, duplicate delivery, partial write, cancellation, concurrent mutation, process restart, disk full/corrupt state, and shutdown during work. Locate tests and run safe existing checks when practical. Confirm whether timeouts are bounded; retries have caps/backoff/jitter and do not multiply side effects; operations are idempotent; cancellations and errors propagate; resources/timers/listeners/subprocesses are released; transactions or durable journals protect multi-step state; startup and shutdown are safe; and operators get useful signals. Record confirmed issues and verified-safe controls with real file:line/test/command evidence in `{{workPath}}/reliability/evidence.md`.\n\nThe deliverable `{{workPath}}/reliability/evidence.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.",
|
|
65
|
+
"suggestedRole": "reviewer",
|
|
66
|
+
"advanceWhen": {
|
|
67
|
+
"file": "{{workPath}}/reliability/evidence.md",
|
|
68
|
+
"minBytes": 1,
|
|
69
|
+
"sniff": "nonempty",
|
|
70
|
+
"artifact": true
|
|
71
|
+
},
|
|
72
|
+
"gate": {
|
|
73
|
+
"at": "completion",
|
|
74
|
+
"checks": [
|
|
75
|
+
{
|
|
76
|
+
"kind": "minBytes",
|
|
77
|
+
"file": "{{workPath}}/reliability/evidence.md",
|
|
78
|
+
"bytes": 120,
|
|
79
|
+
"artifact": true
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"kind": "sniff",
|
|
83
|
+
"file": "{{workPath}}/reliability/evidence.md",
|
|
84
|
+
"sniff": "nonempty",
|
|
85
|
+
"artifact": true
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"onReject": "verify",
|
|
89
|
+
"maxAttempts": 3
|
|
90
|
+
},
|
|
91
|
+
"next": "report"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"id": "report",
|
|
95
|
+
"name": "Write the reliability report",
|
|
96
|
+
"description": "ranked failure-mode report with concrete hardening work",
|
|
97
|
+
"prompt": "Write `{{workPath}}/reliability-review.md` with `## Verdict`, `## Coverage and assumptions`, `## Failure-domain scorecard`, `## Findings`, `## Verified controls`, `## Not verified`, and `## Hardening sequence`. Each finding must cite real file:line or test/command evidence, state the initiating failure, propagation path, user/operator impact, likelihood, severity, and a concrete remediation plus the failure-injection/regression test to add. Rank by impact × likelihood × recoverability. Distinguish a missing control from a merely untested control. Do not demand distributed-systems machinery for local, low-risk code. On a loop-back, fix only named gaps.\n\nThe deliverable `{{workPath}}/reliability-review.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.",
|
|
98
|
+
"suggestedRole": "reviewer",
|
|
99
|
+
"advanceWhen": {
|
|
100
|
+
"file": "{{workPath}}/reliability-review.md",
|
|
101
|
+
"minBytes": 1,
|
|
102
|
+
"sniff": "nonempty",
|
|
103
|
+
"artifact": true
|
|
104
|
+
},
|
|
105
|
+
"gate": {
|
|
106
|
+
"at": "completion",
|
|
107
|
+
"checks": [
|
|
108
|
+
{
|
|
109
|
+
"kind": "minBytes",
|
|
110
|
+
"file": "{{workPath}}/reliability-review.md",
|
|
111
|
+
"bytes": 1800,
|
|
112
|
+
"artifact": true
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"kind": "contains",
|
|
116
|
+
"file": "{{workPath}}/reliability-review.md",
|
|
117
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
118
|
+
"flags": "i",
|
|
119
|
+
"label": "at least one markdown heading",
|
|
120
|
+
"artifact": true
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"onReject": "report",
|
|
124
|
+
"maxAttempts": 4
|
|
125
|
+
},
|
|
126
|
+
"next": "evaluate"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"id": "evaluate",
|
|
130
|
+
"name": "Evaluate",
|
|
131
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
132
|
+
"prompt": "Grade `{{workPath}}/reliability-review.md`: (1) critical failure domains and contracts are mapped; (2) findings cite real source/test/command evidence; (3) timeouts, retries/backoff, idempotency, cancellation, concurrency/backpressure, cleanup, partial writes, restart, and shutdown were considered where relevant; (4) propagation and user/operator impact are explained; (5) each remediation includes a failure-injection or regression test; (6) verified controls and unverified areas are explicit; (7) priorities reflect impact, likelihood, and recoverability without overengineering. PASS all or loop back.\n\nThe deliverable lives in the project's artifacts drawer — open `{{workPath}}/reliability-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 work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
|
|
133
|
+
"suggestedRole": "reviewer",
|
|
134
|
+
"consumes": [
|
|
135
|
+
{
|
|
136
|
+
"file": "{{workPath}}/reliability-review.md",
|
|
137
|
+
"artifact": true
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"next": "report"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"id": "finish",
|
|
144
|
+
"name": "Finish",
|
|
145
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
146
|
+
"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.",
|
|
147
|
+
"suggestedRole": "developer",
|
|
148
|
+
"terminal": true
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"version": "1.0.2",
|
|
152
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
153
|
+
"paramSchema": {
|
|
154
|
+
"type": "object",
|
|
155
|
+
"properties": {
|
|
156
|
+
"workPath": {
|
|
157
|
+
"type": "string",
|
|
158
|
+
"title": "Working folder",
|
|
159
|
+
"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.",
|
|
160
|
+
"default": "{{task.dir}}"
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"minGezelVersion": "1.26233"
|
|
165
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Reliability & Resilience Review failure-path eval",
|
|
4
|
+
"objective": "Measure whether the review traces seeded retry, timeout, idempotency, cleanup, and recovery risks and proposes failure-injection tests.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"corpus"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "Use the Reliability & Resilience Review craftbook for a weekly production-hardening pass. Review the seeded worker and write tasks/eval/reliability-review.md. Do not change source.",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Reliability Maintenance Eval",
|
|
11
|
+
"about": "A tiny background worker with deliberate unbounded retries, missing timeout/cancellation, duplicate side-effect, and leaked interval risks.",
|
|
12
|
+
"missionObjectives": "Trace how failures propagate and leave concrete controls plus regression/failure-injection tests.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "src/worker.ts",
|
|
16
|
+
"content": "let running = false;\nexport function startWorker(queue, billing, db) {\n running = true;\n setInterval(async () => {\n if (!running) return;\n const job = await queue.next();\n if (!job) return;\n while (true) {\n try {\n await billing.charge(job.customerId, job.amount);\n await db.markProcessed(job.id);\n break;\n } catch (_err) {\n // retry immediately forever\n }\n }\n }, 10);\n}\nexport function stopWorker() { running = false; }\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "test/worker.test.ts",
|
|
20
|
+
"content": "test('starts', () => { startWorker(queue, billing, db); expect(true).toBe(true); });\n"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"path": "docs/slo.md",
|
|
24
|
+
"content": "# Worker contract\n\nA job may be delivered more than once. Billing must happen at most once. Shutdown must finish or return the active job within 5 seconds. Transient dependencies should be retried with bounded exponential backoff.\n"
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"worker": {
|
|
28
|
+
"name": "Rae",
|
|
29
|
+
"role": "Reviewer"
|
|
30
|
+
},
|
|
31
|
+
"craftbookParams": {
|
|
32
|
+
"workPath": "tasks/eval"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"mocks": [],
|
|
36
|
+
"success": {
|
|
37
|
+
"summary": "tasks/eval/reliability-review.md traces every seeded failure mode and pairs remediations with exact failure-injection tests.",
|
|
38
|
+
"deliverables": [
|
|
39
|
+
{
|
|
40
|
+
"path": "tasks/eval/reliability-review.md",
|
|
41
|
+
"kind": "markdown-report",
|
|
42
|
+
"minBytes": 1500,
|
|
43
|
+
"checks": [
|
|
44
|
+
{
|
|
45
|
+
"kind": "contains",
|
|
46
|
+
"file": "tasks/eval/reliability-review.md",
|
|
47
|
+
"pattern": "src/worker\\.ts:[0-9]+|src/worker\\.ts",
|
|
48
|
+
"flags": "i"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"kind": "contains",
|
|
52
|
+
"file": "tasks/eval/reliability-review.md",
|
|
53
|
+
"pattern": "unbounded|while \\(true\\)|retry",
|
|
54
|
+
"flags": "i"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"kind": "contains",
|
|
58
|
+
"file": "tasks/eval/reliability-review.md",
|
|
59
|
+
"pattern": "backoff|jitter|retry cap",
|
|
60
|
+
"flags": "i"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"kind": "contains",
|
|
64
|
+
"file": "tasks/eval/reliability-review.md",
|
|
65
|
+
"pattern": "timeout|cancellation|Abort",
|
|
66
|
+
"flags": "i"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"kind": "contains",
|
|
70
|
+
"file": "tasks/eval/reliability-review.md",
|
|
71
|
+
"pattern": "idempoten|at most once|duplicate.*charge",
|
|
72
|
+
"flags": "i"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"kind": "contains",
|
|
76
|
+
"file": "tasks/eval/reliability-review.md",
|
|
77
|
+
"pattern": "clearInterval|interval|shutdown|cleanup",
|
|
78
|
+
"flags": "i"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"kind": "contains",
|
|
82
|
+
"file": "tasks/eval/reliability-review.md",
|
|
83
|
+
"pattern": "failure-injection|test[\\s\\S]{0,160}(duplicate|transient|shutdown|timeout)",
|
|
84
|
+
"flags": "i"
|
|
85
|
+
}
|
|
86
|
+
]
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"rubric": {
|
|
91
|
+
"artifact": {
|
|
92
|
+
"path": "tasks/eval/reliability-review.md",
|
|
93
|
+
"kind": "markdown"
|
|
94
|
+
},
|
|
95
|
+
"axes": [
|
|
96
|
+
{
|
|
97
|
+
"name": "failure modeling",
|
|
98
|
+
"description": "Initiating failures, propagation, and user/operator impact are explicit."
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"name": "control coverage",
|
|
102
|
+
"description": "Timeouts, retries, idempotency, cancellation, cleanup, and shutdown are addressed."
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"name": "verification plan",
|
|
106
|
+
"description": "Each remediation has a concrete failure-injection or regression test."
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
},
|
|
110
|
+
"qualityFocus": [
|
|
111
|
+
"failure propagation",
|
|
112
|
+
"bounded resilience controls",
|
|
113
|
+
"failure-injection tests"
|
|
114
|
+
]
|
|
115
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "report-pdf",
|
|
3
|
+
"name": "Formatted PDF Report",
|
|
4
|
+
"description": "Produce a polished PDF report without turning the work into a web-development project. The workflow locks the audience, source facts, section order, and acceptance criteria; a copywriter writes the full source as ordinary Markdown in report.md; then the same content specialist uses DocBlocks to convert the Markdown directly to PDF, preview the pages, repair the source if needed, and save {{workPath}}/report.pdf in the project's artifacts drawer.\n\nThe source of truth remains report.md. HTML, CSS, browser print APIs, hand-built PDF syntax, and raw binary writes are explicitly out of scope. The DocBlocks toolset is pre-authorized for the active craftbook, so a Developer is not needed merely to format or export the report.\n\nWorking files under {{workPath}}/, reviews/, and reports/ live in the project artifacts drawer and must be read and written with the artifact tools. User-facing source files remain in the workspace.",
|
|
5
|
+
"entryStepId": "outline",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"formatted report",
|
|
8
|
+
"make a pdf report",
|
|
9
|
+
"create a pdf",
|
|
10
|
+
"export this report to pdf",
|
|
11
|
+
"quarterly report",
|
|
12
|
+
"printable document",
|
|
13
|
+
"report with cover page"
|
|
14
|
+
],
|
|
15
|
+
"toolsets": [
|
|
16
|
+
{
|
|
17
|
+
"toolsetId": "docblocks",
|
|
18
|
+
"sourceId": "bundled",
|
|
19
|
+
"autoAllow": true,
|
|
20
|
+
"reason": "convert report.md directly to PDF, preview the rendered pages, and save the finished file without a prompt per call"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"steps": [
|
|
24
|
+
{
|
|
25
|
+
"id": "outline",
|
|
26
|
+
"name": "Outline the report",
|
|
27
|
+
"description": "Lock the audience, source facts, section order, and acceptance criteria.",
|
|
28
|
+
"prompt": "Plan the report before writing it. 1. Identify the audience, the decision or takeaway the report must support, and every source file or user-provided fact the report may use. 2. Lock the section order: title block, executive summary, body sections, recommendations/conclusion, and appendix or references when needed. 3. For each body section, state its purpose and the facts, figures, or tables it must contain; never invent a missing metric. 4. Decide whether the user requested Letter or A4 pages. 5. Write a numbered acceptance checklist that includes source fidelity, complete section coverage, a stand-alone executive summary, captioned/referenced tables or figures, explicit recommendations, and a real saved PDF in the artifacts drawer. Write the outline and checklist to {{workPath}}/outline.md and call write_task_note with the audience, page size, and section count. Do not write HTML, CSS, or body prose.\n\nStore `{{workPath}}/outline.md` in the artifacts drawer with `write_artifact`, then verify it with `read_artifact`; do not write this working file to the workspace.",
|
|
29
|
+
"suggestedRole": "planner",
|
|
30
|
+
"advanceWhen": {
|
|
31
|
+
"file": "{{workPath}}/outline.md",
|
|
32
|
+
"minBytes": 1,
|
|
33
|
+
"sniff": "nonempty",
|
|
34
|
+
"artifact": true
|
|
35
|
+
},
|
|
36
|
+
"gate": {
|
|
37
|
+
"at": "completion",
|
|
38
|
+
"checks": [
|
|
39
|
+
{
|
|
40
|
+
"kind": "minBytes",
|
|
41
|
+
"file": "{{workPath}}/outline.md",
|
|
42
|
+
"bytes": 180,
|
|
43
|
+
"artifact": true
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"kind": "sniff",
|
|
47
|
+
"file": "{{workPath}}/outline.md",
|
|
48
|
+
"sniff": "nonempty",
|
|
49
|
+
"artifact": true
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
"onReject": "outline",
|
|
53
|
+
"maxAttempts": 3
|
|
54
|
+
},
|
|
55
|
+
"next": "write"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"id": "write",
|
|
59
|
+
"name": "Write the Markdown report",
|
|
60
|
+
"description": "Write the complete report.md source to the locked outline.",
|
|
61
|
+
"prompt": "Write the complete report to report.md as ordinary Markdown. Follow {{workPath}}/outline.md exactly: 1. Start with one H1 title and a short metadata block for author/date when known. 2. Write a concise executive summary that stands alone. 3. Write every body section in order with clear H2/H3 headings and real prose grounded only in the supplied sources. 4. Use Markdown tables for structured comparisons and Markdown images only for existing, workspace-readable assets; give every table or figure a caption and refer to it in the prose. 5. End with the explicit recommendations/conclusion and any references or appendix from the outline. 6. Check every acceptance criterion and repair the Markdown before advancing. Do not create report.html, CSS, OOXML, or PDF bytes yourself. Call write_task_note with the report.md path, word count, and section count.\n\nOpen `{{workPath}}/outline.md` from the artifacts drawer with `read_artifact` before working.",
|
|
62
|
+
"suggestedRole": "copywriter",
|
|
63
|
+
"advanceWhen": {
|
|
64
|
+
"file": "report.md",
|
|
65
|
+
"minBytes": 1,
|
|
66
|
+
"sniff": "nonempty"
|
|
67
|
+
},
|
|
68
|
+
"gate": {
|
|
69
|
+
"at": "completion",
|
|
70
|
+
"checks": [
|
|
71
|
+
{
|
|
72
|
+
"kind": "minBytes",
|
|
73
|
+
"file": "report.md",
|
|
74
|
+
"bytes": 1000
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"kind": "contains",
|
|
78
|
+
"file": "report.md",
|
|
79
|
+
"pattern": "(?:^|\\n)#\\s+\\S",
|
|
80
|
+
"label": "an H1 report title"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"kind": "contains",
|
|
84
|
+
"file": "report.md",
|
|
85
|
+
"pattern": "(?:^|\\n)##\\s+\\S",
|
|
86
|
+
"label": "at least one report section"
|
|
87
|
+
}
|
|
88
|
+
],
|
|
89
|
+
"onReject": "write",
|
|
90
|
+
"maxAttempts": 4
|
|
91
|
+
},
|
|
92
|
+
"next": "publish",
|
|
93
|
+
"consumes": [
|
|
94
|
+
{
|
|
95
|
+
"file": "{{workPath}}/outline.md",
|
|
96
|
+
"artifact": true
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "publish",
|
|
102
|
+
"name": "Publish the PDF",
|
|
103
|
+
"description": "Convert report.md with DocBlocks, preview every page, and save {{workPath}}/report.pdf.",
|
|
104
|
+
"prompt": "Publish report.md as a real PDF with the pre-authorized DocBlocks tools. 1. Call list_roots first; identify the read-enabled project workspace root and the write-enabled project artifacts root. If no write root exists, report the exact blocker instead of substituting HTML. 2. Optionally call get_authoring_context with targetFormat \"pdf\" and goal \"visual-polish\" when theme or target details would help; plain Markdown needs no preflight. 3. Call convert_document with source `{ \"kind\": \"file\", \"rootId\": <workspace root id>, \"path\": \"report.md\" }`, one PDF target using the Letter/A4 choice from {{workPath}}/outline.md, a restrained theme when appropriate, `autoTemplates: true`, and the report title. 4. Call preview_document on the returned PDF artifact URI and inspect all pages (paginate if there are more than 20): title present, headings and tables intact, no clipped or nearly empty pages, readable hierarchy. If visual QA fails, fix report.md and convert again; never patch generated PDF bytes. 5. Call save_artifact with that artifact URI and destination `{ \"rootId\": <artifacts root id>, \"path\": \"{{workPath}}/report.pdf\", \"ifExists\": \"error\" }`. On a loop-back where {{workPath}}/report.pdf already exists, replace it only with `ifExists: \"replace\"` plus the current expectedSha256 from the earlier save result. 6. Call write_task_note with the saved path, page count, theme, and preview result. Do not build HTML or use a browser PDF printer.\n\nOpen `{{workPath}}/outline.md` from the artifacts drawer with `read_artifact` before working.",
|
|
105
|
+
"suggestedRole": "copywriter",
|
|
106
|
+
"advanceWhen": {
|
|
107
|
+
"file": "{{workPath}}/report.pdf",
|
|
108
|
+
"minBytes": 1,
|
|
109
|
+
"artifact": true
|
|
110
|
+
},
|
|
111
|
+
"gate": {
|
|
112
|
+
"at": "completion",
|
|
113
|
+
"checks": [
|
|
114
|
+
{
|
|
115
|
+
"kind": "minBytes",
|
|
116
|
+
"file": "{{workPath}}/report.pdf",
|
|
117
|
+
"bytes": 1000,
|
|
118
|
+
"artifact": true
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
"onReject": "publish",
|
|
122
|
+
"maxAttempts": 4
|
|
123
|
+
},
|
|
124
|
+
"next": "evaluate",
|
|
125
|
+
"consumes": [
|
|
126
|
+
{
|
|
127
|
+
"file": "{{workPath}}/outline.md",
|
|
128
|
+
"artifact": true
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"file": "report.md"
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"id": "evaluate",
|
|
137
|
+
"name": "Evaluate",
|
|
138
|
+
"description": "Review the saved PDF against the locked content and layout criteria.",
|
|
139
|
+
"prompt": "Review the saved artifact {{workPath}}/report.pdf against every criterion in {{workPath}}/outline.md. Use list_roots to identify the artifacts root and preview_document with source `{ \"kind\": \"file\", \"rootId\": <artifacts root id>, \"path\": \"{{workPath}}/report.pdf\" }`; inspect all pages. Confirm the PDF opens, the title and executive summary are present, sections follow the outline, supplied facts are preserved without invention, tables/figures are legible and captioned, there are no clipped or accidental blank pages, and the report closes with explicit recommendations. Write PASS/FAIL for every criterion and name the page/section for any failure.\n\nThen route:\n\n- Every criterion PASSES → call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- Any criterion FAILS → write the exact gaps to task notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"write\" })` so the Markdown source is repaired and republished.\n\nNever route to finish while any criterion is unmet. After about three unproductive loops, stop with DONE_WITH_CONCERNS for the user.\n\nOpen `{{workPath}}/outline.md`, `{{workPath}}/report.pdf` from the artifacts drawer with `read_artifact` before working.",
|
|
140
|
+
"suggestedRole": "reviewer",
|
|
141
|
+
"next": "write",
|
|
142
|
+
"consumes": [
|
|
143
|
+
{
|
|
144
|
+
"file": "{{workPath}}/outline.md",
|
|
145
|
+
"artifact": true
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"file": "{{workPath}}/report.pdf",
|
|
149
|
+
"artifact": true
|
|
150
|
+
}
|
|
151
|
+
]
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"id": "finish",
|
|
155
|
+
"name": "Finish",
|
|
156
|
+
"description": "All content and PDF checks passed.",
|
|
157
|
+
"prompt": "Every acceptance criterion passed. Call write_task_note with a short DONE summary naming report.md as the source and artifacts/report.pdf as the finished deliverable, plus the page count and confirmation that visual preview passed. Then report DONE.\n\nOpen `{{workPath}}/report.pdf` from the artifacts drawer with `read_artifact` before working.",
|
|
158
|
+
"suggestedRole": "copywriter",
|
|
159
|
+
"terminal": true,
|
|
160
|
+
"consumes": [
|
|
161
|
+
{
|
|
162
|
+
"file": "report.md"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"file": "{{workPath}}/report.pdf",
|
|
166
|
+
"artifact": true
|
|
167
|
+
}
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"version": "1.1.2",
|
|
172
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
173
|
+
"paramSchema": {
|
|
174
|
+
"type": "object",
|
|
175
|
+
"properties": {
|
|
176
|
+
"workPath": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"title": "Working folder",
|
|
179
|
+
"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.",
|
|
180
|
+
"default": "{{task.dir}}"
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
},
|
|
184
|
+
"minGezelVersion": "1.26233"
|
|
185
|
+
}
|