@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,379 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Browser QA Audit — Harbor signup fixture",
|
|
4
|
+
"objective": "Exercise the Browser QA Audit craftbook against a self-contained workspace page with deterministic functional, console, accessibility, link, and responsive defects.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"workflow",
|
|
7
|
+
"browser",
|
|
8
|
+
"qa",
|
|
9
|
+
"html-page"
|
|
10
|
+
],
|
|
11
|
+
"prompt": "Use the Browser QA Audit craftbook in report-only mode. The running target is the Gezel workspace preview URL `file:///workspace/fixtures/signup.html`; navigate to that exact URL with the configured browser tools. Test it as a user at 1280x720 and 375x812 using `source/expected-behavior.md` as the product contract. Exercise the menu, empty and valid form submissions, keyboard focus, and the Help link; inspect console errors and take evidence screenshots. Retry every suspected defect once. Do not read or edit the HTML source during the audit and do not fix anything. Produce the workflow plan, browser evidence, `qa/baseline.json`, and `qa/browser-qa-report.md`.",
|
|
12
|
+
"setup": {
|
|
13
|
+
"projectName": "Harbor signup browser QA",
|
|
14
|
+
"about": "A self-contained report-only QA evaluation. The HTML fixture is served through Gezel's workspace preview mapping; no external URL, credential, or live service is needed.",
|
|
15
|
+
"missionObjectives": "Run the Browser QA Audit craftbook as a real task, use actual browser tools on file:///workspace/fixtures/signup.html, capture reproducible evidence, and leave the fixture unchanged.",
|
|
16
|
+
"files": [
|
|
17
|
+
{
|
|
18
|
+
"path": "source/expected-behavior.md",
|
|
19
|
+
"content": "# Signup acceptance brief\n\n- The Menu button reveals and hides the navigation links.\n- Email is required. Empty or malformed email submission must show an inline validation error and must not show success.\n- A valid address such as `crew@example.com` shows `Welcome aboard` after submission.\n- Help opens a real help destination rather than a missing page.\n- The form is usable with keyboard alone and every focused control has a visible focus indicator.\n- At 375x812 there is no horizontal page overflow.\n- A clean user journey emits no console errors.\n\nDo not inspect implementation source during black-box QA.\n"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"path": "fixtures/signup.html",
|
|
23
|
+
"content": "<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<title>Harbor Crew Signup</title>\n<style>\nbody{margin:0;background:#f6f7f8;color:#334;font:16px Arial,sans-serif}header{background:#10233f;color:#fff;padding:18px}.shell{width:980px;margin:32px auto;background:#fff;padding:24px}.muted{color:#c2c5ca}button,a,input{font:inherit}button:focus,a:focus,input:focus{outline:none}.nav{display:none}.card{border:1px solid #dde1e6;padding:20px}input{display:block;width:360px;padding:10px;margin:8px 0}.success{display:none;color:#16783b}a{color:#d97706}\n</style>\n</head>\n<body>\n<header><strong>Harbor Crew</strong> <span class=\"muted\">Shift updates without noise</span></header>\n<main class=\"shell\">\n<button id=\"menu\">Menu</button>\n<nav class=\"nav\"><a href=\"#signup\">Signup</a> <a href=\"missing-help.html\">Help</a></nav>\n<section class=\"card\" id=\"signup\">\n<h1>Join shift updates</h1>\n<p>One concise email before every assignment window.</p>\n<form id=\"signup-form\">\n<input id=\"email\" type=\"text\" placeholder=\"you@example.com\">\n<button type=\"submit\">Join</button>\n</form>\n<p class=\"success\" id=\"success\">Welcome aboard</p>\n</section>\n</main>\n<script>\nconsole.error('fixture-console-error: signup analytics failed');\ndocument.querySelector('#signup-form').addEventListener('submit',event=>{event.preventDefault();document.querySelector('#success').style.display='block'});\n</script>\n</body>\n</html>\n",
|
|
24
|
+
"modelInput": false
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"craftbookParams": {
|
|
28
|
+
"workPath": "tasks/eval"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"mocks": [
|
|
32
|
+
{
|
|
33
|
+
"kind": "mcp",
|
|
34
|
+
"id": "playwright",
|
|
35
|
+
"description": "Hermetic black-box browser simulator for the seeded Harbor signup page. It records real MCP tool calls while returning deterministic observations from the fixed fixture.",
|
|
36
|
+
"toolsetId": "@playwright/mcp",
|
|
37
|
+
"tools": [
|
|
38
|
+
{
|
|
39
|
+
"name": "browser_navigate",
|
|
40
|
+
"description": "Navigate to a URL. Use file:///workspace/fixtures/signup.html for this audit.",
|
|
41
|
+
"resultTemplate": {
|
|
42
|
+
"url": "file:///workspace/fixtures/signup.html",
|
|
43
|
+
"title": "Harbor Crew Signup",
|
|
44
|
+
"status": "loaded",
|
|
45
|
+
"viewport": "1280x720"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "browser_resize",
|
|
50
|
+
"description": "Set the browser viewport width and height before repeating a journey.",
|
|
51
|
+
"resultSequence": [
|
|
52
|
+
{
|
|
53
|
+
"status": "viewport updated",
|
|
54
|
+
"viewport": "1280x720"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"status": "viewport updated",
|
|
58
|
+
"viewport": "375x812",
|
|
59
|
+
"horizontalOverflow": "980px shell exceeds the 375px viewport"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "browser_snapshot",
|
|
65
|
+
"description": "Return the current page accessibility snapshot and visible state. Call after each interaction and on each viewport.",
|
|
66
|
+
"resultSequence": [
|
|
67
|
+
{
|
|
68
|
+
"state": "desktop initial",
|
|
69
|
+
"heading": "Join shift updates",
|
|
70
|
+
"controls": [
|
|
71
|
+
"Menu button",
|
|
72
|
+
"email textbox",
|
|
73
|
+
"Join button"
|
|
74
|
+
],
|
|
75
|
+
"focusIndicator": "none on button, link, and input"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"state": "after menu attempt 1",
|
|
79
|
+
"navigation": "still hidden"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"state": "after menu retry",
|
|
83
|
+
"navigation": "still hidden"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"state": "after empty submit",
|
|
87
|
+
"email": "",
|
|
88
|
+
"inlineError": null,
|
|
89
|
+
"success": "Welcome aboard is visible"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"state": "after malformed submit retry",
|
|
93
|
+
"email": "not-an-email",
|
|
94
|
+
"inlineError": null,
|
|
95
|
+
"success": "Welcome aboard is visible"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"state": "mobile and help",
|
|
99
|
+
"viewport": "375x812",
|
|
100
|
+
"horizontalOverflow": "980px shell exceeds viewport",
|
|
101
|
+
"helpTarget": "missing-help.html"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "browser_click",
|
|
107
|
+
"description": "Activate a referenced control. Repeat suspected defects once and record expected versus actual behavior.",
|
|
108
|
+
"resultSequence": [
|
|
109
|
+
{
|
|
110
|
+
"action": "menu attempt 1 recorded"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"action": "menu retry recorded"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"action": "empty submission attempt 1 recorded"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"action": "empty or malformed submission retry recorded"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"action": "valid crew@example.com submission recorded"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"action": "Help link activation recorded",
|
|
126
|
+
"destination": "missing-help.html"
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "browser_type",
|
|
132
|
+
"description": "Enter text into the email field for invalid and valid submission journeys.",
|
|
133
|
+
"resultSequence": [
|
|
134
|
+
{
|
|
135
|
+
"status": "text entered",
|
|
136
|
+
"valueClass": "malformed-email"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"status": "text entered",
|
|
140
|
+
"valueClass": "valid-email"
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "browser_console_messages",
|
|
146
|
+
"description": "Read console messages emitted by the current page.",
|
|
147
|
+
"resultTemplate": {
|
|
148
|
+
"messages": [
|
|
149
|
+
"error: fixture-console-error: signup analytics failed"
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "browser_take_screenshot",
|
|
155
|
+
"description": "Capture a screenshot to a distinct workspace-relative PNG path beneath qa/screenshots/.",
|
|
156
|
+
"resultTemplate": {
|
|
157
|
+
"saved": true
|
|
158
|
+
},
|
|
159
|
+
"writeFixture": {
|
|
160
|
+
"surface": "workspace",
|
|
161
|
+
"pathArgument": "path",
|
|
162
|
+
"fixture": "minimal-png"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"success": {
|
|
169
|
+
"summary": "The real craftbook uses browser tools, preserves the fixture, and reports reproducible functional, console, link, accessibility, and mobile defects with transparent scoring.",
|
|
170
|
+
"deliverables": [
|
|
171
|
+
{
|
|
172
|
+
"path": "qa/browser-evidence.md",
|
|
173
|
+
"kind": "markdown-report",
|
|
174
|
+
"minBytes": 1000,
|
|
175
|
+
"checks": [
|
|
176
|
+
{
|
|
177
|
+
"kind": "contains",
|
|
178
|
+
"file": "qa/browser-evidence.md",
|
|
179
|
+
"pattern": "^#{1,3}\\s+Run metadata\\b[\\s\\S]*^#{1,3}\\s+Journey results\\b[\\s\\S]*^#{1,3}\\s+Console\\b[\\s\\S]*^#{1,3}\\s+Responsive and accessibility\\b[\\s\\S]*^#{1,3}\\s+Evidence index\\b",
|
|
180
|
+
"flags": "im",
|
|
181
|
+
"label": "complete browser evidence structure"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"kind": "contains",
|
|
185
|
+
"file": "qa/browser-evidence.md",
|
|
186
|
+
"pattern": "1280\\s*[x×]\\s*720[\\s\\S]*375\\s*[x×]\\s*812|375\\s*[x×]\\s*812[\\s\\S]*1280\\s*[x×]\\s*720",
|
|
187
|
+
"flags": "i",
|
|
188
|
+
"label": "both required viewports exercised"
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"path": "qa/baseline.json",
|
|
194
|
+
"kind": "json",
|
|
195
|
+
"minBytes": 250,
|
|
196
|
+
"checks": [
|
|
197
|
+
{
|
|
198
|
+
"kind": "sniff",
|
|
199
|
+
"file": "qa/baseline.json",
|
|
200
|
+
"sniff": "json-valid"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"kind": "contains",
|
|
204
|
+
"file": "qa/baseline.json",
|
|
205
|
+
"pattern": "healthScore[\\s\\S]*issues[\\s\\S]*(console|functional|accessibility|responsive)",
|
|
206
|
+
"flags": "i",
|
|
207
|
+
"label": "machine-readable score and categorized issues"
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"path": "qa/browser-qa-report.md",
|
|
213
|
+
"kind": "markdown-report",
|
|
214
|
+
"minBytes": 1500,
|
|
215
|
+
"checks": [
|
|
216
|
+
{
|
|
217
|
+
"kind": "contains",
|
|
218
|
+
"file": "qa/browser-qa-report.md",
|
|
219
|
+
"pattern": "^#{1,3}\\s+Executive summary\\b[\\s\\S]*^#{1,3}\\s+Coverage\\b[\\s\\S]*^#{1,3}\\s+Findings\\b[\\s\\S]*^#{1,3}\\s+Console health\\b[\\s\\S]*^#{1,3}\\s+Health score\\b[\\s\\S]*^#{1,3}\\s+Top three fixes\\b",
|
|
220
|
+
"flags": "im",
|
|
221
|
+
"label": "complete QA report structure"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"kind": "contains",
|
|
225
|
+
"file": "qa/browser-qa-report.md",
|
|
226
|
+
"pattern": "fixture-console-error",
|
|
227
|
+
"flags": "i",
|
|
228
|
+
"label": "observed console failure"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"kind": "contains",
|
|
232
|
+
"file": "qa/browser-qa-report.md",
|
|
233
|
+
"pattern": "empty[\\s\\S]*(email|form)[\\s\\S]*(success|Welcome aboard)|(success|Welcome aboard)[\\s\\S]*empty[\\s\\S]*(email|form)",
|
|
234
|
+
"flags": "i",
|
|
235
|
+
"label": "empty submission false-success defect"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"kind": "contains",
|
|
239
|
+
"file": "qa/browser-qa-report.md",
|
|
240
|
+
"pattern": "Menu[\\s\\S]*(does not|doesn't|fails|no change|hidden)|navigation[\\s\\S]*(remains|stays)\\s+hidden",
|
|
241
|
+
"flags": "i",
|
|
242
|
+
"label": "dead menu interaction"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"kind": "contains",
|
|
246
|
+
"file": "qa/browser-qa-report.md",
|
|
247
|
+
"pattern": "375[\\s\\S]*(overflow|horizontal|980)|(?:overflow|horizontal|980)[\\s\\S]*375",
|
|
248
|
+
"flags": "i",
|
|
249
|
+
"label": "mobile overflow finding"
|
|
250
|
+
}
|
|
251
|
+
]
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
"checks": [
|
|
255
|
+
{
|
|
256
|
+
"kind": "contains",
|
|
257
|
+
"file": "fixtures/signup.html",
|
|
258
|
+
"pattern": "fixture-console-error: signup analytics failed",
|
|
259
|
+
"label": "report-only run preserves the seeded console defect"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"kind": "contains",
|
|
263
|
+
"file": "fixtures/signup.html",
|
|
264
|
+
"pattern": "button:focus,a:focus,input:focus\\{outline:none\\}",
|
|
265
|
+
"label": "report-only run preserves the seeded focus defect"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"kind": "fileCount",
|
|
269
|
+
"ext": [
|
|
270
|
+
".png"
|
|
271
|
+
],
|
|
272
|
+
"min": 2,
|
|
273
|
+
"dir": "qa/screenshots",
|
|
274
|
+
"verifyImageBytes": true
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"taskNotes": {
|
|
278
|
+
"minBytes": 180,
|
|
279
|
+
"checks": [
|
|
280
|
+
{
|
|
281
|
+
"kind": "contains",
|
|
282
|
+
"file": "task-notes.md",
|
|
283
|
+
"pattern": "\\bDONE\\b[\\s\\S]*qa/browser-qa-report\\.md[\\s\\S]*(browser|journey|evidence)",
|
|
284
|
+
"flags": "i",
|
|
285
|
+
"label": "terminal task note records the browser audit"
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
"requireCraftbookTask": true
|
|
289
|
+
},
|
|
290
|
+
"taskGraph": {
|
|
291
|
+
"requireCraftbookTask": true,
|
|
292
|
+
"requireTerminalStep": true
|
|
293
|
+
},
|
|
294
|
+
"mocks": [
|
|
295
|
+
{
|
|
296
|
+
"service": "playwright",
|
|
297
|
+
"requiredTools": [
|
|
298
|
+
"browser_navigate",
|
|
299
|
+
"browser_resize",
|
|
300
|
+
"browser_snapshot",
|
|
301
|
+
"browser_click",
|
|
302
|
+
"browser_type",
|
|
303
|
+
"browser_console_messages",
|
|
304
|
+
"browser_take_screenshot"
|
|
305
|
+
],
|
|
306
|
+
"toolCalls": {
|
|
307
|
+
"browser_navigate": {
|
|
308
|
+
"minCalls": 1
|
|
309
|
+
},
|
|
310
|
+
"browser_resize": {
|
|
311
|
+
"minCalls": 2
|
|
312
|
+
},
|
|
313
|
+
"browser_snapshot": {
|
|
314
|
+
"minCalls": 6
|
|
315
|
+
},
|
|
316
|
+
"browser_click": {
|
|
317
|
+
"minCalls": 6
|
|
318
|
+
},
|
|
319
|
+
"browser_type": {
|
|
320
|
+
"minCalls": 2
|
|
321
|
+
},
|
|
322
|
+
"browser_console_messages": {
|
|
323
|
+
"minCalls": 1
|
|
324
|
+
},
|
|
325
|
+
"browser_take_screenshot": {
|
|
326
|
+
"minCalls": 2
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
],
|
|
331
|
+
"history": [
|
|
332
|
+
{
|
|
333
|
+
"kind": "tool.called",
|
|
334
|
+
"minEntries": 20,
|
|
335
|
+
"summaryPattern": "Tool .*?(?:browser_|playwright)",
|
|
336
|
+
"flags": "i"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"kind": "tool.called",
|
|
340
|
+
"minEntries": 0,
|
|
341
|
+
"maxEntries": 0,
|
|
342
|
+
"details": {
|
|
343
|
+
"name": "read_file",
|
|
344
|
+
"path": "fixtures/signup.html"
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
],
|
|
348
|
+
"unchangedFixtures": [
|
|
349
|
+
"source/expected-behavior.md",
|
|
350
|
+
"fixtures/signup.html"
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
"rubric": {
|
|
354
|
+
"artifact": {
|
|
355
|
+
"path": "qa/browser-qa-report.md",
|
|
356
|
+
"kind": "markdown"
|
|
357
|
+
},
|
|
358
|
+
"axes": [
|
|
359
|
+
{
|
|
360
|
+
"name": "Browser evidence",
|
|
361
|
+
"description": "Findings cite actual repeated journeys, viewport, console, focus, and screenshot evidence rather than source inspection or speculation."
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"name": "Triage quality",
|
|
365
|
+
"description": "Severity, confidence, expected versus actual behavior, reproduction, and user impact are clear and proportionate."
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"name": "Scoring honesty",
|
|
369
|
+
"description": "Coverage boundaries and blocked checks are visible, and the health score can be recomputed from the category arithmetic."
|
|
370
|
+
}
|
|
371
|
+
],
|
|
372
|
+
"contextNote": "This is report-only black-box QA. Editing the fixture or deriving findings by reading its source is a failure."
|
|
373
|
+
},
|
|
374
|
+
"qualityFocus": [
|
|
375
|
+
"Actual browser use is required and audited in History",
|
|
376
|
+
"Deterministic fixture defects must be reproduced rather than guessed",
|
|
377
|
+
"The HTML fixture remains unchanged"
|
|
378
|
+
]
|
|
379
|
+
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "bug-fix-tdd",
|
|
3
|
+
"name": "Reproduce-Then-Fix a Bug",
|
|
4
|
+
"description": "Fix a bug the disciplined way: first write a failing test that reproduces it, then make the smallest change that turns the test green without breaking others, then verify and guard against regression. Reproduces FIRST with a red test that captures the exact wrong behavior — because a bug you cannot reproduce you cannot prove fixed — then applies the minimal fix, then a reviewer confirms the new test passes, root cause is addressed, and the suite is green. Covers test-driven bug fixing, regression tests, minimal diffs, root-cause vs symptom, and red-green verification.\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. Reproduce with a failing test (developer) — write a red test that captures the wrong behavior → gated on `src/bug.test.js` (code-with-tests)\n2. Apply the minimal fix (developer) — smallest change that turns the test green → gated on `src/bug-fixed.js` (code-module)\n3. Verify the fix (reviewer) — confirm green, root cause fixed, no regressions → gated on artifact `{{workPath}}/verify.md` (markdown-notes)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
|
|
5
|
+
"entryStepId": "reproduce",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"fix this bug",
|
|
8
|
+
"reproduce and fix",
|
|
9
|
+
"tdd bug fix",
|
|
10
|
+
"write a regression test",
|
|
11
|
+
"debug and fix"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "reproduce",
|
|
16
|
+
"name": "Reproduce with a failing test",
|
|
17
|
+
"description": "write a red test that captures the wrong behavior",
|
|
18
|
+
"prompt": "Reproduce the bug as a failing test before attempting any fix — a bug you cannot reproduce you cannot prove fixed. Step 1: Pin down the exact wrong behavior: the input, the expected output, and the actual (buggy) output. Step 2: Write a focused test that asserts the CORRECT behavior; run it and confirm it FAILS (red) for the right reason — capturing the bug, not a typo in the test. Step 3: Note your hypothesis for the root cause (not just the symptom). Step 4: Write a numbered acceptance-criteria checklist of 4-7 items (e.g. 'the new test fails before the fix and passes after', 'the root cause is addressed, not masked', 'no existing test regresses', 'the input that triggered the bug now produces the expected output'). `write_task_note` the repro + hypothesis + checklist and write the failing test to the produces path.",
|
|
19
|
+
"suggestedRole": "developer",
|
|
20
|
+
"advanceWhen": {
|
|
21
|
+
"file": "src/bug.test.js",
|
|
22
|
+
"minBytes": 1,
|
|
23
|
+
"sniff": "nonempty"
|
|
24
|
+
},
|
|
25
|
+
"gate": {
|
|
26
|
+
"at": "completion",
|
|
27
|
+
"checks": [
|
|
28
|
+
{
|
|
29
|
+
"kind": "minBytes",
|
|
30
|
+
"file": "src/bug.test.js",
|
|
31
|
+
"bytes": 300
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"kind": "sniff",
|
|
35
|
+
"file": "src/bug.test.js",
|
|
36
|
+
"sniff": "nonempty"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"kind": "esmImports",
|
|
40
|
+
"file": "src/bug.test.js"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"kind": "sourceParses",
|
|
44
|
+
"file": "src/bug.test.js"
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
"scripts": [
|
|
48
|
+
{
|
|
49
|
+
"name": "checkContains",
|
|
50
|
+
"scope": "standard",
|
|
51
|
+
"inputs": {
|
|
52
|
+
"file": "src/bug.test.js",
|
|
53
|
+
"pattern": "\\b(test|describe|it|assert|expect)\\b",
|
|
54
|
+
"flags": "i"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"onReject": "reproduce",
|
|
59
|
+
"maxAttempts": 3
|
|
60
|
+
},
|
|
61
|
+
"next": "fix"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"id": "fix",
|
|
65
|
+
"name": "Apply the minimal fix",
|
|
66
|
+
"description": "smallest change that turns the test green",
|
|
67
|
+
"prompt": "Make the smallest change that turns the failing test green. Step 1: Address the ROOT CAUSE you identified, not just the symptom — do not special-case the one input to silence the test. Step 2: Run the new test and confirm it now passes (green). Step 3: Run the FULL suite and confirm nothing else broke; if something regressed, your fix was too broad — narrow it. Step 4: Keep the diff minimal and focused on the bug. Write the fixed source to the produces path. On a loop-back, address only the reviewer's specific concern. `write_task_note` what the root cause was, the fix, and which criteria now pass.",
|
|
68
|
+
"suggestedRole": "developer",
|
|
69
|
+
"advanceWhen": {
|
|
70
|
+
"file": "src/bug-fixed.js",
|
|
71
|
+
"minBytes": 1,
|
|
72
|
+
"sniff": "nonempty"
|
|
73
|
+
},
|
|
74
|
+
"gate": {
|
|
75
|
+
"at": "completion",
|
|
76
|
+
"checks": [
|
|
77
|
+
{
|
|
78
|
+
"kind": "minBytes",
|
|
79
|
+
"file": "src/bug-fixed.js",
|
|
80
|
+
"bytes": 200
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"kind": "sniff",
|
|
84
|
+
"file": "src/bug-fixed.js",
|
|
85
|
+
"sniff": "nonempty"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"kind": "esmImports",
|
|
89
|
+
"file": "src/bug-fixed.js"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"kind": "sourceParses",
|
|
93
|
+
"file": "src/bug-fixed.js"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"onReject": "fix",
|
|
97
|
+
"maxAttempts": 3
|
|
98
|
+
},
|
|
99
|
+
"next": "verify"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"id": "verify",
|
|
103
|
+
"name": "Verify the fix",
|
|
104
|
+
"description": "confirm green, root cause fixed, no regressions",
|
|
105
|
+
"prompt": "Verify the bug is genuinely fixed. Step 1: Run the repro test and confirm it now passes. Step 2: Confirm the fix addresses the root cause rather than masking the symptom (would a nearby variant of the input also be correct now?). Step 3: Run the full suite and confirm no regressions. Step 4: Confirm the diff is minimal and scoped to the bug. Write a verification note with the test results and a root-cause-vs-symptom judgment to the produces path.\n\nThe deliverable `{{workPath}}/verify.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.",
|
|
106
|
+
"suggestedRole": "reviewer",
|
|
107
|
+
"advanceWhen": {
|
|
108
|
+
"file": "{{workPath}}/verify.md",
|
|
109
|
+
"minBytes": 1,
|
|
110
|
+
"sniff": "nonempty",
|
|
111
|
+
"artifact": true
|
|
112
|
+
},
|
|
113
|
+
"gate": {
|
|
114
|
+
"at": "completion",
|
|
115
|
+
"checks": [
|
|
116
|
+
{
|
|
117
|
+
"kind": "minBytes",
|
|
118
|
+
"file": "src/bug-fixed.js",
|
|
119
|
+
"bytes": 200
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"kind": "sniff",
|
|
123
|
+
"file": "src/bug-fixed.js",
|
|
124
|
+
"sniff": "nonempty"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"kind": "esmImports",
|
|
128
|
+
"file": "src/bug-fixed.js"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"kind": "sourceParses",
|
|
132
|
+
"file": "src/bug-fixed.js"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"onReject": "verify",
|
|
136
|
+
"maxAttempts": 4
|
|
137
|
+
},
|
|
138
|
+
"next": "evaluate"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "evaluate",
|
|
142
|
+
"name": "Evaluate",
|
|
143
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
144
|
+
"prompt": "Run the full test suite including the new repro test. For EACH acceptance criterion: confirm the repro test now PASSES (and would have failed before the fix), confirm the root cause is addressed not just masked, confirm no existing test regressed, and confirm the diff is minimal. Write PASS/FAIL per criterion.\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: \"fix\" })` 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.",
|
|
145
|
+
"suggestedRole": "reviewer",
|
|
146
|
+
"consumes": [
|
|
147
|
+
{
|
|
148
|
+
"file": "src/bug-fixed.js"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"next": "fix"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"id": "finish",
|
|
155
|
+
"name": "Finish",
|
|
156
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
157
|
+
"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.",
|
|
158
|
+
"suggestedRole": "developer",
|
|
159
|
+
"terminal": true
|
|
160
|
+
}
|
|
161
|
+
],
|
|
162
|
+
"version": "1.0.3",
|
|
163
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
164
|
+
"paramSchema": {
|
|
165
|
+
"type": "object",
|
|
166
|
+
"properties": {
|
|
167
|
+
"workPath": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"title": "Working folder",
|
|
170
|
+
"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.",
|
|
171
|
+
"default": "{{task.dir}}"
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
"minGezelVersion": "1.26233"
|
|
176
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Reproduce-Then-Fix a Bug smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Reproduce-Then-Fix a Bug craftbook using the code generic harness.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"code"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "We need a small Node helper for this — the requirments are in source/requirements.md. Put it in src/solution.mjs.",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Reproduce-Then-Fix a Bug Eval",
|
|
11
|
+
"about": "Self-contained eval project for bug-fix-tdd. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/src/solution.mjs.",
|
|
12
|
+
"missionObjectives": "Use the Reproduce-Then-Fix a Bug craftbook/template, read the seeded local fixtures, and write src/solution.mjs without network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/brief.md",
|
|
16
|
+
"content": "# Reproduce-Then-Fix a Bug 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: bug-fix-tdd - Reproduce-Then-Fix a Bug.\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "source/requirements.md",
|
|
20
|
+
"content": "# Runner Requirements\n\nBuild a dependency-free Node ESM helper for Boreal Desk support operations. Export at least one function. Include a tiny self-test section using node:assert or an equivalent assertion helper. Use fixture values for 18 -> 6 hour response time and 14.2 -> 8.9 refund leakage.\n"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"worker": {
|
|
24
|
+
"name": "Jules",
|
|
25
|
+
"role": "Developer"
|
|
26
|
+
},
|
|
27
|
+
"craftbookParams": {
|
|
28
|
+
"workPath": "tasks/eval"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"mocks": [],
|
|
32
|
+
"success": {
|
|
33
|
+
"summary": "src/solution.mjs is a local ESM module with basic self-test scaffolding.",
|
|
34
|
+
"deliverables": [
|
|
35
|
+
{
|
|
36
|
+
"path": "src/solution.mjs",
|
|
37
|
+
"kind": "code-with-tests",
|
|
38
|
+
"minBytes": 1500,
|
|
39
|
+
"checks": [
|
|
40
|
+
{
|
|
41
|
+
"kind": "esmImports",
|
|
42
|
+
"file": "src/solution.mjs"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"kind": "contains",
|
|
46
|
+
"file": "src/solution.mjs",
|
|
47
|
+
"pattern": "export\\s+(function|const|class)|export\\s*\\{",
|
|
48
|
+
"flags": "i"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"kind": "contains",
|
|
52
|
+
"file": "src/solution.mjs",
|
|
53
|
+
"pattern": "assert|test|describe|it|expect",
|
|
54
|
+
"flags": "i"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"kind": "contains",
|
|
58
|
+
"file": "src/solution.mjs",
|
|
59
|
+
"pattern": "18|6|14\\.2|8\\.9|Boreal",
|
|
60
|
+
"flags": "i"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
"rubric": {
|
|
67
|
+
"artifact": {
|
|
68
|
+
"path": "src/solution.mjs",
|
|
69
|
+
"kind": "typescript"
|
|
70
|
+
},
|
|
71
|
+
"axes": [
|
|
72
|
+
{
|
|
73
|
+
"name": "correctness",
|
|
74
|
+
"description": "The module does what the requirements ask, with sensible edge handling."
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"name": "verification",
|
|
78
|
+
"description": "Self-tests exercise real behavior, not trivial truths."
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"name": "clarity",
|
|
82
|
+
"description": "Exports, naming, and structure make the module usable without reading every line."
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "robustness",
|
|
86
|
+
"description": "Invalid input and boundary cases fail loudly rather than silently."
|
|
87
|
+
}
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"qualityFocus": [
|
|
91
|
+
"runnable ESM",
|
|
92
|
+
"test scaffolding",
|
|
93
|
+
"local fixtures"
|
|
94
|
+
]
|
|
95
|
+
}
|