@bendyline/gilde 0.1.39 → 0.1.41
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/muse-glimmer-30b-q4.json +3 -3
- package/authoring/chat-models/ornith-9b-q4.json +1 -1
- package/authoring/chat-models/ornith1.5-9b-q4.json +149 -0
- package/authoring/chat-models/qwen3.8-27b-iq1-s.json +190 -0
- package/authoring/chat-models/qwen3.8-27b-q2.json +189 -0
- package/authoring/gstack/overlays/investigate.json +1 -0
- package/authoring/gstack/overlays/qa-only.json +1 -0
- package/authoring/gstack/wave.json +12 -2
- package/authoring/tactical/books/accessibility-retrofit.json +188 -0
- package/authoring/tactical/books/apply-review-findings.json +189 -0
- package/authoring/tactical/books/bug-fix-tdd.json +237 -0
- package/authoring/tactical/books/ci-pipeline.json +168 -0
- package/authoring/tactical/books/codemod-sweep.json +182 -0
- package/authoring/tactical/books/dependency-upgrade.json +196 -0
- package/authoring/tactical/books/flaky-test-fix.json +238 -0
- package/authoring/tactical/books/hotfix-flow.json +187 -0
- package/authoring/tactical/books/perf-optimization.json +219 -0
- package/authoring/tactical/books/refactor-module.json +217 -0
- package/authoring/tactical/books/schema-migration.json +192 -0
- package/authoring/tactical/books/test-suite-backfill.json +172 -0
- package/authoring/tactical/books/type-safety-pass.json +185 -0
- package/authoring/tactical/books/ux-update.json +178 -0
- package/authoring/tactical/evals/accessibility-retrofit.json +230 -0
- package/authoring/tactical/evals/apply-review-findings.json +290 -0
- package/authoring/tactical/evals/bug-fix-tdd.json +221 -0
- package/authoring/tactical/evals/ci-pipeline.json +227 -0
- package/authoring/tactical/evals/codemod-sweep.json +252 -0
- package/authoring/tactical/evals/dependency-upgrade.json +235 -0
- package/authoring/tactical/evals/flaky-test-fix.json +239 -0
- package/authoring/tactical/evals/hotfix-flow.json +220 -0
- package/authoring/tactical/evals/perf-optimization.json +235 -0
- package/authoring/tactical/evals/refactor-module.json +241 -0
- package/authoring/tactical/evals/schema-migration.json +225 -0
- package/authoring/tactical/evals/test-suite-backfill.json +197 -0
- package/authoring/tactical/evals/type-safety-pass.json +221 -0
- package/authoring/tactical/evals/ux-update.json +206 -0
- package/authoring/tactical/wave.json +89 -0
- package/data/chat-models/de/deepseek-r1-8b-q4/manifest.json +56 -1
- package/data/chat-models/gl/glm-5.2-754b-q2/manifest.json +56 -0
- package/data/chat-models/gp/gpt-oss-120b-q4/manifest.json +73 -1
- package/data/chat-models/gp/gpt-oss-20b-q4/manifest.json +77 -1
- package/data/chat-models/index.json +1 -1
- package/data/chat-models/ll/llama3.2-3b-q4/manifest.json +3 -1
- package/data/chat-models/mi/mistral-7b-q4/manifest.json +54 -3
- package/data/chat-models/mi/mistral-medium-3.5-128b-q4/manifest.json +76 -1
- package/data/chat-models/mu/muse-glimmer-30b-q4/manifest.json +4 -3
- package/data/chat-models/mu/muse-glimmer-30b-q4/versions/1.0.2/manifest.json +20 -0
- package/data/chat-models/or/ornith-9b-q4/manifest.json +1 -1
- package/data/chat-models/or/ornith1.5-9b-q4/manifest.json +187 -0
- package/data/chat-models/or/ornith1.5-9b-q4/versions/1.0.0/manifest.json +53 -0
- package/data/chat-models/qw/qwen3.8-27b-iq1-s/manifest.json +195 -0
- package/data/chat-models/qw/qwen3.8-27b-iq1-s/versions/1.0.0/manifest.json +19 -0
- package/data/chat-models/qw/qwen3.8-27b-q2/manifest.json +194 -0
- package/data/chat-models/qw/qwen3.8-27b-q2/versions/1.0.0/manifest.json +19 -0
- package/data/craftbook-templates/a1/a11y-audit/manifest.json +1 -0
- package/data/craftbook-templates/ab/ab-test-readout/manifest.json +1 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/manifest.json +6 -4
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.0/craftbook.json +451 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.0/test.json +231 -0
- package/data/craftbook-templates/ad/ad-variations/manifest.json +1 -0
- package/data/craftbook-templates/al/album-curate/manifest.json +1 -0
- package/data/craftbook-templates/al/alert-rules/manifest.json +1 -0
- package/data/craftbook-templates/al/alt-text-pass/manifest.json +6 -1
- package/data/craftbook-templates/an/anniversary-cut/manifest.json +1 -0
- package/data/craftbook-templates/an/annotated-bibliography/manifest.json +1 -0
- package/data/craftbook-templates/an/annual-document-review/manifest.json +1 -0
- package/data/craftbook-templates/an/anomaly-scan/manifest.json +1 -0
- package/data/craftbook-templates/ap/api-contract-review/manifest.json +1 -0
- package/data/craftbook-templates/ap/apply-review-findings/art.json +12 -0
- package/data/craftbook-templates/ap/apply-review-findings/logo.webp +0 -0
- package/data/craftbook-templates/ap/apply-review-findings/manifest.json +23 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.0/craftbook.json +436 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.0/test.json +291 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/manifest.json +1 -0
- package/data/craftbook-templates/au/audio-ad-spot/manifest.json +1 -0
- package/data/craftbook-templates/au/audio-highlight-reel/manifest.json +1 -0
- package/data/craftbook-templates/au/audiobook-master-pack/manifest.json +1 -0
- package/data/craftbook-templates/au/auth-flow/manifest.json +1 -0
- package/data/craftbook-templates/au/automation-recipe/manifest.json +1 -0
- package/data/craftbook-templates/ba/backup-routine/manifest.json +1 -0
- package/data/craftbook-templates/bl/blog-post/manifest.json +1 -0
- package/data/craftbook-templates/bo/board-deck/manifest.json +1 -0
- package/data/craftbook-templates/bo/board-game-web/manifest.json +1 -0
- package/data/craftbook-templates/bo/booking-automation/manifest.json +1 -0
- package/data/craftbook-templates/br/branding-website/manifest.json +1 -0
- package/data/craftbook-templates/br/broadcast-announcement/manifest.json +1 -0
- package/data/craftbook-templates/br/browser-qa-audit/manifest.json +6 -1
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.5/craftbook.json +438 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.5/test.json +379 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/manifest.json +4 -3
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.0/craftbook.json +545 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.0/test.json +222 -0
- package/data/craftbook-templates/bu/build-loop/manifest.json +1 -0
- package/data/craftbook-templates/ca/calendar-brief/manifest.json +1 -0
- package/data/craftbook-templates/ca/canvas-generative-art/manifest.json +1 -0
- package/data/craftbook-templates/ca/careful-mode/manifest.json +1 -0
- package/data/craftbook-templates/ca/case-study/manifest.json +1 -0
- package/data/craftbook-templates/ca/case-study-writeup/manifest.json +1 -0
- package/data/craftbook-templates/ch/changelog-cut/manifest.json +6 -1
- package/data/craftbook-templates/ch/changelog-writeup/manifest.json +6 -1
- package/data/craftbook-templates/ch/chapter-narration-run/manifest.json +1 -0
- package/data/craftbook-templates/ch/chapter-weave/manifest.json +1 -0
- package/data/craftbook-templates/ch/character-sheet/manifest.json +1 -0
- package/data/craftbook-templates/ch/character-turnaround/manifest.json +1 -0
- package/data/craftbook-templates/ch/chart-pack/manifest.json +1 -0
- package/data/craftbook-templates/ch/chrome-extension/manifest.json +1 -0
- package/data/craftbook-templates/ci/ci-pipeline/manifest.json +6 -3
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.0/craftbook.json +423 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.0/test.json +228 -0
- package/data/craftbook-templates/ci/citation-audit/manifest.json +1 -0
- package/data/craftbook-templates/cl/cli-tool/manifest.json +1 -0
- package/data/craftbook-templates/co/code-review/manifest.json +1 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/manifest.json +1 -0
- package/data/craftbook-templates/co/codebase-ux-review/manifest.json +1 -0
- package/data/craftbook-templates/co/codemod-sweep/art.json +12 -0
- package/data/craftbook-templates/co/codemod-sweep/logo.webp +0 -0
- package/data/craftbook-templates/co/codemod-sweep/manifest.json +23 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.0/craftbook.json +441 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.0/test.json +253 -0
- package/data/craftbook-templates/co/cohort-analysis/manifest.json +1 -0
- package/data/craftbook-templates/co/company-research-brief/manifest.json +1 -0
- package/data/craftbook-templates/co/comparison-matrix/manifest.json +1 -0
- package/data/craftbook-templates/co/compat-check/manifest.json +1 -0
- package/data/craftbook-templates/co/competitive-analysis/manifest.json +1 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/art.json +12 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/logo.webp +0 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/manifest.json +27 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.0/craftbook.json +337 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.0/test.json +160 -0
- package/data/craftbook-templates/co/config-scaffold/manifest.json +1 -0
- package/data/craftbook-templates/co/content-accuracy-review/manifest.json +1 -0
- package/data/craftbook-templates/co/content-deck/manifest.json +1 -0
- package/data/craftbook-templates/co/contract-template/manifest.json +1 -0
- package/data/craftbook-templates/co/cookbook-layout/manifest.json +1 -0
- package/data/craftbook-templates/co/copy-review/manifest.json +1 -0
- package/data/craftbook-templates/co/corpus-email-digest/manifest.json +1 -0
- package/data/craftbook-templates/co/corpus-synthesis/manifest.json +1 -0
- package/data/craftbook-templates/co/cover-letter/manifest.json +1 -0
- package/data/craftbook-templates/cr/crm-update-batch/manifest.json +1 -0
- package/data/craftbook-templates/cr/cron-job/manifest.json +1 -0
- package/data/craftbook-templates/cr/crossword-forge/manifest.json +1 -0
- package/data/craftbook-templates/cs/csv-transformer/manifest.json +1 -0
- package/data/craftbook-templates/da/dashboard-spec/manifest.json +1 -0
- package/data/craftbook-templates/da/data-dictionary/manifest.json +1 -0
- package/data/craftbook-templates/da/data-export-migrate/manifest.json +1 -0
- package/data/craftbook-templates/da/data-join-merge/manifest.json +1 -0
- package/data/craftbook-templates/da/data-pipeline-etl/manifest.json +1 -0
- package/data/craftbook-templates/da/data-quality-audit/manifest.json +1 -0
- package/data/craftbook-templates/da/data-to-report/manifest.json +1 -0
- package/data/craftbook-templates/da/data-viz-page/manifest.json +1 -0
- package/data/craftbook-templates/da/dataset-clean/manifest.json +1 -0
- package/data/craftbook-templates/db/db-index-tuning/manifest.json +1 -0
- package/data/craftbook-templates/de/deep-security-review/manifest.json +1 -0
- package/data/craftbook-templates/de/dependency-audit/manifest.json +1 -0
- package/data/craftbook-templates/de/dependency-upgrade/art.json +12 -0
- package/data/craftbook-templates/de/dependency-upgrade/logo.webp +0 -0
- package/data/craftbook-templates/de/dependency-upgrade/manifest.json +23 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.0/craftbook.json +459 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.0/test.json +236 -0
- package/data/craftbook-templates/de/deploy-checklist/manifest.json +1 -0
- package/data/craftbook-templates/de/design-review/manifest.json +1 -0
- package/data/craftbook-templates/de/design-system-consultation/manifest.json +1 -0
- package/data/craftbook-templates/di/diagram-from-text/manifest.json +1 -0
- package/data/craftbook-templates/di/digest-from-feeds/manifest.json +1 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/manifest.json +1 -0
- package/data/craftbook-templates/do/doc-rewrite/manifest.json +1 -0
- package/data/craftbook-templates/do/dockerize-app/manifest.json +1 -0
- package/data/craftbook-templates/do/docs-site/manifest.json +1 -0
- package/data/craftbook-templates/do/documentation-drift-review/manifest.json +1 -0
- package/data/craftbook-templates/dr/draft-social-post/manifest.json +1 -0
- package/data/craftbook-templates/dr/drive-wrap-up/manifest.json +1 -0
- package/data/craftbook-templates/du/due-diligence-brief/manifest.json +1 -0
- package/data/craftbook-templates/eb/ebook-compile/manifest.json +1 -0
- package/data/craftbook-templates/ed/edit-notes/manifest.json +1 -0
- package/data/craftbook-templates/em/email-sequence/manifest.json +1 -0
- package/data/craftbook-templates/em/email-template/manifest.json +1 -0
- package/data/craftbook-templates/en/engineering-retrospective/manifest.json +1 -0
- package/data/craftbook-templates/ep/episode-plan/manifest.json +1 -0
- package/data/craftbook-templates/es/escalation-playbook/manifest.json +1 -0
- package/data/craftbook-templates/ev/evidence-brief/manifest.json +1 -0
- package/data/craftbook-templates/ex/executive-level-review/manifest.json +1 -0
- package/data/craftbook-templates/ex/expense-categorize/manifest.json +1 -0
- package/data/craftbook-templates/fa/fact-check/manifest.json +1 -0
- package/data/craftbook-templates/fa/family-story-chapter/manifest.json +1 -0
- package/data/craftbook-templates/fa/faq-from-docs/manifest.json +1 -0
- package/data/craftbook-templates/fa/favicon-set/manifest.json +1 -0
- package/data/craftbook-templates/fe/feature-flag-release/manifest.json +6 -1
- package/data/craftbook-templates/fe/feature-flag-rollout/manifest.json +5 -1
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.0/craftbook.json +203 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.0/test.json +165 -0
- package/data/craftbook-templates/fe/feedback-widget/manifest.json +1 -0
- package/data/craftbook-templates/fl/flaky-test-fix/art.json +12 -0
- package/data/craftbook-templates/fl/flaky-test-fix/logo.webp +0 -0
- package/data/craftbook-templates/fl/flaky-test-fix/manifest.json +24 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.0/craftbook.json +534 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.0/test.json +240 -0
- package/data/craftbook-templates/fo/folder-to-audio/manifest.json +1 -0
- package/data/craftbook-templates/fo/forecast-model/manifest.json +1 -0
- package/data/craftbook-templates/fo/form-fill-batch/manifest.json +1 -0
- package/data/craftbook-templates/fo/form-wizard/manifest.json +1 -0
- package/data/craftbook-templates/fr/freeze-scope/manifest.json +1 -0
- package/data/craftbook-templates/ga/game-with-screens/manifest.json +1 -0
- package/data/craftbook-templates/gl/glossary-build/manifest.json +1 -0
- package/data/craftbook-templates/gr/graphql-api/manifest.json +1 -0
- package/data/craftbook-templates/gr/grpc-service/manifest.json +1 -0
- package/data/craftbook-templates/ha/handbook-section/manifest.json +1 -0
- package/data/craftbook-templates/he/hero-image/manifest.json +1 -0
- package/data/craftbook-templates/ho/holiday-card-run/manifest.json +1 -0
- package/data/craftbook-templates/ho/hotfix-flow/manifest.json +6 -3
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.0/craftbook.json +442 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.0/test.json +221 -0
- package/data/craftbook-templates/ht/html-arcade-game/manifest.json +1 -0
- package/data/craftbook-templates/ht/html-puzzle-game/manifest.json +1 -0
- package/data/craftbook-templates/ic/icon-pack/manifest.json +1 -0
- package/data/craftbook-templates/id/idea-office-hours/manifest.json +1 -0
- package/data/craftbook-templates/id/idle-clicker-game/manifest.json +1 -0
- package/data/craftbook-templates/im/image-batch-edit/manifest.json +1 -0
- package/data/craftbook-templates/im/image-dedup-cluster/manifest.json +1 -0
- package/data/craftbook-templates/im/image-palette-extract/manifest.json +1 -0
- package/data/craftbook-templates/im/image-seo-rename/manifest.json +1 -0
- package/data/craftbook-templates/im/image-set-index/manifest.json +1 -0
- package/data/craftbook-templates/in/inbox-triage/manifest.json +1 -0
- package/data/craftbook-templates/in/incident-comms-templates/manifest.json +1 -0
- package/data/craftbook-templates/in/incident-postmortem/manifest.json +1 -0
- package/data/craftbook-templates/in/insurance-inventory/manifest.json +1 -0
- package/data/craftbook-templates/in/interactive-quiz/manifest.json +1 -0
- package/data/craftbook-templates/in/investigate/manifest.json +5 -1
- package/data/craftbook-templates/in/investigate-root-cause/manifest.json +6 -1
- package/data/craftbook-templates/in/invitation-design/manifest.json +1 -0
- package/data/craftbook-templates/in/invoice-generator/manifest.json +1 -0
- package/data/craftbook-templates/in/invoice-run/manifest.json +1 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/manifest.json +1 -0
- package/data/craftbook-templates/ju/juice-pass/manifest.json +1 -0
- package/data/craftbook-templates/kn/knowledge-base-article/manifest.json +1 -0
- package/data/craftbook-templates/kp/kpi-scorecard/manifest.json +1 -0
- package/data/craftbook-templates/la/landing-copy/manifest.json +1 -0
- package/data/craftbook-templates/la/landing-page/manifest.json +1 -0
- package/data/craftbook-templates/le/lead-enrichment/manifest.json +1 -0
- package/data/craftbook-templates/li/library-package/manifest.json +1 -0
- package/data/craftbook-templates/li/literature-review/manifest.json +1 -0
- package/data/craftbook-templates/li/live-browser-qa/manifest.json +6 -1
- package/data/craftbook-templates/lo/localize-content/manifest.json +1 -0
- package/data/craftbook-templates/lo/logo-set/manifest.json +1 -0
- package/data/craftbook-templates/ma/market-scan/manifest.json +1 -0
- package/data/craftbook-templates/me/meeting-minutes/manifest.json +1 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/manifest.json +1 -0
- package/data/craftbook-templates/me/meeting-prep-brief/manifest.json +1 -0
- package/data/craftbook-templates/me/meeting-summary-audio/manifest.json +1 -0
- package/data/craftbook-templates/me/memory-prompt-session/manifest.json +1 -0
- package/data/craftbook-templates/me/message-queue-consumer/manifest.json +1 -0
- package/data/craftbook-templates/mi/micro-game-jam/manifest.json +1 -0
- package/data/craftbook-templates/mo/mock-interview/manifest.json +1 -0
- package/data/craftbook-templates/mo/mod-scaffold/manifest.json +1 -0
- package/data/craftbook-templates/mo/monitor-and-alert/manifest.json +1 -0
- package/data/craftbook-templates/mo/month-close/manifest.json +1 -0
- package/data/craftbook-templates/mo/monthly-recording-review/manifest.json +1 -0
- package/data/craftbook-templates/mo/moodboard/manifest.json +1 -0
- package/data/craftbook-templates/mo/morning-brief/manifest.json +1 -0
- package/data/craftbook-templates/mo/morning-report/manifest.json +1 -0
- package/data/craftbook-templates/mu/music-metadata-tag/manifest.json +1 -0
- package/data/craftbook-templates/na/narrated-slideshow/manifest.json +1 -0
- package/data/craftbook-templates/ne/newsletter-issue/manifest.json +1 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/art.json +12 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/logo.webp +0 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/manifest.json +23 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.0/craftbook.json +145 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.0/test.json +121 -0
- package/data/craftbook-templates/no/notification-router/manifest.json +1 -0
- package/data/craftbook-templates/oc/ocr-extract/manifest.json +1 -0
- package/data/craftbook-templates/of/offer-compare/manifest.json +1 -0
- package/data/craftbook-templates/of/office-hours/manifest.json +1 -0
- package/data/craftbook-templates/on/onboarding-checklist/manifest.json +1 -0
- package/data/craftbook-templates/on/onboarding-flow/manifest.json +1 -0
- package/data/craftbook-templates/on/oncall-handoff/manifest.json +1 -0
- package/data/craftbook-templates/on/one-pager/manifest.json +1 -0
- package/data/craftbook-templates/op/ops-runbook/manifest.json +1 -0
- package/data/craftbook-templates/pa/page-spread/manifest.json +1 -0
- package/data/craftbook-templates/pa/parser-grammar/manifest.json +1 -0
- package/data/craftbook-templates/pe/perf-audit/manifest.json +1 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.1.0/craftbook.json +195 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.1.0/test.json +165 -0
- package/data/craftbook-templates/pe/perf-optimization/manifest.json +4 -3
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.0/craftbook.json +511 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.0/test.json +236 -0
- package/data/craftbook-templates/pe/pest-diagnosis/manifest.json +1 -0
- package/data/craftbook-templates/ph/photo-cull/manifest.json +1 -0
- package/data/craftbook-templates/ph/physics-toy/manifest.json +1 -0
- package/data/craftbook-templates/pi/pitch-deck/manifest.json +1 -0
- package/data/craftbook-templates/pl/plan/manifest.json +1 -0
- package/data/craftbook-templates/pl/playtest-report/manifest.json +1 -0
- package/data/craftbook-templates/po/podcast-chaptering/manifest.json +1 -0
- package/data/craftbook-templates/po/portfolio-site/manifest.json +1 -0
- package/data/craftbook-templates/po/powerpoint-deck/manifest.json +1 -0
- package/data/craftbook-templates/pr/pr-security-review/manifest.json +1 -0
- package/data/craftbook-templates/pr/practice-exam/manifest.json +1 -0
- package/data/craftbook-templates/pr/practice-session/manifest.json +1 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/manifest.json +1 -0
- package/data/craftbook-templates/pr/press-release/manifest.json +1 -0
- package/data/craftbook-templates/pr/price-tracker/manifest.json +1 -0
- package/data/craftbook-templates/pr/pricing-page/manifest.json +1 -0
- package/data/craftbook-templates/pr/product-descriptions/manifest.json +1 -0
- package/data/craftbook-templates/pr/proposal-sow/manifest.json +1 -0
- package/data/craftbook-templates/pu/pull-request-review/manifest.json +1 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/manifest.json +1 -0
- package/data/craftbook-templates/pw/pwa-offline/manifest.json +1 -0
- package/data/craftbook-templates/qa/qa/manifest.json +4 -1
- package/data/craftbook-templates/qu/quarterly-summary/manifest.json +1 -0
- package/data/craftbook-templates/re/reading-list/manifest.json +1 -0
- package/data/craftbook-templates/re/receipt-intake/manifest.json +1 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/manifest.json +1 -0
- package/data/craftbook-templates/re/reception-report/manifest.json +1 -0
- package/data/craftbook-templates/re/recipe-capture/manifest.json +1 -0
- package/data/craftbook-templates/re/record-a-relative/manifest.json +1 -0
- package/data/craftbook-templates/re/recurring-invoice-run/manifest.json +1 -0
- package/data/craftbook-templates/re/refactor-module/manifest.json +3 -2
- package/data/craftbook-templates/re/refactor-module/versions/1.0.4/craftbook.json +150 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.4/test.json +95 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.0/craftbook.json +509 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.0/test.json +242 -0
- package/data/craftbook-templates/re/regex-builder/manifest.json +1 -0
- package/data/craftbook-templates/re/release-announcement/manifest.json +1 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/manifest.json +1 -0
- package/data/craftbook-templates/re/release-notes/manifest.json +6 -1
- package/data/craftbook-templates/re/release-notes/versions/1.0.3/craftbook.json +220 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.3/test.json +114 -0
- package/data/craftbook-templates/re/release-pipeline-ci/manifest.json +6 -1
- package/data/craftbook-templates/re/release-readiness-review/manifest.json +1 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.1.0/craftbook.json +192 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.1.0/test.json +113 -0
- package/data/craftbook-templates/re/reliability-review/manifest.json +1 -0
- package/data/craftbook-templates/re/report-pdf/manifest.json +1 -0
- package/data/craftbook-templates/re/research-report/manifest.json +1 -0
- package/data/craftbook-templates/re/research-to-document/manifest.json +1 -0
- package/data/craftbook-templates/re/rest-api/manifest.json +1 -0
- package/data/craftbook-templates/re/resume-cv/manifest.json +1 -0
- package/data/craftbook-templates/re/reviewer-loop/manifest.json +1 -0
- package/data/craftbook-templates/ro/rollback-plan/manifest.json +1 -0
- package/data/craftbook-templates/ro/root-cause-investigation/manifest.json +8 -1
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.5/craftbook.json +433 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.5/test.json +157 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/manifest.json +1 -0
- package/data/craftbook-templates/ru/runbook/manifest.json +1 -0
- package/data/craftbook-templates/sc/schema-migration/manifest.json +5 -4
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.0/craftbook.json +459 -0
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.0/test.json +226 -0
- package/data/craftbook-templates/sc/scrape-to-structured/manifest.json +1 -0
- package/data/craftbook-templates/sc/script-automation/manifest.json +1 -0
- package/data/craftbook-templates/sd/sdk-wrapper/manifest.json +1 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/manifest.json +1 -0
- package/data/craftbook-templates/se/security-architecture-review/manifest.json +1 -0
- package/data/craftbook-templates/se/seo-meta-pack/manifest.json +1 -0
- package/data/craftbook-templates/sh/ship/manifest.json +1 -0
- package/data/craftbook-templates/so/social-digest/manifest.json +1 -0
- package/data/craftbook-templates/so/social-thread/manifest.json +1 -0
- package/data/craftbook-templates/so/source-quality-audit/manifest.json +1 -0
- package/data/craftbook-templates/sp/spa-dashboard/manifest.json +1 -0
- package/data/craftbook-templates/sp/spec-authoring/manifest.json +1 -0
- package/data/craftbook-templates/sp/spec-doc/manifest.json +1 -0
- package/data/craftbook-templates/sp/spreadsheet-model/manifest.json +1 -0
- package/data/craftbook-templates/sp/sprite-sheet/manifest.json +1 -0
- package/data/craftbook-templates/sq/sql-analysis/manifest.json +1 -0
- package/data/craftbook-templates/st/standup-summary/manifest.json +1 -0
- package/data/craftbook-templates/st/state-machine/manifest.json +1 -0
- package/data/craftbook-templates/st/status-report/manifest.json +1 -0
- package/data/craftbook-templates/su/subscription-audit/manifest.json +1 -0
- package/data/craftbook-templates/su/subtitle-generator/manifest.json +1 -0
- package/data/craftbook-templates/su/summarize-long/manifest.json +1 -0
- package/data/craftbook-templates/su/survey-analysis/manifest.json +1 -0
- package/data/craftbook-templates/sv/svg-animation/manifest.json +1 -0
- package/data/craftbook-templates/ta/tailor-resume/manifest.json +1 -0
- package/data/craftbook-templates/te/technical-documentation/manifest.json +1 -0
- package/data/craftbook-templates/te/test-coverage-review/manifest.json +1 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.0/craftbook.json +195 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.0/test.json +116 -0
- package/data/craftbook-templates/te/test-suite-backfill/manifest.json +2 -2
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.0/craftbook.json +428 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.0/test.json +198 -0
- package/data/craftbook-templates/th/thank-you-batch/manifest.json +1 -0
- package/data/craftbook-templates/th/thank-you-sweep/manifest.json +1 -0
- package/data/craftbook-templates/th/threat-model/manifest.json +1 -0
- package/data/craftbook-templates/th/thumbnail-generator/manifest.json +1 -0
- package/data/craftbook-templates/ti/tileset-batch/manifest.json +1 -0
- package/data/craftbook-templates/to/tone-rewrite/manifest.json +1 -0
- package/data/craftbook-templates/to/topic-explainer/manifest.json +1 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/manifest.json +1 -0
- package/data/craftbook-templates/tr/transcribe-audio/manifest.json +1 -0
- package/data/craftbook-templates/tr/transcribe-index/manifest.json +1 -0
- package/data/craftbook-templates/tr/translate-content/manifest.json +1 -0
- package/data/craftbook-templates/ty/type-safety-pass/manifest.json +4 -3
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.0/craftbook.json +428 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.0/test.json +222 -0
- package/data/craftbook-templates/ux/ux-update/art.json +12 -0
- package/data/craftbook-templates/ux/ux-update/logo.webp +0 -0
- package/data/craftbook-templates/ux/ux-update/manifest.json +22 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.0/craftbook.json +439 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.0/test.json +207 -0
- package/data/craftbook-templates/ve/version-bump/manifest.json +1 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.1.0/craftbook.json +206 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.1.0/test.json +95 -0
- package/data/craftbook-templates/vi/video-storyboard/manifest.json +1 -0
- package/data/craftbook-templates/vi/visit-prep/manifest.json +1 -0
- package/data/craftbook-templates/vo/voiceover-script/manifest.json +1 -0
- package/data/craftbook-templates/we/weak-spot-drill/manifest.json +1 -0
- package/data/craftbook-templates/we/web-app-crud/manifest.json +1 -0
- package/data/craftbook-templates/we/web-component/manifest.json +1 -0
- package/data/craftbook-templates/we/webhook-handler/manifest.json +1 -0
- package/data/craftbook-templates/we/week-plan/manifest.json +1 -0
- package/data/craftbook-templates/we/weekly-menu-plan/manifest.json +1 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/manifest.json +1 -0
- package/data/craftbook-templates/we/weekly-review/manifest.json +1 -0
- package/data/craftbook-templates/we/weekly-walkthrough/manifest.json +1 -0
- package/data/craftbook-templates/wh/whitepaper/manifest.json +1 -0
- package/data/craftbook-templates/ye/year-in-review/manifest.json +1 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/manifest.json +1 -0
- package/data/gezel-templates/bo/boekwachter/versions/1.1.0/about.md +29 -0
- package/data/gezel-templates/bo/boekwachter/versions/1.1.0/manifest.json +16 -0
- package/data/gezel-templates/bu/builder/versions/1.5.0/about.md +34 -0
- package/data/gezel-templates/bu/builder/versions/1.5.0/manifest.json +16 -0
- package/data/gezel-templates/de/developer/versions/1.5.0/about.md +34 -0
- package/data/gezel-templates/de/developer/versions/1.5.0/manifest.json +21 -0
- package/data/gezel-templates/index.json +1 -1
- package/data/gezel-templates/re/reviewer/versions/1.4.0/about.md +49 -0
- package/data/gezel-templates/re/reviewer/versions/1.4.0/manifest.json +21 -0
- package/data/project-types/index.json +1 -1
- package/data/project-types/so/software-project/manifest.json +20 -0
- package/data/project-types/so/software-project/versions/1.0.0/about.md +3 -0
- package/data/project-types/so/software-project/versions/1.0.0/manifest.json +41 -0
- package/data/project-types/so/software-project/versions/1.0.0/mission.md +4 -0
- package/package.json +1 -1
- package/schemas/craftbook-doc.schema.json +248 -0
- package/schemas/craftbook-template-identity.schema.json +21 -0
- package/schemas/craftbook-template-version.schema.json +248 -0
- package/schemas/craftbook-test.schema.json +210 -0
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "cli-tool",
|
|
5
5
|
"role": "project-starter",
|
|
6
|
+
"category": "code-build",
|
|
6
7
|
"name": "Command-Line Tool",
|
|
7
8
|
"description": "Build a command-line tool with subcommands, flags, arguments, help text, and proper exit codes. Designs the CLI UX FIRST — the command surface, flags with defaults, positional args, help/usage output, and exit-code conventions — because a CLI's contract is its interface, then implements argument parsing and command logic, then writes tests for parsing, help, happy paths, and error exits. Covers argv parsing, subcommands, --flags and -short forms, --help, stdin/stdout/stderr conventions, and non-zero exit codes on error.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "code-review",
|
|
5
5
|
"role": "maintenance-review",
|
|
6
|
+
"category": "code-review",
|
|
6
7
|
"name": "Code Review",
|
|
7
8
|
"description": "Snapshot-driven code review. Consumes a staged change-set snapshot (reviews/<reviewId>/manifest.json + changes.diff in the project artifacts drawer) and emits a gated markdown report artifact with severity-ranked, file-cited findings and an approve/request-changes verdict. Shared by commit reviews (uncommitted work vs the last save) and branch reviews (this branch vs the default branch); the Gezel Review panel stages the snapshot and launches this book automatically.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "codebase-refactoring-review",
|
|
5
5
|
"role": "maintenance-review",
|
|
6
|
+
"category": "code-quality",
|
|
6
7
|
"name": "Codebase Refactoring Review",
|
|
7
8
|
"description": "Review an entire codebase for the least cogent, highest-leverage refactoring opportunities without changing source. Uses the repository map and per-file AI health index to rank weak areas, then verifies each lead in the real code and leaves a file-and-line-cited morning report with sequenced refactor plans, risk, effort, and tests that must protect behavior. Use for a weekly code-health sweep, refactoring review, technical-debt triage, finding code smells, or deciding which files should be refactored first.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "codebase-ux-review",
|
|
5
5
|
"role": "maintenance-review",
|
|
6
|
+
"category": "design",
|
|
6
7
|
"name": "Codebase UX Review",
|
|
7
8
|
"description": "Review the user experience implemented across a codebase and, when runnable, exercise the key flows in a real browser. Starts from the indexed UI surface rather than one screenshot, traces primary journeys and state transitions, then leaves a prioritized morning report covering information architecture, comprehension, feedback, recovery, consistency, responsive behavior, and user impact with source or runtime evidence. Use for a weekly UX sweep, product usability review, interaction review, or finding the highest-impact friction in an application.",
|
|
8
9
|
"tags": [
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-1910-v2",
|
|
4
|
+
"periodCue": "circa-1910-subtle",
|
|
5
|
+
"family": "build-repair",
|
|
6
|
+
"accents": [
|
|
7
|
+
"teal",
|
|
8
|
+
"umber"
|
|
9
|
+
],
|
|
10
|
+
"sourceSummary": "A mechanical wide change executed at every enumerated site under stated invariants, verified by a zero-residual re-scan.",
|
|
11
|
+
"styleReference": "bug-fix-tdd"
|
|
12
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "craftbook-template",
|
|
4
|
+
"id": "codemod-sweep",
|
|
5
|
+
"name": "Codemod Sweep",
|
|
6
|
+
"description": "Make a mechanical change everywhere it applies - a rename, an API-call migration, dead-code removal: enumerate every site first, apply the change under stated invariants, then re-scan to prove zero un-excluded sites remain, with counts that reconcile exactly and a green suite as receipts.",
|
|
7
|
+
"role": "general",
|
|
8
|
+
"category": "code-quality",
|
|
9
|
+
"tags": [
|
|
10
|
+
"codemod",
|
|
11
|
+
"rename",
|
|
12
|
+
"refactor",
|
|
13
|
+
"sweep",
|
|
14
|
+
"mechanical-change",
|
|
15
|
+
"quality"
|
|
16
|
+
],
|
|
17
|
+
"maintainer": {
|
|
18
|
+
"name": "Gezel"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"yankedVersions": [],
|
|
22
|
+
"logo": "logo.webp"
|
|
23
|
+
}
|
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "codemod-sweep",
|
|
3
|
+
"name": "Codemod Sweep",
|
|
4
|
+
"description": "Run a mechanical, wide change - a rename, an API-call migration, a dead-code removal - the way a careful engineer runs a codemod: completeness IS the product, and each claim is mechanically verified. First ENUMERATE: work out the concrete search pattern for the old form, run real searches over the actual tree, count every site (definitions, re-exports, imports, call sites, and string mentions such as log lines when the change covers them), and list explicit exclusions - files that must keep the old form, such as changelogs - each with a defensible reason. Then APPLY the change at every listed site while holding the stated invariants (no behavior change beyond the declared one), handling the shapes that break naive sweeps - re-exports, aliased imports, strings - and running the suite as you go. Then VERIFY by re-running the exact search: zero un-excluded sites may remain, the found/changed/excluded counts must reconcile exactly, and the whole suite must be green. Finally an independent reviewer grades the chain against fixed criteria, and their REVISE verdict routes the work back automatically with concrete findings. Needs a project whose tests run via `npm run test`. Works identically whether the run edits the project directly or drafts a change proposal for the user to apply.",
|
|
5
|
+
"plan": "Enumerate every site with real searches (a count plus the list, and exclusions with reasons) -> apply the mechanical change at every listed site under the stated invariants with the suite run as you go -> re-scan to zero un-excluded sites, reconcile the counts, prove the suite green -> enforced independent review.",
|
|
6
|
+
"entryStepId": "enumerate",
|
|
7
|
+
"triggers": [
|
|
8
|
+
"rename across the repo",
|
|
9
|
+
"codemod",
|
|
10
|
+
"migrate every call",
|
|
11
|
+
"remove the dead code"
|
|
12
|
+
],
|
|
13
|
+
"runModes": {
|
|
14
|
+
"nightShift": "supported"
|
|
15
|
+
},
|
|
16
|
+
"commands": [
|
|
17
|
+
{
|
|
18
|
+
"scope": "script",
|
|
19
|
+
"name": "test",
|
|
20
|
+
"reason": "the sweep must not change behavior - receipts"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"paramSchema": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"scope": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "The mechanical change",
|
|
29
|
+
"description": "What to sweep: a rename, an API-call migration, dead-code removal. Name the old and new forms when you can.",
|
|
30
|
+
"default": ""
|
|
31
|
+
},
|
|
32
|
+
"workPath": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"title": "Working folder",
|
|
35
|
+
"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.",
|
|
36
|
+
"default": "{{task.dir}}"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"steps": [
|
|
41
|
+
{
|
|
42
|
+
"id": "enumerate",
|
|
43
|
+
"name": "Enumerate every site",
|
|
44
|
+
"description": "Find every site with real searches before touching one; count them and list explicit exclusions with reasons. No edits in this phase.",
|
|
45
|
+
"prompt": "The mechanical change: {{scope}}\n\nFind EVERY site before touching one - the sweep's completeness is the product. Work out the concrete search pattern (or patterns) that finds the old form: the definition, re-exports, imports, call sites, and string mentions such as log lines when the change covers them. Run real searches over the actual tree with `list_dir` and `read_file`, and record the exact pattern you used. Count the sites and list every one with a backtick path. List explicit exclusions - files that genuinely must keep the old form, such as changelogs or other historical records - each with a reason a reviewer could defend. If the old form cannot be found at all, record that honestly and stop. Do not change anything in this phase.\n\nWrite `{{workPath}}/sites.md` with exactly these sections: `## Pattern` (the exact search pattern or patterns), `## Sites found` (the count on its own line, then the list with a backtick path per site and what is at it), `## Exclusions` (each excluded file with its reason, or 'none').\n\nObservable handoff: write the completed result to `{{workPath}}/sites.md` in the project's artifacts drawer with `write_artifact`. Do not merely describe what the file would contain. Re-read it with `read_artifact` before finishing this phase and repair any incomplete sections.",
|
|
46
|
+
"suggestedRole": "codebase analyst",
|
|
47
|
+
"capabilityFloor": "small",
|
|
48
|
+
"advanceWhen": {
|
|
49
|
+
"file": "{{workPath}}/sites.md",
|
|
50
|
+
"minBytes": 500,
|
|
51
|
+
"sniff": "nonempty",
|
|
52
|
+
"requireChange": true,
|
|
53
|
+
"artifact": true,
|
|
54
|
+
"goto": "apply"
|
|
55
|
+
},
|
|
56
|
+
"gate": {
|
|
57
|
+
"at": "completion",
|
|
58
|
+
"checks": [
|
|
59
|
+
{
|
|
60
|
+
"kind": "minBytes",
|
|
61
|
+
"file": "{{workPath}}/sites.md",
|
|
62
|
+
"bytes": 500,
|
|
63
|
+
"artifact": true
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"kind": "sniff",
|
|
67
|
+
"file": "{{workPath}}/sites.md",
|
|
68
|
+
"sniff": "nonempty",
|
|
69
|
+
"artifact": true
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"kind": "contains",
|
|
73
|
+
"file": "{{workPath}}/sites.md",
|
|
74
|
+
"pattern": "^##\\s+Pattern",
|
|
75
|
+
"flags": "im",
|
|
76
|
+
"label": "Pattern section",
|
|
77
|
+
"artifact": true
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"kind": "contains",
|
|
81
|
+
"file": "{{workPath}}/sites.md",
|
|
82
|
+
"pattern": "^##\\s+Sites found",
|
|
83
|
+
"flags": "im",
|
|
84
|
+
"label": "Sites found section",
|
|
85
|
+
"artifact": true
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"kind": "contains",
|
|
89
|
+
"file": "{{workPath}}/sites.md",
|
|
90
|
+
"pattern": "^##\\s+Exclusions",
|
|
91
|
+
"flags": "im",
|
|
92
|
+
"label": "Exclusions section",
|
|
93
|
+
"artifact": true
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"kind": "citationsResolve",
|
|
97
|
+
"file": "{{workPath}}/sites.md",
|
|
98
|
+
"minCitations": 2,
|
|
99
|
+
"artifact": true
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
"onReject": "enumerate",
|
|
103
|
+
"maxAttempts": 4
|
|
104
|
+
},
|
|
105
|
+
"next": "apply"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"id": "apply",
|
|
109
|
+
"name": "Apply the change at every site",
|
|
110
|
+
"description": "Make the mechanical change at every listed site, holding the stated invariants; leave exclusions untouched and run the suite as you go.",
|
|
111
|
+
"prompt": "Read `{{workPath}}/sites.md` and make the mechanical change at every listed site with `read_file` plus `write_file`/`replace_in_file`, holding the stated invariants: no behavior change beyond the declared one, and no listed site skipped. Handle the shapes that break naive sweeps deliberately - re-exports, aliased imports, and string mentions such as log lines when the declared change covers them. Leave every excluded file untouched. Run the suite with `run_package_script` (`test`) as you go and finish green; if the suite was red before you started, record that honestly and stop rather than sweeping on top of it. If the command needs first-use approval, say so and wait rather than guessing. A site that cannot take the change without altering behavior gets recorded with its reason, not forced.\n\nWrite `{{workPath}}/change-notes.md` with exactly these sections: `## Sites changed` (the count on its own line - it must reconcile with sites.md, with any difference explained), `## Files touched` (backtick path per line), `## Invariants held` (the declared change and why nothing else changed). Before working, open `{{workPath}}/sites.md` with `read_artifact`.\n\nObservable handoff: write the completed result to `{{workPath}}/change-notes.md` in the project's artifacts drawer with `write_artifact`. Do not merely describe what the file would contain. Re-read it with `read_artifact` before finishing this phase and repair any incomplete sections.",
|
|
112
|
+
"suggestedRole": "software engineer",
|
|
113
|
+
"capabilityFloor": "small",
|
|
114
|
+
"consumes": [
|
|
115
|
+
{
|
|
116
|
+
"file": "{{workPath}}/sites.md",
|
|
117
|
+
"artifact": true
|
|
118
|
+
}
|
|
119
|
+
],
|
|
120
|
+
"advanceWhen": {
|
|
121
|
+
"file": "{{workPath}}/change-notes.md",
|
|
122
|
+
"minBytes": 500,
|
|
123
|
+
"sniff": "nonempty",
|
|
124
|
+
"requireChange": true,
|
|
125
|
+
"artifact": true,
|
|
126
|
+
"goto": "verify"
|
|
127
|
+
},
|
|
128
|
+
"gate": {
|
|
129
|
+
"at": "completion",
|
|
130
|
+
"checks": [
|
|
131
|
+
{
|
|
132
|
+
"kind": "minBytes",
|
|
133
|
+
"file": "{{workPath}}/change-notes.md",
|
|
134
|
+
"bytes": 500,
|
|
135
|
+
"artifact": true
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"kind": "sniff",
|
|
139
|
+
"file": "{{workPath}}/change-notes.md",
|
|
140
|
+
"sniff": "nonempty",
|
|
141
|
+
"artifact": true
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"kind": "contains",
|
|
145
|
+
"file": "{{workPath}}/change-notes.md",
|
|
146
|
+
"pattern": "^##\\s+Sites changed",
|
|
147
|
+
"flags": "im",
|
|
148
|
+
"label": "Sites changed section",
|
|
149
|
+
"artifact": true
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"kind": "contains",
|
|
153
|
+
"file": "{{workPath}}/change-notes.md",
|
|
154
|
+
"pattern": "^##\\s+Files touched",
|
|
155
|
+
"flags": "im",
|
|
156
|
+
"label": "Files touched section",
|
|
157
|
+
"artifact": true
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
"kind": "contains",
|
|
161
|
+
"file": "{{workPath}}/change-notes.md",
|
|
162
|
+
"pattern": "^##\\s+Invariants held",
|
|
163
|
+
"flags": "im",
|
|
164
|
+
"label": "Invariants held section",
|
|
165
|
+
"artifact": true
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
"kind": "citationsResolve",
|
|
169
|
+
"file": "{{workPath}}/change-notes.md",
|
|
170
|
+
"minCitations": 2,
|
|
171
|
+
"artifact": true
|
|
172
|
+
}
|
|
173
|
+
],
|
|
174
|
+
"onReject": "apply",
|
|
175
|
+
"maxAttempts": 4
|
|
176
|
+
},
|
|
177
|
+
"next": "verify"
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"id": "verify",
|
|
181
|
+
"name": "Re-scan and reconcile",
|
|
182
|
+
"description": "Re-run the exact search to zero un-excluded sites, reconcile the counts across all three documents, and prove the suite green.",
|
|
183
|
+
"prompt": "Prove completeness with fresh eyes. Re-run the exact search pattern recorded in `{{workPath}}/sites.md` over the real tree - zero un-excluded sites may remain - and quote the re-scan and its result. Reconcile the counts: sites found in `{{workPath}}/sites.md`, sites changed in `{{workPath}}/change-notes.md`, and sites remaining now must add up exactly, with every exclusion accounted for. Open a few changed files with `read_file` and confirm the invariants held - nothing changed beyond the declared change. Re-run the whole suite with `run_package_script` (`test`) - it must be green. If the re-scan finds a missed site, fix it and re-scan again; if it cannot be fixed under the invariants, record it honestly instead of hiding it.\n\nWrite `{{workPath}}/verification.md` with exactly these sections: `## Residual scan` (the exact pattern re-run and what it found), `## Counts reconciled` (found vs changed vs excluded, adding up exactly), `## Suite` (the full-suite result), `## Result` (sweep complete, or what remains and why). Before working, open `{{workPath}}/sites.md`, `{{workPath}}/change-notes.md` with `read_artifact`.\n\nObservable handoff: write the completed result to `{{workPath}}/verification.md` in the project's artifacts drawer with `write_artifact`. Do not merely describe what the file would contain. Re-read it with `read_artifact` before finishing this phase and repair any incomplete sections.",
|
|
184
|
+
"suggestedRole": "software engineer",
|
|
185
|
+
"capabilityFloor": "small",
|
|
186
|
+
"consumes": [
|
|
187
|
+
{
|
|
188
|
+
"file": "{{workPath}}/sites.md",
|
|
189
|
+
"artifact": true
|
|
190
|
+
},
|
|
191
|
+
{
|
|
192
|
+
"file": "{{workPath}}/change-notes.md",
|
|
193
|
+
"artifact": true
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"advanceWhen": {
|
|
197
|
+
"file": "{{workPath}}/verification.md",
|
|
198
|
+
"minBytes": 450,
|
|
199
|
+
"sniff": "nonempty",
|
|
200
|
+
"requireChange": true,
|
|
201
|
+
"artifact": true,
|
|
202
|
+
"goto": "evaluate"
|
|
203
|
+
},
|
|
204
|
+
"gate": {
|
|
205
|
+
"at": "completion",
|
|
206
|
+
"checks": [
|
|
207
|
+
{
|
|
208
|
+
"kind": "minBytes",
|
|
209
|
+
"file": "{{workPath}}/verification.md",
|
|
210
|
+
"bytes": 450,
|
|
211
|
+
"artifact": true
|
|
212
|
+
},
|
|
213
|
+
{
|
|
214
|
+
"kind": "sniff",
|
|
215
|
+
"file": "{{workPath}}/verification.md",
|
|
216
|
+
"sniff": "nonempty",
|
|
217
|
+
"artifact": true
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"kind": "contains",
|
|
221
|
+
"file": "{{workPath}}/verification.md",
|
|
222
|
+
"pattern": "^##\\s+Residual scan",
|
|
223
|
+
"flags": "im",
|
|
224
|
+
"label": "Residual scan section",
|
|
225
|
+
"artifact": true
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"kind": "contains",
|
|
229
|
+
"file": "{{workPath}}/verification.md",
|
|
230
|
+
"pattern": "^##\\s+Counts reconciled",
|
|
231
|
+
"flags": "im",
|
|
232
|
+
"label": "Counts reconciled section",
|
|
233
|
+
"artifact": true
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"kind": "contains",
|
|
237
|
+
"file": "{{workPath}}/verification.md",
|
|
238
|
+
"pattern": "^##\\s+Suite",
|
|
239
|
+
"flags": "im",
|
|
240
|
+
"label": "Suite section",
|
|
241
|
+
"artifact": true
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"kind": "contains",
|
|
245
|
+
"file": "{{workPath}}/verification.md",
|
|
246
|
+
"pattern": "^##\\s+Result",
|
|
247
|
+
"flags": "im",
|
|
248
|
+
"label": "Result section",
|
|
249
|
+
"artifact": true
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"kind": "commandEvidence",
|
|
253
|
+
"script": "test",
|
|
254
|
+
"expect": "pass",
|
|
255
|
+
"label": "the suite is green after the sweep (verified run receipt)"
|
|
256
|
+
}
|
|
257
|
+
],
|
|
258
|
+
"onReject": "verify",
|
|
259
|
+
"maxAttempts": 4
|
|
260
|
+
},
|
|
261
|
+
"next": "evaluate"
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"id": "evaluate",
|
|
265
|
+
"name": "Evaluate the deliverable",
|
|
266
|
+
"description": "Independently grade the observable deliverable and route it to finish, repair, or user escalation.",
|
|
267
|
+
"prompt": "Review `{{workPath}}/verification.md`, `{{workPath}}/sites.md`, `{{workPath}}/change-notes.md` against every criterion below. Inspect the underlying evidence files named by the workflow; do not grade from the author's summary alone.\n\n1. The re-scan in verification.md is quoted and shows zero un-excluded sites remaining for the exact pattern sites.md declared - re-run it yourself if anything looks off.\n2. The counts reconcile exactly across sites.md, change-notes.md, and verification.md: found, changed, excluded, and remaining add up with no unexplained gap.\n3. The invariants held: open a few changed files and confirm nothing changed beyond the declared mechanical change - do not grade from change-notes.md alone.\n4. Tricky shapes were genuinely handled: re-exports, aliased imports, and covered string mentions were changed, not skipped as too hard.\n5. Every exclusion has a defensible reason, and the excluded files are untouched.\n6. The suite is green after the sweep - judged from the recorded run receipts, not the author's summary.\n\nOpen `{{workPath}}/verification.md`, `{{workPath}}/sites.md`, `{{workPath}}/change-notes.md` with `read_artifact`. Write the evidence-backed review to `{{workPath}}/review.md` in the artifacts drawer with `write_artifact`.\n\nList the findings as a markdown table with columns `| Severity | File | Line | Problem | Fix |` (severities: critical/major/minor/nit; empty table only on PASS). Give each criterion a PASS or FAIL with a concrete path, excerpt, measurement, or observed behavior. End with exactly `Verdict: PASS` or `Verdict: REVISE`. The gate ENFORCES the verdict: a well-formed REVISE is rejected and routed back to `repair` automatically, carrying your findings — so list every finding in the table with a concrete fix. On PASS, `advance_task_step` to `finish`. Never write PASS while a criterion is unmet.",
|
|
268
|
+
"suggestedRole": "sweep reviewer",
|
|
269
|
+
"consumes": [
|
|
270
|
+
{
|
|
271
|
+
"file": "{{workPath}}/verification.md",
|
|
272
|
+
"artifact": true
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"file": "{{workPath}}/sites.md",
|
|
276
|
+
"artifact": true
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"file": "{{workPath}}/change-notes.md",
|
|
280
|
+
"artifact": true
|
|
281
|
+
}
|
|
282
|
+
],
|
|
283
|
+
"gate": {
|
|
284
|
+
"at": "completion",
|
|
285
|
+
"checks": [
|
|
286
|
+
{
|
|
287
|
+
"kind": "minBytes",
|
|
288
|
+
"file": "{{workPath}}/review.md",
|
|
289
|
+
"bytes": 400,
|
|
290
|
+
"artifact": true
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"kind": "contains",
|
|
294
|
+
"file": "{{workPath}}/review.md",
|
|
295
|
+
"pattern": "Verdict:\\s*(?:PASS|REVISE)",
|
|
296
|
+
"flags": "i",
|
|
297
|
+
"label": "explicit PASS or REVISE verdict",
|
|
298
|
+
"artifact": true
|
|
299
|
+
}
|
|
300
|
+
],
|
|
301
|
+
"scripts": [
|
|
302
|
+
{
|
|
303
|
+
"name": "checkFixReview",
|
|
304
|
+
"scope": "standard",
|
|
305
|
+
"inputs": {
|
|
306
|
+
"reviewPath": "{{workPath}}/review.md",
|
|
307
|
+
"fixStepId": "repair"
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
],
|
|
311
|
+
"onReject": "evaluate",
|
|
312
|
+
"maxAttempts": 4
|
|
313
|
+
},
|
|
314
|
+
"next": "finish"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"id": "repair",
|
|
318
|
+
"name": "Repair the deliverable",
|
|
319
|
+
"description": "Fix only the concrete gaps from the latest independent review.",
|
|
320
|
+
"prompt": "Read `{{workPath}}/review.md` with `read_artifact` and repair every failed criterion in `{{workPath}}/verification.md`, `{{workPath}}/sites.md`, `{{workPath}}/change-notes.md`. Make changes on each file's declared surface (`write_artifact` for artifact inputs, `write_file` for workspace inputs), not in task notes or a reply. Preserve evidence that already passed. Re-run or re-check anything the reviewer found unproven. Ensure `{{workPath}}/verification.md` is genuinely updated this turn so the repair is observable, then hand it back for independent evaluation.",
|
|
321
|
+
"suggestedRole": "software engineer",
|
|
322
|
+
"consumes": [
|
|
323
|
+
{
|
|
324
|
+
"file": "{{workPath}}/review.md",
|
|
325
|
+
"artifact": true
|
|
326
|
+
},
|
|
327
|
+
{
|
|
328
|
+
"file": "{{workPath}}/verification.md",
|
|
329
|
+
"artifact": true
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"file": "{{workPath}}/sites.md",
|
|
333
|
+
"artifact": true
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"file": "{{workPath}}/change-notes.md",
|
|
337
|
+
"artifact": true
|
|
338
|
+
}
|
|
339
|
+
],
|
|
340
|
+
"advanceWhen": {
|
|
341
|
+
"file": "{{workPath}}/verification.md",
|
|
342
|
+
"minBytes": 450,
|
|
343
|
+
"sniff": "nonempty",
|
|
344
|
+
"requireChange": true,
|
|
345
|
+
"artifact": true,
|
|
346
|
+
"goto": "evaluate"
|
|
347
|
+
},
|
|
348
|
+
"gate": {
|
|
349
|
+
"at": "completion",
|
|
350
|
+
"checks": [
|
|
351
|
+
{
|
|
352
|
+
"kind": "minBytes",
|
|
353
|
+
"file": "{{workPath}}/verification.md",
|
|
354
|
+
"bytes": 450,
|
|
355
|
+
"artifact": true
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
"kind": "sniff",
|
|
359
|
+
"file": "{{workPath}}/verification.md",
|
|
360
|
+
"sniff": "nonempty",
|
|
361
|
+
"artifact": true
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"kind": "contains",
|
|
365
|
+
"file": "{{workPath}}/verification.md",
|
|
366
|
+
"pattern": "^##\\s+Residual scan",
|
|
367
|
+
"flags": "im",
|
|
368
|
+
"label": "Residual scan section",
|
|
369
|
+
"artifact": true
|
|
370
|
+
},
|
|
371
|
+
{
|
|
372
|
+
"kind": "contains",
|
|
373
|
+
"file": "{{workPath}}/verification.md",
|
|
374
|
+
"pattern": "^##\\s+Counts reconciled",
|
|
375
|
+
"flags": "im",
|
|
376
|
+
"label": "Counts reconciled section",
|
|
377
|
+
"artifact": true
|
|
378
|
+
},
|
|
379
|
+
{
|
|
380
|
+
"kind": "contains",
|
|
381
|
+
"file": "{{workPath}}/verification.md",
|
|
382
|
+
"pattern": "^##\\s+Suite",
|
|
383
|
+
"flags": "im",
|
|
384
|
+
"label": "Suite section",
|
|
385
|
+
"artifact": true
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"kind": "contains",
|
|
389
|
+
"file": "{{workPath}}/verification.md",
|
|
390
|
+
"pattern": "^##\\s+Result",
|
|
391
|
+
"flags": "im",
|
|
392
|
+
"label": "Result section",
|
|
393
|
+
"artifact": true
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"kind": "commandEvidence",
|
|
397
|
+
"script": "test",
|
|
398
|
+
"expect": "pass",
|
|
399
|
+
"label": "the suite is green after the sweep (verified run receipt)"
|
|
400
|
+
}
|
|
401
|
+
],
|
|
402
|
+
"onReject": "repair",
|
|
403
|
+
"maxAttempts": 4
|
|
404
|
+
},
|
|
405
|
+
"next": "evaluate"
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"id": "finish",
|
|
409
|
+
"name": "Finish",
|
|
410
|
+
"description": "All deterministic and reviewer criteria passed.",
|
|
411
|
+
"prompt": "The independent review passed. Read `{{workPath}}/review.md` with `read_artifact`, then use `write_task_note` to record a concise DONE summary with the final deliverable paths (`{{workPath}}/verification.md`, `{{workPath}}/sites.md`, `{{workPath}}/change-notes.md`) and the evidence that each acceptance criterion passed. Report DONE without starting new work.",
|
|
412
|
+
"suggestedRole": "project lead",
|
|
413
|
+
"consumes": [
|
|
414
|
+
{
|
|
415
|
+
"file": "{{workPath}}/review.md",
|
|
416
|
+
"artifact": true
|
|
417
|
+
}
|
|
418
|
+
],
|
|
419
|
+
"terminal": true
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"id": "needs-user",
|
|
423
|
+
"name": "Escalate unresolved concerns",
|
|
424
|
+
"description": "The bounded repair loop ended without a defensible pass.",
|
|
425
|
+
"prompt": "The deliverable did not pass after 3 review rounds. Do not claim success. Read `{{workPath}}/review.md` with `read_artifact`, then use `write_task_note` to record DONE_WITH_CONCERNS: the unmet criteria, what was attempted, the affected paths, and the smallest user decision or missing input needed to continue.",
|
|
426
|
+
"suggestedRole": "project lead",
|
|
427
|
+
"consumes": [
|
|
428
|
+
{
|
|
429
|
+
"file": "{{workPath}}/review.md",
|
|
430
|
+
"artifact": true
|
|
431
|
+
}
|
|
432
|
+
],
|
|
433
|
+
"terminal": true
|
|
434
|
+
}
|
|
435
|
+
],
|
|
436
|
+
"diffpackCapable": true,
|
|
437
|
+
"capabilityFloor": "small",
|
|
438
|
+
"version": "1.0.0",
|
|
439
|
+
"releasedAt": "2026-08-24T00:00:00.000Z",
|
|
440
|
+
"minGezelVersion": "1.26236"
|
|
441
|
+
}
|