@bendyline/gilde 0.1.51 → 0.1.52
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/nanbeige4.2-3b-q4.json +133 -0
- package/data/chat-models/index.json +1 -1
- package/data/chat-models/na/nanbeige4.2-3b-q4/manifest.json +138 -0
- package/data/chat-models/na/nanbeige4.2-3b-q4/versions/1.0.0/manifest.json +14 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/craftbook.json +278 -0
- package/data/craftbook-templates/a1/a11y-audit/versions/1.1.3/test.json +118 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/ab/ab-test-readout/versions/1.0.3/test.json +189 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.1/craftbook.json +616 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.1/test.json +228 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.3/craftbook.json +213 -0
- package/data/craftbook-templates/ad/ad-variations/versions/1.0.3/test.json +108 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/al/album-curate/versions/1.0.3/test.json +147 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.3/craftbook.json +213 -0
- package/data/craftbook-templates/al/alert-rules/versions/1.0.3/test.json +145 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/craftbook.json +381 -0
- package/data/craftbook-templates/an/anniversary-cut/versions/1.0.5/test.json +157 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/an/annotated-bibliography/versions/1.0.3/test.json +102 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/an/annual-document-review/versions/1.0.3/test.json +113 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/an/anomaly-scan/versions/1.0.3/test.json +123 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.3/craftbook.json +278 -0
- package/data/craftbook-templates/ap/api-contract-review/versions/1.1.3/test.json +192 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.1/craftbook.json +600 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.1/test.json +290 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/versions/1.0.3/test.json +139 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.3/craftbook.json +265 -0
- package/data/craftbook-templates/au/audio-ad-spot/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.3/craftbook.json +259 -0
- package/data/craftbook-templates/au/audio-highlight-reel/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/craftbook.json +370 -0
- package/data/craftbook-templates/au/audiobook-master-pack/versions/1.0.5/test.json +221 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/au/auth-flow/versions/1.0.3/test.json +143 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/craftbook.json +324 -0
- package/data/craftbook-templates/au/automation-recipe/versions/1.0.3/test.json +296 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/ba/backup-routine/versions/1.0.3/test.json +108 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/bl/blog-post/versions/1.0.3/test.json +118 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/bo/board-deck/versions/1.0.3/test.json +100 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/bo/board-game-web/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/craftbook.json +294 -0
- package/data/craftbook-templates/bo/booking-automation/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/br/branding-website/versions/1.1.2/craftbook.json +329 -0
- package/data/craftbook-templates/br/branding-website/versions/1.1.2/test.json +164 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/br/broadcast-announcement/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.6/craftbook.json +620 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.6/test.json +376 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.1/craftbook.json +728 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.1/test.json +221 -0
- package/data/craftbook-templates/bu/build-loop/versions/1.1.1/craftbook.json +139 -0
- package/data/craftbook-templates/bu/build-loop/versions/1.1.1/test.json +121 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/ca/calendar-brief/versions/1.0.3/test.json +102 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/ca/canvas-generative-art/versions/1.0.3/test.json +106 -0
- package/data/craftbook-templates/ca/careful-mode/versions/1.2.1/craftbook.json +64 -0
- package/data/craftbook-templates/ca/careful-mode/versions/1.2.1/test.json +110 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/ca/case-study/versions/1.0.3/test.json +112 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.3/craftbook.json +289 -0
- package/data/craftbook-templates/ca/case-study-writeup/versions/1.0.3/test.json +105 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/craftbook.json +279 -0
- package/data/craftbook-templates/ch/chapter-narration-run/versions/1.0.4/test.json +155 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.3/craftbook.json +184 -0
- package/data/craftbook-templates/ch/chapter-weave/versions/1.0.3/test.json +98 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/ch/character-sheet/versions/1.0.3/test.json +143 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/craftbook.json +256 -0
- package/data/craftbook-templates/ch/character-turnaround/versions/1.0.3/test.json +178 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.3/craftbook.json +285 -0
- package/data/craftbook-templates/ch/chart-pack/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.3/craftbook.json +286 -0
- package/data/craftbook-templates/ch/chrome-extension/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.1/craftbook.json +585 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.1/test.json +225 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/ci/citation-audit/versions/1.0.3/test.json +152 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/craftbook.json +283 -0
- package/data/craftbook-templates/cl/cli-tool/versions/1.1.3/test.json +128 -0
- package/data/craftbook-templates/co/code-review/versions/1.0.1/craftbook.json +229 -0
- package/data/craftbook-templates/co/code-review/versions/1.0.1/test.json +249 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/versions/1.0.3/test.json +119 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/co/codebase-ux-review/versions/1.0.3/test.json +122 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.0/test.json +1 -1
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.1/craftbook.json +603 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.1/test.json +252 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/co/cohort-analysis/versions/1.0.3/test.json +229 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.3/craftbook.json +272 -0
- package/data/craftbook-templates/co/company-research-brief/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.3/craftbook.json +286 -0
- package/data/craftbook-templates/co/comparison-matrix/versions/1.0.3/test.json +109 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.3/craftbook.json +285 -0
- package/data/craftbook-templates/co/compat-check/versions/1.0.3/test.json +148 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/craftbook.json +273 -0
- package/data/craftbook-templates/co/competitive-analysis/versions/1.0.3/test.json +119 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.1/craftbook.json +518 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.1/test.json +160 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.3/craftbook.json +215 -0
- package/data/craftbook-templates/co/config-scaffold/versions/1.0.3/test.json +120 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/co/content-accuracy-review/versions/1.0.3/test.json +152 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.3/craftbook.json +335 -0
- package/data/craftbook-templates/co/content-deck/versions/1.2.3/test.json +169 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/co/contract-template/versions/1.0.3/test.json +102 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.3/craftbook.json +233 -0
- package/data/craftbook-templates/co/cookbook-layout/versions/1.0.3/test.json +159 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/co/copy-review/versions/1.0.3/test.json +105 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/craftbook.json +339 -0
- package/data/craftbook-templates/co/corpus-email-digest/versions/1.2.3/test.json +187 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/co/corpus-synthesis/versions/1.0.3/test.json +159 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/co/cover-letter/versions/1.0.3/test.json +100 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.3/craftbook.json +212 -0
- package/data/craftbook-templates/cr/crm-update-batch/versions/1.0.3/test.json +207 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/cr/cron-job/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.3/craftbook.json +301 -0
- package/data/craftbook-templates/cr/crossword-forge/versions/1.0.3/test.json +138 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/craftbook.json +211 -0
- package/data/craftbook-templates/cs/csv-transformer/versions/1.2.4/test.json +102 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/da/dashboard-spec/versions/1.0.3/test.json +114 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/da/data-dictionary/versions/1.0.3/test.json +101 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/da/data-export-migrate/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.3/craftbook.json +212 -0
- package/data/craftbook-templates/da/data-join-merge/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.4/craftbook.json +281 -0
- package/data/craftbook-templates/da/data-pipeline-etl/versions/1.0.4/test.json +162 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/da/data-quality-audit/versions/1.0.3/test.json +329 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/da/data-to-report/versions/1.0.3/test.json +98 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/da/data-viz-page/versions/1.0.3/test.json +117 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.4/craftbook.json +212 -0
- package/data/craftbook-templates/da/dataset-clean/versions/1.2.4/test.json +95 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/db/db-index-tuning/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.3/craftbook.json +378 -0
- package/data/craftbook-templates/de/deep-security-review/versions/1.1.3/test.json +184 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/craftbook.json +275 -0
- package/data/craftbook-templates/de/dependency-audit/versions/1.1.3/test.json +111 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.1/craftbook.json +619 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.1/test.json +235 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/de/deploy-checklist/versions/1.0.3/test.json +165 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/de/design-review/versions/1.0.3/test.json +121 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.5/craftbook.json +627 -0
- package/data/craftbook-templates/de/design-system-consultation/versions/2.0.5/test.json +201 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/di/diagram-from-text/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/di/digest-from-feeds/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/do/doc-rewrite/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/do/dockerize-app/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/do/docs-site/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/do/documentation-drift-review/versions/1.0.3/test.json +135 -0
- package/data/craftbook-templates/dr/draft-social-post/versions/1.0.1/craftbook.json +321 -0
- package/data/craftbook-templates/dr/draft-social-post/versions/1.0.1/test.json +161 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/dr/drive-wrap-up/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/du/due-diligence-brief/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/eb/ebook-compile/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/craftbook.json +312 -0
- package/data/craftbook-templates/ed/edit-notes/versions/1.0.3/test.json +146 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/em/email-sequence/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/em/email-template/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.5/craftbook.json +577 -0
- package/data/craftbook-templates/en/engineering-retrospective/versions/2.0.5/test.json +191 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/ep/episode-plan/versions/1.0.3/test.json +100 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/es/escalation-playbook/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/ev/evidence-brief/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.5/craftbook.json +606 -0
- package/data/craftbook-templates/ex/executive-level-review/versions/2.0.5/test.json +139 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/ex/expense-categorize/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.3/craftbook.json +278 -0
- package/data/craftbook-templates/fa/fact-check/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.3/craftbook.json +184 -0
- package/data/craftbook-templates/fa/family-story-chapter/versions/1.0.3/test.json +111 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.3/craftbook.json +215 -0
- package/data/craftbook-templates/fa/faq-from-docs/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.3/craftbook.json +284 -0
- package/data/craftbook-templates/fa/favicon-set/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.1/craftbook.json +324 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.1/test.json +162 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/fe/feedback-widget/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.1/craftbook.json +716 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.1/test.json +239 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.3/craftbook.json +215 -0
- package/data/craftbook-templates/fo/folder-to-audio/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/fo/forecast-model/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/fo/form-fill-batch/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/fo/form-wizard/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/fr/freeze-scope/versions/1.3.1/craftbook.json +96 -0
- package/data/craftbook-templates/fr/freeze-scope/versions/1.3.1/test.json +131 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.3/craftbook.json +306 -0
- package/data/craftbook-templates/ga/game-with-screens/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/gl/glossary-build/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.4/craftbook.json +281 -0
- package/data/craftbook-templates/gr/graphql-api/versions/1.0.4/test.json +92 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/gr/grpc-service/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/ha/handbook-section/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.3/craftbook.json +289 -0
- package/data/craftbook-templates/he/hero-image/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/craftbook.json +365 -0
- package/data/craftbook-templates/ho/holiday-card-run/versions/1.0.3/test.json +128 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.1/craftbook.json +605 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.1/test.json +220 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.2/craftbook.json +337 -0
- package/data/craftbook-templates/ht/html-arcade-game/versions/1.2.2/test.json +176 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/ht/html-puzzle-game/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/ic/icon-pack/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.5/craftbook.json +571 -0
- package/data/craftbook-templates/id/idea-office-hours/versions/2.0.5/test.json +141 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/id/idle-clicker-game/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/im/image-batch-edit/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/im/image-dedup-cluster/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/im/image-palette-extract/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/im/image-seo-rename/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.2/craftbook.json +295 -0
- package/data/craftbook-templates/im/image-set-index/versions/1.2.2/test.json +180 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/in/inbox-triage/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/in/incident-comms-templates/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/in/incident-postmortem/versions/1.0.3/test.json +109 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/craftbook.json +288 -0
- package/data/craftbook-templates/in/insurance-inventory/versions/1.0.3/test.json +121 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/in/interactive-quiz/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.3/craftbook.json +240 -0
- package/data/craftbook-templates/in/invitation-design/versions/1.0.3/test.json +121 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/in/invoice-generator/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.3/craftbook.json +354 -0
- package/data/craftbook-templates/in/invoice-run/versions/1.1.3/test.json +140 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/it/item-intake/versions/1.0.3/test.json +145 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.3/craftbook.json +228 -0
- package/data/craftbook-templates/ju/juice-pass/versions/1.0.3/test.json +116 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/kn/knowledge-base-article/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.3/craftbook.json +285 -0
- package/data/craftbook-templates/kp/kpi-scorecard/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/la/landing-copy/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.3/craftbook.json +348 -0
- package/data/craftbook-templates/la/landing-page/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/le/lead-enrichment/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.3/craftbook.json +284 -0
- package/data/craftbook-templates/li/library-package/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/li/literature-review/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/lo/localize-content/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/lo/logo-set/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/ma/market-scan/versions/1.0.3/test.json +213 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.3/craftbook.json +220 -0
- package/data/craftbook-templates/me/meeting-minutes/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/craftbook.json +218 -0
- package/data/craftbook-templates/me/meeting-prep-brief/versions/1.0.3/test.json +187 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.3/craftbook.json +220 -0
- package/data/craftbook-templates/me/meeting-summary-audio/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/me/memory-prompt-session/versions/1.0.3/test.json +112 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/me/message-queue-consumer/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.3/craftbook.json +229 -0
- package/data/craftbook-templates/mi/micro-game-jam/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.3/craftbook.json +270 -0
- package/data/craftbook-templates/mo/mock-interview/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.3/craftbook.json +293 -0
- package/data/craftbook-templates/mo/mod-scaffold/versions/1.0.3/test.json +136 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/craftbook.json +294 -0
- package/data/craftbook-templates/mo/monitor-and-alert/versions/1.0.3/test.json +197 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/mo/month-close/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/mo/monthly-recording-review/versions/1.0.3/test.json +120 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/mo/moodboard/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.3/craftbook.json +241 -0
- package/data/craftbook-templates/mo/morning-brief/versions/1.0.3/test.json +225 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.3/craftbook.json +289 -0
- package/data/craftbook-templates/mo/morning-report/versions/1.0.3/test.json +250 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.3/craftbook.json +212 -0
- package/data/craftbook-templates/mu/music-metadata-tag/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.3/craftbook.json +324 -0
- package/data/craftbook-templates/na/narrated-slideshow/versions/1.1.3/test.json +86 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/ne/newsletter-issue/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.1/craftbook.json +242 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.1/test.json +120 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.3/craftbook.json +293 -0
- package/data/craftbook-templates/no/notification-router/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/oc/ocr-extract/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.3/craftbook.json +214 -0
- package/data/craftbook-templates/of/offer-compare/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/of/office-hours/versions/1.1.1/craftbook.json +150 -0
- package/data/craftbook-templates/of/office-hours/versions/1.1.1/test.json +118 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/on/onboarding-checklist/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/on/onboarding-flow/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/on/oncall-handoff/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/on/one-pager/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.3/craftbook.json +197 -0
- package/data/craftbook-templates/op/ops-runbook/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/pa/page-spread/versions/1.0.3/test.json +132 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/pa/parser-grammar/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.1.1/craftbook.json +320 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.1.1/test.json +162 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.1/craftbook.json +695 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.1/test.json +235 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/pe/pest-diagnosis/versions/1.0.3/test.json +122 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/ph/photo-cull/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/ph/physics-toy/versions/1.0.3/test.json +99 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/pi/pitch-deck/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/pl/plan/versions/1.0.1/craftbook.json +222 -0
- package/data/craftbook-templates/pl/plan/versions/1.0.1/test.json +91 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/pl/playtest-report/versions/1.0.3/test.json +111 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/po/podcast-chaptering/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.3/craftbook.json +289 -0
- package/data/craftbook-templates/po/portfolio-site/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.9/craftbook.json +589 -0
- package/data/craftbook-templates/po/powerpoint-deck/versions/1.7.9/test.json +240 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.3/craftbook.json +273 -0
- package/data/craftbook-templates/pr/pr-security-review/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/craftbook.json +296 -0
- package/data/craftbook-templates/pr/practice-exam/versions/1.0.3/test.json +117 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/pr/practice-session/versions/1.0.3/test.json +114 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.3/craftbook.json +275 -0
- package/data/craftbook-templates/pr/press-release/versions/1.0.3/test.json +356 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/craftbook.json +220 -0
- package/data/craftbook-templates/pr/price-tracker/versions/1.0.3/test.json +150 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.3/craftbook.json +348 -0
- package/data/craftbook-templates/pr/pricing-page/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.3/craftbook.json +213 -0
- package/data/craftbook-templates/pr/product-descriptions/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/pr/proposal-sow/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.9.1/craftbook.json +432 -0
- package/data/craftbook-templates/pu/pull-request-review/versions/1.9.1/test.json +141 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.3/craftbook.json +233 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/versions/1.0.3/test.json +123 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.3/craftbook.json +293 -0
- package/data/craftbook-templates/pw/pwa-offline/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/qu/quarterly-summary/versions/1.0.3/test.json +116 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.3/craftbook.json +218 -0
- package/data/craftbook-templates/re/reading-list/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/re/receipt-intake/versions/1.0.3/test.json +149 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.2/craftbook.json +295 -0
- package/data/craftbook-templates/re/reception-report/versions/1.0.2/test.json +168 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/re/recipe-capture/versions/1.0.3/test.json +128 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/re/record-a-relative/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/re/recurring-invoice-run/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.1/craftbook.json +693 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.1/test.json +241 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/re/regex-builder/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.3/craftbook.json +290 -0
- package/data/craftbook-templates/re/release-announcement/versions/1.0.3/test.json +202 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/craftbook.json +358 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/test.json +138 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.4/craftbook.json +336 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.4/test.json +111 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.1.1/craftbook.json +317 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.1.1/test.json +110 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/re/reliability-review/versions/1.0.3/test.json +115 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.3/craftbook.json +317 -0
- package/data/craftbook-templates/re/report-pdf/versions/1.1.3/test.json +98 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.3/craftbook.json +279 -0
- package/data/craftbook-templates/re/research-report/versions/1.0.3/test.json +113 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.3/craftbook.json +388 -0
- package/data/craftbook-templates/re/research-to-document/versions/1.2.3/test.json +243 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.4/craftbook.json +282 -0
- package/data/craftbook-templates/re/rest-api/versions/1.0.4/test.json +387 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/re/resume-cv/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/re/reviewer-loop/versions/1.0.1/craftbook.json +144 -0
- package/data/craftbook-templates/re/reviewer-loop/versions/1.0.1/test.json +135 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.3/craftbook.json +290 -0
- package/data/craftbook-templates/ro/rollback-plan/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.6/craftbook.json +595 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.6/test.json +157 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/craftbook.json +302 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/versions/1.0.4/test.json +137 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.3/craftbook.json +282 -0
- package/data/craftbook-templates/ru/runbook/versions/1.0.3/test.json +118 -0
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.1/craftbook.json +619 -0
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.1/test.json +225 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.4/craftbook.json +274 -0
- package/data/craftbook-templates/sc/scrape-to-structured/versions/1.0.4/test.json +162 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/sc/script-automation/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.4/craftbook.json +282 -0
- package/data/craftbook-templates/sd/sdk-wrapper/versions/1.0.4/test.json +90 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.5/craftbook.json +608 -0
- package/data/craftbook-templates/se/security-architecture-review/versions/2.0.5/test.json +157 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.3/craftbook.json +213 -0
- package/data/craftbook-templates/se/seo-meta-pack/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.1/craftbook.json +301 -0
- package/data/craftbook-templates/sh/ship/versions/1.1.1/test.json +225 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.2/craftbook.json +233 -0
- package/data/craftbook-templates/so/social-digest/versions/1.0.2/test.json +168 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/so/social-thread/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/so/source-quality-audit/versions/1.0.3/test.json +158 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/sp/spa-dashboard/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.5/craftbook.json +610 -0
- package/data/craftbook-templates/sp/spec-authoring/versions/2.0.5/test.json +162 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/sp/spec-doc/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/sp/spreadsheet-model/versions/1.0.3/test.json +160 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.3/craftbook.json +271 -0
- package/data/craftbook-templates/sp/sprite-sheet/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/craftbook.json +218 -0
- package/data/craftbook-templates/sq/sql-analysis/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/st/standup-summary/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/st/state-machine/versions/1.0.3/test.json +92 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/st/status-report/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/su/subscription-audit/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.3/craftbook.json +264 -0
- package/data/craftbook-templates/su/subtitle-generator/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/su/summarize-long/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/su/survey-analysis/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/sv/svg-animation/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.3/craftbook.json +226 -0
- package/data/craftbook-templates/ta/tailor-resume/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.5/craftbook.json +582 -0
- package/data/craftbook-templates/te/technical-documentation/versions/2.0.5/test.json +174 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/craftbook.json +320 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.1/test.json +116 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.1/craftbook.json +590 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.1/test.json +195 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/th/thank-you-batch/versions/1.0.3/test.json +144 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/craftbook.json +280 -0
- package/data/craftbook-templates/th/thank-you-sweep/versions/1.0.3/test.json +142 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/th/threat-model/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.3/craftbook.json +214 -0
- package/data/craftbook-templates/th/thumbnail-generator/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/craftbook.json +321 -0
- package/data/craftbook-templates/ti/tileset-batch/versions/1.0.3/test.json +159 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/to/tone-rewrite/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/to/topic-explainer/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/versions/1.0.3/test.json +101 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.3/craftbook.json +218 -0
- package/data/craftbook-templates/tr/transcribe-audio/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/craftbook.json +329 -0
- package/data/craftbook-templates/tr/transcribe-index/versions/1.0.3/test.json +154 -0
- package/data/craftbook-templates/tr/translate-content/versions/1.1.2/craftbook.json +139 -0
- package/data/craftbook-templates/tr/translate-content/versions/1.1.2/test.json +141 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.1/craftbook.json +589 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.1/test.json +221 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.1/craftbook.json +604 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.1/test.json +206 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.1.1/craftbook.json +322 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.1.1/test.json +92 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.3/craftbook.json +221 -0
- package/data/craftbook-templates/vi/video-storyboard/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.3/craftbook.json +274 -0
- package/data/craftbook-templates/vi/visit-prep/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.3/craftbook.json +216 -0
- package/data/craftbook-templates/vo/voiceover-script/versions/1.0.3/test.json +103 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/craftbook.json +291 -0
- package/data/craftbook-templates/we/weak-spot-drill/versions/1.0.3/test.json +124 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.3/craftbook.json +281 -0
- package/data/craftbook-templates/we/web-app-crud/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.3/craftbook.json +222 -0
- package/data/craftbook-templates/we/web-component/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.3/craftbook.json +283 -0
- package/data/craftbook-templates/we/webhook-handler/versions/1.0.3/test.json +162 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.3/craftbook.json +276 -0
- package/data/craftbook-templates/we/week-plan/versions/1.0.3/test.json +258 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/we/weekly-menu-plan/versions/1.0.3/test.json +97 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.3/craftbook.json +214 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/versions/1.0.3/test.json +104 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.3/craftbook.json +219 -0
- package/data/craftbook-templates/we/weekly-review/versions/1.0.3/test.json +110 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/we/weekly-walkthrough/versions/1.0.3/test.json +138 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/craftbook.json +277 -0
- package/data/craftbook-templates/wh/whitepaper/versions/1.0.3/test.json +113 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/craftbook.json +250 -0
- package/data/craftbook-templates/ye/year-in-review/versions/1.0.3/test.json +145 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.3/craftbook.json +271 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/versions/1.0.3/test.json +103 -0
- package/package.json +1 -1
- package/schemas/craftbook-doc.schema.json +86 -0
- package/schemas/craftbook-template-version.schema.json +86 -0
package/data/craftbook-templates/re/release-artifact-sanity-check/versions/1.0.3/craftbook.json
ADDED
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "release-artifact-sanity-check",
|
|
3
|
+
"name": "Release Artifact Sanity Check",
|
|
4
|
+
"description": "Sanity-check a folder of release artifacts without executing them: inventory every package, verify hashes and signatures against trusted evidence, safely inspect every file inside archives and application bundles, scan for suspicious or secret-bearing content, and produce an evidence-backed ship or no-ship report.\n\nThis craftbook treats release artifacts as hostile input. It never executes an installer, application, script, postinstall hook, or extracted binary. It stages any extraction under a disposable workspace directory, rejects path traversal and escaping symlinks, bounds recursive expansion, and reports any item it could not inspect as NOT VERIFIED rather than silently passing it. The result is a file-level inventory plus a go/no-go report whose claims are tied to commands, hashes, signer identities, and exact paths.\n\nWorking files under {{workPath}}/, reviews/, and reports/ live in the project artifacts drawer; source and user-facing output files remain in the workspace.",
|
|
5
|
+
"entryStepId": "inventory",
|
|
6
|
+
"triggers": [
|
|
7
|
+
"sanity check release artifacts",
|
|
8
|
+
"audit release packages",
|
|
9
|
+
"verify installer signatures",
|
|
10
|
+
"inspect app bundles",
|
|
11
|
+
"check release artifact integrity",
|
|
12
|
+
"scan a release folder"
|
|
13
|
+
],
|
|
14
|
+
"toolsets": [
|
|
15
|
+
{
|
|
16
|
+
"toolsetId": "builtin.security-intel",
|
|
17
|
+
"autoAllow": true,
|
|
18
|
+
"reason": "reuse local secret, dependency, malware, and vulnerability scanner evidence when available"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"toolsetId": "builtin.code-intel",
|
|
22
|
+
"autoAllow": true,
|
|
23
|
+
"reason": "search safely extracted text and package manifests without executing bundled code"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"paramSchema": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"properties": {
|
|
29
|
+
"workPath": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"title": "Working folder",
|
|
32
|
+
"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.",
|
|
33
|
+
"default": "{{task.dir}}"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"steps": [
|
|
38
|
+
{
|
|
39
|
+
"id": "inventory",
|
|
40
|
+
"name": "Inventory the release set",
|
|
41
|
+
"description": "identify every release record, artifact, checksum, signature, and package boundary",
|
|
42
|
+
"prompt": "Treat the entire input folder as hostile and do not execute anything in it. Locate the requested release folder; if it came from the GitHub Releases connector, use the release Markdown records, frontmatter, asset tables, and sibling `attachments/` directories to associate bytes with releases. Enumerate every top-level artifact, checksum manifest, detached signature, certificate/provenance file, and release-notes record. Record exact relative path, byte size, file type identified from magic bytes (not extension alone), release/tag association, and the expected digest/signature evidence available. Define the inspection boundary and a safe staging directory outside the source corpus. Before extraction, list archive entries and flag absolute paths, `..` traversal, device files, escaping links, duplicate paths, case collisions, excessive nesting, or expansion bombs. Never follow a symlink outside the staging root. Write the complete inventory, counts, tool availability, inspection limits, and acceptance checklist to `{{workPath}}/release-artifact-inventory.md` and task notes. Any artifact omitted by a configured size/name filter must be listed as NOT PRESENT and prevents a full-set pass.\n\nStore `{{workPath}}/release-artifact-inventory.md` in the artifacts drawer with `write_artifact` and verify them with `read_artifact`; do not write these working files to the workspace.",
|
|
43
|
+
"suggestedRole": "developer",
|
|
44
|
+
"advanceWhen": {
|
|
45
|
+
"file": "{{workPath}}/release-artifact-inventory.md",
|
|
46
|
+
"minBytes": 1,
|
|
47
|
+
"sniff": "nonempty",
|
|
48
|
+
"artifact": true
|
|
49
|
+
},
|
|
50
|
+
"gate": {
|
|
51
|
+
"at": "completion",
|
|
52
|
+
"checks": [
|
|
53
|
+
{
|
|
54
|
+
"kind": "minBytes",
|
|
55
|
+
"file": "{{workPath}}/release-artifact-inventory.md",
|
|
56
|
+
"bytes": 500,
|
|
57
|
+
"artifact": true
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"kind": "sniff",
|
|
61
|
+
"file": "{{workPath}}/release-artifact-inventory.md",
|
|
62
|
+
"sniff": "nonempty",
|
|
63
|
+
"artifact": true
|
|
64
|
+
}
|
|
65
|
+
],
|
|
66
|
+
"onReject": "inventory",
|
|
67
|
+
"maxAttempts": 3
|
|
68
|
+
},
|
|
69
|
+
"next": "verify",
|
|
70
|
+
"toolPolicy": {
|
|
71
|
+
"disallowBuiltinToolsets": [
|
|
72
|
+
"ai-apps",
|
|
73
|
+
"audio",
|
|
74
|
+
"browser-automation",
|
|
75
|
+
"craftbooks",
|
|
76
|
+
"data-tables",
|
|
77
|
+
"entity-intel",
|
|
78
|
+
"git",
|
|
79
|
+
"image-intel",
|
|
80
|
+
"images",
|
|
81
|
+
"role-delegation",
|
|
82
|
+
"role-delegation-escalation",
|
|
83
|
+
"security-intel",
|
|
84
|
+
"team-management",
|
|
85
|
+
"videos",
|
|
86
|
+
"web",
|
|
87
|
+
"workspace-fs-write"
|
|
88
|
+
],
|
|
89
|
+
"outputMedium": "artifact"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"id": "verify",
|
|
94
|
+
"name": "Verify integrity and signing",
|
|
95
|
+
"description": "hash every artifact and validate signatures against a trusted identity",
|
|
96
|
+
"prompt": "Without executing any artifact, compute SHA-256 for every top-level asset and compare it independently against: GitHub's supplied `sha256:` digest when present, checked-in checksum manifests, detached signature payloads, and any release provenance/attestation. A hash written beside the same untrusted artifact is evidence of consistency, not authenticity; name the trust root. Verify signatures with the platform-appropriate verifier when installed (for example `codesign`/`spctl`/`pkgutil` on macOS, `Get-AuthenticodeSignature` or `signtool` on Windows, and `gpgv`, `cosign verify-blob`, `rpm --checksig`, or package-native verification on Linux). Capture the exact command, exit status, signer subject/team/key identity, timestamp/notarization status, certificate chain or trusted key source, and whether the signed object covers the bytes being shipped. Do not call an artifact signed merely because a signature file exists. Use PASS / FAIL / NOT VERIFIED for every artifact and evidence type. A mismatch, invalid signature, unsigned required executable, untrusted key, unavailable verifier, or missing expected artifact is not a pass. Write results to `{{workPath}}/release-artifact-verification.md` and task notes.\n\nStore `{{workPath}}/release-artifact-verification.md` in the artifacts drawer with `write_artifact` and verify them with `read_artifact`; do not write these working files to the workspace.",
|
|
97
|
+
"suggestedRole": "reviewer",
|
|
98
|
+
"advanceWhen": {
|
|
99
|
+
"file": "{{workPath}}/release-artifact-verification.md",
|
|
100
|
+
"minBytes": 1,
|
|
101
|
+
"sniff": "nonempty",
|
|
102
|
+
"artifact": true
|
|
103
|
+
},
|
|
104
|
+
"gate": {
|
|
105
|
+
"at": "completion",
|
|
106
|
+
"checks": [
|
|
107
|
+
{
|
|
108
|
+
"kind": "minBytes",
|
|
109
|
+
"file": "{{workPath}}/release-artifact-verification.md",
|
|
110
|
+
"bytes": 600,
|
|
111
|
+
"artifact": true
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"scripts": [
|
|
115
|
+
{
|
|
116
|
+
"name": "checkContains",
|
|
117
|
+
"scope": "standard",
|
|
118
|
+
"inputs": {
|
|
119
|
+
"file": "{{workPath}}/release-artifact-verification.md",
|
|
120
|
+
"pattern": "PASS|FAIL|NOT VERIFIED",
|
|
121
|
+
"flags": "i"
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
],
|
|
125
|
+
"onReject": "verify",
|
|
126
|
+
"maxAttempts": 3
|
|
127
|
+
},
|
|
128
|
+
"next": "inspect",
|
|
129
|
+
"toolPolicy": {
|
|
130
|
+
"disallowBuiltinToolsets": [
|
|
131
|
+
"ai-apps",
|
|
132
|
+
"archives",
|
|
133
|
+
"audio",
|
|
134
|
+
"browser-automation",
|
|
135
|
+
"code-execution",
|
|
136
|
+
"craftbooks",
|
|
137
|
+
"data-tables",
|
|
138
|
+
"entity-intel",
|
|
139
|
+
"git",
|
|
140
|
+
"image-intel",
|
|
141
|
+
"images",
|
|
142
|
+
"role-delegation",
|
|
143
|
+
"role-delegation-escalation",
|
|
144
|
+
"security-intel",
|
|
145
|
+
"team-management",
|
|
146
|
+
"videos",
|
|
147
|
+
"web",
|
|
148
|
+
"workspace-fs-write"
|
|
149
|
+
],
|
|
150
|
+
"outputMedium": "artifact"
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"id": "inspect",
|
|
155
|
+
"name": "Inspect every package member",
|
|
156
|
+
"description": "safely unpack app packages and scan every contained file",
|
|
157
|
+
"prompt": "Work only in the disposable staging directory; never mutate the source corpus and never execute package contents. Safely expand each supported container recursively, including ZIP/TAR archives, DMG/PKG and `.app` bundles where host tooling permits, MSI/EXE packages where a non-executing extractor is available, AppImage/deb/rpm packages, and nested archives. Inventory EVERY regular file and symlink with relative path, magic-byte type, size, SHA-256, executable bit, signing coverage, and parent package. Inspect manifests, entitlements, permissions, dynamic libraries, launch agents/services, updater helpers, install scripts as text, bundled runtimes/dependencies, debug symbols, universal architectures, and unexpected executables. Scan extracted text and metadata for secrets, private keys, credentials, unsafe URLs, suspicious persistence, world-writable paths, and provenance drift; reuse `security_scan`/local malware scanners when available, recording tool name/version/result. Never run an installer, binary, macro, or script and disable postinstall hooks. If a format/tool/limit prevents inspecting even one member, name the exact gap and mark the package coverage INCOMPLETE / NOT VERIFIED. Write the file-count reconciliation, findings, and evidence to `{{workPath}}/release-package-inspection.md` and task notes.\n\nStore `{{workPath}}/release-package-inspection.md` in the artifacts drawer with `write_artifact` and verify them with `read_artifact`; do not write these working files to the workspace.",
|
|
158
|
+
"suggestedRole": "developer",
|
|
159
|
+
"advanceWhen": {
|
|
160
|
+
"file": "{{workPath}}/release-package-inspection.md",
|
|
161
|
+
"minBytes": 1,
|
|
162
|
+
"sniff": "nonempty",
|
|
163
|
+
"artifact": true
|
|
164
|
+
},
|
|
165
|
+
"gate": {
|
|
166
|
+
"at": "completion",
|
|
167
|
+
"checks": [
|
|
168
|
+
{
|
|
169
|
+
"kind": "minBytes",
|
|
170
|
+
"file": "{{workPath}}/release-package-inspection.md",
|
|
171
|
+
"bytes": 700,
|
|
172
|
+
"artifact": true
|
|
173
|
+
}
|
|
174
|
+
],
|
|
175
|
+
"scripts": [
|
|
176
|
+
{
|
|
177
|
+
"name": "checkContains",
|
|
178
|
+
"scope": "standard",
|
|
179
|
+
"inputs": {
|
|
180
|
+
"file": "{{workPath}}/release-package-inspection.md",
|
|
181
|
+
"pattern": "file|path|SHA-256|coverage",
|
|
182
|
+
"flags": "i"
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
],
|
|
186
|
+
"onReject": "inspect",
|
|
187
|
+
"maxAttempts": 3
|
|
188
|
+
},
|
|
189
|
+
"next": "report",
|
|
190
|
+
"toolPolicy": {
|
|
191
|
+
"disallowBuiltinToolsets": [
|
|
192
|
+
"ai-apps",
|
|
193
|
+
"audio",
|
|
194
|
+
"browser-automation",
|
|
195
|
+
"craftbooks",
|
|
196
|
+
"data-tables",
|
|
197
|
+
"entity-intel",
|
|
198
|
+
"git",
|
|
199
|
+
"image-intel",
|
|
200
|
+
"images",
|
|
201
|
+
"role-delegation",
|
|
202
|
+
"role-delegation-escalation",
|
|
203
|
+
"team-management",
|
|
204
|
+
"videos",
|
|
205
|
+
"web",
|
|
206
|
+
"workspace-fs-write"
|
|
207
|
+
],
|
|
208
|
+
"outputMedium": "artifact"
|
|
209
|
+
}
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"id": "report",
|
|
213
|
+
"name": "Write the artifact sanity report",
|
|
214
|
+
"description": "state a ship decision with complete evidence and blockers",
|
|
215
|
+
"prompt": "Write `release-artifact-sanity-report.md`. Put one decision at the top: PASS / NO-GO / PASS-WITH-CONDITIONS, with the deciding evidence. Include: scope and release/tag; coverage summary with top-level and contained-file counts reconciled; an artifact matrix with expected/computed digest, integrity result, signature result, signer/trust root, package-inspection coverage, and evidence path/command; findings ranked by severity with exact package/member paths; unsupported or uninspected items; and blockers with concrete remediation/rebuild/re-sign/re-upload actions. Distinguish verified authenticity from checksum consistency and signature presence. A digest mismatch, invalid/untrusted/required-but-missing signature, escaping archive member, secret-bearing shipped file, uninspected package member, or unavailable mandatory verifier prevents an unconditional PASS. Do not minimize an issue because another platform's package passed. Include enough detail for another reviewer to reproduce each claim without running the artifacts. Record the report path, decision, artifact count, contained-file count, and blocker count in task notes.",
|
|
216
|
+
"suggestedRole": "reviewer",
|
|
217
|
+
"advanceWhen": {
|
|
218
|
+
"file": "release-artifact-sanity-report.md",
|
|
219
|
+
"minBytes": 1,
|
|
220
|
+
"sniff": "nonempty"
|
|
221
|
+
},
|
|
222
|
+
"gate": {
|
|
223
|
+
"at": "completion",
|
|
224
|
+
"checks": [
|
|
225
|
+
{
|
|
226
|
+
"kind": "minBytes",
|
|
227
|
+
"file": "release-artifact-sanity-report.md",
|
|
228
|
+
"bytes": 2000
|
|
229
|
+
}
|
|
230
|
+
],
|
|
231
|
+
"scripts": [
|
|
232
|
+
{
|
|
233
|
+
"name": "checkContains",
|
|
234
|
+
"scope": "standard",
|
|
235
|
+
"inputs": {
|
|
236
|
+
"file": "release-artifact-sanity-report.md",
|
|
237
|
+
"pattern": "PASS|NO-GO|PASS-WITH-CONDITIONS",
|
|
238
|
+
"flags": "i"
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"name": "checkContains",
|
|
243
|
+
"scope": "standard",
|
|
244
|
+
"inputs": {
|
|
245
|
+
"file": "release-artifact-sanity-report.md",
|
|
246
|
+
"pattern": "integrity|digest|SHA-256",
|
|
247
|
+
"flags": "i"
|
|
248
|
+
}
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"name": "checkContains",
|
|
252
|
+
"scope": "standard",
|
|
253
|
+
"inputs": {
|
|
254
|
+
"file": "release-artifact-sanity-report.md",
|
|
255
|
+
"pattern": "signature|signer|notar",
|
|
256
|
+
"flags": "i"
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
"onReject": "report",
|
|
261
|
+
"maxAttempts": 4
|
|
262
|
+
},
|
|
263
|
+
"next": "evaluate",
|
|
264
|
+
"toolPolicy": {
|
|
265
|
+
"disallowBuiltinToolsets": [
|
|
266
|
+
"ai-apps",
|
|
267
|
+
"artifacts",
|
|
268
|
+
"audio",
|
|
269
|
+
"browser-automation",
|
|
270
|
+
"code-execution",
|
|
271
|
+
"craftbooks",
|
|
272
|
+
"data-tables",
|
|
273
|
+
"entity-intel",
|
|
274
|
+
"git",
|
|
275
|
+
"image-intel",
|
|
276
|
+
"images",
|
|
277
|
+
"role-delegation",
|
|
278
|
+
"role-delegation-escalation",
|
|
279
|
+
"security-intel",
|
|
280
|
+
"team-management",
|
|
281
|
+
"videos",
|
|
282
|
+
"web"
|
|
283
|
+
],
|
|
284
|
+
"outputMedium": "workspace"
|
|
285
|
+
}
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
"id": "evaluate",
|
|
289
|
+
"name": "Evaluate",
|
|
290
|
+
"description": "grade coverage and evidence; pass only when every acceptance criterion is met",
|
|
291
|
+
"prompt": "Open `release-artifact-sanity-report.md` and the three evidence notes. Grade EACH criterion PASS/FAIL with one-line evidence: (1) every top-level release artifact is inventoried and its SHA-256 computed; (2) expected digests are compared and mismatches are blockers; (3) every required signature is cryptographically verified against a named trusted identity, with presence-only and unavailable checks marked NOT VERIFIED; (4) every supported package is safely expanded without executing content; (5) contained-file counts reconcile and every member has a path/type/hash/security disposition; (6) traversal, escaping links, expansion limits, secrets, persistence, entitlements, permissions, libraries, and nested executables are addressed; (7) all inspection gaps are explicit and prevent an unconditional pass; (8) the final decision follows from the evidence. Then route explicitly: if every criterion passes, call `advance_task_step({ ref, stepId: \"evaluate\", next: \"finish\" })`. If any criterion fails, write the exact gap to task notes and call `advance_task_step({ ref, stepId: \"evaluate\", next: \"report\" })`. Never route to finish with a silent omission or unsupported package. After three unproductive loops, stop with DONE_WITH_CONCERNS for user review.",
|
|
292
|
+
"suggestedRole": "reviewer",
|
|
293
|
+
"consumes": [
|
|
294
|
+
{
|
|
295
|
+
"file": "release-artifact-sanity-report.md"
|
|
296
|
+
}
|
|
297
|
+
],
|
|
298
|
+
"next": "report",
|
|
299
|
+
"toolPolicy": {
|
|
300
|
+
"disallowBuiltinToolsets": [
|
|
301
|
+
"ai-apps",
|
|
302
|
+
"archives",
|
|
303
|
+
"artifacts",
|
|
304
|
+
"audio",
|
|
305
|
+
"browser-automation",
|
|
306
|
+
"code-execution",
|
|
307
|
+
"craftbooks",
|
|
308
|
+
"data-tables",
|
|
309
|
+
"entity-intel",
|
|
310
|
+
"git",
|
|
311
|
+
"image-intel",
|
|
312
|
+
"images",
|
|
313
|
+
"role-delegation",
|
|
314
|
+
"role-delegation-escalation",
|
|
315
|
+
"team-management",
|
|
316
|
+
"videos",
|
|
317
|
+
"web",
|
|
318
|
+
"workspace-fs-write"
|
|
319
|
+
],
|
|
320
|
+
"outputMedium": "task-note"
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"id": "finish",
|
|
325
|
+
"name": "Finish",
|
|
326
|
+
"description": "stamp the decision and hand off the evidence-backed report",
|
|
327
|
+
"prompt": "All acceptance criteria passed. Write a concise DONE summary to task notes: the release/tag and folder reviewed, report path, decision, top-level artifact count, contained-file count, blocker count, and any conditions or NOT VERIFIED items. Remind the user that the audit did not execute any artifact. Then report DONE.",
|
|
328
|
+
"suggestedRole": "reviewer",
|
|
329
|
+
"terminal": true,
|
|
330
|
+
"toolPolicy": {
|
|
331
|
+
"disallowBuiltinToolsets": [
|
|
332
|
+
"ai-apps",
|
|
333
|
+
"archives",
|
|
334
|
+
"artifacts",
|
|
335
|
+
"audio",
|
|
336
|
+
"browser-automation",
|
|
337
|
+
"craftbooks",
|
|
338
|
+
"data-tables",
|
|
339
|
+
"entity-intel",
|
|
340
|
+
"git",
|
|
341
|
+
"image-intel",
|
|
342
|
+
"images",
|
|
343
|
+
"role-delegation",
|
|
344
|
+
"role-delegation-escalation",
|
|
345
|
+
"security-intel",
|
|
346
|
+
"team-management",
|
|
347
|
+
"videos",
|
|
348
|
+
"web",
|
|
349
|
+
"workspace-fs-write"
|
|
350
|
+
],
|
|
351
|
+
"outputMedium": "task-note"
|
|
352
|
+
}
|
|
353
|
+
}
|
|
354
|
+
],
|
|
355
|
+
"version": "1.0.3",
|
|
356
|
+
"releasedAt": "2026-09-01T20:00:00Z",
|
|
357
|
+
"minGezelVersion": "1.26233"
|
|
358
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Release Artifact Sanity Check evidence-fixture eval",
|
|
4
|
+
"objective": "Verify that the craftbook reconciles release integrity, signing, and package-member evidence into a conservative go/no-go report without live services or executable artifacts.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"corpus",
|
|
7
|
+
"release",
|
|
8
|
+
"security"
|
|
9
|
+
],
|
|
10
|
+
"prompt": "Use the Release Artifact Sanity Check craftbook on the captured dry-run evidence in `source/release-artifacts/`. These fixtures describe artifacts and package contents but are deliberately non-executable; do not use the network or invent new verification results. Write the final report to `release-artifact-sanity-report.md`.",
|
|
11
|
+
"setup": {
|
|
12
|
+
"projectName": "Release Artifact Sanity Check Eval",
|
|
13
|
+
"about": "A self-contained release-artifact audit. The source folder contains captured hashes, signature-tool results, and safe package listings for Boreal Desk v2.4.0.",
|
|
14
|
+
"missionObjectives": "Use the Release Artifact Sanity Check craftbook, reconcile every supplied item, treat missing trust or coverage as NOT VERIFIED, and produce an evidence-backed release-artifact-sanity-report.md without network calls or executing package contents.",
|
|
15
|
+
"files": [
|
|
16
|
+
{
|
|
17
|
+
"path": "source/release-artifacts/release-v2.4.0.md",
|
|
18
|
+
"content": "# Boreal Desk v2.4.0\n\nTag: v2.4.0\nRelease URL: https://example.invalid/boreal/releases/v2.4.0\nTop-level uploaded artifacts: 3\n\n| Artifact | GitHub sha256 digest | Bytes |\n| --- | --- | ---: |\n| BorealDesk-2.4.0-macos.zip | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa | 4100 |\n| BorealDeskSetup-2.4.0.msi | bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb | 5200 |\n| BorealDesk-2.4.0.AppImage | dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd | 6300 |\n"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"path": "source/release-artifacts/SHA256SUMS",
|
|
22
|
+
"content": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa BorealDesk-2.4.0-macos.zip\nbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb BorealDeskSetup-2.4.0.msi\ndddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd BorealDesk-2.4.0.AppImage\n"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"path": "source/release-artifacts/computed-hashes.txt",
|
|
26
|
+
"content": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa BorealDesk-2.4.0-macos.zip\ncccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc BorealDeskSetup-2.4.0.msi\ndddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd BorealDesk-2.4.0.AppImage\n"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"path": "source/release-artifacts/signature-evidence.md",
|
|
30
|
+
"content": "# Captured signature verifier output\n\n- `BorealDesk-2.4.0-macos.zip` expanded app: `codesign --verify --deep --strict` exit 0; Developer ID Application signer Team ID BDESK12345; `spctl` accepted and reported notarized. Trusted Apple root chain captured.\n- `BorealDeskSetup-2.4.0.msi`: `Get-AuthenticodeSignature` Status = NotSigned.\n- `BorealDesk-2.4.0.AppImage`: detached signature produced `GOODSIG build@boreal.example`, but the fixture contains no trusted fingerprint or key-source record. Treat signer trust as NOT VERIFIED.\n"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"path": "source/release-artifacts/package-inventory.txt",
|
|
34
|
+
"content": "SAFE LISTING ONLY — DO NOT EXECUTE\nDeclared contained regular files: 12\n\nmacos/Boreal Desk.app/Contents/MacOS/BorealDesk | Mach-O arm64+x86_64 | executable | signature covered\nmacos/Boreal Desk.app/Contents/Frameworks/Electron Framework.framework/Electron Framework | Mach-O | signature covered\nmacos/Boreal Desk.app/Contents/Resources/app.asar | ASAR | data\nmacos/Boreal Desk.app/Contents/Resources/current -> ../../outside | symlink escapes package root\nwindows/BorealDesk.exe | PE32+ | executable | Authenticode NotSigned\nwindows/updater.exe | PE32+ | executable | Authenticode NotSigned\nwindows/config/defaults.env | text | contains API_TOKEN=demo-hardcoded-token\nwindows/LICENSE.txt | text\nlinux/BorealDesk | ELF x86_64 | executable | covered only by untrusted outer GOODSIG\nlinux/usr/lib/libcrypto.so.3 | ELF shared library\nlinux/resources/app.asar | ASAR | data\nlinux/updater | ELF x86_64 | executable | no inner signature evidence\n\nArchive preflight: no absolute or `..` entry names; one escaping symlink is listed above. Expansion ratio stayed below the supplied limit. Local malware scanner was unavailable in the captured environment.\n"
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"worker": {
|
|
38
|
+
"name": "Ada",
|
|
39
|
+
"role": "Release Security Reviewer"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"mocks": [],
|
|
43
|
+
"success": {
|
|
44
|
+
"summary": "The report reconciles all three artifacts and 12 package members, reaches NO-GO from the supplied integrity/signing/package blockers, and does not invent live verification.",
|
|
45
|
+
"deliverables": [
|
|
46
|
+
{
|
|
47
|
+
"path": "release-artifact-sanity-report.md",
|
|
48
|
+
"kind": "markdown-report",
|
|
49
|
+
"minBytes": 2000,
|
|
50
|
+
"checks": [
|
|
51
|
+
{
|
|
52
|
+
"kind": "contains",
|
|
53
|
+
"file": "release-artifact-sanity-report.md",
|
|
54
|
+
"pattern": "(?:^|\\n)#{1,3}\\s+\\S",
|
|
55
|
+
"flags": "i"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"kind": "contains",
|
|
59
|
+
"file": "release-artifact-sanity-report.md",
|
|
60
|
+
"pattern": "NO-GO|NO GO",
|
|
61
|
+
"flags": "i",
|
|
62
|
+
"label": "derive a no-go decision from hard blockers"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"kind": "contains",
|
|
66
|
+
"file": "release-artifact-sanity-report.md",
|
|
67
|
+
"pattern": "BorealDeskSetup-2\\.4\\.0\\.msi[\\s\\S]{0,500}(?:mismatch|cccc|FAIL)|(?:mismatch|cccc|FAIL)[\\s\\S]{0,500}BorealDeskSetup-2\\.4\\.0\\.msi",
|
|
68
|
+
"flags": "i",
|
|
69
|
+
"label": "catch the Windows installer digest mismatch"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"kind": "contains",
|
|
73
|
+
"file": "release-artifact-sanity-report.md",
|
|
74
|
+
"pattern": "NotSigned|not signed|unsigned",
|
|
75
|
+
"flags": "i",
|
|
76
|
+
"label": "report missing Authenticode signing"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"kind": "contains",
|
|
80
|
+
"file": "release-artifact-sanity-report.md",
|
|
81
|
+
"pattern": "GOODSIG[\\s\\S]{0,300}(?:NOT VERIFIED|untrusted|trust)|(?:NOT VERIFIED|untrusted|trust)[\\s\\S]{0,300}GOODSIG",
|
|
82
|
+
"flags": "i",
|
|
83
|
+
"label": "distinguish signature presence from trusted identity"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"kind": "contains",
|
|
87
|
+
"file": "release-artifact-sanity-report.md",
|
|
88
|
+
"pattern": "Resources/current|escaping symlink|symlink escapes",
|
|
89
|
+
"flags": "i"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"kind": "contains",
|
|
93
|
+
"file": "release-artifact-sanity-report.md",
|
|
94
|
+
"pattern": "API_TOKEN|hardcoded-token|credential",
|
|
95
|
+
"flags": "i"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"kind": "contains",
|
|
99
|
+
"file": "release-artifact-sanity-report.md",
|
|
100
|
+
"pattern": "3\\s+(?:top-level\\s+)?artifacts|12\\s+(?:contained\\s+)?(?:regular\\s+)?files",
|
|
101
|
+
"flags": "i",
|
|
102
|
+
"label": "reconcile top-level and contained-file counts"
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"rubric": {
|
|
109
|
+
"artifact": {
|
|
110
|
+
"path": "release-artifact-sanity-report.md",
|
|
111
|
+
"kind": "markdown"
|
|
112
|
+
},
|
|
113
|
+
"axes": [
|
|
114
|
+
{
|
|
115
|
+
"name": "coverage",
|
|
116
|
+
"description": "Every top-level artifact and all 12 supplied package members are reconciled."
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"name": "integrity",
|
|
120
|
+
"description": "Digest comparisons are explicit and the Windows mismatch drives the decision."
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"name": "authenticity",
|
|
124
|
+
"description": "Signature presence, cryptographic validity, and trusted signer identity are kept distinct."
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"name": "package safety",
|
|
128
|
+
"description": "The escaping symlink, unsigned executables, hardcoded token, and unavailable scanner are handled conservatively."
|
|
129
|
+
}
|
|
130
|
+
]
|
|
131
|
+
},
|
|
132
|
+
"qualityFocus": [
|
|
133
|
+
"complete artifact and package-member reconciliation",
|
|
134
|
+
"trust-aware signature verification",
|
|
135
|
+
"evidence-backed no-go decision",
|
|
136
|
+
"non-executing hostile-input inspection"
|
|
137
|
+
]
|
|
138
|
+
}
|