@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
|
@@ -0,0 +1,545 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "bug-fix-tdd",
|
|
3
|
+
"name": "Reproduce-Then-Fix a Bug",
|
|
4
|
+
"description": "Fix a bug with the discipline a senior engineer would demand, and with each claim mechanically verified. First REPRODUCE: write a focused failing test in the project's real test layout and run the suite so the failure is recorded — a bug you cannot reproduce you cannot prove fixed, and this book's gates read the actual run receipts, not the author's summary. Then LOCATE the defect site and its causal chain before touching anything. Then make the SMALLEST change at that real site — never a prescribed scratch file — keeping the new test as a permanent regression guard. Then VALIDATE by re-running the original reproduction and the whole suite, which must now be green. Finally an independent reviewer grades the whole 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": "Reproduce with a failing test (verified red by a real run) -> locate the defect site and causal chain -> smallest fix at the real site -> validate red-to-green with the original reproduction -> enforced independent review.",
|
|
6
|
+
"entryStepId": "reproduce",
|
|
7
|
+
"triggers": [
|
|
8
|
+
"fix this bug",
|
|
9
|
+
"reproduce and fix",
|
|
10
|
+
"tdd bug fix",
|
|
11
|
+
"write a regression test",
|
|
12
|
+
"debug and fix"
|
|
13
|
+
],
|
|
14
|
+
"commands": [
|
|
15
|
+
{
|
|
16
|
+
"scope": "script",
|
|
17
|
+
"name": "test",
|
|
18
|
+
"reason": "Red-then-green proof: the reproduction must actually fail against the current code, and the whole suite must pass after the fix. The gates verify real run receipts."
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"paramSchema": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"scope": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"title": "Bug to fix",
|
|
27
|
+
"description": "The bug report, failing behavior, or area to focus on. Leave empty when the task description already carries it.",
|
|
28
|
+
"default": ""
|
|
29
|
+
},
|
|
30
|
+
"workPath": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"title": "Working folder",
|
|
33
|
+
"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.",
|
|
34
|
+
"default": "{{task.dir}}"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"steps": [
|
|
39
|
+
{
|
|
40
|
+
"id": "reproduce",
|
|
41
|
+
"name": "Reproduce with a failing test",
|
|
42
|
+
"description": "Establish the failure on the real code, as a running test that fails for the right reason.",
|
|
43
|
+
"prompt": "The bug to fix: {{scope}}\n\nEstablish the failure on the REAL code before changing anything. Read the bug description and the involved source. Find how this project runs its tests (`list_package_scripts`, then read the existing test layout). Write ONE focused test that captures the exact wrong behavior, in the project's real test layout and style — never a scratch file like `src/bug.test.js`. Then run the suite with `run_package_script` (`test`) and confirm it FAILS because of your new test, for the right reason — quote the failing assertion. If the command needs first-use approval, say so and wait rather than guessing. If you cannot reproduce the bug at all, record every attempt honestly; do not invent a cause.\n\nWrite `{{workPath}}/repro.md` with exactly these sections: `## Symptom` (what the user sees, in their words), `## Repro command` (the exact command you ran), `## Expected`, `## Actual`, `## Red evidence` (the failing test's path and the quoted failing output from the real run). Cite the real files involved with backtick paths.\n\nObservable handoff: write the completed result to `{{workPath}}/repro.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.",
|
|
44
|
+
"suggestedRole": "debugging engineer",
|
|
45
|
+
"capabilityFloor": "small",
|
|
46
|
+
"advanceWhen": {
|
|
47
|
+
"file": "{{workPath}}/repro.md",
|
|
48
|
+
"minBytes": 500,
|
|
49
|
+
"sniff": "nonempty",
|
|
50
|
+
"requireChange": true,
|
|
51
|
+
"artifact": true,
|
|
52
|
+
"goto": "locate"
|
|
53
|
+
},
|
|
54
|
+
"gate": {
|
|
55
|
+
"at": "completion",
|
|
56
|
+
"checks": [
|
|
57
|
+
{
|
|
58
|
+
"kind": "minBytes",
|
|
59
|
+
"file": "{{workPath}}/repro.md",
|
|
60
|
+
"bytes": 500,
|
|
61
|
+
"artifact": true
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"kind": "sniff",
|
|
65
|
+
"file": "{{workPath}}/repro.md",
|
|
66
|
+
"sniff": "nonempty",
|
|
67
|
+
"artifact": true
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"kind": "contains",
|
|
71
|
+
"file": "{{workPath}}/repro.md",
|
|
72
|
+
"pattern": "^##\\s+Symptom",
|
|
73
|
+
"flags": "im",
|
|
74
|
+
"label": "Symptom section",
|
|
75
|
+
"artifact": true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"kind": "contains",
|
|
79
|
+
"file": "{{workPath}}/repro.md",
|
|
80
|
+
"pattern": "^##\\s+Repro command",
|
|
81
|
+
"flags": "im",
|
|
82
|
+
"label": "Repro command section",
|
|
83
|
+
"artifact": true
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"kind": "contains",
|
|
87
|
+
"file": "{{workPath}}/repro.md",
|
|
88
|
+
"pattern": "^##\\s+Expected",
|
|
89
|
+
"flags": "im",
|
|
90
|
+
"label": "Expected section",
|
|
91
|
+
"artifact": true
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"kind": "contains",
|
|
95
|
+
"file": "{{workPath}}/repro.md",
|
|
96
|
+
"pattern": "^##\\s+Actual",
|
|
97
|
+
"flags": "im",
|
|
98
|
+
"label": "Actual section",
|
|
99
|
+
"artifact": true
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"kind": "contains",
|
|
103
|
+
"file": "{{workPath}}/repro.md",
|
|
104
|
+
"pattern": "^##\\s+Red evidence",
|
|
105
|
+
"flags": "im",
|
|
106
|
+
"label": "Red evidence section",
|
|
107
|
+
"artifact": true
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"kind": "citationsResolve",
|
|
111
|
+
"file": "{{workPath}}/repro.md",
|
|
112
|
+
"minCitations": 2,
|
|
113
|
+
"artifact": true
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"kind": "commandEvidence",
|
|
117
|
+
"script": "test",
|
|
118
|
+
"expect": "fail",
|
|
119
|
+
"label": "the suite genuinely fails (red) with the new reproduction test"
|
|
120
|
+
}
|
|
121
|
+
],
|
|
122
|
+
"onReject": "reproduce",
|
|
123
|
+
"maxAttempts": 4
|
|
124
|
+
},
|
|
125
|
+
"next": "locate"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"id": "locate",
|
|
129
|
+
"name": "Locate the defect",
|
|
130
|
+
"description": "Name the defect site and the causal chain from it to the symptom. No source edits.",
|
|
131
|
+
"prompt": "Read `{{workPath}}/repro.md`, then trace the failure to its source. Name the defect site precisely: file, symbol, and the first place state or logic goes wrong. Explain the causal chain from that site to the observed symptom, step by step. Check sibling cases: does the same defect pattern appear in neighboring code paths that just have no test yet? Do not edit any source in this phase.\n\nWrite `{{workPath}}/diagnosis.md` with exactly these sections: `## Defect site` (the file and symbol, with backtick paths), `## Causal chain`, `## Siblings checked` (which neighboring paths you inspected and what you found). Every path you cite must be real. Before working, open `{{workPath}}/repro.md` with `read_artifact`.\n\nObservable handoff: write the completed result to `{{workPath}}/diagnosis.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.",
|
|
132
|
+
"suggestedRole": "root-cause analyst",
|
|
133
|
+
"capabilityFloor": "small",
|
|
134
|
+
"consumes": [
|
|
135
|
+
{
|
|
136
|
+
"file": "{{workPath}}/repro.md",
|
|
137
|
+
"artifact": true
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"advanceWhen": {
|
|
141
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
142
|
+
"minBytes": 600,
|
|
143
|
+
"sniff": "nonempty",
|
|
144
|
+
"requireChange": true,
|
|
145
|
+
"artifact": true,
|
|
146
|
+
"goto": "fix"
|
|
147
|
+
},
|
|
148
|
+
"gate": {
|
|
149
|
+
"at": "completion",
|
|
150
|
+
"checks": [
|
|
151
|
+
{
|
|
152
|
+
"kind": "minBytes",
|
|
153
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
154
|
+
"bytes": 600,
|
|
155
|
+
"artifact": true
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"kind": "sniff",
|
|
159
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
160
|
+
"sniff": "nonempty",
|
|
161
|
+
"artifact": true
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"kind": "contains",
|
|
165
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
166
|
+
"pattern": "^##\\s+Defect site",
|
|
167
|
+
"flags": "im",
|
|
168
|
+
"label": "Defect site section",
|
|
169
|
+
"artifact": true
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"kind": "contains",
|
|
173
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
174
|
+
"pattern": "^##\\s+Causal chain",
|
|
175
|
+
"flags": "im",
|
|
176
|
+
"label": "Causal chain section",
|
|
177
|
+
"artifact": true
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
"kind": "contains",
|
|
181
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
182
|
+
"pattern": "^##\\s+Siblings checked",
|
|
183
|
+
"flags": "im",
|
|
184
|
+
"label": "Siblings checked section",
|
|
185
|
+
"artifact": true
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"kind": "citationsResolve",
|
|
189
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
190
|
+
"minCitations": 2,
|
|
191
|
+
"artifact": true
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"onReject": "locate",
|
|
195
|
+
"maxAttempts": 4
|
|
196
|
+
},
|
|
197
|
+
"next": "fix"
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"id": "fix",
|
|
201
|
+
"name": "Make the smallest fix",
|
|
202
|
+
"description": "Change the real defect site, minimally, keeping the new test as a regression guard.",
|
|
203
|
+
"prompt": "Read `{{workPath}}/diagnosis.md` and make the SMALLEST correct change at the defect site it names. There is no prescribed output path for source changes — edit the actual files from the diagnosis with `read_file` plus `write_file`/`replace_in_file`. Never special-case the reproduction's exact input just to silence the test; fix the cause. Cover the sibling cases the diagnosis flagged, and keep (or strengthen) the reproduction test so it becomes the permanent regression guard. Re-run the focused test while you work.\n\nThen write `{{workPath}}/fix-notes.md` with exactly these sections: `## Problem` (one paragraph), `## Change` (what you altered and why it breaks the causal chain), `## Files touched` (backtick path per line), `## Regression coverage` (which test now guards this), `## Risk` (what could still go wrong; be honest about anything unverified), `## How to verify` (the exact commands a person runs to confirm). Before working, open `{{workPath}}/diagnosis.md` with `read_artifact`.\n\nObservable handoff: write the completed result to `{{workPath}}/fix-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.",
|
|
204
|
+
"suggestedRole": "software engineer",
|
|
205
|
+
"capabilityFloor": "small",
|
|
206
|
+
"consumes": [
|
|
207
|
+
{
|
|
208
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
209
|
+
"artifact": true
|
|
210
|
+
}
|
|
211
|
+
],
|
|
212
|
+
"advanceWhen": {
|
|
213
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
214
|
+
"minBytes": 700,
|
|
215
|
+
"sniff": "nonempty",
|
|
216
|
+
"requireChange": true,
|
|
217
|
+
"artifact": true,
|
|
218
|
+
"goto": "validate"
|
|
219
|
+
},
|
|
220
|
+
"gate": {
|
|
221
|
+
"at": "completion",
|
|
222
|
+
"checks": [
|
|
223
|
+
{
|
|
224
|
+
"kind": "minBytes",
|
|
225
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
226
|
+
"bytes": 700,
|
|
227
|
+
"artifact": true
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"kind": "sniff",
|
|
231
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
232
|
+
"sniff": "nonempty",
|
|
233
|
+
"artifact": true
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
"kind": "contains",
|
|
237
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
238
|
+
"pattern": "^##\\s+Problem",
|
|
239
|
+
"flags": "im",
|
|
240
|
+
"label": "Problem section",
|
|
241
|
+
"artifact": true
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"kind": "contains",
|
|
245
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
246
|
+
"pattern": "^##\\s+Change",
|
|
247
|
+
"flags": "im",
|
|
248
|
+
"label": "Change section",
|
|
249
|
+
"artifact": true
|
|
250
|
+
},
|
|
251
|
+
{
|
|
252
|
+
"kind": "contains",
|
|
253
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
254
|
+
"pattern": "^##\\s+Files touched",
|
|
255
|
+
"flags": "im",
|
|
256
|
+
"label": "Files touched section",
|
|
257
|
+
"artifact": true
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"kind": "contains",
|
|
261
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
262
|
+
"pattern": "^##\\s+Regression coverage",
|
|
263
|
+
"flags": "im",
|
|
264
|
+
"label": "Regression coverage section",
|
|
265
|
+
"artifact": true
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"kind": "contains",
|
|
269
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
270
|
+
"pattern": "^##\\s+Risk",
|
|
271
|
+
"flags": "im",
|
|
272
|
+
"label": "Risk section",
|
|
273
|
+
"artifact": true
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"kind": "contains",
|
|
277
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
278
|
+
"pattern": "^##\\s+How to verify",
|
|
279
|
+
"flags": "im",
|
|
280
|
+
"label": "How to verify section",
|
|
281
|
+
"artifact": true
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"kind": "citationsResolve",
|
|
285
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
286
|
+
"minCitations": 2,
|
|
287
|
+
"artifact": true
|
|
288
|
+
}
|
|
289
|
+
],
|
|
290
|
+
"onReject": "fix",
|
|
291
|
+
"maxAttempts": 4
|
|
292
|
+
},
|
|
293
|
+
"next": "validate"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"id": "validate",
|
|
297
|
+
"name": "Validate red-to-green",
|
|
298
|
+
"description": "Re-run the original reproduction and the whole suite; record the real results.",
|
|
299
|
+
"prompt": "Prove the fix with fresh eyes. Read `{{workPath}}/repro.md` and re-run the EXACT reproduction command it records with `run_package_script` (the suite runs ONLY through `run_package_script` with script name \"test\"; `run_installed_script` is for named ops scripts and is NOT the test runner) — the previously failing test must now pass, and the whole suite must be green. Anything you could not actually run gets labeled unverified, never claimed. If something regressed, your fix was too broad — go back and narrow it before validating again.\n\nWrite `{{workPath}}/validation.md` with exactly these sections: `## Repro re-run` (the command and what happened to the once-failing test), `## Suite` (the full-suite result), `## Result` (red-to-green confirmed, or what remains unverified and why). Before working, open `{{workPath}}/repro.md` with `read_artifact`.\n\nObservable handoff: write the completed result to `{{workPath}}/validation.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.",
|
|
300
|
+
"suggestedRole": "software engineer",
|
|
301
|
+
"capabilityFloor": "small",
|
|
302
|
+
"consumes": [
|
|
303
|
+
{
|
|
304
|
+
"file": "{{workPath}}/repro.md",
|
|
305
|
+
"artifact": true
|
|
306
|
+
}
|
|
307
|
+
],
|
|
308
|
+
"advanceWhen": {
|
|
309
|
+
"file": "{{workPath}}/validation.md",
|
|
310
|
+
"minBytes": 400,
|
|
311
|
+
"sniff": "nonempty",
|
|
312
|
+
"requireChange": true,
|
|
313
|
+
"artifact": true,
|
|
314
|
+
"goto": "evaluate"
|
|
315
|
+
},
|
|
316
|
+
"gate": {
|
|
317
|
+
"at": "completion",
|
|
318
|
+
"checks": [
|
|
319
|
+
{
|
|
320
|
+
"kind": "minBytes",
|
|
321
|
+
"file": "{{workPath}}/validation.md",
|
|
322
|
+
"bytes": 400,
|
|
323
|
+
"artifact": true
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"kind": "sniff",
|
|
327
|
+
"file": "{{workPath}}/validation.md",
|
|
328
|
+
"sniff": "nonempty",
|
|
329
|
+
"artifact": true
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"kind": "contains",
|
|
333
|
+
"file": "{{workPath}}/validation.md",
|
|
334
|
+
"pattern": "^##\\s+Repro re-run",
|
|
335
|
+
"flags": "im",
|
|
336
|
+
"label": "Repro re-run section",
|
|
337
|
+
"artifact": true
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"kind": "contains",
|
|
341
|
+
"file": "{{workPath}}/validation.md",
|
|
342
|
+
"pattern": "^##\\s+Suite",
|
|
343
|
+
"flags": "im",
|
|
344
|
+
"label": "Suite section",
|
|
345
|
+
"artifact": true
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"kind": "contains",
|
|
349
|
+
"file": "{{workPath}}/validation.md",
|
|
350
|
+
"pattern": "^##\\s+Result",
|
|
351
|
+
"flags": "im",
|
|
352
|
+
"label": "Result section",
|
|
353
|
+
"artifact": true
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
"kind": "commandEvidence",
|
|
357
|
+
"script": "test",
|
|
358
|
+
"expect": "pass",
|
|
359
|
+
"label": "the whole suite is green after the fix (verified run receipt)"
|
|
360
|
+
}
|
|
361
|
+
],
|
|
362
|
+
"onReject": "validate",
|
|
363
|
+
"maxAttempts": 4
|
|
364
|
+
},
|
|
365
|
+
"next": "evaluate"
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"id": "evaluate",
|
|
369
|
+
"name": "Evaluate the deliverable",
|
|
370
|
+
"description": "Independently grade the observable deliverable and route it to finish, repair, or user escalation.",
|
|
371
|
+
"prompt": "Review `{{workPath}}/validation.md`, `{{workPath}}/repro.md`, `{{workPath}}/diagnosis.md`, `{{workPath}}/fix-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 failure was reproduced with recorded red evidence: repro.md quotes a real failing run of a test that lives in the project's actual test layout, or the run stopped honestly at needs-user.\n2. diagnosis.md names a defect site that exists in this codebase and a causal chain that actually explains the symptom.\n3. The change is at that defect site, is minimal, and covers the sibling cases the diagnosis flagged — open the touched files and check; do not grade from fix-notes.md alone.\n4. validation.md re-ran the original reproduction command and the once-failing test now passes with the whole suite green — judged from the recorded runs, not the author's summary.\n5. The reproduction test survives as a permanent regression guard: it exists in the test layout and would fail again if the fix were reverted.\n6. fix-notes.md names every touched file (paths that exist), states residual risk honestly, and gives runnable verification steps.\n\nOpen `{{workPath}}/validation.md`, `{{workPath}}/repro.md`, `{{workPath}}/diagnosis.md`, `{{workPath}}/fix-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.",
|
|
372
|
+
"suggestedRole": "debugging reviewer",
|
|
373
|
+
"consumes": [
|
|
374
|
+
{
|
|
375
|
+
"file": "{{workPath}}/validation.md",
|
|
376
|
+
"artifact": true
|
|
377
|
+
},
|
|
378
|
+
{
|
|
379
|
+
"file": "{{workPath}}/repro.md",
|
|
380
|
+
"artifact": true
|
|
381
|
+
},
|
|
382
|
+
{
|
|
383
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
384
|
+
"artifact": true
|
|
385
|
+
},
|
|
386
|
+
{
|
|
387
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
388
|
+
"artifact": true
|
|
389
|
+
}
|
|
390
|
+
],
|
|
391
|
+
"gate": {
|
|
392
|
+
"at": "completion",
|
|
393
|
+
"checks": [
|
|
394
|
+
{
|
|
395
|
+
"kind": "minBytes",
|
|
396
|
+
"file": "{{workPath}}/review.md",
|
|
397
|
+
"bytes": 400,
|
|
398
|
+
"artifact": true
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"kind": "contains",
|
|
402
|
+
"file": "{{workPath}}/review.md",
|
|
403
|
+
"pattern": "Verdict:\\s*(?:PASS|REVISE)",
|
|
404
|
+
"flags": "i",
|
|
405
|
+
"label": "explicit PASS or REVISE verdict",
|
|
406
|
+
"artifact": true
|
|
407
|
+
}
|
|
408
|
+
],
|
|
409
|
+
"scripts": [
|
|
410
|
+
{
|
|
411
|
+
"name": "checkFixReview",
|
|
412
|
+
"scope": "standard",
|
|
413
|
+
"inputs": {
|
|
414
|
+
"reviewPath": "{{workPath}}/review.md",
|
|
415
|
+
"fixStepId": "repair"
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
],
|
|
419
|
+
"onReject": "evaluate",
|
|
420
|
+
"maxAttempts": 4
|
|
421
|
+
},
|
|
422
|
+
"next": "finish"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"id": "repair",
|
|
426
|
+
"name": "Repair the deliverable",
|
|
427
|
+
"description": "Fix only the concrete gaps from the latest independent review.",
|
|
428
|
+
"prompt": "Read `{{workPath}}/review.md` with `read_artifact` and repair every failed criterion in `{{workPath}}/validation.md`, `{{workPath}}/repro.md`, `{{workPath}}/diagnosis.md`, `{{workPath}}/fix-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}}/validation.md` is genuinely updated this turn so the repair is observable, then hand it back for independent evaluation.",
|
|
429
|
+
"suggestedRole": "software engineer",
|
|
430
|
+
"consumes": [
|
|
431
|
+
{
|
|
432
|
+
"file": "{{workPath}}/review.md",
|
|
433
|
+
"artifact": true
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"file": "{{workPath}}/validation.md",
|
|
437
|
+
"artifact": true
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"file": "{{workPath}}/repro.md",
|
|
441
|
+
"artifact": true
|
|
442
|
+
},
|
|
443
|
+
{
|
|
444
|
+
"file": "{{workPath}}/diagnosis.md",
|
|
445
|
+
"artifact": true
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"file": "{{workPath}}/fix-notes.md",
|
|
449
|
+
"artifact": true
|
|
450
|
+
}
|
|
451
|
+
],
|
|
452
|
+
"advanceWhen": {
|
|
453
|
+
"file": "{{workPath}}/validation.md",
|
|
454
|
+
"minBytes": 400,
|
|
455
|
+
"sniff": "nonempty",
|
|
456
|
+
"requireChange": true,
|
|
457
|
+
"artifact": true,
|
|
458
|
+
"goto": "evaluate"
|
|
459
|
+
},
|
|
460
|
+
"gate": {
|
|
461
|
+
"at": "completion",
|
|
462
|
+
"checks": [
|
|
463
|
+
{
|
|
464
|
+
"kind": "minBytes",
|
|
465
|
+
"file": "{{workPath}}/validation.md",
|
|
466
|
+
"bytes": 400,
|
|
467
|
+
"artifact": true
|
|
468
|
+
},
|
|
469
|
+
{
|
|
470
|
+
"kind": "sniff",
|
|
471
|
+
"file": "{{workPath}}/validation.md",
|
|
472
|
+
"sniff": "nonempty",
|
|
473
|
+
"artifact": true
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"kind": "contains",
|
|
477
|
+
"file": "{{workPath}}/validation.md",
|
|
478
|
+
"pattern": "^##\\s+Repro re-run",
|
|
479
|
+
"flags": "im",
|
|
480
|
+
"label": "Repro re-run section",
|
|
481
|
+
"artifact": true
|
|
482
|
+
},
|
|
483
|
+
{
|
|
484
|
+
"kind": "contains",
|
|
485
|
+
"file": "{{workPath}}/validation.md",
|
|
486
|
+
"pattern": "^##\\s+Suite",
|
|
487
|
+
"flags": "im",
|
|
488
|
+
"label": "Suite section",
|
|
489
|
+
"artifact": true
|
|
490
|
+
},
|
|
491
|
+
{
|
|
492
|
+
"kind": "contains",
|
|
493
|
+
"file": "{{workPath}}/validation.md",
|
|
494
|
+
"pattern": "^##\\s+Result",
|
|
495
|
+
"flags": "im",
|
|
496
|
+
"label": "Result section",
|
|
497
|
+
"artifact": true
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"kind": "commandEvidence",
|
|
501
|
+
"script": "test",
|
|
502
|
+
"expect": "pass",
|
|
503
|
+
"label": "the whole suite is green after the fix (verified run receipt)"
|
|
504
|
+
}
|
|
505
|
+
],
|
|
506
|
+
"onReject": "repair",
|
|
507
|
+
"maxAttempts": 4
|
|
508
|
+
},
|
|
509
|
+
"next": "evaluate"
|
|
510
|
+
},
|
|
511
|
+
{
|
|
512
|
+
"id": "finish",
|
|
513
|
+
"name": "Finish",
|
|
514
|
+
"description": "All deterministic and reviewer criteria passed.",
|
|
515
|
+
"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}}/validation.md`, `{{workPath}}/repro.md`, `{{workPath}}/diagnosis.md`, `{{workPath}}/fix-notes.md`) and the evidence that each acceptance criterion passed. Report DONE without starting new work.",
|
|
516
|
+
"suggestedRole": "project lead",
|
|
517
|
+
"consumes": [
|
|
518
|
+
{
|
|
519
|
+
"file": "{{workPath}}/review.md",
|
|
520
|
+
"artifact": true
|
|
521
|
+
}
|
|
522
|
+
],
|
|
523
|
+
"terminal": true
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"id": "needs-user",
|
|
527
|
+
"name": "Escalate unresolved concerns",
|
|
528
|
+
"description": "The bounded repair loop ended without a defensible pass.",
|
|
529
|
+
"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.",
|
|
530
|
+
"suggestedRole": "project lead",
|
|
531
|
+
"consumes": [
|
|
532
|
+
{
|
|
533
|
+
"file": "{{workPath}}/review.md",
|
|
534
|
+
"artifact": true
|
|
535
|
+
}
|
|
536
|
+
],
|
|
537
|
+
"terminal": true
|
|
538
|
+
}
|
|
539
|
+
],
|
|
540
|
+
"diffpackCapable": true,
|
|
541
|
+
"capabilityFloor": "small",
|
|
542
|
+
"version": "2.0.0",
|
|
543
|
+
"releasedAt": "2026-08-24T00:00:00.000Z",
|
|
544
|
+
"minGezelVersion": "1.26236"
|
|
545
|
+
}
|