@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,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Alt-Text Pass smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Alt-Text Pass craftbook using the html-page generic harness.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"html-page"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "Can you biuld us a little page for this? The content notes are in source/page-content.md. Save it as index.html — one file, nothing fancy needed on our end.",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Alt-Text Pass Eval",
|
|
11
|
+
"about": "Self-contained eval project for alt-text-pass. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/index.html.",
|
|
12
|
+
"missionObjectives": "Use the Alt-Text Pass craftbook/template, read the seeded local fixtures, and write index.html without network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/brief.md",
|
|
16
|
+
"content": "# Alt-Text Pass 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: alt-text-pass - Alt-Text Pass.\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "source/page-content.md",
|
|
20
|
+
"content": "# Boreal Desk Support Board\n\nBuild content around a support operations board. Required labels: Open issues, Status silence, Response time, Refund leakage, Next action. Required metric text: 18 hours to 6 hours and 14.2% to 8.9%.\n"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"worker": {
|
|
24
|
+
"name": "Jules",
|
|
25
|
+
"role": "Developer"
|
|
26
|
+
},
|
|
27
|
+
"craftbookParams": {
|
|
28
|
+
"workPath": "tasks/eval"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"mocks": [],
|
|
32
|
+
"success": {
|
|
33
|
+
"summary": "index.html is a source-grounded self-contained HTML page/tool.",
|
|
34
|
+
"deliverables": [
|
|
35
|
+
{
|
|
36
|
+
"path": "index.html",
|
|
37
|
+
"kind": "html-page",
|
|
38
|
+
"minBytes": 3000,
|
|
39
|
+
"checks": [
|
|
40
|
+
{
|
|
41
|
+
"kind": "cssMinBytes",
|
|
42
|
+
"bytes": 650,
|
|
43
|
+
"file": "index.html"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"kind": "jsParses",
|
|
47
|
+
"file": "index.html"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"kind": "contains",
|
|
51
|
+
"file": "index.html",
|
|
52
|
+
"pattern": "Boreal|Support Board|returns",
|
|
53
|
+
"flags": "i"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"kind": "contains",
|
|
57
|
+
"file": "index.html",
|
|
58
|
+
"pattern": "18\\s*hours|6\\s*hours|14\\.2%|8\\.9%",
|
|
59
|
+
"flags": "i"
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"kind": "contains",
|
|
63
|
+
"file": "index.html",
|
|
64
|
+
"pattern": "button|input|filter|tab|card|section|nav",
|
|
65
|
+
"flags": "i"
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
},
|
|
71
|
+
"rubric": {
|
|
72
|
+
"artifact": {
|
|
73
|
+
"path": "index.html",
|
|
74
|
+
"kind": "html"
|
|
75
|
+
},
|
|
76
|
+
"axes": [
|
|
77
|
+
{
|
|
78
|
+
"name": "structure",
|
|
79
|
+
"description": "Layout and hierarchy fit the content; sections are scannable and coherent."
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"name": "grounding",
|
|
83
|
+
"description": "Seeded source content is used faithfully — no invented facts or dropped requirements."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "interactivity",
|
|
87
|
+
"description": "Controls and states the page claims to offer actually work."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "polish",
|
|
91
|
+
"description": "Styling is intentional and responsive rather than unstyled or broken."
|
|
92
|
+
}
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"qualityFocus": [
|
|
96
|
+
"self-contained UI",
|
|
97
|
+
"source grounding",
|
|
98
|
+
"responsive structure"
|
|
99
|
+
]
|
|
100
|
+
}
|
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "anniversary-cut",
|
|
3
|
+
"name": "Anniversary Cut",
|
|
4
|
+
"description": "Build the highlight reel for the occasion: the archive queried for the person and the years that matter, clips chosen with stated reasons, assembled through the project's media pipeline with a run log, and delivered with a chapter list and a dedication — the reel that makes the birthday. Locks the occasion and the selection criteria FIRST (era coverage, the famous moments in, a length budget), then selects from the archive with no invented footage, then assembles, then writes the presentation notes. Use for birthday reels, anniversary videos, memorial montages, 'make a highlight reel', and milestone tributes.\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 occasion (filmarchivaris) — occasion, person, selection criteria and length budget locked → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. Select the clips (curator) — the cut list: archive clips chosen with reasons, in reel order → gated on `cutlist.json` (json)\n3. Assemble the reel (developer) — the reel rendered through the media pipeline, log on disk → gated on `renders/assembly-log.json` (json)\n4. Chapters and dedication (copywriter) — the chapter list, the dedication, how to play it on the day → 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
|
+
"make a highlight reel",
|
|
8
|
+
"anniversary video",
|
|
9
|
+
"birthday montage",
|
|
10
|
+
"put together a tribute",
|
|
11
|
+
"clips of grandma over the years"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "scope",
|
|
16
|
+
"name": "Scope the occasion",
|
|
17
|
+
"description": "occasion, person, selection criteria and length budget locked",
|
|
18
|
+
"prompt": "Define the reel before pulling a single clip. Step 1: name the occasion and the person it honors, and read family.md so names and relationships are right. Step 2: read clips.json — the archive's indexed moments — and survey what exists for this person: which tapes, which years, which of the family-famous moments are on file. Step 3: lock the selection criteria — the reel covers the person's eras rather than clustering in one year, the moments the family always retells make the cut, every selection carries a stated reason, only clips that exist in the archive may be used (no invented footage, ever), and the total sticks to a length budget you set now from the occasion. Step 4: write an acceptance-criteria checklist ('every selected clip exists in clips.json', 'every selection has a reason', 'eras covered per the criteria', 'total within the length budget', 'assembled through the project's pipeline script via run_installed_script with a status-ok log', 'chapter list and dedication delivered'). Call write_task_note with the occasion + archive 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": "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": "select"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "select",
|
|
49
|
+
"name": "Select the clips",
|
|
50
|
+
"description": "the cut list: archive clips chosen with reasons, in reel order",
|
|
51
|
+
"prompt": "Choose the reel's clips from the archive against the locked criteria. Step 1: sweep clips.json for every candidate moment featuring the person, across all tapes and years. Step 2: select — the famous moments first, then the quieter ones that show an era the famous ones miss; cut candidates that repeat a beat already covered. Every clip id must come from clips.json exactly as indexed; if a moment the family remembers is not in the archive, note it as missing footage rather than inventing a reference. Step 3: order the selections into the reel's emotional arc — chronology is the default, but a strong opening and a strong close outrank strict order. Step 4: write cutlist.json as a JSON array, each record with the clip id from the archive and the reason it made the cut; keep the running total inside the length budget. Call write_task_note with the selection count, the era coverage in one line, and anything remembered-but-missing.",
|
|
52
|
+
"suggestedRole": "curator",
|
|
53
|
+
"advanceWhen": {
|
|
54
|
+
"file": "cutlist.json",
|
|
55
|
+
"minBytes": 1,
|
|
56
|
+
"sniff": "json-valid"
|
|
57
|
+
},
|
|
58
|
+
"gate": {
|
|
59
|
+
"at": "completion",
|
|
60
|
+
"checks": [
|
|
61
|
+
{
|
|
62
|
+
"kind": "minBytes",
|
|
63
|
+
"file": "cutlist.json",
|
|
64
|
+
"bytes": 2
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"kind": "recordSchema",
|
|
68
|
+
"file": "cutlist.json",
|
|
69
|
+
"fields": [
|
|
70
|
+
{
|
|
71
|
+
"name": "clip",
|
|
72
|
+
"type": "nonempty"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "reason",
|
|
76
|
+
"type": "nonempty"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"minRows": 5
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"kind": "valuesSubsetOf",
|
|
83
|
+
"file": "cutlist.json",
|
|
84
|
+
"sourceFiles": [
|
|
85
|
+
"clips.json"
|
|
86
|
+
],
|
|
87
|
+
"pattern": "\"clip\"\\s*:\\s*\"([^\"]+)\""
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
"scripts": [
|
|
91
|
+
{
|
|
92
|
+
"name": "checkJsonValid",
|
|
93
|
+
"scope": "standard",
|
|
94
|
+
"inputs": {
|
|
95
|
+
"file": "cutlist.json"
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"onReject": "select",
|
|
100
|
+
"maxAttempts": 3
|
|
101
|
+
},
|
|
102
|
+
"next": "assemble"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"id": "assemble",
|
|
106
|
+
"name": "Assemble the reel",
|
|
107
|
+
"description": "the reel rendered through the media pipeline, log on disk",
|
|
108
|
+
"prompt": "Assemble the reel from the cut list. Step 1: the assembly pipeline is a project script — call list_scripts to find it, then run it with run_installed_script({ name: \"<script name>\" }); never run it with run_nodejs_script and never reimplement it. It reads cutlist.json and the archive index, refuses any clip it cannot find, writes the render into renders/, and writes its run log to renders/assembly-log.json with a status field. Step 2: if run_installed_script reports an error, read the error text, fix what it names, and run it again — never write renders/assembly-log.json yourself; a fabricated log on a family keepsake is still a fabricated log. Step 3: once it succeeds, read the log and confirm status ok, the clip list matching the cut list, and the computed duration inside the length budget. Call write_task_note with the run outcome and the reel's duration.",
|
|
109
|
+
"suggestedRole": "developer",
|
|
110
|
+
"consumes": [
|
|
111
|
+
{
|
|
112
|
+
"file": "cutlist.json"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"advanceWhen": {
|
|
116
|
+
"file": "renders/assembly-log.json",
|
|
117
|
+
"minBytes": 1,
|
|
118
|
+
"sniff": "json-valid"
|
|
119
|
+
},
|
|
120
|
+
"gate": {
|
|
121
|
+
"at": "completion",
|
|
122
|
+
"checks": [
|
|
123
|
+
{
|
|
124
|
+
"kind": "minBytes",
|
|
125
|
+
"file": "renders/assembly-log.json",
|
|
126
|
+
"bytes": 2
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"kind": "fileCount",
|
|
130
|
+
"ext": [
|
|
131
|
+
"mp4"
|
|
132
|
+
],
|
|
133
|
+
"min": 1,
|
|
134
|
+
"dir": "renders"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"kind": "jsonPathEquals",
|
|
138
|
+
"file": "renders/assembly-log.json",
|
|
139
|
+
"path": "status",
|
|
140
|
+
"value": "ok",
|
|
141
|
+
"label": "the assembly log reports status ok"
|
|
142
|
+
}
|
|
143
|
+
],
|
|
144
|
+
"scripts": [
|
|
145
|
+
{
|
|
146
|
+
"name": "checkJsonValid",
|
|
147
|
+
"scope": "standard",
|
|
148
|
+
"inputs": {
|
|
149
|
+
"file": "renders/assembly-log.json"
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"onReject": "assemble",
|
|
154
|
+
"maxAttempts": 3
|
|
155
|
+
},
|
|
156
|
+
"next": "report"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"id": "report",
|
|
160
|
+
"name": "Chapters and dedication",
|
|
161
|
+
"description": "the chapter list, the dedication, how to play it on the day",
|
|
162
|
+
"prompt": "Write the presentation notes that turn a render into a gift. Step 1: write the chapter list — each selected moment in reel order with its rough position, who is in it, and one warm line about why it is there (the reasons from the cut list, written for the family rather than the archive). Step 2: write the dedication — a short paragraph to open or close the reel, in the family's voice, naming the occasion and the person. Step 3: add the practical notes — the reel's duration, where the render lives, and anything remembered-but-missing from the archive so nobody wonders why a famous moment is absent. Write {{workPath}}/report.md and call write_task_note with the report path and the chapter 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.",
|
|
163
|
+
"suggestedRole": "copywriter",
|
|
164
|
+
"advanceWhen": {
|
|
165
|
+
"file": "{{workPath}}/report.md",
|
|
166
|
+
"minBytes": 1,
|
|
167
|
+
"sniff": "nonempty",
|
|
168
|
+
"artifact": true
|
|
169
|
+
},
|
|
170
|
+
"gate": {
|
|
171
|
+
"at": "completion",
|
|
172
|
+
"checks": [
|
|
173
|
+
{
|
|
174
|
+
"kind": "minBytes",
|
|
175
|
+
"file": "{{workPath}}/report.md",
|
|
176
|
+
"bytes": 800,
|
|
177
|
+
"artifact": true
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"kind": "contains",
|
|
181
|
+
"file": "{{workPath}}/report.md",
|
|
182
|
+
"pattern": "chapter",
|
|
183
|
+
"flags": "i",
|
|
184
|
+
"label": "a chapter list for the reel",
|
|
185
|
+
"artifact": true
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"kind": "contains",
|
|
189
|
+
"file": "{{workPath}}/report.md",
|
|
190
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
191
|
+
"flags": "i",
|
|
192
|
+
"label": "at least one markdown heading",
|
|
193
|
+
"artifact": true
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"onReject": "report",
|
|
197
|
+
"maxAttempts": 4
|
|
198
|
+
},
|
|
199
|
+
"next": "evaluate"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"id": "evaluate",
|
|
203
|
+
"name": "Evaluate",
|
|
204
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
205
|
+
"prompt": "Open {{workPath}}/report.md, cutlist.json, renders/assembly-log.json, and clips.json and verify every criterion from {{workPath}}/scope.md: every selected clip id exists in the archive, every selection carries a real reason, the eras are covered per the criteria, the log reports status ok with a duration inside the length budget, the chapter list matches the assembled order, and the dedication names the occasion and the person warmly and correctly. Write PASS/FAIL per criterion; on any failure, name the gap and loop back to report — or to select if the selection itself is the problem.\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: \"report\" })` to loop back. The builder fixes exactly those gaps.\n\nNever route to `finish` while any criterion is unmet. The build phase's completion gate already blocked a grossly-incomplete deliverable; your job is the judgment an automated check cannot make (does it actually work, read well, look right). After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
|
|
206
|
+
"suggestedRole": "reviewer",
|
|
207
|
+
"consumes": [
|
|
208
|
+
{
|
|
209
|
+
"file": "{{workPath}}/report.md",
|
|
210
|
+
"artifact": true
|
|
211
|
+
}
|
|
212
|
+
],
|
|
213
|
+
"next": "report"
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
"id": "finish",
|
|
217
|
+
"name": "Finish",
|
|
218
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
219
|
+
"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.",
|
|
220
|
+
"suggestedRole": "developer",
|
|
221
|
+
"terminal": true
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"version": "1.0.4",
|
|
225
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
226
|
+
"paramSchema": {
|
|
227
|
+
"type": "object",
|
|
228
|
+
"properties": {
|
|
229
|
+
"workPath": {
|
|
230
|
+
"type": "string",
|
|
231
|
+
"title": "Working folder",
|
|
232
|
+
"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.",
|
|
233
|
+
"default": "{{task.dir}}"
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
},
|
|
237
|
+
"minGezelVersion": "1.26233"
|
|
238
|
+
}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Anniversary Cut smoke eval",
|
|
4
|
+
"objective": "Task-specific eval for the Anniversary Cut craftbook: a 30-record family archive is curated into a birthday reel for Ria's 70th — clips selected with reasons and era coverage, assembled through the fake pipeline, delivered with chapters and a dedication.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"external"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "moms 70th is next month — can you put together a highlight reel from the archive with the fake pipeline? the clips index has everythign tagged",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Home Video Archive — Anniversary Reel Eval",
|
|
11
|
+
"about": "Self-contained eval project for anniversary-cut. The archive index is clips.json (30 indexed moments across tapes 01-09, 1986-2024) and the family roster is family.md — mam is Ria, the reel is for her 70th. The selection goes to cutlist.json, the fake media-assembly pipeline is the ready-made mock-probe project script (writes renders/anniversary-cut.mp4 plus renders/assembly-log.json), and the chapter list with the dedication goes to tasks/eval/report.md.",
|
|
12
|
+
"missionObjectives": "Use the Anniversary Cut craftbook/template, select the reel from clips.json with a stated reason per clip and coverage across the eras, assemble through the provided mock-probe script, and deliver tasks/eval/report.md with a chapter list and dedication. No invented footage, no real media tools — only the wired fake pipeline.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "clips.json",
|
|
16
|
+
"content": "[\n {\n \"id\": \"t01-c01\",\n \"tape\": \"tape-01\",\n \"year\": 1986,\n \"timecode\": \"00:04:12\",\n \"durationSeconds\": 41,\n \"people\": [\n \"Ria\",\n \"Opa Cor\"\n ],\n \"description\": \"Ria and her father at the harbor, gulls everywhere\"\n },\n {\n \"id\": \"t01-c02\",\n \"tape\": \"tape-01\",\n \"year\": 1986,\n \"timecode\": \"00:17:40\",\n \"durationSeconds\": 28,\n \"people\": [\n \"Ria\"\n ],\n \"description\": \"Ria winning the village quiz, arms up\"\n },\n {\n \"id\": \"t01-c03\",\n \"tape\": \"tape-01\",\n \"year\": 1987,\n \"timecode\": \"00:29:05\",\n \"durationSeconds\": 35,\n \"people\": [\n \"Ria\",\n \"Henk\"\n ],\n \"description\": \"the first appearance of Henk, very nervous at the door\"\n },\n {\n \"id\": \"t02-c01\",\n \"tape\": \"tape-02\",\n \"year\": 1988,\n \"timecode\": \"00:03:55\",\n \"durationSeconds\": 74,\n \"people\": [\n \"Ria\",\n \"Henk\"\n ],\n \"description\": \"wedding day - the vows, rain starting right on cue\"\n },\n {\n \"id\": \"t02-c02\",\n \"tape\": \"tape-02\",\n \"year\": 1988,\n \"timecode\": \"00:21:18\",\n \"durationSeconds\": 52,\n \"people\": [\n \"Ria\",\n \"Henk\",\n \"Opa Cor\"\n ],\n \"description\": \"wedding toast by Opa Cor, the whole tent laughing\"\n },\n {\n \"id\": \"t02-c03\",\n \"tape\": \"tape-02\",\n \"year\": 1988,\n \"timecode\": \"00:40:02\",\n \"durationSeconds\": 33,\n \"people\": [\n \"Ria\"\n ],\n \"description\": \"Ria dancing in the wedding dress, shoes off\"\n },\n {\n \"id\": \"t03-c01\",\n \"tape\": \"tape-03\",\n \"year\": 1990,\n \"timecode\": \"00:02:33\",\n \"durationSeconds\": 47,\n \"people\": [\n \"Ria\",\n \"Daan\"\n ],\n \"description\": \"bringing Daan home, Ria narrating the whole drive\"\n },\n {\n \"id\": \"t03-c02\",\n \"tape\": \"tape-03\",\n \"year\": 1991,\n \"timecode\": \"00:15:20\",\n \"durationSeconds\": 26,\n \"people\": [\n \"Ria\",\n \"Daan\"\n ],\n \"description\": \"first birthday cake, most of it on Daan\"\n },\n {\n \"id\": \"t03-c03\",\n \"tape\": \"tape-03\",\n \"year\": 1992,\n \"timecode\": \"00:31:44\",\n \"durationSeconds\": 39,\n \"people\": [\n \"Henk\",\n \"Daan\"\n ],\n \"description\": \"Henk and Daan asleep in the same chair\"\n },\n {\n \"id\": \"t04-c01\",\n \"tape\": \"tape-04\",\n \"year\": 1993,\n \"timecode\": \"00:05:10\",\n \"durationSeconds\": 44,\n \"people\": [\n \"Ria\",\n \"Fleur\"\n ],\n \"description\": \"Fleur arrives - Daan inspecting his sister very seriously\"\n },\n {\n \"id\": \"t04-c02\",\n \"tape\": \"tape-04\",\n \"year\": 1994,\n \"timecode\": \"00:19:27\",\n \"durationSeconds\": 31,\n \"people\": [\n \"Ria\",\n \"Daan\",\n \"Fleur\"\n ],\n \"description\": \"the paddling pool afternoon, hose chaos\"\n },\n {\n \"id\": \"t04-c03\",\n \"tape\": \"tape-04\",\n \"year\": 1995,\n \"timecode\": \"00:36:51\",\n \"durationSeconds\": 58,\n \"people\": [\n \"Ria\"\n ],\n \"description\": \"Ria singing at Oma's birthday, surprising everyone\"\n },\n {\n \"id\": \"t05-c01\",\n \"tape\": \"tape-05\",\n \"year\": 1997,\n \"timecode\": \"00:08:14\",\n \"durationSeconds\": 42,\n \"people\": [\n \"Ria\",\n \"Henk\",\n \"Daan\",\n \"Fleur\"\n ],\n \"description\": \"the flooded-kitchen incident, all four bailing with pans\"\n },\n {\n \"id\": \"t05-c02\",\n \"tape\": \"tape-05\",\n \"year\": 1998,\n \"timecode\": \"00:22:39\",\n \"durationSeconds\": 27,\n \"people\": [\n \"Daan\",\n \"Fleur\"\n ],\n \"description\": \"school play - Fleur as the sun, Daan as a reluctant tree\"\n },\n {\n \"id\": \"t05-c03\",\n \"tape\": \"tape-05\",\n \"year\": 1999,\n \"timecode\": \"00:41:03\",\n \"durationSeconds\": 36,\n \"people\": [\n \"Ria\"\n ],\n \"description\": \"Ria finishing her first half marathon, red-faced and delighted\"\n },\n {\n \"id\": \"t06-c01\",\n \"tape\": \"tape-06\",\n \"year\": 2002,\n \"timecode\": \"00:06:30\",\n \"durationSeconds\": 49,\n \"people\": [\n \"Ria\",\n \"Fleur\"\n ],\n \"description\": \"camping in the dunes, tent collapsing at dawn\"\n },\n {\n \"id\": \"t06-c02\",\n \"tape\": \"tape-06\",\n \"year\": 2004,\n \"timecode\": \"00:18:22\",\n \"durationSeconds\": 38,\n \"people\": [\n \"Ria\",\n \"Henk\"\n ],\n \"description\": \"silver-grey Vespa arrives, Ria refuses to let Henk drive it\"\n },\n {\n \"id\": \"t06-c03\",\n \"tape\": \"tape-06\",\n \"year\": 2006,\n \"timecode\": \"00:33:47\",\n \"durationSeconds\": 30,\n \"people\": [\n \"Daan\"\n ],\n \"description\": \"Daan's graduation, Ria filming and crying at the same time\"\n },\n {\n \"id\": \"t07-c01\",\n \"tape\": \"tape-07\",\n \"year\": 2009,\n \"timecode\": \"00:04:58\",\n \"durationSeconds\": 45,\n \"people\": [\n \"Ria\",\n \"Fleur\"\n ],\n \"description\": \"Fleur's graduation, the hat that would not stay on\"\n },\n {\n \"id\": \"t07-c02\",\n \"tape\": \"tape-07\",\n \"year\": 2011,\n \"timecode\": \"00:20:15\",\n \"durationSeconds\": 34,\n \"people\": [\n \"Ria\",\n \"Henk\"\n ],\n \"description\": \"25th anniversary dance in the kitchen, radio on\"\n },\n {\n \"id\": \"t07-c03\",\n \"tape\": \"tape-07\",\n \"year\": 2013,\n \"timecode\": \"00:38:29\",\n \"durationSeconds\": 29,\n \"people\": [\n \"Ria\"\n ],\n \"description\": \"Ria teaching the neighbourhood kids to bake, chaos and flour\"\n },\n {\n \"id\": \"t08-c01\",\n \"tape\": \"tape-08\",\n \"year\": 2015,\n \"timecode\": \"00:07:21\",\n \"durationSeconds\": 40,\n \"people\": [\n \"Ria\",\n \"Daan\"\n ],\n \"description\": \"Daan's wedding - Ria's speech, short and devastatingly funny\"\n },\n {\n \"id\": \"t08-c02\",\n \"tape\": \"tape-08\",\n \"year\": 2017,\n \"timecode\": \"00:23:44\",\n \"durationSeconds\": 32,\n \"people\": [\n \"Ria\",\n \"Henk\"\n ],\n \"description\": \"the allotment garden's first real harvest, absurd zucchini\"\n },\n {\n \"id\": \"t08-c03\",\n \"tape\": \"tape-08\",\n \"year\": 2019,\n \"timecode\": \"00:39:56\",\n \"durationSeconds\": 51,\n \"people\": [\n \"Ria\",\n \"Fleur\",\n \"Noor\"\n ],\n \"description\": \"meeting Noor - Ria holding her granddaughter for the first time\"\n },\n {\n \"id\": \"t09-c01\",\n \"tape\": \"tape-09\",\n \"year\": 2020,\n \"timecode\": \"00:03:40\",\n \"durationSeconds\": 25,\n \"people\": [\n \"Ria\",\n \"Noor\"\n ],\n \"description\": \"window visit, Noor waving both arms\"\n },\n {\n \"id\": \"t09-c02\",\n \"tape\": \"tape-09\",\n \"year\": 2021,\n \"timecode\": \"00:16:12\",\n \"durationSeconds\": 37,\n \"people\": [\n \"Ria\",\n \"Noor\"\n ],\n \"description\": \"first baking lesson for Noor, history repeating in flour\"\n },\n {\n \"id\": \"t09-c03\",\n \"tape\": \"tape-09\",\n \"year\": 2022,\n \"timecode\": \"00:29:33\",\n \"durationSeconds\": 43,\n \"people\": [\n \"Ria\",\n \"Henk\",\n \"Daan\",\n \"Fleur\",\n \"Noor\"\n ],\n \"description\": \"the whole family at the coast, the five-person kite disaster\"\n },\n {\n \"id\": \"t09-c04\",\n \"tape\": \"tape-09\",\n \"year\": 2023,\n \"timecode\": \"00:44:18\",\n \"durationSeconds\": 28,\n \"people\": [\n \"Ria\"\n ],\n \"description\": \"Ria back on the Vespa for her 68th, victory lap of the block\"\n },\n {\n \"id\": \"t09-c05\",\n \"tape\": \"tape-09\",\n \"year\": 2024,\n \"timecode\": \"00:52:02\",\n \"durationSeconds\": 33,\n \"people\": [\n \"Ria\",\n \"Noor\"\n ],\n \"description\": \"Noor reading her first book aloud to Ria on the bench\"\n },\n {\n \"id\": \"t09-c06\",\n \"tape\": \"tape-09\",\n \"year\": 2024,\n \"timecode\": \"00:58:41\",\n \"durationSeconds\": 30,\n \"people\": [\n \"Henk\",\n \"Ria\"\n ],\n \"description\": \"Henk failing to surprise Ria with breakfast, caught mid-plan\"\n }\n]\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "family.md",
|
|
20
|
+
"content": "# Family roster\n\n- Ria - mam, turns 70 next month, the reel is for her\n- Henk - pap, married Ria in 1988\n- Daan - eldest, born 1990\n- Fleur - daughter, born 1993\n- Noor - Fleur's daughter, born 2019\n- Opa Cor - Ria's father, on the earliest tapes\n"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"worker": {
|
|
24
|
+
"name": "Noor",
|
|
25
|
+
"role": "Curator"
|
|
26
|
+
},
|
|
27
|
+
"craftbookParams": {
|
|
28
|
+
"workPath": "tasks/eval"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"mocks": [
|
|
32
|
+
{
|
|
33
|
+
"kind": "cli",
|
|
34
|
+
"id": "probe",
|
|
35
|
+
"description": "Provenance-trusted project script `mock-probe` that executes the fake media-assembly pipeline: validates cutlist.json against the clips.json archive and writes the stub reel plus its run log.",
|
|
36
|
+
"shim": {
|
|
37
|
+
"path": "scripts/mock-probe.ts",
|
|
38
|
+
"content": "import { defineScript, gezel } from '@bendyline/gezel-sdk';\n\nexport const meta = defineScript({\n name: 'mock-probe',\n description:\n 'Fake media-assembly pipeline for this eval: validates cutlist.json against the clips.json archive index, refuses any clip that is not indexed, then writes the stub reel to renders/anniversary-cut.mp4 and its run log to renders/assembly-log.json.',\n inputs: {},\n outputs: {\n log: { type: 'string', description: 'The assembly run log JSON written to renders/assembly-log.json.' },\n },\n requires: ['workspace.read', 'workspace.write'],\n});\n\nconst cutlist = JSON.parse(await gezel.fs.read('cutlist.json'));\nconst archive = JSON.parse(await gezel.fs.read('clips.json'));\nif (!Array.isArray(cutlist) || cutlist.length === 0) {\n throw new Error('cutlist.json must be a non-empty JSON array');\n}\nconst byId = new Map(archive.map((clip) => [clip.id, clip]));\nlet total = 0;\nconst assembled = [];\nfor (const row of cutlist) {\n const clip = byId.get(row.clip);\n if (!clip) throw new Error(`unknown clip in cutlist: ${row.clip} is not indexed in clips.json`);\n total += typeof clip.durationSeconds === 'number' ? clip.durationSeconds : 0;\n assembled.push(row.clip);\n}\nconst log = {\n status: 'ok',\n engine: 'mock-assemble',\n segments: assembled.length,\n clips: assembled,\n totalDurationSeconds: Math.round(total * 100) / 100,\n};\nawait gezel.fs.write('renders/anniversary-cut.mp4', `MOCKMP4 anniversary reel stub\\n${'0'.repeat(2048)}\\n`);\nawait gezel.fs.write('renders/assembly-log.json', `${JSON.stringify(log, null, 2)}\\n`);\ngezel.output({ log: JSON.stringify(log) });\n"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"success": {
|
|
43
|
+
"summary": "cutlist.json selects real archive clips with reasons, the fake pipeline produced the reel and a status-ok log, and tasks/eval/report.md carries a chapter list and a dedication for Ria.",
|
|
44
|
+
"deliverables": [
|
|
45
|
+
{
|
|
46
|
+
"path": "cutlist.json",
|
|
47
|
+
"kind": "json",
|
|
48
|
+
"checks": [
|
|
49
|
+
{
|
|
50
|
+
"kind": "recordSchema",
|
|
51
|
+
"file": "cutlist.json",
|
|
52
|
+
"fields": [
|
|
53
|
+
{
|
|
54
|
+
"name": "clip",
|
|
55
|
+
"type": "nonempty"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"name": "reason",
|
|
59
|
+
"type": "nonempty"
|
|
60
|
+
}
|
|
61
|
+
],
|
|
62
|
+
"minRows": 5
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"kind": "valuesSubsetOf",
|
|
66
|
+
"file": "cutlist.json",
|
|
67
|
+
"sourceFiles": [
|
|
68
|
+
"clips.json"
|
|
69
|
+
],
|
|
70
|
+
"pattern": "\"clip\"\\s*:\\s*\"([^\"]+)\"",
|
|
71
|
+
"label": "every selected clip exists in the archive — no invented footage"
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"path": "renders/anniversary-cut.mp4",
|
|
77
|
+
"kind": "generic-file",
|
|
78
|
+
"minBytes": 200
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"path": "renders/assembly-log.json",
|
|
82
|
+
"kind": "json",
|
|
83
|
+
"checks": [
|
|
84
|
+
{
|
|
85
|
+
"kind": "jsonPathEquals",
|
|
86
|
+
"file": "renders/assembly-log.json",
|
|
87
|
+
"path": "status",
|
|
88
|
+
"value": "ok",
|
|
89
|
+
"label": "the assembly log reports status ok"
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"path": "tasks/eval/report.md",
|
|
95
|
+
"kind": "markdown-report",
|
|
96
|
+
"minBytes": 700,
|
|
97
|
+
"checks": [
|
|
98
|
+
{
|
|
99
|
+
"kind": "contains",
|
|
100
|
+
"file": "tasks/eval/report.md",
|
|
101
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
102
|
+
"flags": "i"
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
"kind": "contains",
|
|
106
|
+
"file": "tasks/eval/report.md",
|
|
107
|
+
"pattern": "chapter",
|
|
108
|
+
"flags": "i",
|
|
109
|
+
"label": "a chapter list for the reel"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"kind": "contains",
|
|
113
|
+
"file": "tasks/eval/report.md",
|
|
114
|
+
"pattern": "Ria",
|
|
115
|
+
"label": "the dedication names Ria"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"kind": "judge",
|
|
119
|
+
"file": "tasks/eval/report.md",
|
|
120
|
+
"rubric": "The selection covers Ria across her eras (1980s through the 2020s) rather than clustering in one period, the family-famous moments (the wedding, meeting Noor) are in, each chapter's line gives a warm reason, and the dedication fits a 70th birthday.",
|
|
121
|
+
"sourceFiles": [
|
|
122
|
+
"clips.json",
|
|
123
|
+
"family.md"
|
|
124
|
+
],
|
|
125
|
+
"label": "era coverage and warmth"
|
|
126
|
+
}
|
|
127
|
+
]
|
|
128
|
+
}
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"rubric": {
|
|
132
|
+
"artifact": {
|
|
133
|
+
"path": "tasks/eval/report.md",
|
|
134
|
+
"kind": "markdown"
|
|
135
|
+
},
|
|
136
|
+
"axes": [
|
|
137
|
+
{
|
|
138
|
+
"name": "emotional-arc",
|
|
139
|
+
"description": "The reel opens and closes strong and moves through Ria's life with intent."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "selection-reasons",
|
|
143
|
+
"description": "Every clip earns its place with a stated reason, not a shrug."
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"name": "era-coverage",
|
|
147
|
+
"description": "Decades are represented; the reel is a life, not one summer."
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "presentation",
|
|
151
|
+
"description": "Chapters and dedication turn a render into a gift."
|
|
152
|
+
}
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
"qualityFocus": [
|
|
156
|
+
"no invented footage",
|
|
157
|
+
"era coverage",
|
|
158
|
+
"dedication warmth"
|
|
159
|
+
]
|
|
160
|
+
}
|