@bendyline/gilde 0.1.26 → 0.1.28
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/authoring/chat-models/README.md +5 -0
- package/authoring/chat-models/deepseek-v4-flash-284b-mxfp4.json +4 -0
- package/authoring/chat-models/deepseek-v4-flash-284b-q2.json +4 -0
- package/authoring/chat-models/deepseek-v4-flash-284b-q2q4.json +4 -0
- package/authoring/chat-models/glm-5.2-754b-q2.json +4 -0
- package/authoring/gstack/evals/investigate.json +1 -0
- package/authoring/gstack/evals/plan-ceo-review.json +1 -0
- package/authoring/gstack/wave.json +2 -2
- package/data/chat-models/de/deepseek-v4-flash-284b-mxfp4/manifest.json +4 -0
- package/data/chat-models/de/deepseek-v4-flash-284b-q2/manifest.json +4 -0
- package/data/chat-models/de/deepseek-v4-flash-284b-q2q4/manifest.json +4 -0
- package/data/chat-models/gl/glm-5.2-754b-q2/manifest.json +4 -0
- package/data/chat-models/index.json +1 -1
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.1/craftbook.json +141 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.1/test.json +115 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.1/test.json +186 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.1/craftbook.json +110 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.1/craftbook.json +105 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.1/test.json +108 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.1/craftbook.json +115 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.1/test.json +147 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.1/craftbook.json +101 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.1/test.json +145 -0
- package/data/craftbook-templates/al/alt-text-pass/versions/1.0.1/craftbook.json +142 -0
- package/data/craftbook-templates/al/alt-text-pass/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.3/craftbook.json +226 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.3/test.json +157 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.1/test.json +102 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.1/test.json +120 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.1/craftbook.json +141 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.1/test.json +115 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.1/craftbook.json +158 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.1/test.json +136 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.1/craftbook.json +129 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.1/craftbook.json +123 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.3/craftbook.json +210 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.3/test.json +221 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.1/test.json +140 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.1/craftbook.json +164 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.1/test.json +296 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.1/test.json +108 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.1/test.json +118 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.1/test.json +100 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.1/craftbook.json +150 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.1/test.json +99 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.1/craftbook.json +158 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/br/branding-website/versions/1.1.1/craftbook.json +211 -0
- package/data/craftbook-templates/br/branding-website/versions/1.1.1/test.json +164 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.3/craftbook.json +417 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.3/test.json +376 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.2/craftbook.json +164 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/1.0.2/test.json +92 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.1/test.json +102 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.1/craftbook.json +110 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.1/test.json +106 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.1/test.json +112 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.1/craftbook.json +151 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.1/test.json +105 -0
- package/data/craftbook-templates/ch/changelog-cut/versions/1.0.1/craftbook.json +113 -0
- package/data/craftbook-templates/ch/changelog-cut/versions/1.0.1/test.json +106 -0
- package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/ch/changelog-writeup/versions/1.0.1/test.json +129 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.2/craftbook.json +123 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.2/test.json +155 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.1/craftbook.json +74 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.1/test.json +98 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.1/craftbook.json +82 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.1/test.json +143 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.1/craftbook.json +121 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.1/test.json +178 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.1/craftbook.json +132 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.1/test.json +149 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.1/craftbook.json +147 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.1/test.json +128 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.1/craftbook.json +153 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.1/test.json +116 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.1/craftbook.json +153 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.1/test.json +119 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.1/test.json +226 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.1/craftbook.json +139 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.1/craftbook.json +153 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.1/test.json +109 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.1/test.json +145 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.1/test.json +116 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.1/craftbook.json +105 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.1/test.json +120 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.1/test.json +149 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.1/craftbook.json +206 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.1/test.json +169 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.1/craftbook.json +145 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.1/test.json +102 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.1/craftbook.json +121 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.1/test.json +159 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.1/test.json +102 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.1/craftbook.json +210 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.1/test.json +187 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.1/test.json +156 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.1/test.json +100 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.1/craftbook.json +101 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.1/test.json +207 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.1/craftbook.json +164 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.1/test.json +135 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.2/craftbook.json +101 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.2/test.json +102 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.1/test.json +114 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.1/test.json +101 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.1/craftbook.json +101 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.2/craftbook.json +148 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.2/test.json +162 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.1/test.json +326 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.1/test.json +95 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.1/test.json +117 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.2/craftbook.json +101 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.2/test.json +95 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.1/craftbook.json +211 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.1/test.json +157 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.1/craftbook.json +141 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.1/test.json +108 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.1/craftbook.json +159 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.1/test.json +165 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.1/test.json +118 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.3/craftbook.json +431 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.3/test.json +201 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.1/craftbook.json +109 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.1/craftbook.json +153 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.1/test.json +132 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.1/craftbook.json +176 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.1/test.json +146 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.1/craftbook.json +142 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.3/craftbook.json +403 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.3/test.json +191 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.3/craftbook.json +433 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.3/test.json +136 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.1/craftbook.json +74 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.1/test.json +108 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.1/craftbook.json +159 -0
- package/data/craftbook-templates/fe/feature-flag-release/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.1/craftbook.json +103 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.1/craftbook.json +105 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.1/craftbook.json +110 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.1/craftbook.json +168 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.1/test.json +99 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.2/craftbook.json +146 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.2/test.json +92 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.1/craftbook.json +145 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.1/craftbook.json +154 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.1/craftbook.json +202 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.1/test.json +128 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.1/craftbook.json +182 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.1/craftbook.json +218 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.1/test.json +176 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.1/craftbook.json +150 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.1/test.json +99 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.3/craftbook.json +397 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.3/test.json +141 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.1/craftbook.json +150 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.1/test.json +99 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.1/craftbook.json +109 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.1/craftbook.json +105 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.1/craftbook.json +179 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.1/test.json +180 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.1/craftbook.json +158 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.1/test.json +109 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.1/craftbook.json +153 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.1/test.json +121 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.1/test.json +99 -0
- package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/in/investigate-root-cause/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.1/craftbook.json +128 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.1/test.json +121 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.1/craftbook.json +110 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.1/craftbook.json +199 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.1/test.json +140 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/it/item-intake/versions/1.0.1/test.json +145 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.1/craftbook.json +116 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.1/test.json +116 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.1/craftbook.json +184 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/li/live-browser-qa/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/li/live-browser-qa/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.1/test.json +210 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.1/craftbook.json +108 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.1/test.json +184 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.1/craftbook.json +109 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.1/craftbook.json +115 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.1/test.json +112 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.1/craftbook.json +117 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.1/test.json +99 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.1/craftbook.json +139 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.1/craftbook.json +156 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.1/test.json +133 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.1/craftbook.json +158 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.1/test.json +197 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.1/test.json +117 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.1/craftbook.json +109 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.1/test.json +225 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.1/craftbook.json +152 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.1/test.json +250 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.1/craftbook.json +101 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.1/craftbook.json +181 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.1/test.json +86 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.1/craftbook.json +158 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.1/craftbook.json +137 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.1/craftbook.json +106 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.1/craftbook.json +112 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.1/craftbook.json +82 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.1/test.json +132 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.1/test.json +122 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.1/craftbook.json +110 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.1/test.json +99 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.1/test.json +111 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.1/craftbook.json +151 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.0/craftbook.json +257 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.0/test.json +228 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.1/craftbook.json +347 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.1/test.json +228 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.1/craftbook.json +159 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.1/test.json +117 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.1/craftbook.json +115 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.1/test.json +114 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.1/test.json +356 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.1/craftbook.json +109 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.1/test.json +150 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.1/craftbook.json +184 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.1/craftbook.json +105 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/pu/pull-request-review/manifest.json +3 -1
- package/data/craftbook-templates/pu/pull-request-review/versions/1.4.1/craftbook.json +180 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.4.1/test.json +123 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.1/craftbook.json +121 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.1/test.json +123 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.1/craftbook.json +155 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.1/test.json +113 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.1/test.json +149 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.1/test.json +128 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.1/craftbook.json +115 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.2/craftbook.json +148 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.2/test.json +92 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.1/craftbook.json +159 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.1/test.json +202 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.1/craftbook.json +214 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.1/test.json +138 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.1/craftbook.json +159 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.1/test.json +111 -0
- package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/re/release-pipeline-ci/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.1/craftbook.json +153 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.1/test.json +112 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.1/craftbook.json +173 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.1/test.json +98 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.1/craftbook.json +216 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.1/test.json +240 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.2/craftbook.json +147 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.2/test.json +387 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.1/craftbook.json +159 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.3/craftbook.json +413 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.3/test.json +154 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.2/craftbook.json +167 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.2/test.json +137 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.1/craftbook.json +145 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.1/test.json +118 -0
- package/data/craftbook-templates/sc/schema-migration/versions/1.0.1/craftbook.json +144 -0
- package/data/craftbook-templates/sc/schema-migration/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.2/craftbook.json +140 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.2/test.json +162 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.2/craftbook.json +147 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.2/test.json +90 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.3/craftbook.json +440 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.3/test.json +154 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.1/craftbook.json +105 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.1/test.json +158 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.3/craftbook.json +436 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.3/test.json +162 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.1/craftbook.json +109 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.1/test.json +160 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.1/craftbook.json +137 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.1/craftbook.json +109 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.1/craftbook.json +146 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.1/craftbook.json +128 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.1/craftbook.json +110 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.1/craftbook.json +114 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.3/craftbook.json +408 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.3/test.json +174 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.1.1/craftbook.json +141 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.1.1/test.json +113 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.1/craftbook.json +120 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.1/test.json +141 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.1/test.json +142 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.1/craftbook.json +103 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.1/craftbook.json +160 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.1/test.json +159 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.1/craftbook.json +115 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.1/test.json +98 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.1/craftbook.json +171 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.1/test.json +151 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.1/craftbook.json +148 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.0.1/craftbook.json +155 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.0.1/test.json +92 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.1/craftbook.json +109 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.1/test.json +103 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.1/craftbook.json +154 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.1/test.json +124 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.1/craftbook.json +143 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.1/craftbook.json +110 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.1/craftbook.json +147 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.1/test.json +162 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.1/test.json +255 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.1/test.json +97 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.1/craftbook.json +106 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.1/test.json +104 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.1/craftbook.json +107 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.1/craftbook.json +140 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.1/test.json +138 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.1/craftbook.json +141 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.1/test.json +110 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.1/craftbook.json +115 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.1/test.json +145 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.1/craftbook.json +134 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.1/test.json +103 -0
- package/package.json +1 -1
- package/schemas/chat-model-identity.schema.json +16 -0
- package/schemas/craftbook-doc.schema.json +8 -2
- package/schemas/craftbook-template-version.schema.json +8 -2
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Landing Page Copy smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Landing Page Copy craftbook using the corpus generic harness.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"corpus"
|
|
7
|
+
],
|
|
8
|
+
"prompt": "We need a landing page copy for the returns-desk work. The backgound info is in source/brief.md — have a look and write it up in report.md.",
|
|
9
|
+
"setup": {
|
|
10
|
+
"projectName": "Landing Page Copy Eval",
|
|
11
|
+
"about": "Self-contained eval project for landing-copy. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/report.md.",
|
|
12
|
+
"missionObjectives": "Use the Landing Page Copy craftbook/template, read the seeded local fixtures, and write report.md without network calls, real credentials, or live services.",
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "source/brief.md",
|
|
16
|
+
"content": "# Landing Page Copy 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: landing-copy - Landing Page Copy.\n"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"worker": {
|
|
20
|
+
"name": "Jules",
|
|
21
|
+
"role": "Writer"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"mocks": [],
|
|
25
|
+
"success": {
|
|
26
|
+
"summary": "report.md is a source-grounded markdown artifact with required facts and actions.",
|
|
27
|
+
"deliverables": [
|
|
28
|
+
{
|
|
29
|
+
"path": "report.md",
|
|
30
|
+
"kind": "markdown-report",
|
|
31
|
+
"minBytes": 1000,
|
|
32
|
+
"checks": [
|
|
33
|
+
{
|
|
34
|
+
"kind": "contains",
|
|
35
|
+
"file": "report.md",
|
|
36
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
37
|
+
"flags": "i"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"kind": "contains",
|
|
41
|
+
"file": "report.md",
|
|
42
|
+
"pattern": "source/brief\\.md|Brief",
|
|
43
|
+
"flags": "i",
|
|
44
|
+
"label": "cite or name the seeded source"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"kind": "contains",
|
|
48
|
+
"file": "report.md",
|
|
49
|
+
"pattern": "18\\b[\\s\\S]{0,30}\\bSKUs",
|
|
50
|
+
"flags": "i",
|
|
51
|
+
"label": "include the 18-SKU pilot scope"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"kind": "contains",
|
|
55
|
+
"file": "report.md",
|
|
56
|
+
"pattern": "18\\s*hours|6\\s*hours",
|
|
57
|
+
"flags": "i"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"kind": "contains",
|
|
61
|
+
"file": "report.md",
|
|
62
|
+
"pattern": "14\\.2%|8\\.9%",
|
|
63
|
+
"flags": "i"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"kind": "contains",
|
|
67
|
+
"file": "report.md",
|
|
68
|
+
"pattern": "status silence|photo submission",
|
|
69
|
+
"flags": "i"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"kind": "contains",
|
|
73
|
+
"file": "report.md",
|
|
74
|
+
"pattern": "automated status emails|barcode|Finance",
|
|
75
|
+
"flags": "i"
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
"rubric": {
|
|
82
|
+
"artifact": {
|
|
83
|
+
"path": "report.md",
|
|
84
|
+
"kind": "markdown"
|
|
85
|
+
},
|
|
86
|
+
"axes": [
|
|
87
|
+
{
|
|
88
|
+
"name": "grounding",
|
|
89
|
+
"description": "Seeded facts appear faithfully and the source is cited."
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"name": "structure",
|
|
93
|
+
"description": "Sections progress logically for the artifact class."
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"name": "completeness",
|
|
97
|
+
"description": "Required elements (risks, next actions, scope) are all present."
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "tone",
|
|
101
|
+
"description": "The register fits the audience and artifact class."
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"qualityFocus": [
|
|
106
|
+
"source-grounded prose",
|
|
107
|
+
"section structure",
|
|
108
|
+
"next-action clarity"
|
|
109
|
+
]
|
|
110
|
+
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "landing-page",
|
|
3
|
+
"name": "Landing Page",
|
|
4
|
+
"description": "Build a single high-conversion landing page for one offer — a product, signup, waitlist, or download — with a focused hero, benefits, social proof, and one primary call to action above and below the fold. Locks the offer, audience, and single CTA first, then a conversion-oriented visual design, then the persuasive copy, then builds responsive HTML with real CSS. The scope-then-design-then-copy ordering keeps the page ruthlessly focused on one conversion goal instead of becoming a sprawling site.\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. Offer scope (planner) — lock the offer, audience, and single primary CTA → gated on artifact `notes/offer-scope.md` (markdown-notes)\n2. Visual design (visual-designer) — conversion-focused layout + visual hierarchy → gated on artifact `notes/visual-design.md` (markdown-notes)\n3. Copywriting (copywriter) — benefit-led persuasive copy + CTA label → gated on artifact `notes/copy.md` (markdown-notes)\n4. Build (developer) — implement index.html to the locked design + copy → gated on `index.html` (html-marketing-site)\n\nThe gates never advance with an unmet criterion, and loop back to the\nowning phase to fix named gaps.\n",
|
|
5
|
+
"entryStepId": "offer-scope",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"build a landing page",
|
|
8
|
+
"make a marketing page",
|
|
9
|
+
"conversion page",
|
|
10
|
+
"product launch page",
|
|
11
|
+
"waitlist page",
|
|
12
|
+
"signup page"
|
|
13
|
+
],
|
|
14
|
+
"steps": [
|
|
15
|
+
{
|
|
16
|
+
"id": "offer-scope",
|
|
17
|
+
"name": "Offer scope",
|
|
18
|
+
"description": "lock the offer, audience, and single primary CTA",
|
|
19
|
+
"prompt": "Lock the conversion fundamentals. (1) State the ONE offer in a sentence and the single primary CTA (e.g. 'Join the waitlist', 'Start free trial') — exactly one, repeated, no competing actions. (2) Name the target audience and the core pain the offer solves. (3) List the page sections in order: hero with CTA, 3 benefits, social proof, FAQ or objection-handling, final CTA. (4) Decide the success signal (what a converted visitor does). (5) Write an acceptance-criteria checklist of 5-8 items, e.g. 'the primary CTA appears above the fold and again at the bottom', 'exactly one CTA action exists', 'three benefits are present', 'a social-proof element is present', 'responsive at 375px and 1280px'. Write to notes/offer-scope.md and via write_task_note. No design or copy yet.\n\nThe deliverable `notes/offer-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.",
|
|
20
|
+
"suggestedRole": "planner",
|
|
21
|
+
"advanceWhen": {
|
|
22
|
+
"file": "notes/offer-scope.md",
|
|
23
|
+
"minBytes": 1,
|
|
24
|
+
"sniff": "nonempty",
|
|
25
|
+
"artifact": true
|
|
26
|
+
},
|
|
27
|
+
"gate": {
|
|
28
|
+
"at": "completion",
|
|
29
|
+
"checks": [
|
|
30
|
+
{
|
|
31
|
+
"kind": "minBytes",
|
|
32
|
+
"file": "notes/offer-scope.md",
|
|
33
|
+
"bytes": 120,
|
|
34
|
+
"artifact": true
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"kind": "sniff",
|
|
38
|
+
"file": "notes/offer-scope.md",
|
|
39
|
+
"sniff": "nonempty",
|
|
40
|
+
"artifact": true
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"onReject": "offer-scope",
|
|
44
|
+
"maxAttempts": 3
|
|
45
|
+
},
|
|
46
|
+
"next": "visual-design"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"id": "visual-design",
|
|
50
|
+
"name": "Visual design",
|
|
51
|
+
"description": "conversion-focused layout + visual hierarchy",
|
|
52
|
+
"prompt": "Design for conversion. (1) Pick a palette (hex) with a high-contrast accent reserved for the CTA so it pops. (2) Choose type and a strong visual hierarchy that drives the eye to the CTA. (3) Lay out each scoped section as a wireframe, keeping the hero uncluttered. (4) Specify the CTA button style (size, color, hover) and where it repeats. (5) Note any directional cues or whitespace that focus attention. Bake into the criteria 'CTA uses the accent color and is the most prominent element'. Write the visual spec to notes/visual-design.md and via write_task_note. No HTML yet.\n\nThe deliverable `notes/visual-design.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
|
|
53
|
+
"suggestedRole": "visual-designer",
|
|
54
|
+
"advanceWhen": {
|
|
55
|
+
"file": "notes/visual-design.md",
|
|
56
|
+
"minBytes": 1,
|
|
57
|
+
"sniff": "nonempty",
|
|
58
|
+
"artifact": true
|
|
59
|
+
},
|
|
60
|
+
"gate": {
|
|
61
|
+
"at": "completion",
|
|
62
|
+
"checks": [
|
|
63
|
+
{
|
|
64
|
+
"kind": "minBytes",
|
|
65
|
+
"file": "notes/visual-design.md",
|
|
66
|
+
"bytes": 120,
|
|
67
|
+
"artifact": true
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"kind": "sniff",
|
|
71
|
+
"file": "notes/visual-design.md",
|
|
72
|
+
"sniff": "nonempty",
|
|
73
|
+
"artifact": true
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"onReject": "visual-design",
|
|
77
|
+
"maxAttempts": 3
|
|
78
|
+
},
|
|
79
|
+
"next": "copy"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "copy",
|
|
83
|
+
"name": "Copywriting",
|
|
84
|
+
"description": "benefit-led persuasive copy + CTA label",
|
|
85
|
+
"prompt": "Write conversion copy. (1) A benefit-led hero headline (outcome, not feature) and a one-line subhead. (2) Three benefit blocks, each a verb-led heading plus one supporting sentence. (3) A social-proof line. (4) Two or three objection-handling FAQ pairs. (5) The exact CTA label (action verb) used everywhere. Keep it scannable and specific — no vague hype. Write the copy block keyed by section to notes/copy.md and via write_task_note.\n\nThe deliverable `notes/copy.md` lands in the project's artifacts drawer — write it with `write_artifact` and read it back with `read_artifact`; the shipped workspace stays untouched.",
|
|
86
|
+
"suggestedRole": "copywriter",
|
|
87
|
+
"advanceWhen": {
|
|
88
|
+
"file": "notes/copy.md",
|
|
89
|
+
"minBytes": 1,
|
|
90
|
+
"sniff": "nonempty",
|
|
91
|
+
"artifact": true
|
|
92
|
+
},
|
|
93
|
+
"gate": {
|
|
94
|
+
"at": "completion",
|
|
95
|
+
"checks": [
|
|
96
|
+
{
|
|
97
|
+
"kind": "minBytes",
|
|
98
|
+
"file": "notes/copy.md",
|
|
99
|
+
"bytes": 120,
|
|
100
|
+
"artifact": true
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"kind": "sniff",
|
|
104
|
+
"file": "notes/copy.md",
|
|
105
|
+
"sniff": "nonempty",
|
|
106
|
+
"artifact": true
|
|
107
|
+
}
|
|
108
|
+
],
|
|
109
|
+
"onReject": "copy",
|
|
110
|
+
"maxAttempts": 3
|
|
111
|
+
},
|
|
112
|
+
"next": "build"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"id": "build",
|
|
116
|
+
"name": "Build",
|
|
117
|
+
"description": "implement index.html to the locked design + copy",
|
|
118
|
+
"prompt": "Implement index.html with inline CSS to the visual spec and approved copy. (1) Palette as CSS variables; the CTA uses the accent color and is the most prominent element. (2) Build the scoped sections in order with the approved copy. (3) Place the primary CTA above the fold in the hero and repeat it at the bottom — same single action. (4) Responsive at 375px and 1280px. (5) Vanilla HTML/CSS, no CDN frameworks, no external assets. On a loop-back, fix only the named gaps without regressing passing criteria. write_task_note the path and passing criteria.",
|
|
119
|
+
"suggestedRole": "developer",
|
|
120
|
+
"advanceWhen": {
|
|
121
|
+
"file": "index.html",
|
|
122
|
+
"minBytes": 1,
|
|
123
|
+
"sniff": "html-complete"
|
|
124
|
+
},
|
|
125
|
+
"gate": {
|
|
126
|
+
"at": "completion",
|
|
127
|
+
"checks": [
|
|
128
|
+
{
|
|
129
|
+
"kind": "minBytes",
|
|
130
|
+
"file": "index.html",
|
|
131
|
+
"bytes": 1200
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"kind": "htmlLint",
|
|
135
|
+
"file": "index.html"
|
|
136
|
+
}
|
|
137
|
+
],
|
|
138
|
+
"scripts": [
|
|
139
|
+
{
|
|
140
|
+
"name": "checkHtmlComplete",
|
|
141
|
+
"scope": "standard",
|
|
142
|
+
"inputs": {
|
|
143
|
+
"file": "index.html"
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"name": "checkCssMinBytes",
|
|
148
|
+
"scope": "standard",
|
|
149
|
+
"inputs": {
|
|
150
|
+
"file": "index.html",
|
|
151
|
+
"minBytes": 600
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"onReject": "build",
|
|
156
|
+
"maxAttempts": 4
|
|
157
|
+
},
|
|
158
|
+
"next": "evaluate"
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
"id": "evaluate",
|
|
162
|
+
"name": "Evaluate",
|
|
163
|
+
"description": "Grade the deliverable against every acceptance criterion. All pass → finish; any fail → loop back and fix the gap.",
|
|
164
|
+
"prompt": "Evaluate the page for conversion focus. Open/render index.html and resize to 375px and 1280px. Check EACH criterion from notes/offer-scope.md and the visual criteria, writing PASS/FAIL with a reason: is there exactly one CTA action, does it appear above the fold and at the bottom, is it the most prominent (accent) element, are there three benefits and social proof, is the approved copy used, is it responsive? A page with multiple competing CTAs or a buried CTA FAILS — loop back to build.\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: \"build\" })` 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.",
|
|
165
|
+
"suggestedRole": "reviewer",
|
|
166
|
+
"consumes": [
|
|
167
|
+
{
|
|
168
|
+
"file": "index.html"
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"next": "build"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"id": "finish",
|
|
175
|
+
"name": "Finish",
|
|
176
|
+
"description": "All acceptance criteria met. Stamp a short summary and report DONE.",
|
|
177
|
+
"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.",
|
|
178
|
+
"suggestedRole": "developer",
|
|
179
|
+
"terminal": true
|
|
180
|
+
}
|
|
181
|
+
],
|
|
182
|
+
"version": "1.0.1",
|
|
183
|
+
"releasedAt": "2026-08-14T00:00:00Z"
|
|
184
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Landing Page smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Landing Page 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": "Landing Page Eval",
|
|
11
|
+
"about": "Self-contained eval project for landing-page. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/index.html.",
|
|
12
|
+
"missionObjectives": "Use the Landing Page 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": "# Landing Page 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: landing-page - Landing Page.\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
|
+
},
|
|
28
|
+
"mocks": [],
|
|
29
|
+
"success": {
|
|
30
|
+
"summary": "index.html is a source-grounded self-contained HTML page/tool.",
|
|
31
|
+
"deliverables": [
|
|
32
|
+
{
|
|
33
|
+
"path": "index.html",
|
|
34
|
+
"kind": "html-page",
|
|
35
|
+
"minBytes": 3000,
|
|
36
|
+
"checks": [
|
|
37
|
+
{
|
|
38
|
+
"kind": "cssMinBytes",
|
|
39
|
+
"bytes": 650,
|
|
40
|
+
"file": "index.html"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"kind": "jsParses",
|
|
44
|
+
"file": "index.html"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"kind": "contains",
|
|
48
|
+
"file": "index.html",
|
|
49
|
+
"pattern": "Boreal|Support Board|returns",
|
|
50
|
+
"flags": "i"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"kind": "contains",
|
|
54
|
+
"file": "index.html",
|
|
55
|
+
"pattern": "18\\s*hours|6\\s*hours|14\\.2%|8\\.9%",
|
|
56
|
+
"flags": "i"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"kind": "contains",
|
|
60
|
+
"file": "index.html",
|
|
61
|
+
"pattern": "button|input|filter|tab|card|section|nav",
|
|
62
|
+
"flags": "i"
|
|
63
|
+
}
|
|
64
|
+
]
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
"rubric": {
|
|
69
|
+
"artifact": {
|
|
70
|
+
"path": "index.html",
|
|
71
|
+
"kind": "html"
|
|
72
|
+
},
|
|
73
|
+
"axes": [
|
|
74
|
+
{
|
|
75
|
+
"name": "structure",
|
|
76
|
+
"description": "Layout and hierarchy fit the content; sections are scannable and coherent."
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"name": "grounding",
|
|
80
|
+
"description": "Seeded source content is used faithfully — no invented facts or dropped requirements."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"name": "interactivity",
|
|
84
|
+
"description": "Controls and states the page claims to offer actually work."
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"name": "polish",
|
|
88
|
+
"description": "Styling is intentional and responsive rather than unstyled or broken."
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"qualityFocus": [
|
|
93
|
+
"self-contained UI",
|
|
94
|
+
"source grounding",
|
|
95
|
+
"responsive structure"
|
|
96
|
+
]
|
|
97
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "lead-enrichment",
|
|
3
|
+
"name": "Enrich a Leads List",
|
|
4
|
+
"description": "Take a raw leads or contacts list and enrich each row with derived and looked-up attributes — company domain, industry, size band, role seniority, normalized location, and a quality/score flag — into a clean CRM-ready file. Scopes the enrichment fields, their sources, and the dedup/normalization rules FIRST, then enriches each lead row-by-row, then verifies coverage, that nothing was fabricated when a source had no data, and that duplicates are merged. Defining 'what each field means and where it comes from' before enriching is what stops a small model from inventing plausible-but-false company data.\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 enrichment (planner) — fields, sources, dedup + normalization rules → gated on artifact `notes/scope.md` (markdown-notes)\n2. Enrich each lead (developer) — derive, look up, normalize, and flag each row → gated on `leads_enriched.json` (json)\n3. Verify the enrichment (reviewer) — coverage, allowed values, no fabrication, dedup → gated on artifact `notes/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
|
+
"enrich my leads",
|
|
8
|
+
"clean up a contacts list",
|
|
9
|
+
"add company info to leads",
|
|
10
|
+
"enrich a CRM export",
|
|
11
|
+
"fill in missing lead fields"
|
|
12
|
+
],
|
|
13
|
+
"steps": [
|
|
14
|
+
{
|
|
15
|
+
"id": "scope",
|
|
16
|
+
"name": "Scope the enrichment",
|
|
17
|
+
"description": "fields, sources, dedup + normalization rules",
|
|
18
|
+
"prompt": "Define enrichment before touching the list. Step 1: load the input leads file and list its existing columns. Step 2: define each enrichment field to add (e.g. company_domain, industry, employee_band, seniority, normalized_country, lead_score) with its type, its source (derive from email domain, look up via an available tool, or normalize an existing value), and an allowed-value set where applicable (industry list, seniority levels, size bands). Step 3: define the dedup key (e.g. lowercased email, or name+company) and the merge rule for duplicates. Step 4: state the no-fabrication rule explicitly — if a field cannot be sourced, leave it blank and mark a confidence/flag, never guess. Step 5: write an acceptance-criteria checklist ('every input lead present in output', 'enriched fields use only allowed values', 'unsourced fields are blank+flagged, not invented', 'duplicates merged by the dedup key', 'output is CRM-ready in the chosen format'). Call write_task_note with fields + sources + rules + checklist and write notes/scope.md. No enrichment yet.\n\nThe deliverable `notes/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": "notes/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": "notes/scope.md",
|
|
32
|
+
"bytes": 120,
|
|
33
|
+
"artifact": true
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"kind": "sniff",
|
|
37
|
+
"file": "notes/scope.md",
|
|
38
|
+
"sniff": "nonempty",
|
|
39
|
+
"artifact": true
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"onReject": "scope",
|
|
43
|
+
"maxAttempts": 3
|
|
44
|
+
},
|
|
45
|
+
"next": "enrich"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"id": "enrich",
|
|
49
|
+
"name": "Enrich each lead",
|
|
50
|
+
"description": "derive, look up, normalize, and flag each row",
|
|
51
|
+
"prompt": "Enrich the list to the locked field spec. Step 1: dedup the input by the chosen key first, merging duplicate rows per the merge rule. Step 2: for each lead, derive the deterministic fields (e.g. company_domain from a work email, normalized_country from a location string). Step 3: for lookup fields, use the available capability and constrain outputs to the allowed-value set; when a lookup returns nothing, set the field blank and flag low confidence — do not fabricate. Step 4: compute the lead_score from the agreed signals. Step 5: write the enriched, deduped dataset to the output file in the chosen format and confirm it parses. Call write_task_note with the output path, input vs output row counts, and a per-field fill-rate.",
|
|
52
|
+
"suggestedRole": "developer",
|
|
53
|
+
"advanceWhen": {
|
|
54
|
+
"file": "leads_enriched.json",
|
|
55
|
+
"minBytes": 1,
|
|
56
|
+
"sniff": "json-valid"
|
|
57
|
+
},
|
|
58
|
+
"gate": {
|
|
59
|
+
"at": "completion",
|
|
60
|
+
"checks": [
|
|
61
|
+
{
|
|
62
|
+
"kind": "minBytes",
|
|
63
|
+
"file": "leads_enriched.json",
|
|
64
|
+
"bytes": 2
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"scripts": [
|
|
68
|
+
{
|
|
69
|
+
"name": "checkJsonValid",
|
|
70
|
+
"scope": "standard",
|
|
71
|
+
"inputs": {
|
|
72
|
+
"file": "leads_enriched.json"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
],
|
|
76
|
+
"onReject": "enrich",
|
|
77
|
+
"maxAttempts": 3
|
|
78
|
+
},
|
|
79
|
+
"next": "verify"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"id": "verify",
|
|
83
|
+
"name": "Verify the enrichment",
|
|
84
|
+
"description": "coverage, allowed values, no fabrication, dedup",
|
|
85
|
+
"prompt": "Verify the enriched dataset against scope. Step 1: confirm the file parses and every input lead survived (counting merges) — no rows silently dropped. Step 2: confirm enriched fields contain only allowed values (industries, seniority, size bands are in-set). Step 3: confirm unsourced fields are blank-and-flagged rather than guessed — spot-check 5 leads against their evidence (e.g. does the company_domain actually match the email?). Step 4: confirm duplicates were merged by the dedup key and none remain. Step 5: sanity-check the lead_score distribution is plausible. Write PASS/FAIL per criterion to notes/verify.md and task notes; on failure, name the rows/fields and loop back to enrich.\n\nThe deliverable `notes/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": "notes/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": "leads_enriched.json",
|
|
99
|
+
"bytes": 2
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"scripts": [
|
|
103
|
+
{
|
|
104
|
+
"name": "checkJsonValid",
|
|
105
|
+
"scope": "standard",
|
|
106
|
+
"inputs": {
|
|
107
|
+
"file": "leads_enriched.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 leads_enriched.json and verify every criterion from notes/scope.md. Confirm it parses, every input lead is represented (accounting for merges), enriched fields use only allowed values, unsourced fields are blank+flagged rather than fabricated (spot-check 5 against evidence such as email→domain), duplicates are merged by the dedup key, and the score distribution is plausible. Write PASS/FAIL per criterion; on any failure, name the rows/fields and loop back to enrich.\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: \"enrich\" })` 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": "leads_enriched.json"
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"next": "enrich"
|
|
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.1",
|
|
139
|
+
"releasedAt": "2026-08-14T00:00:00Z"
|
|
140
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Enrich a Leads List smoke eval",
|
|
4
|
+
"objective": "Self-contained smoke eval for the Enrich a Leads List 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": "Enrich a Leads List Eval",
|
|
11
|
+
"about": "Self-contained eval project for lead-enrichment. Seeded inputs are under workspace/source or workspace/fixtures; final deliverable is workspace/analysis.md.",
|
|
12
|
+
"missionObjectives": "Use the Enrich a Leads List 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": "# Enrich a Leads List 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: lead-enrichment - Enrich a Leads List.\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
|
+
},
|
|
28
|
+
"mocks": [],
|
|
29
|
+
"success": {
|
|
30
|
+
"summary": "analysis.md is a seeded-data analysis with deterministic computed facts.",
|
|
31
|
+
"deliverables": [
|
|
32
|
+
{
|
|
33
|
+
"path": "analysis.md",
|
|
34
|
+
"kind": "markdown-report",
|
|
35
|
+
"minBytes": 900,
|
|
36
|
+
"checks": [
|
|
37
|
+
{
|
|
38
|
+
"kind": "contains",
|
|
39
|
+
"file": "analysis.md",
|
|
40
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
41
|
+
"flags": "i"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"kind": "contains",
|
|
45
|
+
"file": "analysis.md",
|
|
46
|
+
"pattern": "40\\b",
|
|
47
|
+
"flags": "i",
|
|
48
|
+
"label": "include total orders of 40"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"kind": "contains",
|
|
52
|
+
"file": "analysis.md",
|
|
53
|
+
"pattern": "\\$?4,?760\\b",
|
|
54
|
+
"flags": "i",
|
|
55
|
+
"label": "include total revenue of 4760"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"kind": "contains",
|
|
59
|
+
"file": "analysis.md",
|
|
60
|
+
"pattern": "Cedar",
|
|
61
|
+
"flags": "i",
|
|
62
|
+
"label": "identify Cedar as top revenue and high risk"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"kind": "contains",
|
|
66
|
+
"file": "analysis.md",
|
|
67
|
+
"pattern": "high",
|
|
68
|
+
"flags": "i",
|
|
69
|
+
"label": "include churn-risk finding"
|
|
70
|
+
}
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
"rubric": {
|
|
76
|
+
"artifact": {
|
|
77
|
+
"path": "analysis.md",
|
|
78
|
+
"kind": "markdown"
|
|
79
|
+
},
|
|
80
|
+
"axes": [
|
|
81
|
+
{
|
|
82
|
+
"name": "accuracy",
|
|
83
|
+
"description": "Computed figures are correct against the seeded records."
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "grounding",
|
|
87
|
+
"description": "Every claim traces to the seeded data — nothing invented."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"name": "structure",
|
|
91
|
+
"description": "Tables and sections make the analysis checkable at a glance."
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "actionability",
|
|
95
|
+
"description": "Recommendations follow from the findings and are concretely doable."
|
|
96
|
+
}
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
"qualityFocus": [
|
|
100
|
+
"seeded data reading",
|
|
101
|
+
"computed facts",
|
|
102
|
+
"recommendation grounding"
|
|
103
|
+
]
|
|
104
|
+
}
|