@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,509 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "refactor-module",
|
|
3
|
+
"name": "Behavior-Preserving Refactor",
|
|
4
|
+
"description": "Restructure code with the discipline that makes refactoring safe, and with each claim mechanically verified. First BASELINE: run the suite and record it green before anything moves — and where the code about to be reshaped has no tests, write characterization tests FIRST, pinning CURRENT behavior bugs included, because a refactor without a behavioral pin is just hopeful editing. The baseline also records the structural measurements the refactor targets (duplicated blocks, function lengths, tangled responsibilities) with the method used to count them. Then PLAN: the target structure and a sequence of small stages, each individually reversible and each leaving the tree working. Then CHANGE: execute stage by stage at the real sites — never a prescribed scratch file — running the suite between stages so a red step is reverted or narrowed, not stacked on. Then VERIFY: re-measure with the SAME method, quote before and after side by side, and show the whole suite green. Finally an independent reviewer grades the chain against fixed criteria — behavior preserved, target genuinely moved, no stage left red — and a 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": "Record a green baseline and the guardrail (characterization tests first when coverage is thin) -> plan small reversible stages -> restructure stage by stage with the suite green throughout -> re-measure with the same method and prove behavior held -> enforced independent review.",
|
|
6
|
+
"entryStepId": "baseline",
|
|
7
|
+
"triggers": [
|
|
8
|
+
"refactor this module",
|
|
9
|
+
"clean up the code",
|
|
10
|
+
"improve code structure",
|
|
11
|
+
"behavior-preserving refactor",
|
|
12
|
+
"reduce duplication"
|
|
13
|
+
],
|
|
14
|
+
"commands": [
|
|
15
|
+
{
|
|
16
|
+
"scope": "script",
|
|
17
|
+
"name": "test",
|
|
18
|
+
"reason": "The suite is the guardrail: it must be green before any restructuring starts, stay green between stages, and be green at the end. The gates verify the green-before/green-after receipts from real runs, not the author's claims."
|
|
19
|
+
}
|
|
20
|
+
],
|
|
21
|
+
"paramSchema": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"scope": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"title": "What to refactor",
|
|
27
|
+
"description": "The module, folder, duplication, or structural problem to work 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": "baseline",
|
|
41
|
+
"name": "Capture the baseline",
|
|
42
|
+
"description": "Record the current truth before changing anything: suite green, structural measurements, and the guardrail — with characterization tests added first where coverage is thin.",
|
|
43
|
+
"prompt": "The refactor scope: {{scope}}\n\nCapture the current truth before changing anything — measure BEFORE, so the improvement can be proven later with the same method. Read the involved source and find how this project runs its tests (`list_package_scripts`, then read the existing test layout). Run the suite with `run_package_script` (`test`) and confirm it is GREEN before any restructuring; if it is already red, stop and report that honestly instead of refactoring on a broken base. If the command needs first-use approval, say so and wait rather than guessing.\n\nWhere the code you are about to restructure lacks tests, write characterization tests FIRST: tests that pin the CURRENT behavior — bugs and quirks included — in the project's real test layout and style. They are the guardrail. Run them and record that they pass against today's code; do not fix anything they reveal.\n\nThen record the structural measurements this refactor targets, as numbers gathered by a stated method: duplicated blocks and where each copy lives, function lengths, file sizes, tangled responsibilities — counted, not adjectived.\n\nWrite `{{workPath}}/baseline.md` with exactly these sections: `## Current behavior` (what the code does today and which tests pin it, including any characterization tests you just added), `## Measurements` (the structural numbers and the exact method used to gather them), `## Guardrail` (what must not change: public API, observable behavior, and the suite staying green). Cite the real files involved with backtick paths.\n\nObservable handoff: write the completed result to `{{workPath}}/baseline.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": "software engineer",
|
|
45
|
+
"capabilityFloor": "medium",
|
|
46
|
+
"advanceWhen": {
|
|
47
|
+
"file": "{{workPath}}/baseline.md",
|
|
48
|
+
"minBytes": 500,
|
|
49
|
+
"sniff": "nonempty",
|
|
50
|
+
"requireChange": true,
|
|
51
|
+
"artifact": true,
|
|
52
|
+
"goto": "plan"
|
|
53
|
+
},
|
|
54
|
+
"gate": {
|
|
55
|
+
"at": "completion",
|
|
56
|
+
"checks": [
|
|
57
|
+
{
|
|
58
|
+
"kind": "minBytes",
|
|
59
|
+
"file": "{{workPath}}/baseline.md",
|
|
60
|
+
"bytes": 500,
|
|
61
|
+
"artifact": true
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"kind": "sniff",
|
|
65
|
+
"file": "{{workPath}}/baseline.md",
|
|
66
|
+
"sniff": "nonempty",
|
|
67
|
+
"artifact": true
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"kind": "contains",
|
|
71
|
+
"file": "{{workPath}}/baseline.md",
|
|
72
|
+
"pattern": "^##\\s+Current behavior",
|
|
73
|
+
"flags": "im",
|
|
74
|
+
"label": "Current behavior section",
|
|
75
|
+
"artifact": true
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"kind": "contains",
|
|
79
|
+
"file": "{{workPath}}/baseline.md",
|
|
80
|
+
"pattern": "^##\\s+Measurements[\\s\\S]*\\d",
|
|
81
|
+
"flags": "im",
|
|
82
|
+
"label": "Measurements section with recorded numbers",
|
|
83
|
+
"artifact": true
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"kind": "contains",
|
|
87
|
+
"file": "{{workPath}}/baseline.md",
|
|
88
|
+
"pattern": "^##\\s+Guardrail",
|
|
89
|
+
"flags": "im",
|
|
90
|
+
"label": "Guardrail section",
|
|
91
|
+
"artifact": true
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"kind": "citationsResolve",
|
|
95
|
+
"file": "{{workPath}}/baseline.md",
|
|
96
|
+
"minCitations": 2,
|
|
97
|
+
"artifact": true
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"kind": "commandEvidence",
|
|
101
|
+
"script": "test",
|
|
102
|
+
"expect": "pass",
|
|
103
|
+
"label": "green before the work starts"
|
|
104
|
+
}
|
|
105
|
+
],
|
|
106
|
+
"onReject": "baseline",
|
|
107
|
+
"maxAttempts": 4
|
|
108
|
+
},
|
|
109
|
+
"next": "plan"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"id": "plan",
|
|
113
|
+
"name": "Plan reversible stages",
|
|
114
|
+
"description": "Design the target structure and an ordered sequence of small stages, each individually reversible and each leaving the tree working. No source edits.",
|
|
115
|
+
"prompt": "Read `{{workPath}}/baseline.md`, then design the restructure as a sequence of small stages. State the target structure concretely: what exists after the refactor that does not exist now, and what disappears. Break the work into ordered stages where EACH stage is individually reversible and leaves the tree working with the suite green — extract this function, move that block behind a seam, collapse the duplicate — never a big-bang rewrite. Name the files each stage touches. State the acceptance criteria: the measured target from the baseline moving (with the figures it should reach), the suite green after every stage, and the public API unchanged unless you explicitly declare a break here and say why. Do not edit any source in this phase.\n\nWrite `{{workPath}}/plan.md` with exactly these sections: `## Target` (the end structure), `## Stages` (numbered, each reversible, each naming its files), `## Acceptance criteria`. Cite the real files with backtick paths. Before working, open `{{workPath}}/baseline.md` with `read_artifact`.\n\nObservable handoff: write the completed result to `{{workPath}}/plan.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.",
|
|
116
|
+
"suggestedRole": "software architect",
|
|
117
|
+
"capabilityFloor": "medium",
|
|
118
|
+
"consumes": [
|
|
119
|
+
{
|
|
120
|
+
"file": "{{workPath}}/baseline.md",
|
|
121
|
+
"artifact": true
|
|
122
|
+
}
|
|
123
|
+
],
|
|
124
|
+
"advanceWhen": {
|
|
125
|
+
"file": "{{workPath}}/plan.md",
|
|
126
|
+
"minBytes": 500,
|
|
127
|
+
"sniff": "nonempty",
|
|
128
|
+
"requireChange": true,
|
|
129
|
+
"artifact": true,
|
|
130
|
+
"goto": "change"
|
|
131
|
+
},
|
|
132
|
+
"gate": {
|
|
133
|
+
"at": "completion",
|
|
134
|
+
"checks": [
|
|
135
|
+
{
|
|
136
|
+
"kind": "minBytes",
|
|
137
|
+
"file": "{{workPath}}/plan.md",
|
|
138
|
+
"bytes": 500,
|
|
139
|
+
"artifact": true
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"kind": "sniff",
|
|
143
|
+
"file": "{{workPath}}/plan.md",
|
|
144
|
+
"sniff": "nonempty",
|
|
145
|
+
"artifact": true
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"kind": "contains",
|
|
149
|
+
"file": "{{workPath}}/plan.md",
|
|
150
|
+
"pattern": "^##\\s+Target",
|
|
151
|
+
"flags": "im",
|
|
152
|
+
"label": "Target section",
|
|
153
|
+
"artifact": true
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"kind": "contains",
|
|
157
|
+
"file": "{{workPath}}/plan.md",
|
|
158
|
+
"pattern": "^##\\s+Stages",
|
|
159
|
+
"flags": "im",
|
|
160
|
+
"label": "Stages section",
|
|
161
|
+
"artifact": true
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"kind": "contains",
|
|
165
|
+
"file": "{{workPath}}/plan.md",
|
|
166
|
+
"pattern": "^##\\s+Acceptance criteria",
|
|
167
|
+
"flags": "im",
|
|
168
|
+
"label": "Acceptance criteria section",
|
|
169
|
+
"artifact": true
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"kind": "citationsResolve",
|
|
173
|
+
"file": "{{workPath}}/plan.md",
|
|
174
|
+
"minCitations": 2,
|
|
175
|
+
"artifact": true
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"onReject": "plan",
|
|
179
|
+
"maxAttempts": 4
|
|
180
|
+
},
|
|
181
|
+
"next": "change"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"id": "change",
|
|
185
|
+
"name": "Restructure stage by stage",
|
|
186
|
+
"description": "Execute the planned stages at the real sites, keeping the suite green between stages.",
|
|
187
|
+
"prompt": "Read `{{workPath}}/plan.md` and `{{workPath}}/baseline.md`, then execute the stages in order at the REAL sites — edit the actual files with `read_file` plus `write_file`/`replace_in_file`; there is no prescribed output path for source changes and never a scratch copy. After EACH stage, run the suite with `run_package_script` (`test`) and confirm it is still green before starting the next; a stage that goes red gets reverted or narrowed until green, not stacked on. Keep behavior identical: no fixes or features smuggled in under cover of the restructure — if you find a genuine bug, record it in your notes for the user instead of silently changing behavior the tests pin. Keep the characterization tests from the baseline; they ride along as permanent guards.\n\nWrite `{{workPath}}/change-notes.md` with exactly these sections: `## Stages executed` (each stage, in order, with its suite-green confirmation), `## Files touched` (backtick path per line), `## Deviations from plan` (anything done differently than plan.md and why; write `none` honestly when there are none). Before working, open `{{workPath}}/baseline.md`, `{{workPath}}/plan.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.",
|
|
188
|
+
"suggestedRole": "software engineer",
|
|
189
|
+
"capabilityFloor": "medium",
|
|
190
|
+
"consumes": [
|
|
191
|
+
{
|
|
192
|
+
"file": "{{workPath}}/baseline.md",
|
|
193
|
+
"artifact": true
|
|
194
|
+
},
|
|
195
|
+
{
|
|
196
|
+
"file": "{{workPath}}/plan.md",
|
|
197
|
+
"artifact": true
|
|
198
|
+
}
|
|
199
|
+
],
|
|
200
|
+
"advanceWhen": {
|
|
201
|
+
"file": "{{workPath}}/change-notes.md",
|
|
202
|
+
"minBytes": 600,
|
|
203
|
+
"sniff": "nonempty",
|
|
204
|
+
"requireChange": true,
|
|
205
|
+
"artifact": true,
|
|
206
|
+
"goto": "verify"
|
|
207
|
+
},
|
|
208
|
+
"gate": {
|
|
209
|
+
"at": "completion",
|
|
210
|
+
"checks": [
|
|
211
|
+
{
|
|
212
|
+
"kind": "minBytes",
|
|
213
|
+
"file": "{{workPath}}/change-notes.md",
|
|
214
|
+
"bytes": 600,
|
|
215
|
+
"artifact": true
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
"kind": "sniff",
|
|
219
|
+
"file": "{{workPath}}/change-notes.md",
|
|
220
|
+
"sniff": "nonempty",
|
|
221
|
+
"artifact": true
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"kind": "contains",
|
|
225
|
+
"file": "{{workPath}}/change-notes.md",
|
|
226
|
+
"pattern": "^##\\s+Stages executed",
|
|
227
|
+
"flags": "im",
|
|
228
|
+
"label": "Stages executed section",
|
|
229
|
+
"artifact": true
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"kind": "contains",
|
|
233
|
+
"file": "{{workPath}}/change-notes.md",
|
|
234
|
+
"pattern": "^##\\s+Files touched",
|
|
235
|
+
"flags": "im",
|
|
236
|
+
"label": "Files touched section",
|
|
237
|
+
"artifact": true
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"kind": "contains",
|
|
241
|
+
"file": "{{workPath}}/change-notes.md",
|
|
242
|
+
"pattern": "^##\\s+Deviations from plan",
|
|
243
|
+
"flags": "im",
|
|
244
|
+
"label": "Deviations from plan section",
|
|
245
|
+
"artifact": true
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"kind": "citationsResolve",
|
|
249
|
+
"file": "{{workPath}}/change-notes.md",
|
|
250
|
+
"minCitations": 2,
|
|
251
|
+
"artifact": true
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
"onReject": "change",
|
|
255
|
+
"maxAttempts": 4
|
|
256
|
+
},
|
|
257
|
+
"next": "verify"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"id": "verify",
|
|
261
|
+
"name": "Re-measure and verify",
|
|
262
|
+
"description": "Re-measure with the same method as the baseline, quote both figures, and record the suite green.",
|
|
263
|
+
"prompt": "Prove the refactor with fresh eyes. Read `{{workPath}}/baseline.md` and re-measure the SAME structural numbers with the SAME method it records — the comparison is meaningless if the method moved. Quote the before figure from the baseline and the after figure side by side. Then run the whole suite with `run_package_script` (`test`) and record the green result. Check the guardrail: exports, signatures, and observable behavior unchanged unless plan.md declared a break. Anything you could not actually re-run gets labeled unverified, never claimed.\n\nWrite `{{workPath}}/verification.md` with exactly these sections: `## Before / after` (each baseline measurement quoted next to its re-measured value, same method), `## Suite` (the full-suite result from the real run), `## Result` (behavior preserved and target moved, or what remains unverified and why). Before working, open `{{workPath}}/baseline.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.",
|
|
264
|
+
"suggestedRole": "software engineer",
|
|
265
|
+
"capabilityFloor": "medium",
|
|
266
|
+
"consumes": [
|
|
267
|
+
{
|
|
268
|
+
"file": "{{workPath}}/baseline.md",
|
|
269
|
+
"artifact": true
|
|
270
|
+
}
|
|
271
|
+
],
|
|
272
|
+
"advanceWhen": {
|
|
273
|
+
"file": "{{workPath}}/verification.md",
|
|
274
|
+
"minBytes": 400,
|
|
275
|
+
"sniff": "nonempty",
|
|
276
|
+
"requireChange": true,
|
|
277
|
+
"artifact": true,
|
|
278
|
+
"goto": "evaluate"
|
|
279
|
+
},
|
|
280
|
+
"gate": {
|
|
281
|
+
"at": "completion",
|
|
282
|
+
"checks": [
|
|
283
|
+
{
|
|
284
|
+
"kind": "minBytes",
|
|
285
|
+
"file": "{{workPath}}/verification.md",
|
|
286
|
+
"bytes": 400,
|
|
287
|
+
"artifact": true
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"kind": "sniff",
|
|
291
|
+
"file": "{{workPath}}/verification.md",
|
|
292
|
+
"sniff": "nonempty",
|
|
293
|
+
"artifact": true
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"kind": "contains",
|
|
297
|
+
"file": "{{workPath}}/verification.md",
|
|
298
|
+
"pattern": "^##\\s+Before\\s*/\\s*after[\\s\\S]*\\d",
|
|
299
|
+
"flags": "im",
|
|
300
|
+
"label": "Before / after section with both figures",
|
|
301
|
+
"artifact": true
|
|
302
|
+
},
|
|
303
|
+
{
|
|
304
|
+
"kind": "contains",
|
|
305
|
+
"file": "{{workPath}}/verification.md",
|
|
306
|
+
"pattern": "^##\\s+Suite",
|
|
307
|
+
"flags": "im",
|
|
308
|
+
"label": "Suite section",
|
|
309
|
+
"artifact": true
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"kind": "contains",
|
|
313
|
+
"file": "{{workPath}}/verification.md",
|
|
314
|
+
"pattern": "^##\\s+Result",
|
|
315
|
+
"flags": "im",
|
|
316
|
+
"label": "Result section",
|
|
317
|
+
"artifact": true
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"kind": "commandEvidence",
|
|
321
|
+
"script": "test",
|
|
322
|
+
"expect": "pass",
|
|
323
|
+
"label": "green after the restructure (verified run receipt)"
|
|
324
|
+
}
|
|
325
|
+
],
|
|
326
|
+
"onReject": "verify",
|
|
327
|
+
"maxAttempts": 4
|
|
328
|
+
},
|
|
329
|
+
"next": "evaluate"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"id": "evaluate",
|
|
333
|
+
"name": "Evaluate the deliverable",
|
|
334
|
+
"description": "Independently grade the observable deliverable and route it to finish, repair, or user escalation.",
|
|
335
|
+
"prompt": "Review `{{workPath}}/verification.md`, `{{workPath}}/baseline.md`, `{{workPath}}/plan.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. baseline.md records a genuinely green suite from a real run receipt before any restructuring, and pins the guardrail — with characterization tests written first (pinning current behavior, bugs included) wherever the touched area lacked coverage.\n2. Observable behavior unchanged (or changed only as the plan declared): public API and outputs held, and the pinning tests still pass unmodified — open the touched files and the tests; do not grade from change-notes.md alone.\n3. The measured target moved against the recorded baseline using the same method: verification.md quotes both figures side by side, and the duplication/structure improvement is visible in the real files, not just claimed.\n4. No stage left the suite red (receipts, not claims): the recorded runs show green between stages and green at the end.\n5. Every stage in change-notes.md matches a plan.md stage or an honestly recorded deviation, and every touched file it names exists.\n6. The public API is unchanged unless plan.md explicitly declared a break, and no fix or feature was smuggled in under cover of the restructure.\n\nOpen `{{workPath}}/verification.md`, `{{workPath}}/baseline.md`, `{{workPath}}/plan.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.",
|
|
336
|
+
"suggestedRole": "refactoring reviewer",
|
|
337
|
+
"consumes": [
|
|
338
|
+
{
|
|
339
|
+
"file": "{{workPath}}/verification.md",
|
|
340
|
+
"artifact": true
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
"file": "{{workPath}}/baseline.md",
|
|
344
|
+
"artifact": true
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"file": "{{workPath}}/plan.md",
|
|
348
|
+
"artifact": true
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"file": "{{workPath}}/change-notes.md",
|
|
352
|
+
"artifact": true
|
|
353
|
+
}
|
|
354
|
+
],
|
|
355
|
+
"gate": {
|
|
356
|
+
"at": "completion",
|
|
357
|
+
"checks": [
|
|
358
|
+
{
|
|
359
|
+
"kind": "minBytes",
|
|
360
|
+
"file": "{{workPath}}/review.md",
|
|
361
|
+
"bytes": 400,
|
|
362
|
+
"artifact": true
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"kind": "contains",
|
|
366
|
+
"file": "{{workPath}}/review.md",
|
|
367
|
+
"pattern": "Verdict:\\s*(?:PASS|REVISE)",
|
|
368
|
+
"flags": "i",
|
|
369
|
+
"label": "explicit PASS or REVISE verdict",
|
|
370
|
+
"artifact": true
|
|
371
|
+
}
|
|
372
|
+
],
|
|
373
|
+
"scripts": [
|
|
374
|
+
{
|
|
375
|
+
"name": "checkFixReview",
|
|
376
|
+
"scope": "standard",
|
|
377
|
+
"inputs": {
|
|
378
|
+
"reviewPath": "{{workPath}}/review.md",
|
|
379
|
+
"fixStepId": "repair"
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
],
|
|
383
|
+
"onReject": "evaluate",
|
|
384
|
+
"maxAttempts": 4
|
|
385
|
+
},
|
|
386
|
+
"next": "finish"
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
"id": "repair",
|
|
390
|
+
"name": "Repair the deliverable",
|
|
391
|
+
"description": "Fix only the concrete gaps from the latest independent review.",
|
|
392
|
+
"prompt": "Read `{{workPath}}/review.md` with `read_artifact` and repair every failed criterion in `{{workPath}}/verification.md`, `{{workPath}}/baseline.md`, `{{workPath}}/plan.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.",
|
|
393
|
+
"suggestedRole": "software engineer",
|
|
394
|
+
"consumes": [
|
|
395
|
+
{
|
|
396
|
+
"file": "{{workPath}}/review.md",
|
|
397
|
+
"artifact": true
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"file": "{{workPath}}/verification.md",
|
|
401
|
+
"artifact": true
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"file": "{{workPath}}/baseline.md",
|
|
405
|
+
"artifact": true
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"file": "{{workPath}}/plan.md",
|
|
409
|
+
"artifact": true
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"file": "{{workPath}}/change-notes.md",
|
|
413
|
+
"artifact": true
|
|
414
|
+
}
|
|
415
|
+
],
|
|
416
|
+
"advanceWhen": {
|
|
417
|
+
"file": "{{workPath}}/verification.md",
|
|
418
|
+
"minBytes": 400,
|
|
419
|
+
"sniff": "nonempty",
|
|
420
|
+
"requireChange": true,
|
|
421
|
+
"artifact": true,
|
|
422
|
+
"goto": "evaluate"
|
|
423
|
+
},
|
|
424
|
+
"gate": {
|
|
425
|
+
"at": "completion",
|
|
426
|
+
"checks": [
|
|
427
|
+
{
|
|
428
|
+
"kind": "minBytes",
|
|
429
|
+
"file": "{{workPath}}/verification.md",
|
|
430
|
+
"bytes": 400,
|
|
431
|
+
"artifact": true
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"kind": "sniff",
|
|
435
|
+
"file": "{{workPath}}/verification.md",
|
|
436
|
+
"sniff": "nonempty",
|
|
437
|
+
"artifact": true
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"kind": "contains",
|
|
441
|
+
"file": "{{workPath}}/verification.md",
|
|
442
|
+
"pattern": "^##\\s+Before\\s*/\\s*after[\\s\\S]*\\d",
|
|
443
|
+
"flags": "im",
|
|
444
|
+
"label": "Before / after section with both figures",
|
|
445
|
+
"artifact": true
|
|
446
|
+
},
|
|
447
|
+
{
|
|
448
|
+
"kind": "contains",
|
|
449
|
+
"file": "{{workPath}}/verification.md",
|
|
450
|
+
"pattern": "^##\\s+Suite",
|
|
451
|
+
"flags": "im",
|
|
452
|
+
"label": "Suite section",
|
|
453
|
+
"artifact": true
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"kind": "contains",
|
|
457
|
+
"file": "{{workPath}}/verification.md",
|
|
458
|
+
"pattern": "^##\\s+Result",
|
|
459
|
+
"flags": "im",
|
|
460
|
+
"label": "Result section",
|
|
461
|
+
"artifact": true
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
"kind": "commandEvidence",
|
|
465
|
+
"script": "test",
|
|
466
|
+
"expect": "pass",
|
|
467
|
+
"label": "green after the restructure (verified run receipt)"
|
|
468
|
+
}
|
|
469
|
+
],
|
|
470
|
+
"onReject": "repair",
|
|
471
|
+
"maxAttempts": 4
|
|
472
|
+
},
|
|
473
|
+
"next": "evaluate"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"id": "finish",
|
|
477
|
+
"name": "Finish",
|
|
478
|
+
"description": "All deterministic and reviewer criteria passed.",
|
|
479
|
+
"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}}/baseline.md`, `{{workPath}}/plan.md`, `{{workPath}}/change-notes.md`) and the evidence that each acceptance criterion passed. Report DONE without starting new work.",
|
|
480
|
+
"suggestedRole": "project lead",
|
|
481
|
+
"consumes": [
|
|
482
|
+
{
|
|
483
|
+
"file": "{{workPath}}/review.md",
|
|
484
|
+
"artifact": true
|
|
485
|
+
}
|
|
486
|
+
],
|
|
487
|
+
"terminal": true
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"id": "needs-user",
|
|
491
|
+
"name": "Escalate unresolved concerns",
|
|
492
|
+
"description": "The bounded repair loop ended without a defensible pass.",
|
|
493
|
+
"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.",
|
|
494
|
+
"suggestedRole": "project lead",
|
|
495
|
+
"consumes": [
|
|
496
|
+
{
|
|
497
|
+
"file": "{{workPath}}/review.md",
|
|
498
|
+
"artifact": true
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"terminal": true
|
|
502
|
+
}
|
|
503
|
+
],
|
|
504
|
+
"diffpackCapable": true,
|
|
505
|
+
"capabilityFloor": "medium",
|
|
506
|
+
"version": "2.0.0",
|
|
507
|
+
"releasedAt": "2026-08-24T00:00:00.000Z",
|
|
508
|
+
"minGezelVersion": "1.26236"
|
|
509
|
+
}
|