@bendyline/gilde 0.1.39 → 0.1.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/authoring/chat-models/muse-glimmer-30b-q4.json +3 -3
- package/authoring/chat-models/ornith-9b-q4.json +1 -1
- package/authoring/chat-models/ornith1.5-9b-q4.json +149 -0
- package/authoring/chat-models/qwen3.8-27b-iq1-s.json +190 -0
- package/authoring/chat-models/qwen3.8-27b-q2.json +189 -0
- package/authoring/gstack/overlays/investigate.json +1 -0
- package/authoring/gstack/overlays/qa-only.json +1 -0
- package/authoring/gstack/wave.json +12 -2
- package/authoring/tactical/books/accessibility-retrofit.json +188 -0
- package/authoring/tactical/books/apply-review-findings.json +189 -0
- package/authoring/tactical/books/bug-fix-tdd.json +237 -0
- package/authoring/tactical/books/ci-pipeline.json +168 -0
- package/authoring/tactical/books/codemod-sweep.json +182 -0
- package/authoring/tactical/books/dependency-upgrade.json +196 -0
- package/authoring/tactical/books/flaky-test-fix.json +238 -0
- package/authoring/tactical/books/hotfix-flow.json +187 -0
- package/authoring/tactical/books/perf-optimization.json +219 -0
- package/authoring/tactical/books/refactor-module.json +217 -0
- package/authoring/tactical/books/schema-migration.json +192 -0
- package/authoring/tactical/books/test-suite-backfill.json +172 -0
- package/authoring/tactical/books/type-safety-pass.json +185 -0
- package/authoring/tactical/books/ux-update.json +178 -0
- package/authoring/tactical/evals/accessibility-retrofit.json +230 -0
- package/authoring/tactical/evals/apply-review-findings.json +290 -0
- package/authoring/tactical/evals/bug-fix-tdd.json +221 -0
- package/authoring/tactical/evals/ci-pipeline.json +227 -0
- package/authoring/tactical/evals/codemod-sweep.json +252 -0
- package/authoring/tactical/evals/dependency-upgrade.json +235 -0
- package/authoring/tactical/evals/flaky-test-fix.json +239 -0
- package/authoring/tactical/evals/hotfix-flow.json +220 -0
- package/authoring/tactical/evals/perf-optimization.json +235 -0
- package/authoring/tactical/evals/refactor-module.json +241 -0
- package/authoring/tactical/evals/schema-migration.json +225 -0
- package/authoring/tactical/evals/test-suite-backfill.json +197 -0
- package/authoring/tactical/evals/type-safety-pass.json +221 -0
- package/authoring/tactical/evals/ux-update.json +206 -0
- package/authoring/tactical/wave.json +89 -0
- package/data/chat-models/de/deepseek-r1-8b-q4/manifest.json +56 -1
- package/data/chat-models/gl/glm-5.2-754b-q2/manifest.json +56 -0
- package/data/chat-models/gp/gpt-oss-120b-q4/manifest.json +73 -1
- package/data/chat-models/gp/gpt-oss-20b-q4/manifest.json +77 -1
- package/data/chat-models/index.json +1 -1
- package/data/chat-models/ll/llama3.2-3b-q4/manifest.json +3 -1
- package/data/chat-models/mi/mistral-7b-q4/manifest.json +54 -3
- package/data/chat-models/mi/mistral-medium-3.5-128b-q4/manifest.json +76 -1
- package/data/chat-models/mu/muse-glimmer-30b-q4/manifest.json +4 -3
- package/data/chat-models/mu/muse-glimmer-30b-q4/versions/1.0.2/manifest.json +20 -0
- package/data/chat-models/or/ornith-9b-q4/manifest.json +1 -1
- package/data/chat-models/or/ornith1.5-9b-q4/manifest.json +187 -0
- package/data/chat-models/or/ornith1.5-9b-q4/versions/1.0.0/manifest.json +53 -0
- package/data/chat-models/qw/qwen3.8-27b-iq1-s/manifest.json +195 -0
- package/data/chat-models/qw/qwen3.8-27b-iq1-s/versions/1.0.0/manifest.json +19 -0
- package/data/chat-models/qw/qwen3.8-27b-q2/manifest.json +194 -0
- package/data/chat-models/qw/qwen3.8-27b-q2/versions/1.0.0/manifest.json +19 -0
- package/data/craftbook-templates/a1/a11y-audit/manifest.json +1 -0
- package/data/craftbook-templates/ab/ab-test-readout/manifest.json +1 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/manifest.json +6 -4
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.0/craftbook.json +451 -0
- package/data/craftbook-templates/ac/accessibility-retrofit/versions/2.0.0/test.json +231 -0
- package/data/craftbook-templates/ad/ad-variations/manifest.json +1 -0
- package/data/craftbook-templates/al/album-curate/manifest.json +1 -0
- package/data/craftbook-templates/al/alert-rules/manifest.json +1 -0
- package/data/craftbook-templates/al/alt-text-pass/manifest.json +6 -1
- package/data/craftbook-templates/an/anniversary-cut/manifest.json +1 -0
- package/data/craftbook-templates/an/annotated-bibliography/manifest.json +1 -0
- package/data/craftbook-templates/an/annual-document-review/manifest.json +1 -0
- package/data/craftbook-templates/an/anomaly-scan/manifest.json +1 -0
- package/data/craftbook-templates/ap/api-contract-review/manifest.json +1 -0
- package/data/craftbook-templates/ap/apply-review-findings/art.json +12 -0
- package/data/craftbook-templates/ap/apply-review-findings/logo.webp +0 -0
- package/data/craftbook-templates/ap/apply-review-findings/manifest.json +23 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.0/craftbook.json +436 -0
- package/data/craftbook-templates/ap/apply-review-findings/versions/1.0.0/test.json +291 -0
- package/data/craftbook-templates/ar/artifact-integrity-review/manifest.json +1 -0
- package/data/craftbook-templates/au/audio-ad-spot/manifest.json +1 -0
- package/data/craftbook-templates/au/audio-highlight-reel/manifest.json +1 -0
- package/data/craftbook-templates/au/audiobook-master-pack/manifest.json +1 -0
- package/data/craftbook-templates/au/auth-flow/manifest.json +1 -0
- package/data/craftbook-templates/au/automation-recipe/manifest.json +1 -0
- package/data/craftbook-templates/ba/backup-routine/manifest.json +1 -0
- package/data/craftbook-templates/bl/blog-post/manifest.json +1 -0
- package/data/craftbook-templates/bo/board-deck/manifest.json +1 -0
- package/data/craftbook-templates/bo/board-game-web/manifest.json +1 -0
- package/data/craftbook-templates/bo/booking-automation/manifest.json +1 -0
- package/data/craftbook-templates/br/branding-website/manifest.json +1 -0
- package/data/craftbook-templates/br/broadcast-announcement/manifest.json +1 -0
- package/data/craftbook-templates/br/browser-qa-audit/manifest.json +6 -1
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.5/craftbook.json +438 -0
- package/data/craftbook-templates/br/browser-qa-audit/versions/2.0.5/test.json +379 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/manifest.json +4 -3
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.0/craftbook.json +545 -0
- package/data/craftbook-templates/bu/bug-fix-tdd/versions/2.0.0/test.json +222 -0
- package/data/craftbook-templates/bu/build-loop/manifest.json +1 -0
- package/data/craftbook-templates/ca/calendar-brief/manifest.json +1 -0
- package/data/craftbook-templates/ca/canvas-generative-art/manifest.json +1 -0
- package/data/craftbook-templates/ca/careful-mode/manifest.json +1 -0
- package/data/craftbook-templates/ca/case-study/manifest.json +1 -0
- package/data/craftbook-templates/ca/case-study-writeup/manifest.json +1 -0
- package/data/craftbook-templates/ch/changelog-cut/manifest.json +6 -1
- package/data/craftbook-templates/ch/changelog-writeup/manifest.json +6 -1
- package/data/craftbook-templates/ch/chapter-narration-run/manifest.json +1 -0
- package/data/craftbook-templates/ch/chapter-weave/manifest.json +1 -0
- package/data/craftbook-templates/ch/character-sheet/manifest.json +1 -0
- package/data/craftbook-templates/ch/character-turnaround/manifest.json +1 -0
- package/data/craftbook-templates/ch/chart-pack/manifest.json +1 -0
- package/data/craftbook-templates/ch/chrome-extension/manifest.json +1 -0
- package/data/craftbook-templates/ci/ci-pipeline/manifest.json +6 -3
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.0/craftbook.json +423 -0
- package/data/craftbook-templates/ci/ci-pipeline/versions/2.0.0/test.json +228 -0
- package/data/craftbook-templates/ci/citation-audit/manifest.json +1 -0
- package/data/craftbook-templates/cl/cli-tool/manifest.json +1 -0
- package/data/craftbook-templates/co/code-review/manifest.json +1 -0
- package/data/craftbook-templates/co/codebase-refactoring-review/manifest.json +1 -0
- package/data/craftbook-templates/co/codebase-ux-review/manifest.json +1 -0
- package/data/craftbook-templates/co/codemod-sweep/art.json +12 -0
- package/data/craftbook-templates/co/codemod-sweep/logo.webp +0 -0
- package/data/craftbook-templates/co/codemod-sweep/manifest.json +23 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.0/craftbook.json +441 -0
- package/data/craftbook-templates/co/codemod-sweep/versions/1.0.0/test.json +253 -0
- package/data/craftbook-templates/co/cohort-analysis/manifest.json +1 -0
- package/data/craftbook-templates/co/company-research-brief/manifest.json +1 -0
- package/data/craftbook-templates/co/comparison-matrix/manifest.json +1 -0
- package/data/craftbook-templates/co/compat-check/manifest.json +1 -0
- package/data/craftbook-templates/co/competitive-analysis/manifest.json +1 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/art.json +12 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/logo.webp +0 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/manifest.json +27 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.0/craftbook.json +337 -0
- package/data/craftbook-templates/co/comprehensive-codebase-review/versions/1.0.0/test.json +160 -0
- package/data/craftbook-templates/co/config-scaffold/manifest.json +1 -0
- package/data/craftbook-templates/co/content-accuracy-review/manifest.json +1 -0
- package/data/craftbook-templates/co/content-deck/manifest.json +1 -0
- package/data/craftbook-templates/co/contract-template/manifest.json +1 -0
- package/data/craftbook-templates/co/cookbook-layout/manifest.json +1 -0
- package/data/craftbook-templates/co/copy-review/manifest.json +1 -0
- package/data/craftbook-templates/co/corpus-email-digest/manifest.json +1 -0
- package/data/craftbook-templates/co/corpus-synthesis/manifest.json +1 -0
- package/data/craftbook-templates/co/cover-letter/manifest.json +1 -0
- package/data/craftbook-templates/cr/crm-update-batch/manifest.json +1 -0
- package/data/craftbook-templates/cr/cron-job/manifest.json +1 -0
- package/data/craftbook-templates/cr/crossword-forge/manifest.json +1 -0
- package/data/craftbook-templates/cs/csv-transformer/manifest.json +1 -0
- package/data/craftbook-templates/da/dashboard-spec/manifest.json +1 -0
- package/data/craftbook-templates/da/data-dictionary/manifest.json +1 -0
- package/data/craftbook-templates/da/data-export-migrate/manifest.json +1 -0
- package/data/craftbook-templates/da/data-join-merge/manifest.json +1 -0
- package/data/craftbook-templates/da/data-pipeline-etl/manifest.json +1 -0
- package/data/craftbook-templates/da/data-quality-audit/manifest.json +1 -0
- package/data/craftbook-templates/da/data-to-report/manifest.json +1 -0
- package/data/craftbook-templates/da/data-viz-page/manifest.json +1 -0
- package/data/craftbook-templates/da/dataset-clean/manifest.json +1 -0
- package/data/craftbook-templates/db/db-index-tuning/manifest.json +1 -0
- package/data/craftbook-templates/de/deep-security-review/manifest.json +1 -0
- package/data/craftbook-templates/de/dependency-audit/manifest.json +1 -0
- package/data/craftbook-templates/de/dependency-upgrade/art.json +12 -0
- package/data/craftbook-templates/de/dependency-upgrade/logo.webp +0 -0
- package/data/craftbook-templates/de/dependency-upgrade/manifest.json +23 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.0/craftbook.json +459 -0
- package/data/craftbook-templates/de/dependency-upgrade/versions/1.0.0/test.json +236 -0
- package/data/craftbook-templates/de/deploy-checklist/manifest.json +1 -0
- package/data/craftbook-templates/de/design-review/manifest.json +1 -0
- package/data/craftbook-templates/de/design-system-consultation/manifest.json +1 -0
- package/data/craftbook-templates/di/diagram-from-text/manifest.json +1 -0
- package/data/craftbook-templates/di/digest-from-feeds/manifest.json +1 -0
- package/data/craftbook-templates/do/doc-intake-pipeline/manifest.json +1 -0
- package/data/craftbook-templates/do/doc-rewrite/manifest.json +1 -0
- package/data/craftbook-templates/do/dockerize-app/manifest.json +1 -0
- package/data/craftbook-templates/do/docs-site/manifest.json +1 -0
- package/data/craftbook-templates/do/documentation-drift-review/manifest.json +1 -0
- package/data/craftbook-templates/dr/draft-social-post/manifest.json +1 -0
- package/data/craftbook-templates/dr/drive-wrap-up/manifest.json +1 -0
- package/data/craftbook-templates/du/due-diligence-brief/manifest.json +1 -0
- package/data/craftbook-templates/eb/ebook-compile/manifest.json +1 -0
- package/data/craftbook-templates/ed/edit-notes/manifest.json +1 -0
- package/data/craftbook-templates/em/email-sequence/manifest.json +1 -0
- package/data/craftbook-templates/em/email-template/manifest.json +1 -0
- package/data/craftbook-templates/en/engineering-retrospective/manifest.json +1 -0
- package/data/craftbook-templates/ep/episode-plan/manifest.json +1 -0
- package/data/craftbook-templates/es/escalation-playbook/manifest.json +1 -0
- package/data/craftbook-templates/ev/evidence-brief/manifest.json +1 -0
- package/data/craftbook-templates/ex/executive-level-review/manifest.json +1 -0
- package/data/craftbook-templates/ex/expense-categorize/manifest.json +1 -0
- package/data/craftbook-templates/fa/fact-check/manifest.json +1 -0
- package/data/craftbook-templates/fa/family-story-chapter/manifest.json +1 -0
- package/data/craftbook-templates/fa/faq-from-docs/manifest.json +1 -0
- package/data/craftbook-templates/fa/favicon-set/manifest.json +1 -0
- package/data/craftbook-templates/fe/feature-flag-release/manifest.json +6 -1
- package/data/craftbook-templates/fe/feature-flag-rollout/manifest.json +5 -1
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.0/craftbook.json +203 -0
- package/data/craftbook-templates/fe/feature-flag-rollout/versions/1.1.0/test.json +165 -0
- package/data/craftbook-templates/fe/feedback-widget/manifest.json +1 -0
- package/data/craftbook-templates/fl/flaky-test-fix/art.json +12 -0
- package/data/craftbook-templates/fl/flaky-test-fix/logo.webp +0 -0
- package/data/craftbook-templates/fl/flaky-test-fix/manifest.json +24 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.0/craftbook.json +534 -0
- package/data/craftbook-templates/fl/flaky-test-fix/versions/1.0.0/test.json +240 -0
- package/data/craftbook-templates/fo/folder-to-audio/manifest.json +1 -0
- package/data/craftbook-templates/fo/forecast-model/manifest.json +1 -0
- package/data/craftbook-templates/fo/form-fill-batch/manifest.json +1 -0
- package/data/craftbook-templates/fo/form-wizard/manifest.json +1 -0
- package/data/craftbook-templates/fr/freeze-scope/manifest.json +1 -0
- package/data/craftbook-templates/ga/game-with-screens/manifest.json +1 -0
- package/data/craftbook-templates/gl/glossary-build/manifest.json +1 -0
- package/data/craftbook-templates/gr/graphql-api/manifest.json +1 -0
- package/data/craftbook-templates/gr/grpc-service/manifest.json +1 -0
- package/data/craftbook-templates/ha/handbook-section/manifest.json +1 -0
- package/data/craftbook-templates/he/hero-image/manifest.json +1 -0
- package/data/craftbook-templates/ho/holiday-card-run/manifest.json +1 -0
- package/data/craftbook-templates/ho/hotfix-flow/manifest.json +6 -3
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.0/craftbook.json +442 -0
- package/data/craftbook-templates/ho/hotfix-flow/versions/2.0.0/test.json +221 -0
- package/data/craftbook-templates/ht/html-arcade-game/manifest.json +1 -0
- package/data/craftbook-templates/ht/html-puzzle-game/manifest.json +1 -0
- package/data/craftbook-templates/ic/icon-pack/manifest.json +1 -0
- package/data/craftbook-templates/id/idea-office-hours/manifest.json +1 -0
- package/data/craftbook-templates/id/idle-clicker-game/manifest.json +1 -0
- package/data/craftbook-templates/im/image-batch-edit/manifest.json +1 -0
- package/data/craftbook-templates/im/image-dedup-cluster/manifest.json +1 -0
- package/data/craftbook-templates/im/image-palette-extract/manifest.json +1 -0
- package/data/craftbook-templates/im/image-seo-rename/manifest.json +1 -0
- package/data/craftbook-templates/im/image-set-index/manifest.json +1 -0
- package/data/craftbook-templates/in/inbox-triage/manifest.json +1 -0
- package/data/craftbook-templates/in/incident-comms-templates/manifest.json +1 -0
- package/data/craftbook-templates/in/incident-postmortem/manifest.json +1 -0
- package/data/craftbook-templates/in/insurance-inventory/manifest.json +1 -0
- package/data/craftbook-templates/in/interactive-quiz/manifest.json +1 -0
- package/data/craftbook-templates/in/investigate/manifest.json +5 -1
- package/data/craftbook-templates/in/investigate-root-cause/manifest.json +6 -1
- package/data/craftbook-templates/in/invitation-design/manifest.json +1 -0
- package/data/craftbook-templates/in/invoice-generator/manifest.json +1 -0
- package/data/craftbook-templates/in/invoice-run/manifest.json +1 -0
- package/data/craftbook-templates/index.json +1 -1
- package/data/craftbook-templates/it/item-intake/manifest.json +1 -0
- package/data/craftbook-templates/ju/juice-pass/manifest.json +1 -0
- package/data/craftbook-templates/kn/knowledge-base-article/manifest.json +1 -0
- package/data/craftbook-templates/kp/kpi-scorecard/manifest.json +1 -0
- package/data/craftbook-templates/la/landing-copy/manifest.json +1 -0
- package/data/craftbook-templates/la/landing-page/manifest.json +1 -0
- package/data/craftbook-templates/le/lead-enrichment/manifest.json +1 -0
- package/data/craftbook-templates/li/library-package/manifest.json +1 -0
- package/data/craftbook-templates/li/literature-review/manifest.json +1 -0
- package/data/craftbook-templates/li/live-browser-qa/manifest.json +6 -1
- package/data/craftbook-templates/lo/localize-content/manifest.json +1 -0
- package/data/craftbook-templates/lo/logo-set/manifest.json +1 -0
- package/data/craftbook-templates/ma/market-scan/manifest.json +1 -0
- package/data/craftbook-templates/me/meeting-minutes/manifest.json +1 -0
- package/data/craftbook-templates/me/meeting-notes-to-actions/manifest.json +1 -0
- package/data/craftbook-templates/me/meeting-prep-brief/manifest.json +1 -0
- package/data/craftbook-templates/me/meeting-summary-audio/manifest.json +1 -0
- package/data/craftbook-templates/me/memory-prompt-session/manifest.json +1 -0
- package/data/craftbook-templates/me/message-queue-consumer/manifest.json +1 -0
- package/data/craftbook-templates/mi/micro-game-jam/manifest.json +1 -0
- package/data/craftbook-templates/mo/mock-interview/manifest.json +1 -0
- package/data/craftbook-templates/mo/mod-scaffold/manifest.json +1 -0
- package/data/craftbook-templates/mo/monitor-and-alert/manifest.json +1 -0
- package/data/craftbook-templates/mo/month-close/manifest.json +1 -0
- package/data/craftbook-templates/mo/monthly-recording-review/manifest.json +1 -0
- package/data/craftbook-templates/mo/moodboard/manifest.json +1 -0
- package/data/craftbook-templates/mo/morning-brief/manifest.json +1 -0
- package/data/craftbook-templates/mo/morning-report/manifest.json +1 -0
- package/data/craftbook-templates/mu/music-metadata-tag/manifest.json +1 -0
- package/data/craftbook-templates/na/narrated-slideshow/manifest.json +1 -0
- package/data/craftbook-templates/ne/newsletter-issue/manifest.json +1 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/art.json +12 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/logo.webp +0 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/manifest.json +23 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.0/craftbook.json +145 -0
- package/data/craftbook-templates/ni/nightly-fix-sweep/versions/1.0.0/test.json +121 -0
- package/data/craftbook-templates/no/notification-router/manifest.json +1 -0
- package/data/craftbook-templates/oc/ocr-extract/manifest.json +1 -0
- package/data/craftbook-templates/of/offer-compare/manifest.json +1 -0
- package/data/craftbook-templates/of/office-hours/manifest.json +1 -0
- package/data/craftbook-templates/on/onboarding-checklist/manifest.json +1 -0
- package/data/craftbook-templates/on/onboarding-flow/manifest.json +1 -0
- package/data/craftbook-templates/on/oncall-handoff/manifest.json +1 -0
- package/data/craftbook-templates/on/one-pager/manifest.json +1 -0
- package/data/craftbook-templates/op/ops-runbook/manifest.json +1 -0
- package/data/craftbook-templates/pa/page-spread/manifest.json +1 -0
- package/data/craftbook-templates/pa/parser-grammar/manifest.json +1 -0
- package/data/craftbook-templates/pe/perf-audit/manifest.json +1 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.1.0/craftbook.json +195 -0
- package/data/craftbook-templates/pe/perf-audit/versions/1.1.0/test.json +165 -0
- package/data/craftbook-templates/pe/perf-optimization/manifest.json +4 -3
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.0/craftbook.json +511 -0
- package/data/craftbook-templates/pe/perf-optimization/versions/2.0.0/test.json +236 -0
- package/data/craftbook-templates/pe/pest-diagnosis/manifest.json +1 -0
- package/data/craftbook-templates/ph/photo-cull/manifest.json +1 -0
- package/data/craftbook-templates/ph/physics-toy/manifest.json +1 -0
- package/data/craftbook-templates/pi/pitch-deck/manifest.json +1 -0
- package/data/craftbook-templates/pl/plan/manifest.json +1 -0
- package/data/craftbook-templates/pl/playtest-report/manifest.json +1 -0
- package/data/craftbook-templates/po/podcast-chaptering/manifest.json +1 -0
- package/data/craftbook-templates/po/portfolio-site/manifest.json +1 -0
- package/data/craftbook-templates/po/powerpoint-deck/manifest.json +1 -0
- package/data/craftbook-templates/pr/pr-security-review/manifest.json +1 -0
- package/data/craftbook-templates/pr/practice-exam/manifest.json +1 -0
- package/data/craftbook-templates/pr/practice-session/manifest.json +1 -0
- package/data/craftbook-templates/pr/pre-departure-countdown/manifest.json +1 -0
- package/data/craftbook-templates/pr/press-release/manifest.json +1 -0
- package/data/craftbook-templates/pr/price-tracker/manifest.json +1 -0
- package/data/craftbook-templates/pr/pricing-page/manifest.json +1 -0
- package/data/craftbook-templates/pr/product-descriptions/manifest.json +1 -0
- package/data/craftbook-templates/pr/proposal-sow/manifest.json +1 -0
- package/data/craftbook-templates/pu/pull-request-review/manifest.json +1 -0
- package/data/craftbook-templates/pu/puzzle-pack-layout/manifest.json +1 -0
- package/data/craftbook-templates/pw/pwa-offline/manifest.json +1 -0
- package/data/craftbook-templates/qa/qa/manifest.json +4 -1
- package/data/craftbook-templates/qu/quarterly-summary/manifest.json +1 -0
- package/data/craftbook-templates/re/reading-list/manifest.json +1 -0
- package/data/craftbook-templates/re/receipt-intake/manifest.json +1 -0
- package/data/craftbook-templates/re/receipt-ocr-ledger/manifest.json +1 -0
- package/data/craftbook-templates/re/reception-report/manifest.json +1 -0
- package/data/craftbook-templates/re/recipe-capture/manifest.json +1 -0
- package/data/craftbook-templates/re/record-a-relative/manifest.json +1 -0
- package/data/craftbook-templates/re/recurring-invoice-run/manifest.json +1 -0
- package/data/craftbook-templates/re/refactor-module/manifest.json +3 -2
- package/data/craftbook-templates/re/refactor-module/versions/1.0.4/craftbook.json +150 -0
- package/data/craftbook-templates/re/refactor-module/versions/1.0.4/test.json +95 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.0/craftbook.json +509 -0
- package/data/craftbook-templates/re/refactor-module/versions/2.0.0/test.json +242 -0
- package/data/craftbook-templates/re/regex-builder/manifest.json +1 -0
- package/data/craftbook-templates/re/release-announcement/manifest.json +1 -0
- package/data/craftbook-templates/re/release-artifact-sanity-check/manifest.json +1 -0
- package/data/craftbook-templates/re/release-notes/manifest.json +6 -1
- package/data/craftbook-templates/re/release-notes/versions/1.0.3/craftbook.json +220 -0
- package/data/craftbook-templates/re/release-notes/versions/1.0.3/test.json +114 -0
- package/data/craftbook-templates/re/release-pipeline-ci/manifest.json +6 -1
- package/data/craftbook-templates/re/release-readiness-review/manifest.json +1 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.1.0/craftbook.json +192 -0
- package/data/craftbook-templates/re/release-readiness-review/versions/1.1.0/test.json +113 -0
- package/data/craftbook-templates/re/reliability-review/manifest.json +1 -0
- package/data/craftbook-templates/re/report-pdf/manifest.json +1 -0
- package/data/craftbook-templates/re/research-report/manifest.json +1 -0
- package/data/craftbook-templates/re/research-to-document/manifest.json +1 -0
- package/data/craftbook-templates/re/rest-api/manifest.json +1 -0
- package/data/craftbook-templates/re/resume-cv/manifest.json +1 -0
- package/data/craftbook-templates/re/reviewer-loop/manifest.json +1 -0
- package/data/craftbook-templates/ro/rollback-plan/manifest.json +1 -0
- package/data/craftbook-templates/ro/root-cause-investigation/manifest.json +8 -1
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.5/craftbook.json +433 -0
- package/data/craftbook-templates/ro/root-cause-investigation/versions/2.0.5/test.json +157 -0
- package/data/craftbook-templates/ro/rough-cut-assembly/manifest.json +1 -0
- package/data/craftbook-templates/ru/runbook/manifest.json +1 -0
- package/data/craftbook-templates/sc/schema-migration/manifest.json +5 -4
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.0/craftbook.json +459 -0
- package/data/craftbook-templates/sc/schema-migration/versions/2.0.0/test.json +226 -0
- package/data/craftbook-templates/sc/scrape-to-structured/manifest.json +1 -0
- package/data/craftbook-templates/sc/script-automation/manifest.json +1 -0
- package/data/craftbook-templates/sd/sdk-wrapper/manifest.json +1 -0
- package/data/craftbook-templates/se/seasonal-maintenance-sweep/manifest.json +1 -0
- package/data/craftbook-templates/se/security-architecture-review/manifest.json +1 -0
- package/data/craftbook-templates/se/seo-meta-pack/manifest.json +1 -0
- package/data/craftbook-templates/sh/ship/manifest.json +1 -0
- package/data/craftbook-templates/so/social-digest/manifest.json +1 -0
- package/data/craftbook-templates/so/social-thread/manifest.json +1 -0
- package/data/craftbook-templates/so/source-quality-audit/manifest.json +1 -0
- package/data/craftbook-templates/sp/spa-dashboard/manifest.json +1 -0
- package/data/craftbook-templates/sp/spec-authoring/manifest.json +1 -0
- package/data/craftbook-templates/sp/spec-doc/manifest.json +1 -0
- package/data/craftbook-templates/sp/spreadsheet-model/manifest.json +1 -0
- package/data/craftbook-templates/sp/sprite-sheet/manifest.json +1 -0
- package/data/craftbook-templates/sq/sql-analysis/manifest.json +1 -0
- package/data/craftbook-templates/st/standup-summary/manifest.json +1 -0
- package/data/craftbook-templates/st/state-machine/manifest.json +1 -0
- package/data/craftbook-templates/st/status-report/manifest.json +1 -0
- package/data/craftbook-templates/su/subscription-audit/manifest.json +1 -0
- package/data/craftbook-templates/su/subtitle-generator/manifest.json +1 -0
- package/data/craftbook-templates/su/summarize-long/manifest.json +1 -0
- package/data/craftbook-templates/su/survey-analysis/manifest.json +1 -0
- package/data/craftbook-templates/sv/svg-animation/manifest.json +1 -0
- package/data/craftbook-templates/ta/tailor-resume/manifest.json +1 -0
- package/data/craftbook-templates/te/technical-documentation/manifest.json +1 -0
- package/data/craftbook-templates/te/test-coverage-review/manifest.json +1 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.0/craftbook.json +195 -0
- package/data/craftbook-templates/te/test-coverage-review/versions/1.2.0/test.json +116 -0
- package/data/craftbook-templates/te/test-suite-backfill/manifest.json +2 -2
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.0/craftbook.json +428 -0
- package/data/craftbook-templates/te/test-suite-backfill/versions/2.0.0/test.json +198 -0
- package/data/craftbook-templates/th/thank-you-batch/manifest.json +1 -0
- package/data/craftbook-templates/th/thank-you-sweep/manifest.json +1 -0
- package/data/craftbook-templates/th/threat-model/manifest.json +1 -0
- package/data/craftbook-templates/th/thumbnail-generator/manifest.json +1 -0
- package/data/craftbook-templates/ti/tileset-batch/manifest.json +1 -0
- package/data/craftbook-templates/to/tone-rewrite/manifest.json +1 -0
- package/data/craftbook-templates/to/topic-explainer/manifest.json +1 -0
- package/data/craftbook-templates/tr/transcribe-and-shownotes/manifest.json +1 -0
- package/data/craftbook-templates/tr/transcribe-audio/manifest.json +1 -0
- package/data/craftbook-templates/tr/transcribe-index/manifest.json +1 -0
- package/data/craftbook-templates/tr/translate-content/manifest.json +1 -0
- package/data/craftbook-templates/ty/type-safety-pass/manifest.json +4 -3
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.0/craftbook.json +428 -0
- package/data/craftbook-templates/ty/type-safety-pass/versions/2.0.0/test.json +222 -0
- package/data/craftbook-templates/ux/ux-update/art.json +12 -0
- package/data/craftbook-templates/ux/ux-update/logo.webp +0 -0
- package/data/craftbook-templates/ux/ux-update/manifest.json +22 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.0/craftbook.json +439 -0
- package/data/craftbook-templates/ux/ux-update/versions/1.0.0/test.json +207 -0
- package/data/craftbook-templates/ve/version-bump/manifest.json +1 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.1.0/craftbook.json +206 -0
- package/data/craftbook-templates/ve/version-bump/versions/1.1.0/test.json +95 -0
- package/data/craftbook-templates/vi/video-storyboard/manifest.json +1 -0
- package/data/craftbook-templates/vi/visit-prep/manifest.json +1 -0
- package/data/craftbook-templates/vo/voiceover-script/manifest.json +1 -0
- package/data/craftbook-templates/we/weak-spot-drill/manifest.json +1 -0
- package/data/craftbook-templates/we/web-app-crud/manifest.json +1 -0
- package/data/craftbook-templates/we/web-component/manifest.json +1 -0
- package/data/craftbook-templates/we/webhook-handler/manifest.json +1 -0
- package/data/craftbook-templates/we/week-plan/manifest.json +1 -0
- package/data/craftbook-templates/we/weekly-menu-plan/manifest.json +1 -0
- package/data/craftbook-templates/we/weekly-pipeline-review/manifest.json +1 -0
- package/data/craftbook-templates/we/weekly-review/manifest.json +1 -0
- package/data/craftbook-templates/we/weekly-walkthrough/manifest.json +1 -0
- package/data/craftbook-templates/wh/whitepaper/manifest.json +1 -0
- package/data/craftbook-templates/ye/year-in-review/manifest.json +1 -0
- package/data/craftbook-templates/yo/youtube-chapters-seo/manifest.json +1 -0
- package/data/gezel-templates/bo/boekwachter/versions/1.1.0/about.md +29 -0
- package/data/gezel-templates/bo/boekwachter/versions/1.1.0/manifest.json +16 -0
- package/data/gezel-templates/bu/builder/versions/1.5.0/about.md +34 -0
- package/data/gezel-templates/bu/builder/versions/1.5.0/manifest.json +16 -0
- package/data/gezel-templates/de/developer/versions/1.5.0/about.md +34 -0
- package/data/gezel-templates/de/developer/versions/1.5.0/manifest.json +21 -0
- package/data/gezel-templates/index.json +1 -1
- package/data/gezel-templates/re/reviewer/versions/1.4.0/about.md +49 -0
- package/data/gezel-templates/re/reviewer/versions/1.4.0/manifest.json +21 -0
- package/data/project-types/index.json +1 -1
- package/data/project-types/so/software-project/manifest.json +20 -0
- package/data/project-types/so/software-project/versions/1.0.0/about.md +3 -0
- package/data/project-types/so/software-project/versions/1.0.0/manifest.json +41 -0
- package/data/project-types/so/software-project/versions/1.0.0/mission.md +4 -0
- package/package.json +1 -1
- package/schemas/craftbook-doc.schema.json +248 -0
- package/schemas/craftbook-template-identity.schema.json +21 -0
- package/schemas/craftbook-template-version.schema.json +248 -0
- package/schemas/craftbook-test.schema.json +210 -0
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "dashboard-spec",
|
|
5
5
|
"role": "general",
|
|
6
|
+
"category": "code-docs",
|
|
6
7
|
"name": "Dashboard Specification",
|
|
7
8
|
"description": "Specify a dashboard from the questions it must answer, before anyone builds it — the artifact that prevents a chart-salad dashboard nobody uses. Scopes the audience, the decisions, and the questions FIRST, then designs the dashboard layout: which widgets/charts answer which question, their metric definitions, filters, refresh, and visual hierarchy. The output is a build-ready spec, not the dashboard itself. Use this for planning a dashboard, a BI/reporting spec, a metrics dashboard design, deciding what charts a dashboard needs, or a dashboard requirements doc.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "data-dictionary",
|
|
5
5
|
"role": "general",
|
|
6
|
+
"category": "code-data",
|
|
6
7
|
"name": "Data Dictionary",
|
|
7
8
|
"description": "Document a dataset's schema as a clear, complete data dictionary so others can use it without guessing. Inspects the data FIRST to derive each column's real type, value domain, null rate, units, and relationships from the actual values (not assumptions), then writes a readable dictionary with one entry per column plus dataset-level context. Use this for documenting a schema, building a data dictionary, a column glossary, a table reference, or onboarding docs for a dataset.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "data-export-migrate",
|
|
5
5
|
"role": "general",
|
|
6
|
+
"category": "code-data",
|
|
6
7
|
"name": "Migrate Data Between Tools",
|
|
7
8
|
"description": "Migrate records from a source tool/format to a destination tool/format — CRM to CRM, spreadsheet to app, JSON export to a new API — with a field mapping, value transforms, and a reconciliation that proves nothing was lost or corrupted. Locks the source→destination field map, the transform/normalization rules, and the reconciliation criteria FIRST, then builds the extract-transform-load with a dry-run preview, then verifies record counts match, key fields round-trip, and a diff report flags any mismatch. Mapping-and-reconciliation-before-load is the discipline that makes a migration trustworthy rather than a one-shot leap of faith.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "data-join-merge",
|
|
5
5
|
"role": "general",
|
|
6
|
+
"category": "code-data",
|
|
6
7
|
"name": "Join / Merge Two Datasets",
|
|
7
8
|
"description": "Combine two datasets into one reconciled table on a shared key, correctly handling the join type, key mismatches, and duplicate fan-out. Profiles both sources and locks the join key, join type, and conflict rules FIRST (so the merge doesn't silently drop or duplicate rows), then builds the joined output, then verifies the match rate and that no row count exploded. Use this for joining two tables, merging datasets, a VLOOKUP-style match, enriching one file from another, or reconciling records across two sources.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "data-pipeline-etl",
|
|
5
5
|
"role": "project-starter",
|
|
6
|
+
"category": "code-data",
|
|
6
7
|
"name": "ETL / Ingest Pipeline",
|
|
7
8
|
"description": "Build an extract-transform-load pipeline that ingests source data, reshapes it to a target schema, and loads it with validation at every stage. Locks the schemas FIRST — source shape, target shape, the field-by-field transform/mapping, type coercions, and the data-quality rules — then implements extract→transform→load with row-level error capture, then a reviewer validates output conformance, row counts, and reject handling. Covers ETL stages, schema mapping, type coercion, data validation, idempotent loads, dead-letter/reject rows, and reconciliation counts.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "data-quality-audit",
|
|
5
5
|
"role": "maintenance-review",
|
|
6
|
+
"category": "code-data",
|
|
6
7
|
"name": "Data Quality Audit",
|
|
7
8
|
"description": "Audit a dataset against explicit data-quality rules and produce a scorecard of where it passes and fails across completeness, validity, consistency, uniqueness, and timeliness. Defines the quality rules and dimensions FIRST (so 'quality' is measurable, not a vibe), then runs the audit to measure each rule with pass rates and failing examples, then writes a prioritized report with an overall score and remediation steps. Use this for a data quality audit, data health check, validation report, data-quality scorecard, or assessing whether a dataset is trustworthy.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "data-to-report",
|
|
5
5
|
"role": "general",
|
|
6
|
+
"category": "research",
|
|
6
7
|
"name": "Dataset to Narrative Report",
|
|
7
8
|
"description": "Turn a dataset into a written, evidence-backed analytical report that a non-technical reader can act on. Analyzes the data FIRST to surface the real findings (key metrics, segments, trends, surprises) with supporting numbers, then writes a narrative that leads with the takeaway and traces every claim to a figure, then builds the polished report document with sections, a summary table, and an explicit limitations note. Use this for turning raw numbers into an insights report, executive summary, data storytelling, or a findings write-up stakeholders will read.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "data-viz-page",
|
|
5
5
|
"role": "project-starter",
|
|
6
|
+
"category": "code-build",
|
|
6
7
|
"name": "Data Visualization Explorer",
|
|
7
8
|
"description": "Build a single interactive chart or data explorer page — bar, line, scatter, or pie — driven by sample or provided data, with controls to filter, switch series, or change the dimension and a tooltip on hover. Scopes the dataset and the question the chart answers first, then the chart type and encodings, then implements a canvas or SVG chart with real interactivity. A chart that does not map data to pixels correctly is worse than a table, so the data and chart-design phases lock the encoding and the axes before any rendering code.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "dataset-clean",
|
|
5
5
|
"role": "general",
|
|
6
|
+
"category": "code-data",
|
|
6
7
|
"name": "Clean a Dataset",
|
|
7
8
|
"description": "Profile, clean, and validate a messy CSV/TSV/JSON dataset into an analysis-ready table. Profiles the raw data FIRST (row/column counts, types, null rates, duplicates, outliers, encoding) so cleaning decisions are evidence-based, then applies deterministic transforms (dedup, type coercion, null handling, whitespace/case normalization, value standardization), then validates the cleaned output against the same profile so nothing was silently dropped or corrupted. Use this for data wrangling, tidying, deduplication, normalizing dirty spreadsheets, and prepping raw exports for charts or modeling.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "db-index-tuning",
|
|
5
5
|
"role": "maintenance-review",
|
|
6
|
+
"category": "code-data",
|
|
6
7
|
"name": "Diagnose + Add Database Indexes",
|
|
7
8
|
"description": "Diagnose slow database queries and add the right indexes — driven by the query plan, not by hunches — then prove the speedup without harming writes. Analyzes FIRST with EXPLAIN/query plans to find the actual full scans and missing indexes, then adds the targeted indexes (right columns, right order, covering where it helps), then a reviewer confirms the plans now use the index and queries are faster. Covers EXPLAIN/query plans, full-table-scan detection, composite index column order, covering indexes, selectivity, and the write-amplification tradeoff.",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "deep-security-review",
|
|
5
5
|
"role": "maintenance-review",
|
|
6
|
+
"category": "code-review",
|
|
6
7
|
"name": "Deep Security Review",
|
|
7
8
|
"description": "Run a slow, thorough, WHOLE-CODEBASE security audit that looks for SYSTEMIC weaknesses — a vulnerability class repeated across many routes, a missing control at an architectural layer, inconsistent authorization, ad-hoc secret handling, a trust-boundary violation — not just isolated issues in one file. First reconnoiters the whole system using gezel's static security index (dependency inventory, attack surface, source/sink findings, taint reachability), then builds a threat model to find the highest-blast-radius areas, then audits those areas holistically confirming real source-to-sink paths and consistency of controls across every entry point, then clusters findings into root-cause systemic themes, then writes a prioritized report with a machine-readable findings file. Use this for a deep or systemic security review, a codebase security audit, a nightly security sweep, or finding security issues across a whole project — it is intentionally broader and deeper than a PR-time diff review (see pr-security-review for that).",
|
|
8
9
|
"tags": [
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "dependency-audit",
|
|
5
5
|
"role": "maintenance-review",
|
|
6
|
+
"category": "code-review",
|
|
6
7
|
"name": "Dependency Audit",
|
|
7
8
|
"description": "Audit a project's dependencies for security, staleness, license, and maintenance risk, then produce a prioritized remediation report. First scans the manifest and lockfile to inventory every dependency with its installed vs latest version, known CVEs, license, and maintenance signals, then assesses each into a risk tier weighing severity, exploitability, breaking-change cost, and removability, then writes a report with a concrete upgrade/replace/remove action and order for each risky dependency. Use this for a dependency audit, supply-chain review, checking for vulnerable or outdated packages, license compliance, npm/pip audit triage, or reducing dependency risk — it turns a raw audit dump into a prioritized, justified action plan rather than a wall of warnings.",
|
|
8
9
|
"tags": [
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"promptVersion": "workshop-mark-1910-v2",
|
|
4
|
+
"periodCue": "circa-1910-subtle",
|
|
5
|
+
"family": "build-repair",
|
|
6
|
+
"accents": [
|
|
7
|
+
"olive",
|
|
8
|
+
"rust"
|
|
9
|
+
],
|
|
10
|
+
"sourceSummary": "Staged dependency upgrades with the suite green between stages and honest deferral of majors that need design.",
|
|
11
|
+
"styleReference": "bug-fix-tdd"
|
|
12
|
+
}
|
|
Binary file
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"kind": "craftbook-template",
|
|
4
|
+
"id": "dependency-upgrade",
|
|
5
|
+
"name": "Upgrade a Dependency",
|
|
6
|
+
"description": "Upgrade dependencies in reviewable stages with proof at every step: a green suite before any bump, smallest-risk-first ordering, call-site adaptations at their real locations, a real suite run between stages, and an honest revert for anything that cannot go green.",
|
|
7
|
+
"role": "maintenance-review",
|
|
8
|
+
"category": "code-quality",
|
|
9
|
+
"tags": [
|
|
10
|
+
"dependencies",
|
|
11
|
+
"upgrade",
|
|
12
|
+
"maintenance",
|
|
13
|
+
"supply-chain",
|
|
14
|
+
"tests",
|
|
15
|
+
"quality"
|
|
16
|
+
],
|
|
17
|
+
"maintainer": {
|
|
18
|
+
"name": "Gezel"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"yankedVersions": [],
|
|
22
|
+
"logo": "logo.webp"
|
|
23
|
+
}
|
|
@@ -0,0 +1,459 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "dependency-upgrade",
|
|
3
|
+
"name": "Upgrade a Dependency",
|
|
4
|
+
"description": "Upgrade dependencies the way a careful maintainer would, with each claim mechanically verified. This is the applying sibling of the report-only Dependency Audit: where that book tells you what is risky, this one moves the versions. First SURVEY: read the real dependency state (manifest, lockfile, installed packages, or a vendored tree the repository documents), run the suite so green-before-any-bump is a recorded receipt, and read each candidate's breaking-change surface from what exists LOCALLY - changelogs and READMEs inside node_modules, or the repository's own upgrade notes. Release notes are never invented; a candidate whose changes cannot be read locally is staged conservatively and marked unknown. Then UPGRADE stage by stage, smallest-risk-first: apply the version change at its real location, adapt the call sites it breaks, and run the suite before the next stage begins. A stage that cannot go green is reverted and recorded with the reason, never forced through; a major that needs real design work is deferred honestly. Then VERIFY the final tree green and record a concrete rollback path. 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": "Survey the real dependency state and stage the work smallest-risk-first (green-suite receipt before any bump) -> execute stage by stage with the suite run between stages and honest reverts -> verify the final tree green and record the rollback path -> enforced independent review.",
|
|
6
|
+
"entryStepId": "survey",
|
|
7
|
+
"triggers": [
|
|
8
|
+
"upgrade the dependencies",
|
|
9
|
+
"bump the deps",
|
|
10
|
+
"update this package",
|
|
11
|
+
"dependency upgrade"
|
|
12
|
+
],
|
|
13
|
+
"runModes": {
|
|
14
|
+
"scheduled": "supported"
|
|
15
|
+
},
|
|
16
|
+
"commands": [
|
|
17
|
+
{
|
|
18
|
+
"scope": "script",
|
|
19
|
+
"name": "test",
|
|
20
|
+
"reason": "each upgrade stage must leave the suite green - the gates read real run receipts"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"paramSchema": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"properties": {
|
|
26
|
+
"scope": {
|
|
27
|
+
"type": "string",
|
|
28
|
+
"title": "What to upgrade",
|
|
29
|
+
"description": "A single dependency, a patch-level sweep, or a named major upgrade. Leave empty to survey and pick the safest valuable set.",
|
|
30
|
+
"default": ""
|
|
31
|
+
},
|
|
32
|
+
"workPath": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"title": "Working folder",
|
|
35
|
+
"description": "Per-task working folder in the artifacts drawer. Defaults to this task's own folder so runs never collide; override with a stable name when you deliberately want runs to share files.",
|
|
36
|
+
"default": "{{task.dir}}"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"steps": [
|
|
41
|
+
{
|
|
42
|
+
"id": "survey",
|
|
43
|
+
"name": "Survey the dependency state",
|
|
44
|
+
"description": "Read the real dependency state and each candidate's locally-readable breaking-change surface, record the green baseline, and stage the work smallest-risk-first.",
|
|
45
|
+
"prompt": "The upgrade scope: {{scope}}\n\nEstablish the REAL dependency state before changing anything. Read `package.json` (and the lockfile if one exists), run `list_packages`, and work out how this project consumes each dependency - registry installs, or a vendored tree the repository documents. Then run the suite with `run_package_script` (`test`) and record that it is green BEFORE any bump. If the suite is already red, record the failure honestly and stop - never upgrade on top of a red suite. If the command needs first-use approval, say so and wait rather than guessing.\n\nFor each upgrade candidate, read its breaking-change surface from what is available LOCALLY: changelogs and READMEs inside `node_modules/`, or the repository's own upgrade notes for vendored code. Never invent release notes you did not read - a candidate whose changes you cannot read locally gets staged conservatively and marked unknown. Order the stages smallest-risk-first: patches before minors before majors, one dependency (or one tightly-coupled group) per stage. If nothing is worth upgrading here, record that finding honestly and stop.\n\nWrite `{{workPath}}/survey.md` with exactly these sections: `## Current state` (what is installed, from the real manifest and lockfile), `## Candidates` (each candidate with its current and target version and where you read its notes), `## Breaking-change notes` (what actually changes, only from sources you read, each cited with a backtick path), `## Stage plan` (numbered stages, smallest-risk-first, with the reason for the order).\n\nObservable handoff: write the completed result to `{{workPath}}/survey.md` in the project's artifacts drawer with `write_artifact`. Do not merely describe what the file would contain. Re-read it with `read_artifact` before finishing this phase and repair any incomplete sections.",
|
|
46
|
+
"suggestedRole": "dependency auditor",
|
|
47
|
+
"capabilityFloor": "medium",
|
|
48
|
+
"advanceWhen": {
|
|
49
|
+
"file": "{{workPath}}/survey.md",
|
|
50
|
+
"minBytes": 600,
|
|
51
|
+
"sniff": "nonempty",
|
|
52
|
+
"requireChange": true,
|
|
53
|
+
"artifact": true,
|
|
54
|
+
"goto": "upgrade"
|
|
55
|
+
},
|
|
56
|
+
"gate": {
|
|
57
|
+
"at": "completion",
|
|
58
|
+
"checks": [
|
|
59
|
+
{
|
|
60
|
+
"kind": "minBytes",
|
|
61
|
+
"file": "{{workPath}}/survey.md",
|
|
62
|
+
"bytes": 600,
|
|
63
|
+
"artifact": true
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"kind": "sniff",
|
|
67
|
+
"file": "{{workPath}}/survey.md",
|
|
68
|
+
"sniff": "nonempty",
|
|
69
|
+
"artifact": true
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"kind": "contains",
|
|
73
|
+
"file": "{{workPath}}/survey.md",
|
|
74
|
+
"pattern": "^##\\s+Current state",
|
|
75
|
+
"flags": "im",
|
|
76
|
+
"label": "Current state section",
|
|
77
|
+
"artifact": true
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"kind": "contains",
|
|
81
|
+
"file": "{{workPath}}/survey.md",
|
|
82
|
+
"pattern": "^##\\s+Candidates",
|
|
83
|
+
"flags": "im",
|
|
84
|
+
"label": "Candidates section",
|
|
85
|
+
"artifact": true
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"kind": "contains",
|
|
89
|
+
"file": "{{workPath}}/survey.md",
|
|
90
|
+
"pattern": "^##\\s+Breaking-change notes",
|
|
91
|
+
"flags": "im",
|
|
92
|
+
"label": "Breaking-change notes section",
|
|
93
|
+
"artifact": true
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"kind": "contains",
|
|
97
|
+
"file": "{{workPath}}/survey.md",
|
|
98
|
+
"pattern": "^##\\s+Stage plan",
|
|
99
|
+
"flags": "im",
|
|
100
|
+
"label": "Stage plan section",
|
|
101
|
+
"artifact": true
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"kind": "citationsResolve",
|
|
105
|
+
"file": "{{workPath}}/survey.md",
|
|
106
|
+
"minCitations": 2,
|
|
107
|
+
"artifact": true
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
"kind": "commandEvidence",
|
|
111
|
+
"script": "test",
|
|
112
|
+
"expect": "pass",
|
|
113
|
+
"label": "green before any bump"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"onReject": "survey",
|
|
117
|
+
"maxAttempts": 4
|
|
118
|
+
},
|
|
119
|
+
"next": "upgrade"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"id": "upgrade",
|
|
123
|
+
"name": "Execute the stages",
|
|
124
|
+
"description": "Apply each stage at its real location, adapt the call sites it breaks, and run the suite between stages; revert and record any stage that cannot go green.",
|
|
125
|
+
"prompt": "Read `{{workPath}}/survey.md` and execute its stage plan one stage at a time. For each stage: apply the version change at its real location - edit the manifest and run `npm_install` for registry dependencies, or replace the vendored tree exactly as the repository's convention documents for vendored ones - then adapt every call site the change breaks at its real location with `read_file` plus `write_file`/`replace_in_file`, and run the suite with `run_package_script` (`test`) before starting the next stage. Never begin a stage while the previous one is red.\n\nA stage that cannot go green gets REVERTED - put the manifest, lockfile, and touched files back exactly as they were - and recorded with the concrete failure, never forced through by weakening tests or pinning over the breakage. A major that turns out to need real design work is deferred honestly, not hacked through. If every stage had to be reverted, record that outcome honestly and stop.\n\nWrite `{{workPath}}/change-notes.md` with exactly these sections: `## Stages executed` (each stage with its suite result), `## Files touched` (backtick path per line), `## Adaptations` (each call-site change and why the new version needs it), `## Reverted stages` (each with the concrete failure that forced the revert, or 'none'). Before working, open `{{workPath}}/survey.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.",
|
|
126
|
+
"suggestedRole": "software engineer",
|
|
127
|
+
"capabilityFloor": "medium",
|
|
128
|
+
"consumes": [
|
|
129
|
+
{
|
|
130
|
+
"file": "{{workPath}}/survey.md",
|
|
131
|
+
"artifact": true
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
"advanceWhen": {
|
|
135
|
+
"file": "{{workPath}}/change-notes.md",
|
|
136
|
+
"minBytes": 700,
|
|
137
|
+
"sniff": "nonempty",
|
|
138
|
+
"requireChange": true,
|
|
139
|
+
"artifact": true,
|
|
140
|
+
"goto": "verify"
|
|
141
|
+
},
|
|
142
|
+
"gate": {
|
|
143
|
+
"at": "completion",
|
|
144
|
+
"checks": [
|
|
145
|
+
{
|
|
146
|
+
"kind": "minBytes",
|
|
147
|
+
"file": "{{workPath}}/change-notes.md",
|
|
148
|
+
"bytes": 700,
|
|
149
|
+
"artifact": true
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"kind": "sniff",
|
|
153
|
+
"file": "{{workPath}}/change-notes.md",
|
|
154
|
+
"sniff": "nonempty",
|
|
155
|
+
"artifact": true
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"kind": "contains",
|
|
159
|
+
"file": "{{workPath}}/change-notes.md",
|
|
160
|
+
"pattern": "^##\\s+Stages executed",
|
|
161
|
+
"flags": "im",
|
|
162
|
+
"label": "Stages executed section",
|
|
163
|
+
"artifact": true
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"kind": "contains",
|
|
167
|
+
"file": "{{workPath}}/change-notes.md",
|
|
168
|
+
"pattern": "^##\\s+Files touched",
|
|
169
|
+
"flags": "im",
|
|
170
|
+
"label": "Files touched section",
|
|
171
|
+
"artifact": true
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"kind": "contains",
|
|
175
|
+
"file": "{{workPath}}/change-notes.md",
|
|
176
|
+
"pattern": "^##\\s+Adaptations",
|
|
177
|
+
"flags": "im",
|
|
178
|
+
"label": "Adaptations section",
|
|
179
|
+
"artifact": true
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"kind": "contains",
|
|
183
|
+
"file": "{{workPath}}/change-notes.md",
|
|
184
|
+
"pattern": "^##\\s+Reverted stages",
|
|
185
|
+
"flags": "im",
|
|
186
|
+
"label": "Reverted stages section",
|
|
187
|
+
"artifact": true
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"kind": "citationsResolve",
|
|
191
|
+
"file": "{{workPath}}/change-notes.md",
|
|
192
|
+
"minCitations": 2,
|
|
193
|
+
"artifact": true
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"onReject": "upgrade",
|
|
197
|
+
"maxAttempts": 4
|
|
198
|
+
},
|
|
199
|
+
"next": "verify"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"id": "verify",
|
|
203
|
+
"name": "Verify and record the rollback",
|
|
204
|
+
"description": "Re-run the whole suite on the final tree, spot-check the adaptations, and record a concrete rollback path.",
|
|
205
|
+
"prompt": "Prove the result with fresh eyes. Re-run the whole suite with `run_package_script` (`test`) - it must be green on the final tree; if it is not, go back and fix or revert before verifying again. Re-read `{{workPath}}/change-notes.md` and spot-check each adaptation at its real location with `read_file`. Then record the rollback path: exactly which manifest and lockfile entries (or vendored files) to restore, and in what order, to return to the pre-upgrade state. Anything you could not actually run gets labeled unverified, never claimed.\n\nWrite `{{workPath}}/verification.md` with exactly these sections: `## Suite` (the full-suite command and its result), `## Adaptations verified` (which call sites you re-opened and what you confirmed), `## Rollback` (the concrete revert steps), `## Result` (upgraded and green, or what remains unverified and why). Before working, open `{{workPath}}/change-notes.md` with `read_artifact`.\n\nObservable handoff: write the completed result to `{{workPath}}/verification.md` in the project's artifacts drawer with `write_artifact`. Do not merely describe what the file would contain. Re-read it with `read_artifact` before finishing this phase and repair any incomplete sections.",
|
|
206
|
+
"suggestedRole": "software engineer",
|
|
207
|
+
"capabilityFloor": "medium",
|
|
208
|
+
"consumes": [
|
|
209
|
+
{
|
|
210
|
+
"file": "{{workPath}}/change-notes.md",
|
|
211
|
+
"artifact": true
|
|
212
|
+
}
|
|
213
|
+
],
|
|
214
|
+
"advanceWhen": {
|
|
215
|
+
"file": "{{workPath}}/verification.md",
|
|
216
|
+
"minBytes": 450,
|
|
217
|
+
"sniff": "nonempty",
|
|
218
|
+
"requireChange": true,
|
|
219
|
+
"artifact": true,
|
|
220
|
+
"goto": "evaluate"
|
|
221
|
+
},
|
|
222
|
+
"gate": {
|
|
223
|
+
"at": "completion",
|
|
224
|
+
"checks": [
|
|
225
|
+
{
|
|
226
|
+
"kind": "minBytes",
|
|
227
|
+
"file": "{{workPath}}/verification.md",
|
|
228
|
+
"bytes": 450,
|
|
229
|
+
"artifact": true
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
"kind": "sniff",
|
|
233
|
+
"file": "{{workPath}}/verification.md",
|
|
234
|
+
"sniff": "nonempty",
|
|
235
|
+
"artifact": true
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"kind": "contains",
|
|
239
|
+
"file": "{{workPath}}/verification.md",
|
|
240
|
+
"pattern": "^##\\s+Suite",
|
|
241
|
+
"flags": "im",
|
|
242
|
+
"label": "Suite section",
|
|
243
|
+
"artifact": true
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"kind": "contains",
|
|
247
|
+
"file": "{{workPath}}/verification.md",
|
|
248
|
+
"pattern": "^##\\s+Adaptations verified",
|
|
249
|
+
"flags": "im",
|
|
250
|
+
"label": "Adaptations verified section",
|
|
251
|
+
"artifact": true
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"kind": "contains",
|
|
255
|
+
"file": "{{workPath}}/verification.md",
|
|
256
|
+
"pattern": "^##\\s+Rollback",
|
|
257
|
+
"flags": "im",
|
|
258
|
+
"label": "Rollback section",
|
|
259
|
+
"artifact": true
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"kind": "contains",
|
|
263
|
+
"file": "{{workPath}}/verification.md",
|
|
264
|
+
"pattern": "^##\\s+Result",
|
|
265
|
+
"flags": "im",
|
|
266
|
+
"label": "Result section",
|
|
267
|
+
"artifact": true
|
|
268
|
+
},
|
|
269
|
+
{
|
|
270
|
+
"kind": "commandEvidence",
|
|
271
|
+
"script": "test",
|
|
272
|
+
"expect": "pass",
|
|
273
|
+
"label": "the whole suite is green on the upgraded tree (verified run receipt)"
|
|
274
|
+
}
|
|
275
|
+
],
|
|
276
|
+
"onReject": "verify",
|
|
277
|
+
"maxAttempts": 4
|
|
278
|
+
},
|
|
279
|
+
"next": "evaluate"
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"id": "evaluate",
|
|
283
|
+
"name": "Evaluate the deliverable",
|
|
284
|
+
"description": "Independently grade the observable deliverable and route it to finish, repair, or user escalation.",
|
|
285
|
+
"prompt": "Review `{{workPath}}/verification.md`, `{{workPath}}/survey.md`, `{{workPath}}/change-notes.md` against every criterion below. Inspect the underlying evidence files named by the workflow; do not grade from the author's summary alone.\n\n1. The stages in change-notes.md were real and ordered smallest-risk-first, matching the plan in survey.md or explaining every deviation.\n2. Green between stages is receipts, not claims: the suite was genuinely run before the first bump and between stages - judged from the recorded runs, not the author's summary.\n3. Breaking-change notes cite sources that were genuinely read locally; nothing is presented as a release note that was invented.\n4. Every adaptation cites a real file, and the change at that site matches what the new version actually requires - open the touched files; do not grade from change-notes.md alone.\n5. Stages that could not go green were reverted and recorded with concrete reasons; majors that need design work were deferred honestly, not hacked through.\n6. verification.md records a concrete, runnable rollback path and the final suite run is green - judged from the recorded run receipts.\n\nOpen `{{workPath}}/verification.md`, `{{workPath}}/survey.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.",
|
|
286
|
+
"suggestedRole": "dependency reviewer",
|
|
287
|
+
"consumes": [
|
|
288
|
+
{
|
|
289
|
+
"file": "{{workPath}}/verification.md",
|
|
290
|
+
"artifact": true
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
"file": "{{workPath}}/survey.md",
|
|
294
|
+
"artifact": true
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"file": "{{workPath}}/change-notes.md",
|
|
298
|
+
"artifact": true
|
|
299
|
+
}
|
|
300
|
+
],
|
|
301
|
+
"gate": {
|
|
302
|
+
"at": "completion",
|
|
303
|
+
"checks": [
|
|
304
|
+
{
|
|
305
|
+
"kind": "minBytes",
|
|
306
|
+
"file": "{{workPath}}/review.md",
|
|
307
|
+
"bytes": 400,
|
|
308
|
+
"artifact": true
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"kind": "contains",
|
|
312
|
+
"file": "{{workPath}}/review.md",
|
|
313
|
+
"pattern": "Verdict:\\s*(?:PASS|REVISE)",
|
|
314
|
+
"flags": "i",
|
|
315
|
+
"label": "explicit PASS or REVISE verdict",
|
|
316
|
+
"artifact": true
|
|
317
|
+
}
|
|
318
|
+
],
|
|
319
|
+
"scripts": [
|
|
320
|
+
{
|
|
321
|
+
"name": "checkFixReview",
|
|
322
|
+
"scope": "standard",
|
|
323
|
+
"inputs": {
|
|
324
|
+
"reviewPath": "{{workPath}}/review.md",
|
|
325
|
+
"fixStepId": "repair"
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
],
|
|
329
|
+
"onReject": "evaluate",
|
|
330
|
+
"maxAttempts": 4
|
|
331
|
+
},
|
|
332
|
+
"next": "finish"
|
|
333
|
+
},
|
|
334
|
+
{
|
|
335
|
+
"id": "repair",
|
|
336
|
+
"name": "Repair the deliverable",
|
|
337
|
+
"description": "Fix only the concrete gaps from the latest independent review.",
|
|
338
|
+
"prompt": "Read `{{workPath}}/review.md` with `read_artifact` and repair every failed criterion in `{{workPath}}/verification.md`, `{{workPath}}/survey.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.",
|
|
339
|
+
"suggestedRole": "software engineer",
|
|
340
|
+
"consumes": [
|
|
341
|
+
{
|
|
342
|
+
"file": "{{workPath}}/review.md",
|
|
343
|
+
"artifact": true
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"file": "{{workPath}}/verification.md",
|
|
347
|
+
"artifact": true
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"file": "{{workPath}}/survey.md",
|
|
351
|
+
"artifact": true
|
|
352
|
+
},
|
|
353
|
+
{
|
|
354
|
+
"file": "{{workPath}}/change-notes.md",
|
|
355
|
+
"artifact": true
|
|
356
|
+
}
|
|
357
|
+
],
|
|
358
|
+
"advanceWhen": {
|
|
359
|
+
"file": "{{workPath}}/verification.md",
|
|
360
|
+
"minBytes": 450,
|
|
361
|
+
"sniff": "nonempty",
|
|
362
|
+
"requireChange": true,
|
|
363
|
+
"artifact": true,
|
|
364
|
+
"goto": "evaluate"
|
|
365
|
+
},
|
|
366
|
+
"gate": {
|
|
367
|
+
"at": "completion",
|
|
368
|
+
"checks": [
|
|
369
|
+
{
|
|
370
|
+
"kind": "minBytes",
|
|
371
|
+
"file": "{{workPath}}/verification.md",
|
|
372
|
+
"bytes": 450,
|
|
373
|
+
"artifact": true
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
"kind": "sniff",
|
|
377
|
+
"file": "{{workPath}}/verification.md",
|
|
378
|
+
"sniff": "nonempty",
|
|
379
|
+
"artifact": true
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"kind": "contains",
|
|
383
|
+
"file": "{{workPath}}/verification.md",
|
|
384
|
+
"pattern": "^##\\s+Suite",
|
|
385
|
+
"flags": "im",
|
|
386
|
+
"label": "Suite section",
|
|
387
|
+
"artifact": true
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
"kind": "contains",
|
|
391
|
+
"file": "{{workPath}}/verification.md",
|
|
392
|
+
"pattern": "^##\\s+Adaptations verified",
|
|
393
|
+
"flags": "im",
|
|
394
|
+
"label": "Adaptations verified section",
|
|
395
|
+
"artifact": true
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"kind": "contains",
|
|
399
|
+
"file": "{{workPath}}/verification.md",
|
|
400
|
+
"pattern": "^##\\s+Rollback",
|
|
401
|
+
"flags": "im",
|
|
402
|
+
"label": "Rollback section",
|
|
403
|
+
"artifact": true
|
|
404
|
+
},
|
|
405
|
+
{
|
|
406
|
+
"kind": "contains",
|
|
407
|
+
"file": "{{workPath}}/verification.md",
|
|
408
|
+
"pattern": "^##\\s+Result",
|
|
409
|
+
"flags": "im",
|
|
410
|
+
"label": "Result section",
|
|
411
|
+
"artifact": true
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"kind": "commandEvidence",
|
|
415
|
+
"script": "test",
|
|
416
|
+
"expect": "pass",
|
|
417
|
+
"label": "the whole suite is green on the upgraded tree (verified run receipt)"
|
|
418
|
+
}
|
|
419
|
+
],
|
|
420
|
+
"onReject": "repair",
|
|
421
|
+
"maxAttempts": 4
|
|
422
|
+
},
|
|
423
|
+
"next": "evaluate"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"id": "finish",
|
|
427
|
+
"name": "Finish",
|
|
428
|
+
"description": "All deterministic and reviewer criteria passed.",
|
|
429
|
+
"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}}/survey.md`, `{{workPath}}/change-notes.md`) and the evidence that each acceptance criterion passed. Report DONE without starting new work.",
|
|
430
|
+
"suggestedRole": "project lead",
|
|
431
|
+
"consumes": [
|
|
432
|
+
{
|
|
433
|
+
"file": "{{workPath}}/review.md",
|
|
434
|
+
"artifact": true
|
|
435
|
+
}
|
|
436
|
+
],
|
|
437
|
+
"terminal": true
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"id": "needs-user",
|
|
441
|
+
"name": "Escalate unresolved concerns",
|
|
442
|
+
"description": "The bounded repair loop ended without a defensible pass.",
|
|
443
|
+
"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.",
|
|
444
|
+
"suggestedRole": "project lead",
|
|
445
|
+
"consumes": [
|
|
446
|
+
{
|
|
447
|
+
"file": "{{workPath}}/review.md",
|
|
448
|
+
"artifact": true
|
|
449
|
+
}
|
|
450
|
+
],
|
|
451
|
+
"terminal": true
|
|
452
|
+
}
|
|
453
|
+
],
|
|
454
|
+
"diffpackCapable": true,
|
|
455
|
+
"capabilityFloor": "medium",
|
|
456
|
+
"version": "1.0.0",
|
|
457
|
+
"releasedAt": "2026-08-24T00:00:00.000Z",
|
|
458
|
+
"minGezelVersion": "1.26236"
|
|
459
|
+
}
|