@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,379 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"title": "Browser QA Audit — Harbor signup fixture",
|
|
4
|
+
"objective": "Exercise the Browser QA Audit craftbook against a self-contained workspace page with deterministic functional, console, accessibility, link, and responsive defects.",
|
|
5
|
+
"tags": [
|
|
6
|
+
"workflow",
|
|
7
|
+
"browser",
|
|
8
|
+
"qa",
|
|
9
|
+
"html-page"
|
|
10
|
+
],
|
|
11
|
+
"prompt": "Use the Browser QA Audit craftbook in report-only mode. The running target is the Gezel workspace preview URL `file:///workspace/fixtures/signup.html`; navigate to that exact URL with the configured browser tools. Test it as a user at 1280x720 and 375x812 using `source/expected-behavior.md` as the product contract. Exercise the menu, empty and valid form submissions, keyboard focus, and the Help link; inspect console errors and take evidence screenshots. Retry every suspected defect once. Do not read or edit the HTML source during the audit and do not fix anything. Produce the workflow plan, browser evidence, `qa/baseline.json`, and `qa/browser-qa-report.md`.",
|
|
12
|
+
"setup": {
|
|
13
|
+
"projectName": "Harbor signup browser QA",
|
|
14
|
+
"about": "A self-contained report-only QA evaluation. The HTML fixture is served through Gezel's workspace preview mapping; no external URL, credential, or live service is needed.",
|
|
15
|
+
"missionObjectives": "Run the Browser QA Audit craftbook as a real task, use actual browser tools on file:///workspace/fixtures/signup.html, capture reproducible evidence, and leave the fixture unchanged.",
|
|
16
|
+
"files": [
|
|
17
|
+
{
|
|
18
|
+
"path": "source/expected-behavior.md",
|
|
19
|
+
"content": "# Signup acceptance brief\n\n- The Menu button reveals and hides the navigation links.\n- Email is required. Empty or malformed email submission must show an inline validation error and must not show success.\n- A valid address such as `crew@example.com` shows `Welcome aboard` after submission.\n- Help opens a real help destination rather than a missing page.\n- The form is usable with keyboard alone and every focused control has a visible focus indicator.\n- At 375x812 there is no horizontal page overflow.\n- A clean user journey emits no console errors.\n\nDo not inspect implementation source during black-box QA.\n"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"path": "fixtures/signup.html",
|
|
23
|
+
"content": "<!doctype html>\n<html lang=\"en\">\n<head>\n<meta charset=\"utf-8\">\n<meta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n<title>Harbor Crew Signup</title>\n<style>\nbody{margin:0;background:#f6f7f8;color:#334;font:16px Arial,sans-serif}header{background:#10233f;color:#fff;padding:18px}.shell{width:980px;margin:32px auto;background:#fff;padding:24px}.muted{color:#c2c5ca}button,a,input{font:inherit}button:focus,a:focus,input:focus{outline:none}.nav{display:none}.card{border:1px solid #dde1e6;padding:20px}input{display:block;width:360px;padding:10px;margin:8px 0}.success{display:none;color:#16783b}a{color:#d97706}\n</style>\n</head>\n<body>\n<header><strong>Harbor Crew</strong> <span class=\"muted\">Shift updates without noise</span></header>\n<main class=\"shell\">\n<button id=\"menu\">Menu</button>\n<nav class=\"nav\"><a href=\"#signup\">Signup</a> <a href=\"missing-help.html\">Help</a></nav>\n<section class=\"card\" id=\"signup\">\n<h1>Join shift updates</h1>\n<p>One concise email before every assignment window.</p>\n<form id=\"signup-form\">\n<input id=\"email\" type=\"text\" placeholder=\"you@example.com\">\n<button type=\"submit\">Join</button>\n</form>\n<p class=\"success\" id=\"success\">Welcome aboard</p>\n</section>\n</main>\n<script>\nconsole.error('fixture-console-error: signup analytics failed');\ndocument.querySelector('#signup-form').addEventListener('submit',event=>{event.preventDefault();document.querySelector('#success').style.display='block'});\n</script>\n</body>\n</html>\n",
|
|
24
|
+
"modelInput": false
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"craftbookParams": {
|
|
28
|
+
"workPath": "tasks/eval"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"mocks": [
|
|
32
|
+
{
|
|
33
|
+
"kind": "mcp",
|
|
34
|
+
"id": "playwright",
|
|
35
|
+
"description": "Hermetic black-box browser simulator for the seeded Harbor signup page. It records real MCP tool calls while returning deterministic observations from the fixed fixture.",
|
|
36
|
+
"toolsetId": "@playwright/mcp",
|
|
37
|
+
"tools": [
|
|
38
|
+
{
|
|
39
|
+
"name": "browser_navigate",
|
|
40
|
+
"description": "Navigate to a URL. Use file:///workspace/fixtures/signup.html for this audit.",
|
|
41
|
+
"resultTemplate": {
|
|
42
|
+
"url": "file:///workspace/fixtures/signup.html",
|
|
43
|
+
"title": "Harbor Crew Signup",
|
|
44
|
+
"status": "loaded",
|
|
45
|
+
"viewport": "1280x720"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "browser_resize",
|
|
50
|
+
"description": "Set the browser viewport width and height before repeating a journey.",
|
|
51
|
+
"resultSequence": [
|
|
52
|
+
{
|
|
53
|
+
"status": "viewport updated",
|
|
54
|
+
"viewport": "1280x720"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"status": "viewport updated",
|
|
58
|
+
"viewport": "375x812",
|
|
59
|
+
"horizontalOverflow": "980px shell exceeds the 375px viewport"
|
|
60
|
+
}
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"name": "browser_snapshot",
|
|
65
|
+
"description": "Return the current page accessibility snapshot and visible state. Call after each interaction and on each viewport.",
|
|
66
|
+
"resultSequence": [
|
|
67
|
+
{
|
|
68
|
+
"state": "desktop initial",
|
|
69
|
+
"heading": "Join shift updates",
|
|
70
|
+
"controls": [
|
|
71
|
+
"Menu button",
|
|
72
|
+
"email textbox",
|
|
73
|
+
"Join button"
|
|
74
|
+
],
|
|
75
|
+
"focusIndicator": "none on button, link, and input"
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"state": "after menu attempt 1",
|
|
79
|
+
"navigation": "still hidden"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"state": "after menu retry",
|
|
83
|
+
"navigation": "still hidden"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"state": "after empty submit",
|
|
87
|
+
"email": "",
|
|
88
|
+
"inlineError": null,
|
|
89
|
+
"success": "Welcome aboard is visible"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"state": "after malformed submit retry",
|
|
93
|
+
"email": "not-an-email",
|
|
94
|
+
"inlineError": null,
|
|
95
|
+
"success": "Welcome aboard is visible"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"state": "mobile and help",
|
|
99
|
+
"viewport": "375x812",
|
|
100
|
+
"horizontalOverflow": "980px shell exceeds viewport",
|
|
101
|
+
"helpTarget": "missing-help.html"
|
|
102
|
+
}
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"name": "browser_click",
|
|
107
|
+
"description": "Activate a referenced control. Repeat suspected defects once and record expected versus actual behavior.",
|
|
108
|
+
"resultSequence": [
|
|
109
|
+
{
|
|
110
|
+
"action": "menu attempt 1 recorded"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"action": "menu retry recorded"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"action": "empty submission attempt 1 recorded"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"action": "empty or malformed submission retry recorded"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"action": "valid crew@example.com submission recorded"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"action": "Help link activation recorded",
|
|
126
|
+
"destination": "missing-help.html"
|
|
127
|
+
}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"name": "browser_type",
|
|
132
|
+
"description": "Enter text into the email field for invalid and valid submission journeys.",
|
|
133
|
+
"resultSequence": [
|
|
134
|
+
{
|
|
135
|
+
"status": "text entered",
|
|
136
|
+
"valueClass": "malformed-email"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"status": "text entered",
|
|
140
|
+
"valueClass": "valid-email"
|
|
141
|
+
}
|
|
142
|
+
]
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
"name": "browser_console_messages",
|
|
146
|
+
"description": "Read console messages emitted by the current page.",
|
|
147
|
+
"resultTemplate": {
|
|
148
|
+
"messages": [
|
|
149
|
+
"error: fixture-console-error: signup analytics failed"
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"name": "browser_take_screenshot",
|
|
155
|
+
"description": "Capture a screenshot to a distinct workspace-relative PNG path beneath qa/screenshots/.",
|
|
156
|
+
"resultTemplate": {
|
|
157
|
+
"saved": true
|
|
158
|
+
},
|
|
159
|
+
"writeFixture": {
|
|
160
|
+
"surface": "workspace",
|
|
161
|
+
"pathArgument": "path",
|
|
162
|
+
"fixture": "minimal-png"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
],
|
|
168
|
+
"success": {
|
|
169
|
+
"summary": "The real craftbook uses browser tools, preserves the fixture, and reports reproducible functional, console, link, accessibility, and mobile defects with transparent scoring.",
|
|
170
|
+
"deliverables": [
|
|
171
|
+
{
|
|
172
|
+
"path": "qa/browser-evidence.md",
|
|
173
|
+
"kind": "markdown-report",
|
|
174
|
+
"minBytes": 1000,
|
|
175
|
+
"checks": [
|
|
176
|
+
{
|
|
177
|
+
"kind": "contains",
|
|
178
|
+
"file": "qa/browser-evidence.md",
|
|
179
|
+
"pattern": "^#{1,3}\\s+Run metadata\\b[\\s\\S]*^#{1,3}\\s+Journey results\\b[\\s\\S]*^#{1,3}\\s+Console\\b[\\s\\S]*^#{1,3}\\s+Responsive and accessibility\\b[\\s\\S]*^#{1,3}\\s+Evidence index\\b",
|
|
180
|
+
"flags": "im",
|
|
181
|
+
"label": "complete browser evidence structure"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"kind": "contains",
|
|
185
|
+
"file": "qa/browser-evidence.md",
|
|
186
|
+
"pattern": "1280\\s*[x×]\\s*720[\\s\\S]*375\\s*[x×]\\s*812|375\\s*[x×]\\s*812[\\s\\S]*1280\\s*[x×]\\s*720",
|
|
187
|
+
"flags": "i",
|
|
188
|
+
"label": "both required viewports exercised"
|
|
189
|
+
}
|
|
190
|
+
]
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"path": "qa/baseline.json",
|
|
194
|
+
"kind": "json",
|
|
195
|
+
"minBytes": 250,
|
|
196
|
+
"checks": [
|
|
197
|
+
{
|
|
198
|
+
"kind": "sniff",
|
|
199
|
+
"file": "qa/baseline.json",
|
|
200
|
+
"sniff": "json-valid"
|
|
201
|
+
},
|
|
202
|
+
{
|
|
203
|
+
"kind": "contains",
|
|
204
|
+
"file": "qa/baseline.json",
|
|
205
|
+
"pattern": "healthScore[\\s\\S]*issues[\\s\\S]*(console|functional|accessibility|responsive)",
|
|
206
|
+
"flags": "i",
|
|
207
|
+
"label": "machine-readable score and categorized issues"
|
|
208
|
+
}
|
|
209
|
+
]
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"path": "qa/browser-qa-report.md",
|
|
213
|
+
"kind": "markdown-report",
|
|
214
|
+
"minBytes": 1500,
|
|
215
|
+
"checks": [
|
|
216
|
+
{
|
|
217
|
+
"kind": "contains",
|
|
218
|
+
"file": "qa/browser-qa-report.md",
|
|
219
|
+
"pattern": "^#{1,3}\\s+Executive summary\\b[\\s\\S]*^#{1,3}\\s+Coverage\\b[\\s\\S]*^#{1,3}\\s+Findings\\b[\\s\\S]*^#{1,3}\\s+Console health\\b[\\s\\S]*^#{1,3}\\s+Health score\\b[\\s\\S]*^#{1,3}\\s+Top three fixes\\b",
|
|
220
|
+
"flags": "im",
|
|
221
|
+
"label": "complete QA report structure"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"kind": "contains",
|
|
225
|
+
"file": "qa/browser-qa-report.md",
|
|
226
|
+
"pattern": "fixture-console-error",
|
|
227
|
+
"flags": "i",
|
|
228
|
+
"label": "observed console failure"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"kind": "contains",
|
|
232
|
+
"file": "qa/browser-qa-report.md",
|
|
233
|
+
"pattern": "empty[\\s\\S]*(email|form)[\\s\\S]*(success|Welcome aboard)|(success|Welcome aboard)[\\s\\S]*empty[\\s\\S]*(email|form)",
|
|
234
|
+
"flags": "i",
|
|
235
|
+
"label": "empty submission false-success defect"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"kind": "contains",
|
|
239
|
+
"file": "qa/browser-qa-report.md",
|
|
240
|
+
"pattern": "Menu[\\s\\S]*(does not|doesn't|fails|no change|hidden)|navigation[\\s\\S]*(remains|stays)\\s+hidden",
|
|
241
|
+
"flags": "i",
|
|
242
|
+
"label": "dead menu interaction"
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
"kind": "contains",
|
|
246
|
+
"file": "qa/browser-qa-report.md",
|
|
247
|
+
"pattern": "375[\\s\\S]*(overflow|horizontal|980)|(?:overflow|horizontal|980)[\\s\\S]*375",
|
|
248
|
+
"flags": "i",
|
|
249
|
+
"label": "mobile overflow finding"
|
|
250
|
+
}
|
|
251
|
+
]
|
|
252
|
+
}
|
|
253
|
+
],
|
|
254
|
+
"checks": [
|
|
255
|
+
{
|
|
256
|
+
"kind": "contains",
|
|
257
|
+
"file": "fixtures/signup.html",
|
|
258
|
+
"pattern": "fixture-console-error: signup analytics failed",
|
|
259
|
+
"label": "report-only run preserves the seeded console defect"
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
"kind": "contains",
|
|
263
|
+
"file": "fixtures/signup.html",
|
|
264
|
+
"pattern": "button:focus,a:focus,input:focus\\{outline:none\\}",
|
|
265
|
+
"label": "report-only run preserves the seeded focus defect"
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
"kind": "fileCount",
|
|
269
|
+
"ext": [
|
|
270
|
+
".png"
|
|
271
|
+
],
|
|
272
|
+
"min": 2,
|
|
273
|
+
"dir": "qa/screenshots",
|
|
274
|
+
"verifyImageBytes": true
|
|
275
|
+
}
|
|
276
|
+
],
|
|
277
|
+
"taskNotes": {
|
|
278
|
+
"minBytes": 180,
|
|
279
|
+
"checks": [
|
|
280
|
+
{
|
|
281
|
+
"kind": "contains",
|
|
282
|
+
"file": "task-notes.md",
|
|
283
|
+
"pattern": "\\bDONE\\b[\\s\\S]*qa/browser-qa-report\\.md[\\s\\S]*(browser|journey|evidence)",
|
|
284
|
+
"flags": "i",
|
|
285
|
+
"label": "terminal task note records the browser audit"
|
|
286
|
+
}
|
|
287
|
+
],
|
|
288
|
+
"requireCraftbookTask": true
|
|
289
|
+
},
|
|
290
|
+
"taskGraph": {
|
|
291
|
+
"requireCraftbookTask": true,
|
|
292
|
+
"requireTerminalStep": true
|
|
293
|
+
},
|
|
294
|
+
"mocks": [
|
|
295
|
+
{
|
|
296
|
+
"service": "playwright",
|
|
297
|
+
"requiredTools": [
|
|
298
|
+
"browser_navigate",
|
|
299
|
+
"browser_resize",
|
|
300
|
+
"browser_snapshot",
|
|
301
|
+
"browser_click",
|
|
302
|
+
"browser_type",
|
|
303
|
+
"browser_console_messages",
|
|
304
|
+
"browser_take_screenshot"
|
|
305
|
+
],
|
|
306
|
+
"toolCalls": {
|
|
307
|
+
"browser_navigate": {
|
|
308
|
+
"minCalls": 1
|
|
309
|
+
},
|
|
310
|
+
"browser_resize": {
|
|
311
|
+
"minCalls": 2
|
|
312
|
+
},
|
|
313
|
+
"browser_snapshot": {
|
|
314
|
+
"minCalls": 6
|
|
315
|
+
},
|
|
316
|
+
"browser_click": {
|
|
317
|
+
"minCalls": 6
|
|
318
|
+
},
|
|
319
|
+
"browser_type": {
|
|
320
|
+
"minCalls": 2
|
|
321
|
+
},
|
|
322
|
+
"browser_console_messages": {
|
|
323
|
+
"minCalls": 1
|
|
324
|
+
},
|
|
325
|
+
"browser_take_screenshot": {
|
|
326
|
+
"minCalls": 2
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
],
|
|
331
|
+
"history": [
|
|
332
|
+
{
|
|
333
|
+
"kind": "tool.called",
|
|
334
|
+
"minEntries": 20,
|
|
335
|
+
"summaryPattern": "Tool .*?(?:browser_|playwright)",
|
|
336
|
+
"flags": "i"
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
"kind": "tool.called",
|
|
340
|
+
"minEntries": 0,
|
|
341
|
+
"maxEntries": 0,
|
|
342
|
+
"details": {
|
|
343
|
+
"name": "read_file",
|
|
344
|
+
"path": "fixtures/signup.html"
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
],
|
|
348
|
+
"unchangedFixtures": [
|
|
349
|
+
"source/expected-behavior.md",
|
|
350
|
+
"fixtures/signup.html"
|
|
351
|
+
]
|
|
352
|
+
},
|
|
353
|
+
"rubric": {
|
|
354
|
+
"artifact": {
|
|
355
|
+
"path": "qa/browser-qa-report.md",
|
|
356
|
+
"kind": "markdown"
|
|
357
|
+
},
|
|
358
|
+
"axes": [
|
|
359
|
+
{
|
|
360
|
+
"name": "Browser evidence",
|
|
361
|
+
"description": "Findings cite actual repeated journeys, viewport, console, focus, and screenshot evidence rather than source inspection or speculation."
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
"name": "Triage quality",
|
|
365
|
+
"description": "Severity, confidence, expected versus actual behavior, reproduction, and user impact are clear and proportionate."
|
|
366
|
+
},
|
|
367
|
+
{
|
|
368
|
+
"name": "Scoring honesty",
|
|
369
|
+
"description": "Coverage boundaries and blocked checks are visible, and the health score can be recomputed from the category arithmetic."
|
|
370
|
+
}
|
|
371
|
+
],
|
|
372
|
+
"contextNote": "This is report-only black-box QA. Editing the fixture or deriving findings by reading its source is a failure."
|
|
373
|
+
},
|
|
374
|
+
"qualityFocus": [
|
|
375
|
+
"Actual browser use is required and audited in History",
|
|
376
|
+
"Deterministic fixture defects must be reproduced rather than guessed",
|
|
377
|
+
"The HTML fixture remains unchanged"
|
|
378
|
+
]
|
|
379
|
+
}
|
|
@@ -3,15 +3,16 @@
|
|
|
3
3
|
"kind": "craftbook-template",
|
|
4
4
|
"id": "bug-fix-tdd",
|
|
5
5
|
"role": "maintenance-review",
|
|
6
|
+
"category": "code-quality",
|
|
6
7
|
"name": "Reproduce-Then-Fix a Bug",
|
|
7
|
-
"description": "Fix a bug the disciplined way
|
|
8
|
+
"description": "Fix a bug the disciplined way, with proof at every step: a failing test that reproduces it (verified red by a real test run), the smallest change at the real defect site, a green suite afterwards, and an enforced independent review of the fix.",
|
|
8
9
|
"tags": [
|
|
9
|
-
"gallery",
|
|
10
10
|
"bug-fix",
|
|
11
11
|
"tdd",
|
|
12
12
|
"regression-test",
|
|
13
13
|
"debugging",
|
|
14
|
-
"tests"
|
|
14
|
+
"tests",
|
|
15
|
+
"quality"
|
|
15
16
|
],
|
|
16
17
|
"maintainer": {
|
|
17
18
|
"name": "Gezel"
|