@bendyline/gilde 0.1.38 → 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.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.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
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "whitepaper",
|
|
3
|
+
"name": "Whitepaper",
|
|
4
|
+
"description": "Author a long-form, authoritative whitepaper that makes a researched argument — a technical position paper, industry analysis, or thought-leadership piece with citations. Does the RESEARCH first to ground every claim, then locks a logical section outline and thesis, then writes the full long-form document with an abstract, numbered sections, evidence, figures, and a references list. Use when the deliverable must be credible, sourced, and substantial rather than a quick blog post.\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. Research (researcher) — gather and cite the evidence the argument will rest on → gated on artifact `{{workPath}}/research.md` (markdown-notes)\n2. Outline (planner) — thesis + logical section flow mapped to the evidence → gated on artifact `{{workPath}}/outline.md` (markdown-notes)\n3. Write the whitepaper (copywriter) — write the full long-form {{workPath}}/report.md with citations and references → 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": "research",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"write a whitepaper",
|
|
8
|
+
"white paper",
|
|
9
|
+
"position paper",
|
|
10
|
+
"thought leadership piece",
|
|
11
|
+
"technical paper",
|
|
12
|
+
"long form report with citations"
|
|
13
|
+
],
|
|
14
|
+
"steps": [
|
|
15
|
+
{
|
|
16
|
+
"id": "research",
|
|
17
|
+
"name": "Research",
|
|
18
|
+
"description": "gather and cite the evidence the argument will rest on",
|
|
19
|
+
"prompt": "Ground the paper in evidence before any outline or prose. Step 1: restate the central question/thesis the whitepaper will argue. Step 2: gather the supporting material — use any available web/search/fetch tools, or the provided corpus — capturing for each finding a one-line claim, the source/citation, and a relevance note. Step 3: note counter-arguments and the strongest opposing evidence so the paper can address them honestly. Step 4: identify what data would make a useful figure or table and whether you have it. Step 5: write an evidence log (claim -> source -> note) and a research-criteria checklist ('thesis is stated', 'each major claim has at least one citable source', 'at least one counter-argument captured', 'sources are real and identified, not invented'). Write the evidence log + checklist via write_task_note AND to {{workPath}}/research.md. Do NOT fabricate sources — if you cannot find support for a claim, mark it as an assumption to soften in the prose.\n\nThe deliverable `{{workPath}}/research.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.",
|
|
20
|
+
"suggestedRole": "researcher",
|
|
21
|
+
"advanceWhen": {
|
|
22
|
+
"file": "{{workPath}}/research.md",
|
|
23
|
+
"minBytes": 1,
|
|
24
|
+
"sniff": "nonempty",
|
|
25
|
+
"artifact": true
|
|
26
|
+
},
|
|
27
|
+
"gate": {
|
|
28
|
+
"at": "completion",
|
|
29
|
+
"checks": [
|
|
30
|
+
{
|
|
31
|
+
"kind": "minBytes",
|
|
32
|
+
"file": "{{workPath}}/research.md",
|
|
33
|
+
"bytes": 120,
|
|
34
|
+
"artifact": true
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"kind": "sniff",
|
|
38
|
+
"file": "{{workPath}}/research.md",
|
|
39
|
+
"sniff": "nonempty",
|
|
40
|
+
"artifact": true
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"onReject": "research",
|
|
44
|
+
"maxAttempts": 3
|
|
45
|
+
},
|
|
46
|
+
"next": "outline"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "outline",
|
|
50
|
+
"name": "Outline",
|
|
51
|
+
"description": "thesis + logical section flow mapped to the evidence",
|
|
52
|
+
"prompt": "Turn the evidence into a logical structure. Step 1: write the one-paragraph thesis the paper defends. Step 2: lay out the sections in argument order — abstract, introduction (problem + thesis), background/context, the core argument broken into 2-4 numbered sections, a section addressing counter-arguments, implications/recommendations, and a references section. Step 3: under each section list the evidence-log items (with their citations) that support it, so the writer knows exactly what to cite where. Step 4: mark where figures/tables belong. Step 5: write an acceptance-criteria checklist ('has an abstract that summarizes the whole argument', 'sections are numbered and flow logically to the thesis', 'a counter-argument section is present', 'every major claim cites a source from the evidence log', 'ends with a references list matching the in-text citations'). Write the outline (with evidence mapped per section) + checklist via write_task_note AND to {{workPath}}/outline.md. No body prose yet.\n\nThe deliverable `{{workPath}}/outline.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.",
|
|
53
|
+
"suggestedRole": "planner",
|
|
54
|
+
"advanceWhen": {
|
|
55
|
+
"file": "{{workPath}}/outline.md",
|
|
56
|
+
"minBytes": 1,
|
|
57
|
+
"sniff": "nonempty",
|
|
58
|
+
"artifact": true
|
|
59
|
+
},
|
|
60
|
+
"gate": {
|
|
61
|
+
"at": "completion",
|
|
62
|
+
"checks": [
|
|
63
|
+
{
|
|
64
|
+
"kind": "minBytes",
|
|
65
|
+
"file": "{{workPath}}/outline.md",
|
|
66
|
+
"bytes": 120,
|
|
67
|
+
"artifact": true
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"kind": "sniff",
|
|
71
|
+
"file": "{{workPath}}/outline.md",
|
|
72
|
+
"sniff": "nonempty",
|
|
73
|
+
"artifact": true
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"onReject": "outline",
|
|
77
|
+
"maxAttempts": 3
|
|
78
|
+
},
|
|
79
|
+
"next": "write"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "write",
|
|
83
|
+
"name": "Write the whitepaper",
|
|
84
|
+
"description": "write the full long-form {{workPath}}/report.md with citations and references",
|
|
85
|
+
"prompt": "Write the full whitepaper as {{workPath}}/report.md in markdown. Step 1: open with an abstract (~150 words) that summarizes problem, argument, and conclusion so it stands alone. Step 2: write each numbered section in outlined order as substantive prose (this is long-form — paragraphs, not bullets), weaving in the mapped evidence and citing each major claim inline (e.g. [1], [2] or author-year) tied to the references list. Step 3: include the marked figures/tables (markdown tables or described figures) with captions referenced in the text. Step 4: write the counter-argument section honestly, then rebut or qualify it. Step 5: close with implications/recommendations, then a numbered References section listing every cited source. Keep an authoritative, measured voice; do not introduce claims that lack support in the evidence log. On a loop-back, fix ONLY the named gaps. Write the path + section/citation counts via write_task_note.\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.",
|
|
86
|
+
"suggestedRole": "copywriter",
|
|
87
|
+
"advanceWhen": {
|
|
88
|
+
"file": "{{workPath}}/report.md",
|
|
89
|
+
"minBytes": 1,
|
|
90
|
+
"sniff": "nonempty",
|
|
91
|
+
"artifact": true
|
|
92
|
+
},
|
|
93
|
+
"gate": {
|
|
94
|
+
"at": "completion",
|
|
95
|
+
"checks": [
|
|
96
|
+
{
|
|
97
|
+
"kind": "minBytes",
|
|
98
|
+
"file": "{{workPath}}/report.md",
|
|
99
|
+
"bytes": 1500,
|
|
100
|
+
"artifact": true
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"kind": "contains",
|
|
104
|
+
"file": "{{workPath}}/report.md",
|
|
105
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
106
|
+
"flags": "i",
|
|
107
|
+
"label": "at least one markdown heading",
|
|
108
|
+
"artifact": true
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"onReject": "write",
|
|
112
|
+
"maxAttempts": 4
|
|
113
|
+
},
|
|
114
|
+
"next": "evaluate"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"id": "evaluate",
|
|
118
|
+
"name": "Evaluate",
|
|
119
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
120
|
+
"prompt": "QA the whitepaper against the locked criteria. Step 1: read {{workPath}}/report.md end to end. Step 2: confirm the abstract stands alone and summarizes the full argument. Step 3: check EACH acceptance criterion: sections are numbered and flow logically to the thesis, a counter-argument section is present and addressed, every major claim carries an inline citation, and a References section lists every cited source with no orphan or dangling citations. Step 4: spot-check 2-3 citations against the evidence log and confirm no sources were fabricated. Step 5: confirm it reads as substantive long-form prose, not padded bullets. Write PASS/FAIL per criterion, noting the offending section on any FAIL.\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: \"write\" })` 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.",
|
|
121
|
+
"suggestedRole": "reviewer",
|
|
122
|
+
"consumes": [
|
|
123
|
+
{
|
|
124
|
+
"file": "{{workPath}}/report.md",
|
|
125
|
+
"artifact": true
|
|
126
|
+
}
|
|
127
|
+
],
|
|
128
|
+
"next": "write"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"id": "finish",
|
|
132
|
+
"name": "Finish",
|
|
133
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
134
|
+
"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.",
|
|
135
|
+
"suggestedRole": "developer",
|
|
136
|
+
"terminal": true
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"version": "1.0.2",
|
|
140
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
141
|
+
"paramSchema": {
|
|
142
|
+
"type": "object",
|
|
143
|
+
"properties": {
|
|
144
|
+
"workPath": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"title": "Working folder",
|
|
147
|
+
"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.",
|
|
148
|
+
"default": "{{task.dir}}"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
"minGezelVersion": "1.26233"
|
|
153
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Whitepaper smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Whitepaper craftbook using the corpus generic harness.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"corpus"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "We need a whitepaper for the returns-desk work. The backgound info is in source/brief.md — have a look and write it up in tasks/eval/report.md.",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Whitepaper Eval",
|
|
11
|
+
"about": "Self-contained eval project for whitepaper. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/report.md.",
|
|
12
|
+
"missionObjectives": "Use the Whitepaper craftbook/template, read the seeded local fixtures, and write tasks/eval/report.md without network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/brief.md",
|
|
16
|
+
"content": "# Whitepaper 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: whitepaper - Whitepaper.\n"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"worker": {
|
|
20
|
+
"name": "Jules",
|
|
21
|
+
"role": "Writer"
|
|
22
|
+
},
|
|
23
|
+
"craftbookParams": {
|
|
24
|
+
"workPath": "tasks/eval"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"mocks": [],
|
|
28
|
+
"success": {
|
|
29
|
+
"summary": "tasks/eval/report.md is a source-grounded markdown artifact with required facts and actions.",
|
|
30
|
+
"deliverables": [
|
|
31
|
+
{
|
|
32
|
+
"path": "tasks/eval/report.md",
|
|
33
|
+
"kind": "markdown-report",
|
|
34
|
+
"minBytes": 1000,
|
|
35
|
+
"checks": [
|
|
36
|
+
{
|
|
37
|
+
"kind": "contains",
|
|
38
|
+
"file": "tasks/eval/report.md",
|
|
39
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
40
|
+
"flags": "i"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"kind": "contains",
|
|
44
|
+
"file": "tasks/eval/report.md",
|
|
45
|
+
"pattern": "source/brief\\.md|Brief",
|
|
46
|
+
"flags": "i",
|
|
47
|
+
"label": "cite or name the seeded source"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"kind": "contains",
|
|
51
|
+
"file": "tasks/eval/report.md",
|
|
52
|
+
"pattern": "18\\b[\\s\\S]{0,30}\\bSKUs",
|
|
53
|
+
"flags": "i",
|
|
54
|
+
"label": "include the 18-SKU pilot scope"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"kind": "contains",
|
|
58
|
+
"file": "tasks/eval/report.md",
|
|
59
|
+
"pattern": "18\\s*hours|6\\s*hours",
|
|
60
|
+
"flags": "i"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"kind": "contains",
|
|
64
|
+
"file": "tasks/eval/report.md",
|
|
65
|
+
"pattern": "14\\.2%|8\\.9%",
|
|
66
|
+
"flags": "i"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"kind": "contains",
|
|
70
|
+
"file": "tasks/eval/report.md",
|
|
71
|
+
"pattern": "status silence|photo submission",
|
|
72
|
+
"flags": "i"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"kind": "contains",
|
|
76
|
+
"file": "tasks/eval/report.md",
|
|
77
|
+
"pattern": "automated status emails|barcode|Finance",
|
|
78
|
+
"flags": "i"
|
|
79
|
+
}
|
|
80
|
+
]
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"rubric": {
|
|
85
|
+
"artifact": {
|
|
86
|
+
"path": "tasks/eval/report.md",
|
|
87
|
+
"kind": "markdown"
|
|
88
|
+
},
|
|
89
|
+
"axes": [
|
|
90
|
+
{
|
|
91
|
+
"name": "grounding",
|
|
92
|
+
"description": "Seeded facts appear faithfully and the source is cited."
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"name": "structure",
|
|
96
|
+
"description": "Sections progress logically for the artifact class."
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"name": "completeness",
|
|
100
|
+
"description": "Required elements (risks, next actions, scope) are all present."
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"name": "tone",
|
|
104
|
+
"description": "The register fits the audience and artifact class."
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"qualityFocus": [
|
|
109
|
+
"source-grounded prose",
|
|
110
|
+
"section structure",
|
|
111
|
+
"next-action clarity"
|
|
112
|
+
]
|
|
113
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "year-in-review",
|
|
3
|
+
"name": "Year in Review",
|
|
4
|
+
"description": "Build the year-in-review that makes someone cry the good way: every month represented or its gap acknowledged, the people balanced, the closing image chosen on purpose — the annual ritual the whole photo archive exists for. Locks the year and the coverage criteria FIRST, then curates the selection month by month, then narrates the year's thread. Use for year-in-review albums, annual photo retrospectives, 'the year in photos', December album rituals, and closing out the year's archive.\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 year (archivist) — the year's months mapped, coverage criteria locked → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Curate the year (curator) — month-by-month picks, cast balanced, opener and closer chosen\n3. Narrate the year (copywriter) — month sections, gaps named kindly, the year's thread → 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
|
+
"year in review album",
|
|
8
|
+
"the year in photos",
|
|
9
|
+
"build the annual album",
|
|
10
|
+
"december photo ritual",
|
|
11
|
+
"year in review"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "scope",
|
|
16
|
+
"name": "Scope the year",
|
|
17
|
+
"description": "the year's months mapped, coverage criteria locked",
|
|
18
|
+
"prompt": "Define the year before picking a photo. Step 1: read photos/index.json from the workspace and establish the year under review — the span the index covers — month by month: how many photos each month holds and where the thin months are. Step 2: read the caption notes alongside the photos (photos/*.txt) and confirm with the owner who and what mattered this year — the people who should be present, the events that anchor it. Step 3: lock the coverage criteria — every month is represented by at least one pick or its gap is named honestly in the review; the people balance out across the year rather than one face filling every page; the opening and closing images are chosen on purpose, not by timestamp. Step 4: write an acceptance-criteria checklist ('every month represented or its gap acknowledged in the review', 'every pick exists in the photo index', 'people balanced across the selection', 'opener and closer chosen with stated reasons', 'the review names the year's thread'). Call write_task_note with the per-month counts + 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": "archivist",
|
|
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": "curate"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "curate",
|
|
49
|
+
"name": "Curate the year",
|
|
50
|
+
"description": "month-by-month picks, cast balanced, opener and closer chosen",
|
|
51
|
+
"prompt": "Curate the year's selection. Step 1: walk the index month by month and shortlist the frames that carry each month — the caption notes tell you what the camera saw. Step 2: balance the cast — if one person dominates the shortlist, trade near-equal frames toward the people who are missing. Step 3: choose the opener and the closer deliberately — the image that starts the year's story and the one that ends it — and note why. Step 4: write the selection manifest into albums/ named for the year (year-<yyyy>.json) — a JSON array, one record per pick with file, month, and caption, the file spelled exactly as the index spells it. Call write_task_note with the pick count per month and the opener/closer choices.",
|
|
52
|
+
"suggestedRole": "curator",
|
|
53
|
+
"next": "narrate"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"id": "narrate",
|
|
57
|
+
"name": "Narrate the year",
|
|
58
|
+
"description": "month sections, gaps named kindly, the year's thread",
|
|
59
|
+
"prompt": "Write the year's review to sit beside the album. Step 1: open with the year's thread — the sentence the whole album argues. Step 2: a short section per month — what the month held, carried by its picks' captions; where a month is thin or empty, say so plainly and kindly, because the gap is part of the year too. Step 3: close on the closing image — why it ends the year. Step 4: keep it the kind of thing someone reads aloud at the table in December. Write {{workPath}}/report.md and call write_task_note with the report path and the year's thread.\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.",
|
|
60
|
+
"suggestedRole": "copywriter",
|
|
61
|
+
"advanceWhen": {
|
|
62
|
+
"file": "{{workPath}}/report.md",
|
|
63
|
+
"minBytes": 1,
|
|
64
|
+
"sniff": "nonempty",
|
|
65
|
+
"artifact": true
|
|
66
|
+
},
|
|
67
|
+
"gate": {
|
|
68
|
+
"at": "completion",
|
|
69
|
+
"checks": [
|
|
70
|
+
{
|
|
71
|
+
"kind": "minBytes",
|
|
72
|
+
"file": "{{workPath}}/report.md",
|
|
73
|
+
"bytes": 1500,
|
|
74
|
+
"artifact": true
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"kind": "contains",
|
|
78
|
+
"file": "{{workPath}}/report.md",
|
|
79
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
80
|
+
"flags": "i",
|
|
81
|
+
"label": "at least one markdown heading",
|
|
82
|
+
"artifact": true
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"onReject": "narrate",
|
|
86
|
+
"maxAttempts": 4
|
|
87
|
+
},
|
|
88
|
+
"next": "evaluate"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"id": "evaluate",
|
|
92
|
+
"name": "Evaluate",
|
|
93
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
94
|
+
"prompt": "Open the year manifest in albums/, {{workPath}}/report.md, and photos/index.json and verify every criterion from {{workPath}}/scope.md: every month of the year is represented in the manifest or its gap named in the review (check the thin months especially), every pick's file appears in the photo index exactly, the cast is balanced rather than one face throughout, the opener and closer are identified with reasons, and the review carries a month-by-month shape with the year's thread stated. Write PASS/FAIL per criterion; on any failure, name the gap and loop back to curate.\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: \"curate\" })` 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.",
|
|
95
|
+
"suggestedRole": "reviewer",
|
|
96
|
+
"consumes": [
|
|
97
|
+
{
|
|
98
|
+
"file": "{{workPath}}/report.md",
|
|
99
|
+
"artifact": true
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"next": "curate"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "finish",
|
|
106
|
+
"name": "Finish",
|
|
107
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
108
|
+
"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.",
|
|
109
|
+
"suggestedRole": "developer",
|
|
110
|
+
"terminal": true
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"version": "1.0.2",
|
|
114
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
115
|
+
"paramSchema": {
|
|
116
|
+
"type": "object",
|
|
117
|
+
"properties": {
|
|
118
|
+
"workPath": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"title": "Working folder",
|
|
121
|
+
"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.",
|
|
122
|
+
"default": "{{task.dir}}"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"minGezelVersion": "1.26233"
|
|
127
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Year in Review smoke eval",
|
|
4
|
+
"objective": "Task-specific eval for the Year in Review craftbook: a year of indexed photos (March empty) becomes a 12+ pick manifest that exists entirely in the index, and a review that acknowledges the March gap while carrying the year's thread.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"data"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "its december — time for the year in reveiw album. the photo index has the whole year and the caption notes are alongside it",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Photo Curator — Year in Review Eval",
|
|
11
|
+
"about": "Self-contained eval project for year-in-review. The watched-folder import has indexed the whole year into photos/index.json (files + timestamps), with caption notes for standout frames as photos/IMG_NNNN.txt. The selection manifest goes under albums/ and the review goes to tasks/eval/report.md.",
|
|
12
|
+
"missionObjectives": "Use the Year in Review craftbook/template, curate from the seeded photo index only, and finish with the year manifest under albums/ plus tasks/eval/report.md. No live services or real photo tools — the index and caption notes are the whole record.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "photos/index.json",
|
|
16
|
+
"content": "[\n {\n \"file\": \"IMG_5001.jpg\",\n \"taken\": \"2026-01-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5002.jpg\",\n \"taken\": \"2026-01-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5003.jpg\",\n \"taken\": \"2026-01-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5004.jpg\",\n \"taken\": \"2026-01-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5005.jpg\",\n \"taken\": \"2026-02-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5006.jpg\",\n \"taken\": \"2026-02-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5007.jpg\",\n \"taken\": \"2026-02-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5008.jpg\",\n \"taken\": \"2026-02-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5009.jpg\",\n \"taken\": \"2026-02-23T13:40:00\"\n },\n {\n \"file\": \"IMG_5010.jpg\",\n \"taken\": \"2026-04-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5011.jpg\",\n \"taken\": \"2026-04-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5012.jpg\",\n \"taken\": \"2026-04-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5013.jpg\",\n \"taken\": \"2026-04-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5014.jpg\",\n \"taken\": \"2026-05-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5015.jpg\",\n \"taken\": \"2026-05-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5016.jpg\",\n \"taken\": \"2026-05-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5017.jpg\",\n \"taken\": \"2026-05-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5018.jpg\",\n \"taken\": \"2026-05-23T13:40:00\"\n },\n {\n \"file\": \"IMG_5019.jpg\",\n \"taken\": \"2026-06-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5020.jpg\",\n \"taken\": \"2026-06-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5021.jpg\",\n \"taken\": \"2026-06-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5022.jpg\",\n \"taken\": \"2026-06-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5023.jpg\",\n \"taken\": \"2026-06-23T13:40:00\"\n },\n {\n \"file\": \"IMG_5024.jpg\",\n \"taken\": \"2026-06-28T16:47:00\"\n },\n {\n \"file\": \"IMG_5025.jpg\",\n \"taken\": \"2026-07-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5026.jpg\",\n \"taken\": \"2026-07-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5027.jpg\",\n \"taken\": \"2026-07-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5028.jpg\",\n \"taken\": \"2026-07-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5029.jpg\",\n \"taken\": \"2026-07-23T13:40:00\"\n },\n {\n \"file\": \"IMG_5030.jpg\",\n \"taken\": \"2026-07-28T16:47:00\"\n },\n {\n \"file\": \"IMG_5031.jpg\",\n \"taken\": \"2026-08-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5032.jpg\",\n \"taken\": \"2026-08-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5033.jpg\",\n \"taken\": \"2026-08-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5034.jpg\",\n \"taken\": \"2026-08-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5035.jpg\",\n \"taken\": \"2026-08-23T13:40:00\"\n },\n {\n \"file\": \"IMG_5036.jpg\",\n \"taken\": \"2026-09-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5037.jpg\",\n \"taken\": \"2026-09-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5038.jpg\",\n \"taken\": \"2026-09-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5039.jpg\",\n \"taken\": \"2026-09-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5040.jpg\",\n \"taken\": \"2026-10-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5041.jpg\",\n \"taken\": \"2026-10-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5042.jpg\",\n \"taken\": \"2026-10-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5043.jpg\",\n \"taken\": \"2026-10-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5044.jpg\",\n \"taken\": \"2026-10-23T13:40:00\"\n },\n {\n \"file\": \"IMG_5045.jpg\",\n \"taken\": \"2026-11-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5046.jpg\",\n \"taken\": \"2026-11-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5047.jpg\",\n \"taken\": \"2026-11-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5048.jpg\",\n \"taken\": \"2026-11-18T10:33:00\"\n },\n {\n \"file\": \"IMG_5049.jpg\",\n \"taken\": \"2026-12-03T10:12:00\"\n },\n {\n \"file\": \"IMG_5050.jpg\",\n \"taken\": \"2026-12-08T13:19:00\"\n },\n {\n \"file\": \"IMG_5051.jpg\",\n \"taken\": \"2026-12-13T16:26:00\"\n },\n {\n \"file\": \"IMG_5052.jpg\",\n \"taken\": \"2026-12-18T10:33:00\"\n }\n]\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "photos/IMG_5002.txt",
|
|
20
|
+
"content": "CAPTION NOTE (pre-extracted from IMG_5002.jpg)\n\nJanuary sledding on the reservoir hill - Ada airborne, Milo bracing for the crash that followed.\n"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"path": "photos/IMG_5007.txt",
|
|
24
|
+
"content": "CAPTION NOTE (pre-extracted from IMG_5007.jpg)\n\nFebruary - Oma's eightieth, four generations squeezed onto one couch, nobody looking at the same camera.\n"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"path": "photos/IMG_5011.txt",
|
|
28
|
+
"content": "CAPTION NOTE (pre-extracted from IMG_5011.jpg)\n\nApril - first garden day, seed trays on every windowsill, muddy handprint on the door.\n"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"path": "photos/IMG_5024.txt",
|
|
32
|
+
"content": "CAPTION NOTE (pre-extracted from IMG_5024.jpg)\n\nJuly - the lake weekend, cannonball mid-air, the summer's loudest hour.\n"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"path": "photos/IMG_5040.txt",
|
|
36
|
+
"content": "CAPTION NOTE (pre-extracted from IMG_5040.jpg)\n\nOctober - homemade robot costume with the cardboard arms that fell off by the third house.\n"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "photos/IMG_5049.txt",
|
|
40
|
+
"content": "CAPTION NOTE (pre-extracted from IMG_5049.jpg)\n\nDecember - solstice walk, everyone's breath visible, the year's last golden light through the birches.\n"
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"worker": {
|
|
44
|
+
"name": "Loes",
|
|
45
|
+
"role": "Curator"
|
|
46
|
+
},
|
|
47
|
+
"craftbookParams": {
|
|
48
|
+
"workPath": "tasks/eval"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"mocks": [],
|
|
52
|
+
"success": {
|
|
53
|
+
"summary": "albums/year-2026.json is a schema-clean manifest of 12+ picks that all exist in the photo index, and tasks/eval/report.md narrates the year month by month — with empty March acknowledged honestly instead of papered over.",
|
|
54
|
+
"deliverables": [
|
|
55
|
+
{
|
|
56
|
+
"path": "albums/year-2026.json",
|
|
57
|
+
"kind": "json",
|
|
58
|
+
"minBytes": 400,
|
|
59
|
+
"checks": [
|
|
60
|
+
{
|
|
61
|
+
"kind": "recordSchema",
|
|
62
|
+
"file": "albums/year-2026.json",
|
|
63
|
+
"fields": [
|
|
64
|
+
{
|
|
65
|
+
"name": "file",
|
|
66
|
+
"type": "nonempty"
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"name": "month",
|
|
70
|
+
"type": "nonempty"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"name": "caption",
|
|
74
|
+
"type": "nonempty"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"minRows": 12
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"kind": "valuesSubsetOf",
|
|
81
|
+
"file": "albums/year-2026.json",
|
|
82
|
+
"sourceFiles": [
|
|
83
|
+
"photos/index.json"
|
|
84
|
+
],
|
|
85
|
+
"pattern": "(IMG_\\d{4}\\.jpg)",
|
|
86
|
+
"flags": "gi",
|
|
87
|
+
"minMatches": 12
|
|
88
|
+
}
|
|
89
|
+
]
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"path": "tasks/eval/report.md",
|
|
93
|
+
"kind": "markdown-report",
|
|
94
|
+
"minBytes": 1200,
|
|
95
|
+
"checks": [
|
|
96
|
+
{
|
|
97
|
+
"kind": "contains",
|
|
98
|
+
"file": "tasks/eval/report.md",
|
|
99
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
100
|
+
"flags": "i"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"kind": "contains",
|
|
104
|
+
"file": "tasks/eval/report.md",
|
|
105
|
+
"pattern": "March",
|
|
106
|
+
"flags": "i",
|
|
107
|
+
"label": "the empty March is acknowledged, not papered over"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"kind": "judge",
|
|
111
|
+
"file": "tasks/eval/report.md",
|
|
112
|
+
"rubric": "The review has an emotional arc: a year's thread stated up front, carried through month sections that lean on the picks' captions, ending on a deliberately chosen closing image — and the photo-less March is named honestly and kindly.",
|
|
113
|
+
"label": "the arc earns December"
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"rubric": {
|
|
120
|
+
"artifact": {
|
|
121
|
+
"path": "tasks/eval/report.md",
|
|
122
|
+
"kind": "markdown"
|
|
123
|
+
},
|
|
124
|
+
"axes": [
|
|
125
|
+
{
|
|
126
|
+
"name": "emotional-arc",
|
|
127
|
+
"description": "A year's thread stated up front and carried to a deliberate closing image — the review reads aloud well at a December table."
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "coverage-honesty",
|
|
131
|
+
"description": "Every month is represented in the manifest or its gap is named plainly in the review — especially empty March."
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "selection",
|
|
135
|
+
"description": "Picks exist in the index, the caption-noted anchors are present, and no single face dominates the year."
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"name": "captions",
|
|
139
|
+
"description": "Manifest captions are specific and warm, building on the caption notes where they exist."
|
|
140
|
+
}
|
|
141
|
+
]
|
|
142
|
+
},
|
|
143
|
+
"qualityFocus": [
|
|
144
|
+
"coverage honesty",
|
|
145
|
+
"no invented photos",
|
|
146
|
+
"deliberate opener and closer"
|
|
147
|
+
]
|
|
148
|
+
}
|