@bendyline/gilde 0.1.37 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.2/test.json +118 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.2/test.json +189 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.2/test.json +150 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/craftbook.json +154 -0
- package/data/craftbook-templates/al/alt-text-pass/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/craftbook.json +238 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.4/test.json +160 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.2/test.json +123 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.2/test.json +118 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.2/test.json +139 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/craftbook.json +141 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/craftbook.json +135 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/craftbook.json +222 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.4/test.json +224 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.2/test.json +143 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/craftbook.json +176 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.2/test.json +299 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.2/test.json +103 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/craftbook.json +429 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.4/test.json +379 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/craftbook.json +176 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.2/test.json +109 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/craftbook.json +163 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.2/test.json +108 -0
- package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/craftbook.json +125 -0
- package/data/craftbook-templates/ch/changelog-cut/versions/1.0.2/test.json +109 -0
- package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.2/test.json +132 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/craftbook.json +135 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.3/test.json +158 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/craftbook.json +86 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.2/test.json +101 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/craftbook.json +94 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.2/test.json +146 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.2/test.json +181 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/craftbook.json +144 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/craftbook.json +159 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.2/test.json +131 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.2/test.json +122 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.2/test.json +229 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/craftbook.json +151 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.2/test.json +112 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.2/test.json +123 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.2/test.json +162 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.2/test.json +105 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.2/test.json +159 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.2/test.json +103 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.2/test.json +210 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/craftbook.json +176 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.2/test.json +138 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/craftbook.json +113 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.3/test.json +105 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.2/test.json +117 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.2/test.json +104 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/craftbook.json +160 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.3/test.json +165 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.2/test.json +329 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.2/test.json +98 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/craftbook.json +113 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.3/test.json +98 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/craftbook.json +223 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.2/test.json +160 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.2/test.json +111 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.2/test.json +168 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/craftbook.json +443 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.4/test.json +204 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.2/test.json +135 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/craftbook.json +188 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.2/test.json +149 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.2/craftbook.json +154 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/craftbook.json +415 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.4/test.json +194 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/craftbook.json +445 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.4/test.json +139 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/craftbook.json +86 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.2/test.json +111 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/craftbook.json +115 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/craftbook.json +180 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/craftbook.json +158 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.2/craftbook.json +166 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/craftbook.json +214 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.2/test.json +131 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/craftbook.json +194 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/craftbook.json +409 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.4/test.json +144 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/craftbook.json +162 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.2/test.json +112 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.2/test.json +124 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.2/craftbook.json +140 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.2/test.json +124 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.2/craftbook.json +211 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.2/test.json +143 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/it/item-intake/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/craftbook.json +128 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.2/test.json +119 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.2/craftbook.json +196 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/li/live-browser-qa/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.2/test.json +213 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/craftbook.json +120 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.2/test.json +187 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/craftbook.json +129 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/craftbook.json +151 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/craftbook.json +168 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.2/test.json +136 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.2/test.json +200 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.2/test.json +228 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.2/craftbook.json +164 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.2/test.json +253 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/craftbook.json +113 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/craftbook.json +193 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.2/test.json +89 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.2/craftbook.json +170 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/craftbook.json +149 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.2/craftbook.json +118 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/craftbook.json +124 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.2/craftbook.json +94 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.2/test.json +135 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.2/test.json +125 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.2/test.json +102 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.2/test.json +114 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/craftbook.json +163 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.3/craftbook.json +9 -8
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/craftbook.json +397 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.4/test.json +242 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.2/test.json +120 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.2/test.json +117 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.2/test.json +359 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.2/test.json +153 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/craftbook.json +196 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.1/craftbook.json +273 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.1/test.json +141 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/craftbook.json +279 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.7.2/test.json +144 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/craftbook.json +133 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.2/test.json +126 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/craftbook.json +167 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.2/test.json +116 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.2/test.json +152 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.1/craftbook.json +177 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.1/test.json +169 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.2/test.json +131 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.3/craftbook.json +160 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.3/test.json +95 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.2/test.json +205 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/craftbook.json +226 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.2/test.json +141 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.2/test.json +114 -0
- package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.2/craftbook.json +165 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.2/test.json +115 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.2/craftbook.json +185 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.2/test.json +101 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.2/craftbook.json +228 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.2/test.json +243 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.3/craftbook.json +159 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.3/test.json +390 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/craftbook.json +171 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/craftbook.json +425 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.4/test.json +157 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/craftbook.json +179 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.3/test.json +140 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.2/craftbook.json +157 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.2/test.json +121 -0
- package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/craftbook.json +156 -0
- package/data/craftbook-templates/sc/schema-migration/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/craftbook.json +152 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.3/test.json +165 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/craftbook.json +159 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.3/test.json +93 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/craftbook.json +452 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.4/test.json +157 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/craftbook.json +117 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.1/test.json +169 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.2/test.json +161 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/craftbook.json +448 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.4/test.json +165 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.2/test.json +163 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/craftbook.json +149 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.2/craftbook.json +158 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/craftbook.json +140 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/craftbook.json +126 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/craftbook.json +420 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.4/test.json +177 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/craftbook.json +153 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.1.2/test.json +116 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/craftbook.json +132 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.2/test.json +144 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.2/test.json +145 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/craftbook.json +115 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/craftbook.json +172 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.2/test.json +162 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.2/test.json +101 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/craftbook.json +183 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.2/test.json +154 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/craftbook.json +160 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.0.2/craftbook.json +167 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.0.2/test.json +95 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/craftbook.json +121 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.2/test.json +106 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/craftbook.json +166 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.2/test.json +127 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/craftbook.json +155 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.2/craftbook.json +122 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/craftbook.json +159 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.2/test.json +165 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.2/test.json +258 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.2/test.json +100 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/craftbook.json +118 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.2/test.json +107 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.2/craftbook.json +119 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/craftbook.json +152 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.2/test.json +141 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/craftbook.json +153 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.2/test.json +113 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/craftbook.json +127 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.2/test.json +148 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/craftbook.json +146 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.2/test.json +106 -0
- package/package.json +1 -1
- package/schemas/craftbook-doc.schema.json +4 -2
- package/schemas/craftbook-template-version.schema.json +4 -2
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Receipt Intake smoke eval",
|
|
4
|
+
"objective": "Task-specific eval for the Receipt Intake craftbook: five pre-extracted receipt notes in inbox/ become honest ledger entries, with the duplicate flagged and the ambiguous one parked as an owner question.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"data"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "i dropped this months recipts into inbox/ — can you get them into the shoebox and flag anything that looks off?",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Tax Shoebox — Receipt Intake Eval",
|
|
11
|
+
"about": "Self-contained eval project for receipt-intake. The intake rail has already pre-extracted each snapped receipt photo into a plain-text note under inbox/ (vendor, date, total, and any handwriting). The ledger lives at ledger.json in the workspace; the run's write-up goes to tasks/eval/report.md.",
|
|
12
|
+
"missionObjectives": "Use the Receipt Intake craftbook/template, read the seeded local fixtures only, and finish with an updated ledger.json plus tasks/eval/report.md — no network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "inbox/receipt-01.txt",
|
|
16
|
+
"content": "INTAKE NOTE (pre-extracted from photo receipt-01.jpg)\n\nVendor: Office Depot\nDate: 2026-07-03\nTotal: $84.12\nItems: copy paper x2, toner cartridge\nPayment: VISA ending 4412\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "inbox/receipt-02.txt",
|
|
20
|
+
"content": "INTAKE NOTE (pre-extracted from photo receipt-02.jpg)\n\nVendor: Cascade Air\nDate: 2026-07-08\nTotal: $412.60\nE-ticket receipt, PDX-DEN round trip, client site visit\n"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"path": "inbox/receipt-03.txt",
|
|
24
|
+
"content": "INTAKE NOTE (pre-extracted from photo receipt-03.jpg)\n\nVendor: The Wired Bean\nDate: 2026-07-10\nTotal: $18.40\nHandwritten on the back: 'w/ Sam - project?'\nExtraction note: could be a personal coffee or a client meeting - unclear from the receipt\n"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"path": "inbox/receipt-04.txt",
|
|
28
|
+
"content": "INTAKE NOTE (pre-extracted from photo receipt-04.jpg)\n\nVendor: Staples\nDate: 2026-07-15\nTotal: $37.95\nItems: shipping boxes, packing tape\n"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"path": "inbox/receipt-05.txt",
|
|
32
|
+
"content": "INTAKE NOTE (pre-extracted from photo receipt-05.jpg)\n\nVendor: Office Depot\nDate: 2026-06-21\nTotal: $129.99\nItems: office chair mat\nExtraction note: found loose in the bag - may have been snapped in an earlier batch\n"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"path": "ledger.json",
|
|
36
|
+
"content": "[\n { \"date\": \"2026-06-02\", \"vendor\": \"Peak Web Hosting\", \"amountCents\": 2400, \"category\": \"software\", \"source\": \"inbox/2026-06-02-peakweb.txt\" },\n { \"date\": \"2026-06-09\", \"vendor\": \"Blue Line Transit\", \"amountCents\": 550, \"category\": \"travel\", \"source\": \"inbox/2026-06-09-bluelinetransit.txt\" },\n { \"date\": \"2026-06-21\", \"vendor\": \"Office Depot\", \"amountCents\": 12999, \"category\": \"office-supplies\", \"source\": \"inbox/2026-06-21-officedepot.txt\" },\n { \"date\": \"2026-06-28\", \"vendor\": \"The Wired Bean\", \"amountCents\": 1620, \"category\": \"meals\", \"source\": \"inbox/2026-06-28-wiredbean.txt\" },\n { \"date\": \"2026-07-01\", \"vendor\": \"Peak Web Hosting\", \"amountCents\": 2400, \"category\": \"software\", \"source\": \"inbox/2026-07-01-peakweb.txt\" }\n]\n"
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"worker": {
|
|
40
|
+
"name": "Nora",
|
|
41
|
+
"role": "Clerk"
|
|
42
|
+
},
|
|
43
|
+
"craftbookParams": {
|
|
44
|
+
"workPath": "tasks/eval"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"mocks": [],
|
|
48
|
+
"success": {
|
|
49
|
+
"summary": "The ledger gains schema-clean entries whose amounts match the receipts exactly, and tasks/eval/report.md surfaces the duplicate and the owner question instead of guessing.",
|
|
50
|
+
"deliverables": [
|
|
51
|
+
{
|
|
52
|
+
"path": "tasks/eval/report.md",
|
|
53
|
+
"kind": "markdown-report",
|
|
54
|
+
"minBytes": 600,
|
|
55
|
+
"checks": [
|
|
56
|
+
{
|
|
57
|
+
"kind": "contains",
|
|
58
|
+
"file": "tasks/eval/report.md",
|
|
59
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
60
|
+
"flags": "i"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"kind": "contains",
|
|
64
|
+
"file": "tasks/eval/report.md",
|
|
65
|
+
"pattern": "question|unsure|unclear|flag",
|
|
66
|
+
"flags": "i",
|
|
67
|
+
"label": "ambiguous receipt surfaced as an owner question, not a guess"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"kind": "contains",
|
|
71
|
+
"file": "tasks/eval/report.md",
|
|
72
|
+
"pattern": "duplicate|already (in|entered|logged)|double[- ]?count",
|
|
73
|
+
"flags": "i",
|
|
74
|
+
"label": "the repeat Office Depot receipt is flagged as a likely duplicate"
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"checks": [
|
|
80
|
+
{
|
|
81
|
+
"kind": "recordSchema",
|
|
82
|
+
"file": "ledger.json",
|
|
83
|
+
"fields": [
|
|
84
|
+
{
|
|
85
|
+
"name": "date",
|
|
86
|
+
"type": "iso-date"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "amountCents",
|
|
90
|
+
"type": "integer"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "category",
|
|
94
|
+
"type": "nonempty"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "source",
|
|
98
|
+
"type": "nonempty"
|
|
99
|
+
}
|
|
100
|
+
],
|
|
101
|
+
"minRows": 8
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"kind": "contains",
|
|
105
|
+
"file": "ledger.json",
|
|
106
|
+
"pattern": "\\b8412\\b",
|
|
107
|
+
"label": "Office Depot 2026-07-03 entered at exactly 8412 cents"
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"kind": "contains",
|
|
111
|
+
"file": "ledger.json",
|
|
112
|
+
"pattern": "\\b41260\\b",
|
|
113
|
+
"label": "Cascade Air flight entered at exactly 41260 cents"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"kind": "contains",
|
|
117
|
+
"file": "ledger.json",
|
|
118
|
+
"pattern": "\\b3795\\b",
|
|
119
|
+
"label": "Staples entered at exactly 3795 cents"
|
|
120
|
+
}
|
|
121
|
+
]
|
|
122
|
+
},
|
|
123
|
+
"rubric": {
|
|
124
|
+
"artifact": {
|
|
125
|
+
"path": "tasks/eval/report.md",
|
|
126
|
+
"kind": "markdown"
|
|
127
|
+
},
|
|
128
|
+
"axes": [
|
|
129
|
+
{
|
|
130
|
+
"name": "completeness",
|
|
131
|
+
"description": "Every inbox receipt is accounted for as an entry, a duplicate flag, or an owner question."
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"name": "categorization",
|
|
135
|
+
"description": "Categories come from the ledger's existing set and fit each receipt sensibly."
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"name": "conservation",
|
|
139
|
+
"description": "Amounts and dates match the receipt notes exactly — nothing rounded, renumbered, or invented."
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"name": "judgment",
|
|
143
|
+
"description": "The ambiguous and duplicate receipts become flags and questions, never silent guesses."
|
|
144
|
+
}
|
|
145
|
+
]
|
|
146
|
+
},
|
|
147
|
+
"qualityFocus": [
|
|
148
|
+
"value conservation",
|
|
149
|
+
"duplicate detection",
|
|
150
|
+
"owner questions over guesses"
|
|
151
|
+
]
|
|
152
|
+
}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "receipt-ocr-ledger",
|
|
3
|
+
"name": "Receipts to Expense Ledger",
|
|
4
|
+
"description": "Turn a folder of receipt photos/PDFs into a clean expense ledger: OCR each receipt, extract vendor, date, line items, tax, and total, assign an expense category, and reconcile that each extracted total matches its line items. Locks the per-receipt field schema, the category set, and the math/reconciliation rules FIRST, then OCRs and extracts each receipt into rows, then verifies every receipt was processed, totals reconcile, currencies/dates are normalized, and low-confidence reads are flagged for review. Defining the schema and the total-equals-line-items check before extraction is what keeps an expense ledger trustworthy for reimbursement or tax.\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 ledger (planner) — per-receipt schema, categories, reconciliation rules → gated on artifact `{{workPath}}/scope.md` (markdown-notes)\n2. OCR and extract (developer) — read each receipt, extract fields, categorize, reconcile → gated on `ledger.json` (json)\n3. Verify the ledger (reviewer) — coverage, reconciliation, normalization, review flags → gated on artifact `{{workPath}}/verify.md` (markdown-notes)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
|
|
5
|
+
"entryStepId": "scope",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"scan my receipts",
|
|
8
|
+
"receipts to a spreadsheet",
|
|
9
|
+
"extract receipt totals",
|
|
10
|
+
"expense report from receipts",
|
|
11
|
+
"OCR receipts into a ledger"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "scope",
|
|
16
|
+
"name": "Scope the ledger",
|
|
17
|
+
"description": "per-receipt schema, categories, reconciliation rules",
|
|
18
|
+
"prompt": "Define the ledger contract before reading receipts. Step 1: identify the receipts folder and the file types (jpg, png, pdf). Step 2: define the per-receipt schema (file, vendor, date, currency, line items[{desc, amount}], subtotal, tax, total, category, confidence, needs_review). Step 3: define the closed expense-category set (e.g. Meals, Travel, Supplies, Software, Other) — every receipt gets exactly one. Step 4: define the math/reconciliation rule — sum(line items) + tax should equal total within a small tolerance; a mismatch sets needs_review. Step 5: define normalization (dates → ISO, amounts numeric to two decimals, a single output currency or a currency column) and the confidence threshold below which a row is flagged. Step 6: write an acceptance-criteria checklist ('every receipt file produces a row', 'amounts numeric and dates ISO', 'total reconciles to line items + tax within tolerance else flagged', 'category is in-set', 'low-confidence reads flagged for review', 'a grand total across receipts is reported'). Call write_task_note with schema + categories + rules + checklist and write {{workPath}}/scope.md. No OCR yet.\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": "planner",
|
|
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": "extract"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "extract",
|
|
49
|
+
"name": "OCR and extract",
|
|
50
|
+
"description": "read each receipt, extract fields, categorize, reconcile",
|
|
51
|
+
"prompt": "Process every receipt into a ledger row to the locked schema. Step 1: list the folder and, for each receipt, use the available OCR/vision capability to read the text. Step 2: extract vendor, date, line items, subtotal, tax, and total; normalize dates to ISO and amounts to numbers. Step 3: assign exactly one in-set category from the vendor/items. Step 4: reconcile — check sum(line items)+tax ≈ total within tolerance; on mismatch or low OCR confidence, set needs_review with a note rather than silently trusting it. Step 5: write all rows to the output file (JSON), confirm it parses, and compute a grand total across receipts. Do not skip any receipt; if one is unreadable, still emit a row flagged needs_review. Call write_task_note with the output path, the receipt count, and how many are flagged.",
|
|
52
|
+
"suggestedRole": "developer",
|
|
53
|
+
"advanceWhen": {
|
|
54
|
+
"file": "ledger.json",
|
|
55
|
+
"minBytes": 1,
|
|
56
|
+
"sniff": "json-valid"
|
|
57
|
+
},
|
|
58
|
+
"gate": {
|
|
59
|
+
"at": "completion",
|
|
60
|
+
"checks": [
|
|
61
|
+
{
|
|
62
|
+
"kind": "minBytes",
|
|
63
|
+
"file": "ledger.json",
|
|
64
|
+
"bytes": 2
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"scripts": [
|
|
68
|
+
{
|
|
69
|
+
"name": "checkJsonValid",
|
|
70
|
+
"scope": "standard",
|
|
71
|
+
"inputs": {
|
|
72
|
+
"file": "ledger.json"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"onReject": "extract",
|
|
77
|
+
"maxAttempts": 3
|
|
78
|
+
},
|
|
79
|
+
"next": "verify"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "verify",
|
|
83
|
+
"name": "Verify the ledger",
|
|
84
|
+
"description": "coverage, reconciliation, normalization, review flags",
|
|
85
|
+
"prompt": "Verify the ledger against scope. Step 1: confirm the file parses and there is one row per receipt file in the folder — none skipped. Step 2: confirm amounts are numeric to two decimals and dates are ISO. Step 3: confirm reconciliation ran — rows where line items + tax do not match the total within tolerance are flagged needs_review, and clean rows actually balance (re-check 3 by hand). Step 4: confirm categories are all in-set and low-confidence/unreadable receipts are flagged rather than silently accepted. Step 5: confirm the grand total equals the sum of the row totals. Write PASS/FAIL per criterion to {{workPath}}/verify.md and task notes; on failure, name the receipts and loop back to extract.\n\nThe deliverable `{{workPath}}/verify.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
|
|
86
|
+
"suggestedRole": "reviewer",
|
|
87
|
+
"advanceWhen": {
|
|
88
|
+
"file": "{{workPath}}/verify.md",
|
|
89
|
+
"minBytes": 1,
|
|
90
|
+
"sniff": "nonempty",
|
|
91
|
+
"artifact": true
|
|
92
|
+
},
|
|
93
|
+
"gate": {
|
|
94
|
+
"at": "completion",
|
|
95
|
+
"checks": [
|
|
96
|
+
{
|
|
97
|
+
"kind": "minBytes",
|
|
98
|
+
"file": "ledger.json",
|
|
99
|
+
"bytes": 2
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"scripts": [
|
|
103
|
+
{
|
|
104
|
+
"name": "checkJsonValid",
|
|
105
|
+
"scope": "standard",
|
|
106
|
+
"inputs": {
|
|
107
|
+
"file": "ledger.json"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"onReject": "verify",
|
|
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": "Open ledger.json and verify every criterion from {{workPath}}/scope.md: one row per receipt file (none skipped, unreadable ones flagged), amounts numeric to two decimals and dates ISO, reconciliation flags rows where line items + tax do not match the total within tolerance while clean rows balance (re-check 3 by hand), categories all in-set, low-confidence reads flagged, and the grand total equals the sum of row totals. Write PASS/FAIL per criterion; on any failure, name the receipts and loop back to extract.\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: \"extract\" })` 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": "ledger.json"
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"next": "extract"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"id": "finish",
|
|
131
|
+
"name": "Finish",
|
|
132
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
133
|
+
"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.",
|
|
134
|
+
"suggestedRole": "developer",
|
|
135
|
+
"terminal": true
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"version": "1.0.2",
|
|
139
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
140
|
+
"paramSchema": {
|
|
141
|
+
"type": "object",
|
|
142
|
+
"properties": {
|
|
143
|
+
"workPath": {
|
|
144
|
+
"type": "string",
|
|
145
|
+
"title": "Working folder",
|
|
146
|
+
"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.",
|
|
147
|
+
"default": "{{task.dir}}"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"minGezelVersion": "1.26233"
|
|
152
|
+
}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Receipts to Expense Ledger smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Receipts to Expense Ledger craftbook using the data generic harness.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"data"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "I dropped our numbers in source/records.csv. Can you look at the data, analyze it, and put togehter some results in analysis.md?",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Receipts to Expense Ledger Eval",
|
|
11
|
+
"about": "Self-contained eval project for receipt-ocr-ledger. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/analysis.md.",
|
|
12
|
+
"missionObjectives": "Use the Receipts to Expense Ledger craftbook/template, read the seeded local fixtures, and write analysis.md without network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/brief.md",
|
|
16
|
+
"content": "# Receipts to Expense Ledger 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: receipt-ocr-ledger - Receipts to Expense Ledger.\n"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"path": "source/records.csv",
|
|
20
|
+
"content": "customer,region,orders,revenue_usd,churn_risk\nAster,North,12,1440,low\nBoreal,South,8,720,medium\nCedar,West,15,2100,high\nDune,North,5,500,low\n"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"worker": {
|
|
24
|
+
"name": "Jules",
|
|
25
|
+
"role": "Data Analyst"
|
|
26
|
+
},
|
|
27
|
+
"craftbookParams": {
|
|
28
|
+
"workPath": "tasks/eval"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"mocks": [],
|
|
32
|
+
"success": {
|
|
33
|
+
"summary": "analysis.md is a seeded-data analysis with deterministic computed facts.",
|
|
34
|
+
"deliverables": [
|
|
35
|
+
{
|
|
36
|
+
"path": "analysis.md",
|
|
37
|
+
"kind": "markdown-report",
|
|
38
|
+
"minBytes": 900,
|
|
39
|
+
"checks": [
|
|
40
|
+
{
|
|
41
|
+
"kind": "contains",
|
|
42
|
+
"file": "analysis.md",
|
|
43
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
44
|
+
"flags": "i"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"kind": "contains",
|
|
48
|
+
"file": "analysis.md",
|
|
49
|
+
"pattern": "40\\b",
|
|
50
|
+
"flags": "i",
|
|
51
|
+
"label": "include total orders of 40"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"kind": "contains",
|
|
55
|
+
"file": "analysis.md",
|
|
56
|
+
"pattern": "\\$?4,?760\\b",
|
|
57
|
+
"flags": "i",
|
|
58
|
+
"label": "include total revenue of 4760"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"kind": "contains",
|
|
62
|
+
"file": "analysis.md",
|
|
63
|
+
"pattern": "Cedar",
|
|
64
|
+
"flags": "i",
|
|
65
|
+
"label": "identify Cedar as top revenue and high risk"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"kind": "contains",
|
|
69
|
+
"file": "analysis.md",
|
|
70
|
+
"pattern": "high",
|
|
71
|
+
"flags": "i",
|
|
72
|
+
"label": "include churn-risk finding"
|
|
73
|
+
}
|
|
74
|
+
]
|
|
75
|
+
}
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"rubric": {
|
|
79
|
+
"artifact": {
|
|
80
|
+
"path": "analysis.md",
|
|
81
|
+
"kind": "markdown"
|
|
82
|
+
},
|
|
83
|
+
"axes": [
|
|
84
|
+
{
|
|
85
|
+
"name": "accuracy",
|
|
86
|
+
"description": "Computed figures are correct against the seeded records."
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "grounding",
|
|
90
|
+
"description": "Every claim traces to the seeded data — nothing invented."
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"name": "structure",
|
|
94
|
+
"description": "Tables and sections make the analysis checkable at a glance."
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"name": "actionability",
|
|
98
|
+
"description": "Recommendations follow from the findings and are concretely doable."
|
|
99
|
+
}
|
|
100
|
+
]
|
|
101
|
+
},
|
|
102
|
+
"qualityFocus": [
|
|
103
|
+
"seeded data reading",
|
|
104
|
+
"computed facts",
|
|
105
|
+
"recommendation grounding"
|
|
106
|
+
]
|
|
107
|
+
}
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "reception-report",
|
|
3
|
+
"name": "Reception Report",
|
|
4
|
+
"description": "Weekly review of how the posting landed: reconcile published posts with their live synced records (stamp corpusRef where it is missing), build a per-post engagement ledger, analyze each post against the account's recent baseline, then write the reception report — scoreboard, three findings, three recommendations, and exactly one one-click action seeding the next draft-social-post run with the strongest theme. Every metric must trace to the ledger, and the ledger to a synced record. Runs gracefully with no connector bound: the ledger then carries what the workspace knows, with metric cells marked as unknown.",
|
|
5
|
+
"entryStepId": "reconcile",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"reception report",
|
|
8
|
+
"how did our posts do",
|
|
9
|
+
"social performance review",
|
|
10
|
+
"weekly social report"
|
|
11
|
+
],
|
|
12
|
+
"command": "reception-report",
|
|
13
|
+
"paramSchema": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"workPath": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"title": "Working folder",
|
|
19
|
+
"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.",
|
|
20
|
+
"default": "{{task.dir}}"
|
|
21
|
+
},
|
|
22
|
+
"lookbackDays": {
|
|
23
|
+
"type": "integer",
|
|
24
|
+
"default": 7,
|
|
25
|
+
"description": "How many days of posting the review covers. Default 7."
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"runModes": {
|
|
30
|
+
"scheduled": "recommended",
|
|
31
|
+
"nightShift": "supported"
|
|
32
|
+
},
|
|
33
|
+
"connectors": [
|
|
34
|
+
{
|
|
35
|
+
"typeId": "bluesky-posts",
|
|
36
|
+
"optional": true,
|
|
37
|
+
"reason": "Match published posts to their live Bluesky records and read the engagement counts the ledger reports."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"typeId": "x-posts",
|
|
41
|
+
"optional": true,
|
|
42
|
+
"reason": "Match published posts to their live X records and read the engagement counts the ledger reports."
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"typeId": "instagram-media",
|
|
46
|
+
"optional": true,
|
|
47
|
+
"reason": "Read the synced Instagram records so caption performance can join the ledger."
|
|
48
|
+
}
|
|
49
|
+
],
|
|
50
|
+
"steps": [
|
|
51
|
+
{
|
|
52
|
+
"id": "reconcile",
|
|
53
|
+
"name": "Reconcile posts with live records",
|
|
54
|
+
"description": "Stamp missing corpusRef links and build the engagement ledger from the synced records.",
|
|
55
|
+
"suggestedRole": "omroeper",
|
|
56
|
+
"prompt": "You are reconciling our published posts with their live feed records, looking back {{lookbackDays}} days (if that value reads as a raw {{...}} placeholder, use the default: 7).\n\n1. Read `posts/index.json` with `read_file`, then each listed post folder's `post.md` and every file under its `variants/`. Collect every variant whose `status` is `published` or `scheduled`.\n2. For each collected variant MISSING a `corpusRef` in its frontmatter: find its live record in the project artifacts under `data/` (`list_artifacts`, then `read_artifact`) by matching the variant's `postId` or `permalink` against the record frontmatter — fall back to matching the opening text. When found, stamp it: call `record_publication` if it is in your function schema; otherwise edit the variant file with `write_file`, adding `corpusRef: <artifacts-relative record path>` (and `publishedAt` from the record when the variant lacks it). Leave variants that already carry `corpusRef` untouched.\n3. If there is no `data/` corpus at all, note \"no synced corpus — reconciliation skipped\" and still write the ledger from what the workspace knows, with unknown metric cells marked `-`.\n4. Write the artifact `{{workPath}}/reports/reception-ledger.md` with `write_artifact`: a markdown table, one row per published or scheduled variant, columns `Post` (slug), `Platform`, `Live record` (the corpusRef path or `-`), `Likes`, `Reposts`, `Replies`, `Metrics as of` (the record's `metrics_updated_at`). Copy every count verbatim from its record; use `-` where unknown. Below the table, add one line per reconciliation you performed this run.\n\nWhen the ledger artifact is written, call `advance_task_step` to move to analyze.",
|
|
57
|
+
"advanceWhen": {
|
|
58
|
+
"file": "{{workPath}}/reports/reception-ledger.md",
|
|
59
|
+
"artifact": true,
|
|
60
|
+
"minBytes": 150
|
|
61
|
+
},
|
|
62
|
+
"gate": {
|
|
63
|
+
"at": "completion",
|
|
64
|
+
"checks": [
|
|
65
|
+
{
|
|
66
|
+
"kind": "minBytes",
|
|
67
|
+
"file": "{{workPath}}/reports/reception-ledger.md",
|
|
68
|
+
"bytes": 150,
|
|
69
|
+
"artifact": true
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"maxAttempts": 3
|
|
73
|
+
},
|
|
74
|
+
"next": "analyze"
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"id": "analyze",
|
|
78
|
+
"name": "Analyze reception",
|
|
79
|
+
"description": "Read the ledger and work out what over- and under-performed against the account's own baseline.",
|
|
80
|
+
"suggestedRole": "omroeper",
|
|
81
|
+
"prompt": "Read `{{workPath}}/reports/reception-ledger.md` with `read_artifact`. Every number in your analysis must come from that ledger — cite the post slug next to each figure; no other source of numbers is allowed.\n\nWrite the artifact `{{workPath}}/reports/reception-analysis.md` with `write_artifact`:\n\n- `## Per-post` — each post against the account's recent baseline. The median of the ledger's like/repost/reply counts is a fine baseline; name the baseline you used.\n- `## What worked, what did not` — formats, themes, or posting times that over- or under-performed, each claim tied to specific ledger rows.\n- `## Cadence` — posts shipped in the window versus the project's cadence target when the mission or voice guide states one; when none is stated, say so and suggest a target.\n\nBe honest about small samples: with only a handful of posts, call patterns \"early signals\", never conclusions. When the analysis artifact is written, call `advance_task_step` to move to report.",
|
|
82
|
+
"advanceWhen": {
|
|
83
|
+
"file": "{{workPath}}/reports/reception-analysis.md",
|
|
84
|
+
"artifact": true,
|
|
85
|
+
"minBytes": 300
|
|
86
|
+
},
|
|
87
|
+
"gate": {
|
|
88
|
+
"at": "completion",
|
|
89
|
+
"checks": [
|
|
90
|
+
{
|
|
91
|
+
"kind": "minBytes",
|
|
92
|
+
"file": "{{workPath}}/reports/reception-analysis.md",
|
|
93
|
+
"bytes": 300,
|
|
94
|
+
"artifact": true
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"kind": "judge",
|
|
98
|
+
"file": "{{workPath}}/reports/reception-analysis.md",
|
|
99
|
+
"rubric": "Every metric named in the analysis appears in the ledger; baselines are computed from ledger rows, not invented; claims cite post slugs.",
|
|
100
|
+
"sourceFiles": [
|
|
101
|
+
"{{workPath}}/reports/reception-ledger.md"
|
|
102
|
+
],
|
|
103
|
+
"label": "no metric absent from the ledger",
|
|
104
|
+
"artifact": true
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"onReject": "analyze",
|
|
108
|
+
"maxAttempts": 3
|
|
109
|
+
},
|
|
110
|
+
"next": "report"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"id": "report",
|
|
114
|
+
"name": "Write the reception report",
|
|
115
|
+
"description": "Scoreboard, three findings, three recommendations, and exactly one one-click next-post action.",
|
|
116
|
+
"suggestedRole": "omroeper",
|
|
117
|
+
"prompt": "Assemble the reception report from `{{workPath}}/reports/reception-ledger.md` and `{{workPath}}/reports/reception-analysis.md` (read both with `read_artifact`). Cite no number that is not in the ledger.\n\nWrite the report to the artifact `{{workPath}}/reports/reception-report-<today YYYY-MM-DD>.md` with `write_artifact` (use today's real date in the filename), then write the exact same content to `{{workPath}}/reports/reception-report-latest.md` — the stable path the completion gate reads. Write the latest file last. Structure:\n\n- `## Scoreboard` — the ledger table trimmed to `Post`, `Platform`, `Likes`, `Reposts`, `Replies`.\n- `## Findings` — exactly 3, each one sentence plus one line of supporting evidence from the ledger or analysis.\n- `## Recommendations` — exactly 3, each concrete enough to act on this week.\n- `## Next post` — one paragraph naming the strongest theme to post about next, followed by EXACTLY ONE ```gezel-action fenced YAML block. Rules for the block: flat YAML keys (only `params` nests one level); a unique `id` slug that stays stable across weekly runs unless the theme changes; short `title`; one-sentence `reason`; never invent craftbook ids — reference only `draft-social-post`, which ships alongside this workflow:\n\n```gezel-action\nkind: fire-craftbook\nid: next-post-<theme-slug>\ntitle: Draft the next post\nreason: <the strongest theme, grounded in the findings>\ncraftbookId: draft-social-post\nparams:\n topic: <the suggested topic>\n```\n\nWhen both report files are written, call `advance_task_step` to move to evaluate.",
|
|
118
|
+
"advanceWhen": {
|
|
119
|
+
"file": "{{workPath}}/reports/reception-report-latest.md",
|
|
120
|
+
"artifact": true,
|
|
121
|
+
"minBytes": 400,
|
|
122
|
+
"requireChange": true
|
|
123
|
+
},
|
|
124
|
+
"gate": {
|
|
125
|
+
"at": "completion",
|
|
126
|
+
"checks": [
|
|
127
|
+
{
|
|
128
|
+
"kind": "minBytes",
|
|
129
|
+
"file": "{{workPath}}/reports/reception-report-latest.md",
|
|
130
|
+
"bytes": 400,
|
|
131
|
+
"artifact": true
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"kind": "contains",
|
|
135
|
+
"file": "{{workPath}}/reports/reception-report-latest.md",
|
|
136
|
+
"pattern": "```gezel-action",
|
|
137
|
+
"label": "report carries the one-click next-post action",
|
|
138
|
+
"artifact": true
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"kind": "judge",
|
|
142
|
+
"file": "{{workPath}}/reports/reception-report-latest.md",
|
|
143
|
+
"rubric": "Every metric in the report appears in the ledger; the findings follow from the analysis; there is exactly one gezel-action block and it references craftbookId draft-social-post with a topic grounded in the findings.",
|
|
144
|
+
"sourceFiles": [
|
|
145
|
+
"{{workPath}}/reports/reception-ledger.md",
|
|
146
|
+
"{{workPath}}/reports/reception-analysis.md"
|
|
147
|
+
],
|
|
148
|
+
"label": "grounded scoreboard and single action",
|
|
149
|
+
"artifact": true
|
|
150
|
+
}
|
|
151
|
+
],
|
|
152
|
+
"onReject": "report",
|
|
153
|
+
"maxAttempts": 4
|
|
154
|
+
},
|
|
155
|
+
"next": "evaluate"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"id": "evaluate",
|
|
159
|
+
"name": "Evaluate",
|
|
160
|
+
"description": "Grade the report against every criterion. All pass — finish; any fail — loop back to report with the named gaps.",
|
|
161
|
+
"suggestedRole": "reviewer",
|
|
162
|
+
"prompt": "Open `{{workPath}}/reports/reception-report-latest.md`, `{{workPath}}/reports/reception-analysis.md`, and `{{workPath}}/reports/reception-ledger.md` with `read_artifact` and grade the report. Check EACH criterion and write PASS/FAIL with a one-line reason:\n\n1. The scoreboard covers every ledger row (no post silently dropped).\n2. Every number in the report traces to the ledger (spot-check at least three).\n3. There are exactly 3 findings, each with evidence.\n4. There are exactly 3 recommendations, each actionable this week.\n5. There is exactly one ```gezel-action block, it is valid flat YAML, and its `craftbookId` is `draft-social-post` with a `params.topic` seeded from the strongest theme.\n6. Small samples are read honestly — early signals, not sweeping conclusions.\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 task notes with `write_task_note`, then call `advance_task_step({ ref, stepId: \"evaluate\", next: \"report\" })` to loop back. The report step fixes exactly those gaps.\n\nNever route to finish while a criterion is unmet. After ~3 unproductive loops, stop and report DONE_WITH_CONCERNS so the user can step in.",
|
|
163
|
+
"next": "report"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"id": "finish",
|
|
167
|
+
"name": "Finish",
|
|
168
|
+
"description": "Stamp the summary note and stop.",
|
|
169
|
+
"suggestedRole": "omroeper",
|
|
170
|
+
"prompt": "Write a one-paragraph DONE summary with `write_task_note`: the report artifact paths (the dated file and `{{workPath}}/reports/reception-report-latest.md`), the top finding in one line, how many posts were reconciled this run, and the recommended next topic. Report DONE.",
|
|
171
|
+
"terminal": true
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"version": "1.0.1",
|
|
175
|
+
"releasedAt": "2026-08-21T00:00:00Z",
|
|
176
|
+
"minGezelVersion": "1.26233"
|
|
177
|
+
}
|