@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,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Transcribe Audio or Video smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Transcribe Audio or Video craftbook using the media generic harness.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"media"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "Our media files are all listd in source/media-index.csv. Can you put together the production plan for them as media-plan.json?",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Transcribe Audio or Video Eval",
|
|
11
|
+
"about": "Self-contained eval project for transcribe-audio. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/media-plan.json.",
|
|
12
|
+
"missionObjectives": "Use the Transcribe Audio or Video craftbook/template, read the seeded local fixtures, and write media-plan.json without network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/brief.md",
|
|
16
|
+
"content": "# Transcribe Audio or Video 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: transcribe-audio - Transcribe Audio or Video.\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "source/media-index.csv",
|
|
20
|
+
"content": "filename,type,duration_or_size,notes\npilot-interview.wav,audio,00:02:15,mentions response time and status silence\nreturns-desk.png,image,1600x900,shows intake form and photo evidence step\nlaunch-clip.mp4,video,00:01:05,shows barcode exception handling\n"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"worker": {
|
|
24
|
+
"name": "Jules",
|
|
25
|
+
"role": "Producer"
|
|
26
|
+
},
|
|
27
|
+
"craftbookParams": {
|
|
28
|
+
"workPath": "tasks/eval"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"mocks": [],
|
|
32
|
+
"success": {
|
|
33
|
+
"summary": "media-plan.json is a valid JSON media-production manifest grounded in seeded fixture metadata.",
|
|
34
|
+
"deliverables": [
|
|
35
|
+
{
|
|
36
|
+
"path": "media-plan.json",
|
|
37
|
+
"kind": "json",
|
|
38
|
+
"minBytes": 700,
|
|
39
|
+
"checks": [
|
|
40
|
+
{
|
|
41
|
+
"kind": "sniff",
|
|
42
|
+
"file": "media-plan.json",
|
|
43
|
+
"sniff": "json-valid"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"kind": "contains",
|
|
47
|
+
"file": "media-plan.json",
|
|
48
|
+
"pattern": "pilot-interview\\.wav|returns-desk\\.png|launch-clip\\.mp4",
|
|
49
|
+
"flags": "i"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"kind": "contains",
|
|
53
|
+
"file": "media-plan.json",
|
|
54
|
+
"pattern": "outputs|assets|steps|cues|verification",
|
|
55
|
+
"flags": "i"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"kind": "contains",
|
|
59
|
+
"file": "media-plan.json",
|
|
60
|
+
"pattern": "accessibility|alt|caption|transcript|metadata",
|
|
61
|
+
"flags": "i"
|
|
62
|
+
}
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"rubric": {
|
|
68
|
+
"artifact": {
|
|
69
|
+
"path": "media-plan.json",
|
|
70
|
+
"kind": "json"
|
|
71
|
+
},
|
|
72
|
+
"axes": [
|
|
73
|
+
{
|
|
74
|
+
"name": "completeness",
|
|
75
|
+
"description": "The manifest covers sources, outputs, and processing steps end to end."
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"name": "grounding",
|
|
79
|
+
"description": "Only seeded media fixtures are referenced, with faithful metadata."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "accessibility",
|
|
83
|
+
"description": "Alt text, captions, or transcripts are planned wherever the class requires."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "precision",
|
|
87
|
+
"description": "Timestamps, crops, and cues are specific enough to execute."
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
"qualityFocus": [
|
|
92
|
+
"media fixture handling",
|
|
93
|
+
"structured manifest",
|
|
94
|
+
"verification metadata"
|
|
95
|
+
],
|
|
96
|
+
"extensions": {
|
|
97
|
+
"legacySimulators": [
|
|
98
|
+
{
|
|
99
|
+
"id": "transcribe-audio-media-fixtures",
|
|
100
|
+
"kind": "data-source",
|
|
101
|
+
"status": "implemented",
|
|
102
|
+
"description": "Seeded local media index replacing real audio, video, image generation, and external media metadata services."
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "transcribe-index",
|
|
3
|
+
"name": "Transcribe and Index a Tape",
|
|
4
|
+
"description": "Give one tape the ten-second-findability treatment: transcript on file, then every moment worth finding indexed with its timecode and people tags — so 'the clip of Opa's 80th toast' becomes a query, not an afternoon of scrubbing. Locks the tape's metadata and the indexing rules FIRST (timecoded moments, people tags drawn from the family roster, searchable descriptions), then lands the transcript, then the clip records, then a tape summary with the highlights. Use for indexing a digitized tape, making home videos searchable, cataloging family footage, and 'what is on this tape'.\n\nA gallery craftbook generated from an archetype spec. It runs\n`phase → (per-phase gate) → … → evaluate → (loop) → finish`. Each build\nphase that produces a checkable artifact is followed by a **runtime\ngate-checkpoint** — the runtime verifies the artifact and routes with no\nmodel turn, looping back to redo the phase on a miss. The final `evaluate`\nstep holds a static deliverable gate plus a reviewer QA pass. What it adds\nover the generic `build-loop`: a specialist role per phase, a\ndomain-correct ordering, and a concrete per-phase quality bar.\n\nDeliverables marked \"artifact\" land in the project's artifacts drawer (`write_artifact` / `read_artifact`), not the shipped workspace — review output is not product source.\n\nPhases:\n\n1. Scope the tape (filmarchivaris) — tape metadata, the family roster, indexing rules locked → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Land the transcript (transcriber) — the tape's transcript on file, timestamped and speaker-marked\n3. Index the moments (archivist) — clip records appended: tape, timecode, people, description → gated on `clips.json` (json)\n4. Write the tape summary (copywriter) — what is on the tape, the highlights, who appears → gated on artifact `{{workPath}}/report.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": "scope",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"index the tape",
|
|
8
|
+
"transcribe the tape",
|
|
9
|
+
"what is on this tape",
|
|
10
|
+
"make the tape searchable",
|
|
11
|
+
"catalog the footage"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "scope",
|
|
16
|
+
"name": "Scope the tape",
|
|
17
|
+
"description": "tape metadata, the family roster, indexing rules locked",
|
|
18
|
+
"prompt": "Define the indexing job before touching the tape. Step 1: identify the tape being indexed — its label or number, roughly when it was shot, and where its transcript lands under transcripts/ (when a transcript is already on file there, this run verifies and indexes it rather than re-transcribing). Step 2: read family.md from the workspace — the roster of names is the controlled vocabulary for people tags; a tag that is not on the roster is a typo waiting to break search. Step 3: read clips.json to see how prior tapes were indexed, and lock the indexing rules — every moment worth finding gets a record with the tape, the timecode where it starts, the people in it tagged from the roster, and a description written the way someone would actually search for it ('Opa's toast at the 80th', not 'man speaking'). Step 4: write an acceptance-criteria checklist ('transcript on file under transcripts/', 'every notable moment indexed with its timecode', 'every people tag matches the roster', 'descriptions are searchable phrases', 'existing clip records untouched'). Call write_task_note with the tape id + roster size + checklist and write {{workPath}}/scope.md.\n\nThe deliverable `{{workPath}}/scope.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
|
|
19
|
+
"suggestedRole": "filmarchivaris",
|
|
20
|
+
"advanceWhen": {
|
|
21
|
+
"file": "{{workPath}}/scope.md",
|
|
22
|
+
"minBytes": 1,
|
|
23
|
+
"sniff": "nonempty",
|
|
24
|
+
"artifact": true
|
|
25
|
+
},
|
|
26
|
+
"gate": {
|
|
27
|
+
"at": "completion",
|
|
28
|
+
"checks": [
|
|
29
|
+
{
|
|
30
|
+
"kind": "minBytes",
|
|
31
|
+
"file": "{{workPath}}/scope.md",
|
|
32
|
+
"bytes": 120,
|
|
33
|
+
"artifact": true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"kind": "sniff",
|
|
37
|
+
"file": "{{workPath}}/scope.md",
|
|
38
|
+
"sniff": "nonempty",
|
|
39
|
+
"artifact": true
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"onReject": "scope",
|
|
43
|
+
"maxAttempts": 3
|
|
44
|
+
},
|
|
45
|
+
"next": "transcript"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "transcript",
|
|
49
|
+
"name": "Land the transcript",
|
|
50
|
+
"description": "the tape's transcript on file, timestamped and speaker-marked",
|
|
51
|
+
"prompt": "Get the tape's transcript on file. Step 1: produce the transcript through the project's transcription capabilities — or, when a transcript for this tape is already provided under transcripts/, read it end to end and treat it as the source. Step 2: make sure it carries what indexing needs — timestamps through the recording and speaker names where voices are identifiable from the family roster; normalize obvious mis-hearings of family names against family.md. Step 3: save the result under transcripts/ named for the tape, and skim once for the moments that will matter — celebrations, first words, arrivals, the stories people tell — noting rough timecodes as you go. Call write_task_note with the transcript path, its rough duration, and the count of candidate moments spotted.",
|
|
52
|
+
"suggestedRole": "transcriber",
|
|
53
|
+
"next": "index"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "index",
|
|
57
|
+
"name": "Index the moments",
|
|
58
|
+
"description": "clip records appended: tape, timecode, people, description",
|
|
59
|
+
"prompt": "Index every moment worth finding. Step 1: walk the transcript and pick the moments someone will one day search for — the toast, the song, the argument about the recipe, the baby's first steps in the background. Aim for completeness over polish: a missed moment is invisible forever. Step 2: for each moment, append a record to clips.json through the project's archive capabilities — the tape id, the timecode where the moment starts (matching a timestamp in the transcript), the people in it as an array of roster names from family.md, and a searchable description. Step 3: never edit or drop the existing records from prior tapes — this is an append, and the archive's history is the point. Step 4: re-read clips.json once — valid JSON, new records complete, timecodes real. Call write_task_note with the count of new records and the single best moment found.",
|
|
60
|
+
"suggestedRole": "archivist",
|
|
61
|
+
"advanceWhen": {
|
|
62
|
+
"file": "clips.json",
|
|
63
|
+
"minBytes": 1,
|
|
64
|
+
"sniff": "json-valid"
|
|
65
|
+
},
|
|
66
|
+
"gate": {
|
|
67
|
+
"at": "completion",
|
|
68
|
+
"checks": [
|
|
69
|
+
{
|
|
70
|
+
"kind": "minBytes",
|
|
71
|
+
"file": "clips.json",
|
|
72
|
+
"bytes": 2
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"kind": "recordSchema",
|
|
76
|
+
"file": "clips.json",
|
|
77
|
+
"fields": [
|
|
78
|
+
{
|
|
79
|
+
"name": "tape",
|
|
80
|
+
"type": "nonempty"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "timecode",
|
|
84
|
+
"type": "nonempty"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "people"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "description",
|
|
91
|
+
"type": "nonempty"
|
|
92
|
+
}
|
|
93
|
+
],
|
|
94
|
+
"minRows": 5
|
|
95
|
+
}
|
|
96
|
+
],
|
|
97
|
+
"scripts": [
|
|
98
|
+
{
|
|
99
|
+
"name": "checkJsonValid",
|
|
100
|
+
"scope": "standard",
|
|
101
|
+
"inputs": {
|
|
102
|
+
"file": "clips.json"
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"onReject": "index",
|
|
107
|
+
"maxAttempts": 3
|
|
108
|
+
},
|
|
109
|
+
"next": "report"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"id": "report",
|
|
113
|
+
"name": "Write the tape summary",
|
|
114
|
+
"description": "what is on the tape, the highlights, who appears",
|
|
115
|
+
"prompt": "Write the tape summary the family actually reads. Step 1: open with what the tape is — when it was shot, the occasions it covers, roughly how long it runs. Step 2: give the highlights — the five or so best moments with their timecodes, written warmly enough that someone wants to go watch them. Step 3: list who appears on the tape, drawn from the people tags just indexed. Step 4: close with how to find things — a line noting that every indexed moment is searchable in the archive by person or description. Keep it to a page; this is a family document, not a catalog printout. Write {{workPath}}/report.md and call write_task_note with the report path and the indexed-moment count.\n\nThe deliverable `{{workPath}}/report.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.",
|
|
116
|
+
"suggestedRole": "copywriter",
|
|
117
|
+
"advanceWhen": {
|
|
118
|
+
"file": "{{workPath}}/report.md",
|
|
119
|
+
"minBytes": 1,
|
|
120
|
+
"sniff": "nonempty",
|
|
121
|
+
"artifact": true
|
|
122
|
+
},
|
|
123
|
+
"gate": {
|
|
124
|
+
"at": "completion",
|
|
125
|
+
"checks": [
|
|
126
|
+
{
|
|
127
|
+
"kind": "minBytes",
|
|
128
|
+
"file": "{{workPath}}/report.md",
|
|
129
|
+
"bytes": 800,
|
|
130
|
+
"artifact": true
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
"kind": "contains",
|
|
134
|
+
"file": "{{workPath}}/report.md",
|
|
135
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
136
|
+
"flags": "i",
|
|
137
|
+
"label": "at least one markdown heading",
|
|
138
|
+
"artifact": true
|
|
139
|
+
}
|
|
140
|
+
],
|
|
141
|
+
"onReject": "report",
|
|
142
|
+
"maxAttempts": 4
|
|
143
|
+
},
|
|
144
|
+
"next": "evaluate"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"id": "evaluate",
|
|
148
|
+
"name": "Evaluate",
|
|
149
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
150
|
+
"prompt": "Open {{workPath}}/report.md, clips.json, the transcript under transcripts/, and family.md and verify every criterion from {{workPath}}/scope.md: the transcript is on file and timestamped, every new clip record carries a timecode that appears in the transcript, every people tag matches a roster name exactly, descriptions read as searchable phrases rather than shrugs, prior tapes' records are untouched, and the summary's highlights point at real indexed moments. Write PASS/FAIL per criterion; on any failure, name the offending record and loop back to index.\n\nThe deliverable lives in the project's artifacts drawer — open `{{workPath}}/report.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: \"index\" })` 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.",
|
|
151
|
+
"suggestedRole": "reviewer",
|
|
152
|
+
"consumes": [
|
|
153
|
+
{
|
|
154
|
+
"file": "{{workPath}}/report.md",
|
|
155
|
+
"artifact": true
|
|
156
|
+
}
|
|
157
|
+
],
|
|
158
|
+
"next": "index"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"id": "finish",
|
|
162
|
+
"name": "Finish",
|
|
163
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
164
|
+
"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.",
|
|
165
|
+
"suggestedRole": "developer",
|
|
166
|
+
"terminal": true
|
|
167
|
+
}
|
|
168
|
+
],
|
|
169
|
+
"version": "1.0.2",
|
|
170
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
171
|
+
"paramSchema": {
|
|
172
|
+
"type": "object",
|
|
173
|
+
"properties": {
|
|
174
|
+
"workPath": {
|
|
175
|
+
"type": "string",
|
|
176
|
+
"title": "Working folder",
|
|
177
|
+
"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.",
|
|
178
|
+
"default": "{{task.dir}}"
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
"minGezelVersion": "1.26233"
|
|
183
|
+
}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Transcribe and Index a Tape smoke eval",
|
|
4
|
+
"objective": "Task-specific eval for the Transcribe and Index a Tape craftbook: a provided timestamped transcript of a family tape becomes appended clip records in the archive index — real timecodes, roster-true people tags, searchable descriptions — plus a warm tape summary.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"data"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "digitized tape 4 last night and the transcript is already in the project — can you index the momments so we can actually find things later?",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Home Video Archive — Tape Index Eval",
|
|
11
|
+
"about": "Self-contained eval project for transcribe-index. The transcript for tape-04 is already on file at transcripts/tape-04.md (timestamped tape time). The archive index is clips.json (six records from tapes 01-03 — append, never rewrite), the family roster is family.md, and the prior indexing log is tasks/eval/archive-log.md. The tape summary goes to tasks/eval/report.md.",
|
|
12
|
+
"missionObjectives": "Use the Transcribe and Index a Tape craftbook/template, treat the provided transcript as the source, append the tape's notable moments to clips.json with timecodes from the transcript and people tags from the roster, and write tasks/eval/report.md. No transcription services or real media tools — the transcript is provided.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "transcripts/tape-04.md",
|
|
16
|
+
"content": "# Tape 04 - Opa Willem's 80th birthday (spring 1998)\n\nDigitized from VHS. Timestamps are tape time.\n\n[00:00:40] Guests arriving at the farmhouse. Oma Ria at the door taking coats, waving at the camera.\n[00:03:12] Marloes and Sofie stringing the paper garlands in the kitchen, arguing sweetly about the ladder.\n[00:08:55] Opa Willem's toast. He stands, taps the glass, and gives the speech everyone still quotes - eighty years and the same bicycle. The whole room on its feet by the end.\n[00:14:30] The singing. Tante Els starts Lang zal hij leven and the room joins in, second verse louder than the first.\n[00:21:05] Jeroen tells the flooded-kitchen story from 1976. Opa Willem laughing so hard he has to put his glass down.\n[00:27:48] Bram's first steps, right there in the background while the cake is being served. Half the room misses it, the camera does not.\n[00:33:20] A quiet moment. Opa Willem and Oma Ria alone on the bench by the window, saying nothing.\n[00:38:02] Goodbyes at the door, headlights in the lane, Oma Ria waving until the last car turns.\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "clips.json",
|
|
20
|
+
"content": "[\n {\n \"tape\": \"tape-01\",\n \"timecode\": \"00:02:10\",\n \"people\": [\n \"Opa Willem\",\n \"Oma Ria\"\n ],\n \"description\": \"Willem and Ria dancing at the 1985 street party\"\n },\n {\n \"tape\": \"tape-01\",\n \"timecode\": \"00:19:44\",\n \"people\": [\n \"Tante Els\"\n ],\n \"description\": \"Els singing at the piano, street party evening\"\n },\n {\n \"tape\": \"tape-02\",\n \"timecode\": \"00:05:31\",\n \"people\": [\n \"Marloes\",\n \"Sofie\"\n ],\n \"description\": \"the sisters learning to ride one bike between them\"\n },\n {\n \"tape\": \"tape-02\",\n \"timecode\": \"00:28:07\",\n \"people\": [\n \"Jeroen\"\n ],\n \"description\": \"Jeroen's infamous fishing cast into the reeds\"\n },\n {\n \"tape\": \"tape-03\",\n \"timecode\": \"00:11:59\",\n \"people\": [\n \"Opa Willem\",\n \"Jeroen\"\n ],\n \"description\": \"Willem teaching Jeroen to sharpen a chisel\"\n },\n {\n \"tape\": \"tape-03\",\n \"timecode\": \"00:36:22\",\n \"people\": [\n \"Oma Ria\",\n \"Marloes\"\n ],\n \"description\": \"Ria and Marloes baking, flour everywhere\"\n }\n]\n"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"path": "family.md",
|
|
24
|
+
"content": "# Family roster\n\n- Opa Willem - grandfather, the storyteller of the family\n- Oma Ria - grandmother, married to Willem since 1948\n- Tante Els - Willem and Ria's eldest, starts every song\n- Marloes - granddaughter, organized most of the parties\n- Jeroen - grandson, keeper of the embarrassing stories\n- Sofie - granddaughter, Marloes' sister\n- Bram - great-grandson, born 1997\n"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"path": "tasks/eval/archive-log.md",
|
|
28
|
+
"content": "# Indexing log - prior tapes\n\nMoments indexed so far, by tape and tape-time:\n\n- tape-01 [00:02:10] Willem and Ria dancing at the 1985 street party\n- tape-01 [00:19:44] Els singing at the piano\n- tape-02 [00:05:31] the sisters and the shared bike\n- tape-02 [00:28:07] the fishing cast into the reeds\n- tape-03 [00:11:59] the chisel-sharpening lesson\n- tape-03 [00:36:22] baking day, flour everywhere\n"
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"worker": {
|
|
32
|
+
"name": "Fem",
|
|
33
|
+
"role": "Archivist"
|
|
34
|
+
},
|
|
35
|
+
"craftbookParams": {
|
|
36
|
+
"workPath": "tasks/eval"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"mocks": [],
|
|
40
|
+
"success": {
|
|
41
|
+
"summary": "clips.json grew by at least five tape-04 records whose timecodes come verbatim from the transcript, people tags match the roster, the six prior records survived untouched, and tasks/eval/report.md reads like a family document with real highlights.",
|
|
42
|
+
"deliverables": [
|
|
43
|
+
{
|
|
44
|
+
"path": "clips.json",
|
|
45
|
+
"kind": "json",
|
|
46
|
+
"checks": [
|
|
47
|
+
{
|
|
48
|
+
"kind": "recordSchema",
|
|
49
|
+
"file": "clips.json",
|
|
50
|
+
"fields": [
|
|
51
|
+
{
|
|
52
|
+
"name": "tape",
|
|
53
|
+
"type": "nonempty"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"name": "timecode",
|
|
57
|
+
"type": "nonempty"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"name": "people"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "description",
|
|
64
|
+
"type": "nonempty"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"minRows": 11
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"kind": "valuesSubsetOf",
|
|
71
|
+
"file": "clips.json",
|
|
72
|
+
"sourceFiles": [
|
|
73
|
+
"transcripts/tape-04.md",
|
|
74
|
+
"tasks/eval/archive-log.md"
|
|
75
|
+
],
|
|
76
|
+
"pattern": "\"(\\d{2}:\\d{2}:\\d{2})\"",
|
|
77
|
+
"label": "every timecode comes verbatim from the transcript or the prior indexing log"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"kind": "contains",
|
|
81
|
+
"file": "clips.json",
|
|
82
|
+
"pattern": "toast",
|
|
83
|
+
"flags": "i",
|
|
84
|
+
"label": "the famous toast is indexed"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"kind": "contains",
|
|
88
|
+
"file": "clips.json",
|
|
89
|
+
"pattern": "Bram",
|
|
90
|
+
"label": "the first-steps moment carries its people tag"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"kind": "judge",
|
|
94
|
+
"file": "clips.json",
|
|
95
|
+
"rubric": "Every people tag on the new tape-04 records matches a roster name from family.md exactly, the descriptions read as searchable phrases someone would actually type, and the six prior-tape records are unchanged.",
|
|
96
|
+
"sourceFiles": [
|
|
97
|
+
"family.md",
|
|
98
|
+
"transcripts/tape-04.md"
|
|
99
|
+
],
|
|
100
|
+
"label": "roster-true tags and searchable descriptions"
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"path": "tasks/eval/report.md",
|
|
106
|
+
"kind": "markdown-report",
|
|
107
|
+
"minBytes": 500,
|
|
108
|
+
"checks": [
|
|
109
|
+
{
|
|
110
|
+
"kind": "contains",
|
|
111
|
+
"file": "tasks/eval/report.md",
|
|
112
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
113
|
+
"flags": "i"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"kind": "contains",
|
|
117
|
+
"file": "tasks/eval/report.md",
|
|
118
|
+
"pattern": "\\d{2}:\\d{2}:\\d{2}",
|
|
119
|
+
"label": "highlights point at real timecodes"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
},
|
|
125
|
+
"rubric": {
|
|
126
|
+
"artifact": {
|
|
127
|
+
"path": "clips.json",
|
|
128
|
+
"kind": "json"
|
|
129
|
+
},
|
|
130
|
+
"axes": [
|
|
131
|
+
{
|
|
132
|
+
"name": "completeness",
|
|
133
|
+
"description": "The moments worth finding are all indexed — the toast, the song, the story, the first steps, the quiet moment."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"name": "people-tagging",
|
|
137
|
+
"description": "People tags are roster-exact; nobody is misnamed or invented."
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
"name": "moment-selection",
|
|
141
|
+
"description": "Records capture the moments a family would search for, not filler."
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"name": "fidelity",
|
|
145
|
+
"description": "Timecodes and descriptions trace to the transcript; prior records untouched."
|
|
146
|
+
}
|
|
147
|
+
]
|
|
148
|
+
},
|
|
149
|
+
"qualityFocus": [
|
|
150
|
+
"timecode fidelity",
|
|
151
|
+
"roster-true people tags",
|
|
152
|
+
"append without clobbering"
|
|
153
|
+
]
|
|
154
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "type-safety-pass",
|
|
3
|
+
"name": "Type-Safety Pass",
|
|
4
|
+
"description": "Tighten the types of a module — eliminate `any`/implicit-any, add precise annotations, narrow unions, and make illegal states unrepresentable — without changing runtime behavior. Audits FIRST to inventory every loose type, unsafe cast, and missing annotation, then replaces them with precise types, then a reviewer confirms the type-checker is clean under strict settings and behavior is unchanged. Covers killing `any`, strict null checks, discriminated unions, generics, type narrowing, removing unsafe casts, and compile-clean-under-strict 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. Audit the types (developer) — inventory every any, cast, and missing annotation → gated on artifact `{{workPath}}/audit.md` (markdown-notes)\n2. Fix the types (developer) — replace loose types with precise ones → gated on `src/typed.ts` (code-module)\n3. Verify type safety (reviewer) — confirm strict-clean and behavior unchanged → 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": "audit",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"tighten the types",
|
|
8
|
+
"kill any types",
|
|
9
|
+
"add type annotations",
|
|
10
|
+
"make this type-safe",
|
|
11
|
+
"fix type errors"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "audit",
|
|
16
|
+
"name": "Audit the types",
|
|
17
|
+
"description": "inventory every any, cast, and missing annotation",
|
|
18
|
+
"prompt": "Inventory the type weaknesses before fixing them. Step 1: Search the module for every `any` (explicit and implicit), every unsafe cast (`as`, `!` non-null assertions), and every untyped parameter/return. Step 2: For each, note what the CORRECT type should be (look at the values that actually flow through). Step 3: Identify spots where a union should be narrowed or a discriminated union / generic would make illegal states unrepresentable. Step 4: Note the strict compiler settings to enable (e.g. strict, noImplicitAny, strictNullChecks). Step 5: Write a numbered acceptance-criteria checklist of 5-9 items (e.g. 'no explicit or implicit any remains', 'no unsafe casts without justification', 'the type-checker passes under strict', 'runtime behavior is unchanged'). `write_task_note` the inventory + checklist and write the same to the produces path.\n\nThe deliverable `{{workPath}}/audit.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
|
|
19
|
+
"suggestedRole": "developer",
|
|
20
|
+
"advanceWhen": {
|
|
21
|
+
"file": "{{workPath}}/audit.md",
|
|
22
|
+
"minBytes": 1,
|
|
23
|
+
"sniff": "nonempty",
|
|
24
|
+
"artifact": true
|
|
25
|
+
},
|
|
26
|
+
"gate": {
|
|
27
|
+
"at": "completion",
|
|
28
|
+
"checks": [
|
|
29
|
+
{
|
|
30
|
+
"kind": "minBytes",
|
|
31
|
+
"file": "{{workPath}}/audit.md",
|
|
32
|
+
"bytes": 120,
|
|
33
|
+
"artifact": true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"kind": "sniff",
|
|
37
|
+
"file": "{{workPath}}/audit.md",
|
|
38
|
+
"sniff": "nonempty",
|
|
39
|
+
"artifact": true
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"onReject": "audit",
|
|
43
|
+
"maxAttempts": 3
|
|
44
|
+
},
|
|
45
|
+
"next": "fix"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "fix",
|
|
49
|
+
"name": "Fix the types",
|
|
50
|
+
"description": "replace loose types with precise ones",
|
|
51
|
+
"prompt": "Apply precise types from the audit. Step 1: Annotate every parameter and return; replace each `any` with the real type the values demand. Step 2: Remove unsafe casts and non-null assertions by narrowing properly (type guards, discriminated unions) instead of asserting. Step 3: Where it helps, introduce generics or union types so illegal states cannot be constructed. Step 4: Enable the strict compiler settings and resolve every resulting error — do NOT silence them with `any` or `@ts-ignore`. Step 5: Confirm runtime behavior is unchanged (this is a types-only pass). Write the typed source to the produces path. On a loop-back, address only the remaining flagged spots. `write_task_note` the count of `any`s removed and which criteria now pass.",
|
|
52
|
+
"suggestedRole": "developer",
|
|
53
|
+
"advanceWhen": {
|
|
54
|
+
"file": "src/typed.ts",
|
|
55
|
+
"minBytes": 1,
|
|
56
|
+
"sniff": "nonempty"
|
|
57
|
+
},
|
|
58
|
+
"gate": {
|
|
59
|
+
"at": "completion",
|
|
60
|
+
"checks": [
|
|
61
|
+
{
|
|
62
|
+
"kind": "minBytes",
|
|
63
|
+
"file": "src/typed.ts",
|
|
64
|
+
"bytes": 200
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"kind": "sniff",
|
|
68
|
+
"file": "src/typed.ts",
|
|
69
|
+
"sniff": "nonempty"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"kind": "esmImports",
|
|
73
|
+
"file": "src/typed.ts"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"kind": "sourceParses",
|
|
77
|
+
"file": "src/typed.ts"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"onReject": "fix",
|
|
81
|
+
"maxAttempts": 3
|
|
82
|
+
},
|
|
83
|
+
"next": "verify"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"id": "verify",
|
|
87
|
+
"name": "Verify type safety",
|
|
88
|
+
"description": "confirm strict-clean and behavior unchanged",
|
|
89
|
+
"prompt": "Verify the types are genuinely tighter and nothing was swept under the rug. Step 1: Run the type-checker under the strict settings and confirm zero errors. Step 2: Search for any remaining `any`, `as`, `!`, or `@ts-ignore`/`@ts-expect-error` and confirm each remaining one is justified (or gone). Step 3: Confirm the runtime behavior is unchanged (tests still green, no logic edits disguised as type edits). Step 4: Spot-check that the new types are precise, not just `unknown`-everywhere busywork. Write a verification note with the type-check result and the residual-escape-hatch count 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.",
|
|
90
|
+
"suggestedRole": "reviewer",
|
|
91
|
+
"advanceWhen": {
|
|
92
|
+
"file": "{{workPath}}/verify.md",
|
|
93
|
+
"minBytes": 1,
|
|
94
|
+
"sniff": "nonempty",
|
|
95
|
+
"artifact": true
|
|
96
|
+
},
|
|
97
|
+
"gate": {
|
|
98
|
+
"at": "completion",
|
|
99
|
+
"checks": [
|
|
100
|
+
{
|
|
101
|
+
"kind": "minBytes",
|
|
102
|
+
"file": "src/typed.ts",
|
|
103
|
+
"bytes": 200
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"kind": "sniff",
|
|
107
|
+
"file": "src/typed.ts",
|
|
108
|
+
"sniff": "nonempty"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"kind": "esmImports",
|
|
112
|
+
"file": "src/typed.ts"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"kind": "sourceParses",
|
|
116
|
+
"file": "src/typed.ts"
|
|
117
|
+
}
|
|
118
|
+
],
|
|
119
|
+
"onReject": "verify",
|
|
120
|
+
"maxAttempts": 4
|
|
121
|
+
},
|
|
122
|
+
"next": "evaluate"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"id": "evaluate",
|
|
126
|
+
"name": "Evaluate",
|
|
127
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
128
|
+
"prompt": "Run the type-checker under strict settings and the test suite. For EACH acceptance criterion: confirm no explicit/implicit `any` remains, confirm unsafe casts and ignore-comments are gone or justified, confirm the type-checker is clean under strict, and confirm runtime behavior is unchanged. Write PASS/FAIL per criterion; replacing one `any` with another or using `@ts-ignore` to pass is a FAIL.\n\nThen route — this is the whole point of the loop:\n\n- **Every criterion PASSES →** call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`.\n- **Any criterion FAILS →** write the specific gaps to notes, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"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.",
|
|
129
|
+
"suggestedRole": "reviewer",
|
|
130
|
+
"consumes": [
|
|
131
|
+
{
|
|
132
|
+
"file": "src/typed.ts"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"next": "fix"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"id": "finish",
|
|
139
|
+
"name": "Finish",
|
|
140
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
141
|
+
"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.",
|
|
142
|
+
"suggestedRole": "developer",
|
|
143
|
+
"terminal": true
|
|
144
|
+
}
|
|
145
|
+
],
|
|
146
|
+
"version": "1.0.2",
|
|
147
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
148
|
+
"paramSchema": {
|
|
149
|
+
"type": "object",
|
|
150
|
+
"properties": {
|
|
151
|
+
"workPath": {
|
|
152
|
+
"type": "string",
|
|
153
|
+
"title": "Working folder",
|
|
154
|
+
"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.",
|
|
155
|
+
"default": "{{task.dir}}"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"minGezelVersion": "1.26233"
|
|
160
|
+
}
|