@wazir-dev/cli 1.0.0
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/AGENTS.md +111 -0
- package/CHANGELOG.md +14 -0
- package/CONTRIBUTING.md +101 -0
- package/LICENSE +21 -0
- package/README.md +314 -0
- package/assets/composition-engine.mmd +34 -0
- package/assets/demo-script.sh +17 -0
- package/assets/logo-dark.svg +14 -0
- package/assets/logo.svg +14 -0
- package/assets/pipeline.mmd +39 -0
- package/assets/record-demo.sh +51 -0
- package/docs/README.md +51 -0
- package/docs/adapters/context-mode.md +60 -0
- package/docs/concepts/architecture.md +87 -0
- package/docs/concepts/artifact-model.md +60 -0
- package/docs/concepts/composition-engine.md +36 -0
- package/docs/concepts/indexing-and-recall.md +160 -0
- package/docs/concepts/observability.md +41 -0
- package/docs/concepts/roles-and-workflows.md +59 -0
- package/docs/concepts/terminology-policy.md +27 -0
- package/docs/getting-started/01-installation.md +78 -0
- package/docs/getting-started/02-first-run.md +102 -0
- package/docs/getting-started/03-adding-to-project.md +15 -0
- package/docs/getting-started/04-host-setup.md +15 -0
- package/docs/guides/ci-integration.md +15 -0
- package/docs/guides/creating-skills.md +15 -0
- package/docs/guides/expertise-module-authoring.md +15 -0
- package/docs/guides/hook-development.md +15 -0
- package/docs/guides/memory-and-learnings.md +34 -0
- package/docs/guides/multi-host-export.md +15 -0
- package/docs/guides/troubleshooting.md +101 -0
- package/docs/guides/writing-custom-roles.md +15 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
- package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
- package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
- package/docs/readmes/INDEX.md +99 -0
- package/docs/readmes/features/expertise/README.md +171 -0
- package/docs/readmes/features/exports/README.md +222 -0
- package/docs/readmes/features/hooks/README.md +103 -0
- package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
- package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
- package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
- package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
- package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
- package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
- package/docs/readmes/features/hooks/session-start.md +119 -0
- package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
- package/docs/readmes/features/roles/README.md +157 -0
- package/docs/readmes/features/roles/clarifier.md +152 -0
- package/docs/readmes/features/roles/content-author.md +190 -0
- package/docs/readmes/features/roles/designer.md +193 -0
- package/docs/readmes/features/roles/executor.md +184 -0
- package/docs/readmes/features/roles/learner.md +210 -0
- package/docs/readmes/features/roles/planner.md +182 -0
- package/docs/readmes/features/roles/researcher.md +164 -0
- package/docs/readmes/features/roles/reviewer.md +184 -0
- package/docs/readmes/features/roles/specifier.md +162 -0
- package/docs/readmes/features/roles/verifier.md +215 -0
- package/docs/readmes/features/schemas/README.md +178 -0
- package/docs/readmes/features/skills/README.md +63 -0
- package/docs/readmes/features/skills/brainstorming.md +96 -0
- package/docs/readmes/features/skills/debugging.md +148 -0
- package/docs/readmes/features/skills/design.md +120 -0
- package/docs/readmes/features/skills/prepare-next.md +109 -0
- package/docs/readmes/features/skills/run-audit.md +159 -0
- package/docs/readmes/features/skills/scan-project.md +109 -0
- package/docs/readmes/features/skills/self-audit.md +176 -0
- package/docs/readmes/features/skills/tdd.md +137 -0
- package/docs/readmes/features/skills/using-skills.md +92 -0
- package/docs/readmes/features/skills/verification.md +120 -0
- package/docs/readmes/features/skills/writing-plans.md +104 -0
- package/docs/readmes/features/tooling/README.md +320 -0
- package/docs/readmes/features/workflows/README.md +186 -0
- package/docs/readmes/features/workflows/author.md +181 -0
- package/docs/readmes/features/workflows/clarify.md +154 -0
- package/docs/readmes/features/workflows/design-review.md +171 -0
- package/docs/readmes/features/workflows/design.md +169 -0
- package/docs/readmes/features/workflows/discover.md +162 -0
- package/docs/readmes/features/workflows/execute.md +173 -0
- package/docs/readmes/features/workflows/learn.md +167 -0
- package/docs/readmes/features/workflows/plan-review.md +165 -0
- package/docs/readmes/features/workflows/plan.md +170 -0
- package/docs/readmes/features/workflows/prepare-next.md +167 -0
- package/docs/readmes/features/workflows/review.md +169 -0
- package/docs/readmes/features/workflows/run-audit.md +191 -0
- package/docs/readmes/features/workflows/spec-challenge.md +159 -0
- package/docs/readmes/features/workflows/specify.md +160 -0
- package/docs/readmes/features/workflows/verify.md +177 -0
- package/docs/readmes/packages/README.md +50 -0
- package/docs/readmes/packages/ajv.md +117 -0
- package/docs/readmes/packages/context-mode.md +118 -0
- package/docs/readmes/packages/gray-matter.md +116 -0
- package/docs/readmes/packages/node-test.md +137 -0
- package/docs/readmes/packages/yaml.md +112 -0
- package/docs/reference/configuration-reference.md +159 -0
- package/docs/reference/expertise-index.md +52 -0
- package/docs/reference/git-flow.md +43 -0
- package/docs/reference/hooks.md +87 -0
- package/docs/reference/host-exports.md +50 -0
- package/docs/reference/launch-checklist.md +172 -0
- package/docs/reference/marketplace-listings.md +76 -0
- package/docs/reference/release-process.md +34 -0
- package/docs/reference/roles-reference.md +77 -0
- package/docs/reference/skills.md +33 -0
- package/docs/reference/templates.md +29 -0
- package/docs/reference/tooling-cli.md +94 -0
- package/docs/truth-claims.yaml +222 -0
- package/expertise/PROGRESS.md +63 -0
- package/expertise/README.md +18 -0
- package/expertise/antipatterns/PROGRESS.md +56 -0
- package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
- package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
- package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
- package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
- package/expertise/antipatterns/backend/index.md +24 -0
- package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
- package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
- package/expertise/antipatterns/code/async-antipatterns.md +622 -0
- package/expertise/antipatterns/code/code-smells.md +1186 -0
- package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
- package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
- package/expertise/antipatterns/code/index.md +27 -0
- package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
- package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
- package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
- package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
- package/expertise/antipatterns/design/dark-patterns.md +1121 -0
- package/expertise/antipatterns/design/index.md +22 -0
- package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
- package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
- package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
- package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
- package/expertise/antipatterns/frontend/index.md +23 -0
- package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
- package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
- package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
- package/expertise/antipatterns/index.md +31 -0
- package/expertise/antipatterns/performance/index.md +20 -0
- package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
- package/expertise/antipatterns/performance/premature-optimization.md +623 -0
- package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
- package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
- package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
- package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
- package/expertise/antipatterns/process/index.md +23 -0
- package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
- package/expertise/antipatterns/security/index.md +20 -0
- package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
- package/expertise/antipatterns/security/security-theater.md +843 -0
- package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
- package/expertise/architecture/PROGRESS.md +70 -0
- package/expertise/architecture/data/caching-architecture.md +671 -0
- package/expertise/architecture/data/data-consistency.md +574 -0
- package/expertise/architecture/data/data-modeling.md +536 -0
- package/expertise/architecture/data/event-streams-and-queues.md +634 -0
- package/expertise/architecture/data/index.md +25 -0
- package/expertise/architecture/data/search-architecture.md +663 -0
- package/expertise/architecture/data/sql-vs-nosql.md +708 -0
- package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
- package/expertise/architecture/decisions/build-vs-buy.md +616 -0
- package/expertise/architecture/decisions/index.md +23 -0
- package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
- package/expertise/architecture/decisions/technology-selection.md +616 -0
- package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
- package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
- package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
- package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
- package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
- package/expertise/architecture/distributed/index.md +25 -0
- package/expertise/architecture/distributed/saga-pattern.md +797 -0
- package/expertise/architecture/foundations/architectural-thinking.md +460 -0
- package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
- package/expertise/architecture/foundations/design-principles-solid.md +649 -0
- package/expertise/architecture/foundations/domain-driven-design.md +719 -0
- package/expertise/architecture/foundations/index.md +25 -0
- package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
- package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
- package/expertise/architecture/index.md +34 -0
- package/expertise/architecture/integration/api-design-graphql.md +638 -0
- package/expertise/architecture/integration/api-design-grpc.md +804 -0
- package/expertise/architecture/integration/api-design-rest.md +892 -0
- package/expertise/architecture/integration/index.md +25 -0
- package/expertise/architecture/integration/third-party-integration.md +795 -0
- package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
- package/expertise/architecture/integration/websockets-realtime.md +791 -0
- package/expertise/architecture/mobile-architecture/index.md +22 -0
- package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
- package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
- package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
- package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
- package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
- package/expertise/architecture/patterns/event-driven.md +797 -0
- package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
- package/expertise/architecture/patterns/index.md +27 -0
- package/expertise/architecture/patterns/layered-architecture.md +736 -0
- package/expertise/architecture/patterns/microservices.md +753 -0
- package/expertise/architecture/patterns/modular-monolith.md +692 -0
- package/expertise/architecture/patterns/monolith.md +626 -0
- package/expertise/architecture/patterns/plugin-architecture.md +735 -0
- package/expertise/architecture/patterns/serverless.md +780 -0
- package/expertise/architecture/scaling/database-scaling.md +615 -0
- package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
- package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
- package/expertise/architecture/scaling/index.md +24 -0
- package/expertise/architecture/scaling/multi-tenancy.md +800 -0
- package/expertise/architecture/scaling/stateless-design.md +787 -0
- package/expertise/backend/embedded-firmware.md +625 -0
- package/expertise/backend/go.md +853 -0
- package/expertise/backend/index.md +24 -0
- package/expertise/backend/java-spring.md +448 -0
- package/expertise/backend/node-typescript.md +625 -0
- package/expertise/backend/python-fastapi.md +724 -0
- package/expertise/backend/rust.md +458 -0
- package/expertise/backend/solidity.md +711 -0
- package/expertise/composition-map.yaml +443 -0
- package/expertise/content/foundations/content-modeling.md +395 -0
- package/expertise/content/foundations/editorial-standards.md +449 -0
- package/expertise/content/foundations/index.md +24 -0
- package/expertise/content/foundations/microcopy.md +455 -0
- package/expertise/content/foundations/terminology-governance.md +509 -0
- package/expertise/content/index.md +34 -0
- package/expertise/content/patterns/accessibility-copy.md +518 -0
- package/expertise/content/patterns/index.md +24 -0
- package/expertise/content/patterns/notification-content.md +433 -0
- package/expertise/content/patterns/sample-content.md +486 -0
- package/expertise/content/patterns/state-copy.md +439 -0
- package/expertise/design/PROGRESS.md +58 -0
- package/expertise/design/disciplines/dark-mode-theming.md +577 -0
- package/expertise/design/disciplines/design-systems.md +595 -0
- package/expertise/design/disciplines/index.md +25 -0
- package/expertise/design/disciplines/information-architecture.md +800 -0
- package/expertise/design/disciplines/interaction-design.md +788 -0
- package/expertise/design/disciplines/responsive-design.md +552 -0
- package/expertise/design/disciplines/usability-testing.md +516 -0
- package/expertise/design/disciplines/user-research.md +792 -0
- package/expertise/design/foundations/accessibility-design.md +796 -0
- package/expertise/design/foundations/color-theory.md +797 -0
- package/expertise/design/foundations/iconography.md +795 -0
- package/expertise/design/foundations/index.md +26 -0
- package/expertise/design/foundations/motion-and-animation.md +653 -0
- package/expertise/design/foundations/rtl-design.md +585 -0
- package/expertise/design/foundations/spacing-and-layout.md +607 -0
- package/expertise/design/foundations/typography.md +800 -0
- package/expertise/design/foundations/visual-hierarchy.md +761 -0
- package/expertise/design/index.md +32 -0
- package/expertise/design/patterns/authentication-flows.md +474 -0
- package/expertise/design/patterns/content-consumption.md +789 -0
- package/expertise/design/patterns/data-display.md +618 -0
- package/expertise/design/patterns/e-commerce.md +1494 -0
- package/expertise/design/patterns/feedback-and-states.md +642 -0
- package/expertise/design/patterns/forms-and-input.md +819 -0
- package/expertise/design/patterns/gamification.md +801 -0
- package/expertise/design/patterns/index.md +31 -0
- package/expertise/design/patterns/microinteractions.md +449 -0
- package/expertise/design/patterns/navigation.md +800 -0
- package/expertise/design/patterns/notifications.md +705 -0
- package/expertise/design/patterns/onboarding.md +700 -0
- package/expertise/design/patterns/search-and-filter.md +601 -0
- package/expertise/design/patterns/settings-and-preferences.md +768 -0
- package/expertise/design/patterns/social-and-community.md +748 -0
- package/expertise/design/platforms/desktop-native.md +612 -0
- package/expertise/design/platforms/index.md +25 -0
- package/expertise/design/platforms/mobile-android.md +825 -0
- package/expertise/design/platforms/mobile-cross-platform.md +983 -0
- package/expertise/design/platforms/mobile-ios.md +699 -0
- package/expertise/design/platforms/tablet.md +794 -0
- package/expertise/design/platforms/web-dashboard.md +790 -0
- package/expertise/design/platforms/web-responsive.md +550 -0
- package/expertise/design/psychology/behavioral-nudges.md +449 -0
- package/expertise/design/psychology/cognitive-load.md +1191 -0
- package/expertise/design/psychology/error-psychology.md +778 -0
- package/expertise/design/psychology/index.md +22 -0
- package/expertise/design/psychology/persuasive-design.md +736 -0
- package/expertise/design/psychology/user-mental-models.md +623 -0
- package/expertise/design/tooling/open-pencil.md +266 -0
- package/expertise/frontend/angular.md +1073 -0
- package/expertise/frontend/desktop-electron.md +546 -0
- package/expertise/frontend/flutter.md +782 -0
- package/expertise/frontend/index.md +27 -0
- package/expertise/frontend/native-android.md +409 -0
- package/expertise/frontend/native-ios.md +490 -0
- package/expertise/frontend/react-native.md +1160 -0
- package/expertise/frontend/react.md +808 -0
- package/expertise/frontend/vue.md +1089 -0
- package/expertise/humanize/domain-rules-code.md +79 -0
- package/expertise/humanize/domain-rules-content.md +67 -0
- package/expertise/humanize/domain-rules-technical-docs.md +56 -0
- package/expertise/humanize/index.md +35 -0
- package/expertise/humanize/self-audit-checklist.md +87 -0
- package/expertise/humanize/sentence-patterns.md +218 -0
- package/expertise/humanize/vocabulary-blacklist.md +105 -0
- package/expertise/i18n/PROGRESS.md +65 -0
- package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
- package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
- package/expertise/i18n/advanced/complex-scripts.md +30 -0
- package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
- package/expertise/i18n/advanced/testing-i18n.md +28 -0
- package/expertise/i18n/content/content-adaptation.md +23 -0
- package/expertise/i18n/content/locale-specific-formatting.md +23 -0
- package/expertise/i18n/content/machine-translation-integration.md +28 -0
- package/expertise/i18n/content/translation-management.md +29 -0
- package/expertise/i18n/foundations/date-time-calendars.md +67 -0
- package/expertise/i18n/foundations/i18n-architecture.md +272 -0
- package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
- package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
- package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
- package/expertise/i18n/foundations/string-externalization.md +236 -0
- package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
- package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
- package/expertise/i18n/index.md +38 -0
- package/expertise/i18n/platform/backend-i18n.md +31 -0
- package/expertise/i18n/platform/flutter-i18n.md +148 -0
- package/expertise/i18n/platform/native-android-i18n.md +36 -0
- package/expertise/i18n/platform/native-ios-i18n.md +36 -0
- package/expertise/i18n/platform/react-i18n.md +103 -0
- package/expertise/i18n/platform/web-css-i18n.md +81 -0
- package/expertise/i18n/rtl/arabic-specific.md +175 -0
- package/expertise/i18n/rtl/hebrew-specific.md +149 -0
- package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
- package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
- package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
- package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
- package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
- package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
- package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
- package/expertise/i18n/rtl/rtl-typography.md +160 -0
- package/expertise/index.md +113 -0
- package/expertise/index.yaml +216 -0
- package/expertise/infrastructure/cloud-aws.md +597 -0
- package/expertise/infrastructure/cloud-gcp.md +599 -0
- package/expertise/infrastructure/cybersecurity.md +816 -0
- package/expertise/infrastructure/database-mongodb.md +447 -0
- package/expertise/infrastructure/database-postgres.md +400 -0
- package/expertise/infrastructure/devops-cicd.md +787 -0
- package/expertise/infrastructure/index.md +27 -0
- package/expertise/performance/PROGRESS.md +50 -0
- package/expertise/performance/backend/api-latency.md +1204 -0
- package/expertise/performance/backend/background-jobs.md +506 -0
- package/expertise/performance/backend/connection-pooling.md +1209 -0
- package/expertise/performance/backend/database-query-optimization.md +515 -0
- package/expertise/performance/backend/index.md +23 -0
- package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
- package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
- package/expertise/performance/foundations/caching-strategies.md +489 -0
- package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
- package/expertise/performance/foundations/index.md +24 -0
- package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
- package/expertise/performance/foundations/memory-management.md +964 -0
- package/expertise/performance/foundations/performance-budgets.md +1314 -0
- package/expertise/performance/index.md +31 -0
- package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
- package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
- package/expertise/performance/infrastructure/index.md +22 -0
- package/expertise/performance/infrastructure/load-balancing.md +1081 -0
- package/expertise/performance/infrastructure/observability.md +1079 -0
- package/expertise/performance/mobile/index.md +23 -0
- package/expertise/performance/mobile/mobile-animations.md +544 -0
- package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
- package/expertise/performance/mobile/mobile-network.md +452 -0
- package/expertise/performance/mobile/mobile-rendering.md +599 -0
- package/expertise/performance/mobile/mobile-startup-time.md +505 -0
- package/expertise/performance/platform-specific/flutter-performance.md +647 -0
- package/expertise/performance/platform-specific/index.md +22 -0
- package/expertise/performance/platform-specific/node-performance.md +1307 -0
- package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
- package/expertise/performance/platform-specific/react-performance.md +1403 -0
- package/expertise/performance/web/bundle-optimization.md +1239 -0
- package/expertise/performance/web/image-and-media.md +636 -0
- package/expertise/performance/web/index.md +24 -0
- package/expertise/performance/web/network-optimization.md +1133 -0
- package/expertise/performance/web/rendering-performance.md +1098 -0
- package/expertise/performance/web/ssr-and-hydration.md +918 -0
- package/expertise/performance/web/web-vitals.md +1374 -0
- package/expertise/quality/accessibility.md +985 -0
- package/expertise/quality/evidence-based-verification.md +499 -0
- package/expertise/quality/index.md +24 -0
- package/expertise/quality/ml-model-audit.md +614 -0
- package/expertise/quality/performance.md +600 -0
- package/expertise/quality/testing-api.md +891 -0
- package/expertise/quality/testing-mobile.md +496 -0
- package/expertise/quality/testing-web.md +849 -0
- package/expertise/security/PROGRESS.md +54 -0
- package/expertise/security/agentic-identity.md +540 -0
- package/expertise/security/compliance-frameworks.md +601 -0
- package/expertise/security/data/data-encryption.md +364 -0
- package/expertise/security/data/data-privacy-gdpr.md +692 -0
- package/expertise/security/data/database-security.md +1171 -0
- package/expertise/security/data/index.md +22 -0
- package/expertise/security/data/pii-handling.md +531 -0
- package/expertise/security/foundations/authentication.md +1041 -0
- package/expertise/security/foundations/authorization.md +603 -0
- package/expertise/security/foundations/cryptography.md +1001 -0
- package/expertise/security/foundations/index.md +25 -0
- package/expertise/security/foundations/owasp-top-10.md +1354 -0
- package/expertise/security/foundations/secrets-management.md +1217 -0
- package/expertise/security/foundations/secure-sdlc.md +700 -0
- package/expertise/security/foundations/supply-chain-security.md +698 -0
- package/expertise/security/index.md +31 -0
- package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
- package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
- package/expertise/security/infrastructure/container-security.md +721 -0
- package/expertise/security/infrastructure/incident-response.md +1295 -0
- package/expertise/security/infrastructure/index.md +24 -0
- package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
- package/expertise/security/infrastructure/network-security.md +1337 -0
- package/expertise/security/mobile/index.md +23 -0
- package/expertise/security/mobile/mobile-android-security.md +1218 -0
- package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
- package/expertise/security/mobile/mobile-data-storage.md +1265 -0
- package/expertise/security/mobile/mobile-ios-security.md +1401 -0
- package/expertise/security/mobile/mobile-network-security.md +1520 -0
- package/expertise/security/smart-contract-security.md +594 -0
- package/expertise/security/testing/index.md +22 -0
- package/expertise/security/testing/penetration-testing.md +1258 -0
- package/expertise/security/testing/security-code-review.md +1765 -0
- package/expertise/security/testing/threat-modeling.md +1074 -0
- package/expertise/security/testing/vulnerability-scanning.md +1062 -0
- package/expertise/security/web/api-security.md +586 -0
- package/expertise/security/web/cors-and-headers.md +433 -0
- package/expertise/security/web/csrf.md +562 -0
- package/expertise/security/web/file-upload.md +1477 -0
- package/expertise/security/web/index.md +25 -0
- package/expertise/security/web/injection.md +1375 -0
- package/expertise/security/web/session-management.md +1101 -0
- package/expertise/security/web/xss.md +1158 -0
- package/exports/README.md +17 -0
- package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
- package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
- package/exports/hosts/claude/.claude/agents/designer.md +55 -0
- package/exports/hosts/claude/.claude/agents/executor.md +55 -0
- package/exports/hosts/claude/.claude/agents/learner.md +51 -0
- package/exports/hosts/claude/.claude/agents/planner.md +53 -0
- package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
- package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
- package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
- package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
- package/exports/hosts/claude/.claude/commands/author.md +42 -0
- package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
- package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
- package/exports/hosts/claude/.claude/commands/design.md +44 -0
- package/exports/hosts/claude/.claude/commands/discover.md +37 -0
- package/exports/hosts/claude/.claude/commands/execute.md +48 -0
- package/exports/hosts/claude/.claude/commands/learn.md +38 -0
- package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
- package/exports/hosts/claude/.claude/commands/plan.md +39 -0
- package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
- package/exports/hosts/claude/.claude/commands/review.md +40 -0
- package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
- package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
- package/exports/hosts/claude/.claude/commands/specify.md +38 -0
- package/exports/hosts/claude/.claude/commands/verify.md +37 -0
- package/exports/hosts/claude/.claude/settings.json +34 -0
- package/exports/hosts/claude/CLAUDE.md +19 -0
- package/exports/hosts/claude/export.manifest.json +38 -0
- package/exports/hosts/claude/host-package.json +67 -0
- package/exports/hosts/codex/AGENTS.md +19 -0
- package/exports/hosts/codex/export.manifest.json +38 -0
- package/exports/hosts/codex/host-package.json +41 -0
- package/exports/hosts/cursor/.cursor/hooks.json +16 -0
- package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
- package/exports/hosts/cursor/export.manifest.json +38 -0
- package/exports/hosts/cursor/host-package.json +42 -0
- package/exports/hosts/gemini/GEMINI.md +19 -0
- package/exports/hosts/gemini/export.manifest.json +38 -0
- package/exports/hosts/gemini/host-package.json +41 -0
- package/hooks/README.md +18 -0
- package/hooks/definitions/loop_cap_guard.yaml +21 -0
- package/hooks/definitions/post_tool_capture.yaml +24 -0
- package/hooks/definitions/pre_compact_summary.yaml +19 -0
- package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
- package/hooks/definitions/protected_path_write_guard.yaml +19 -0
- package/hooks/definitions/session_start.yaml +19 -0
- package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
- package/hooks/loop-cap-guard +17 -0
- package/hooks/post-tool-lint +36 -0
- package/hooks/protected-path-write-guard +17 -0
- package/hooks/session-start +41 -0
- package/llms-full.txt +2355 -0
- package/llms.txt +43 -0
- package/package.json +79 -0
- package/roles/README.md +20 -0
- package/roles/clarifier.md +42 -0
- package/roles/content-author.md +63 -0
- package/roles/designer.md +55 -0
- package/roles/executor.md +55 -0
- package/roles/learner.md +51 -0
- package/roles/planner.md +53 -0
- package/roles/researcher.md +43 -0
- package/roles/reviewer.md +54 -0
- package/roles/specifier.md +47 -0
- package/roles/verifier.md +71 -0
- package/schemas/README.md +24 -0
- package/schemas/accepted-learning.schema.json +20 -0
- package/schemas/author-artifact.schema.json +156 -0
- package/schemas/clarification.schema.json +19 -0
- package/schemas/design-artifact.schema.json +80 -0
- package/schemas/docs-claim.schema.json +18 -0
- package/schemas/export-manifest.schema.json +20 -0
- package/schemas/hook.schema.json +67 -0
- package/schemas/host-export-package.schema.json +18 -0
- package/schemas/implementation-plan.schema.json +19 -0
- package/schemas/proposed-learning.schema.json +19 -0
- package/schemas/research.schema.json +18 -0
- package/schemas/review.schema.json +29 -0
- package/schemas/run-manifest.schema.json +18 -0
- package/schemas/spec-challenge.schema.json +18 -0
- package/schemas/spec.schema.json +20 -0
- package/schemas/usage.schema.json +102 -0
- package/schemas/verification-proof.schema.json +29 -0
- package/schemas/wazir-manifest.schema.json +173 -0
- package/skills/README.md +40 -0
- package/skills/brainstorming/SKILL.md +77 -0
- package/skills/debugging/SKILL.md +50 -0
- package/skills/design/SKILL.md +61 -0
- package/skills/dispatching-parallel-agents/SKILL.md +128 -0
- package/skills/executing-plans/SKILL.md +70 -0
- package/skills/finishing-a-development-branch/SKILL.md +169 -0
- package/skills/humanize/SKILL.md +123 -0
- package/skills/init-pipeline/SKILL.md +124 -0
- package/skills/prepare-next/SKILL.md +20 -0
- package/skills/receiving-code-review/SKILL.md +123 -0
- package/skills/requesting-code-review/SKILL.md +105 -0
- package/skills/requesting-code-review/code-reviewer.md +108 -0
- package/skills/run-audit/SKILL.md +197 -0
- package/skills/scan-project/SKILL.md +41 -0
- package/skills/self-audit/SKILL.md +153 -0
- package/skills/subagent-driven-development/SKILL.md +154 -0
- package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
- package/skills/subagent-driven-development/implementer-prompt.md +102 -0
- package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
- package/skills/tdd/SKILL.md +23 -0
- package/skills/using-git-worktrees/SKILL.md +163 -0
- package/skills/using-skills/SKILL.md +95 -0
- package/skills/verification/SKILL.md +22 -0
- package/skills/wazir/SKILL.md +463 -0
- package/skills/writing-plans/SKILL.md +30 -0
- package/skills/writing-skills/SKILL.md +157 -0
- package/skills/writing-skills/anthropic-best-practices.md +122 -0
- package/skills/writing-skills/persuasion-principles.md +50 -0
- package/templates/README.md +20 -0
- package/templates/artifacts/README.md +10 -0
- package/templates/artifacts/accepted-learning.md +19 -0
- package/templates/artifacts/accepted-learning.template.json +12 -0
- package/templates/artifacts/author.md +74 -0
- package/templates/artifacts/author.template.json +19 -0
- package/templates/artifacts/clarification.md +21 -0
- package/templates/artifacts/clarification.template.json +12 -0
- package/templates/artifacts/execute-notes.md +19 -0
- package/templates/artifacts/implementation-plan.md +21 -0
- package/templates/artifacts/implementation-plan.template.json +11 -0
- package/templates/artifacts/learning-proposal.md +19 -0
- package/templates/artifacts/next-run-handoff.md +21 -0
- package/templates/artifacts/plan-review.md +19 -0
- package/templates/artifacts/proposed-learning.template.json +12 -0
- package/templates/artifacts/research.md +21 -0
- package/templates/artifacts/research.template.json +12 -0
- package/templates/artifacts/review-findings.md +19 -0
- package/templates/artifacts/review.template.json +11 -0
- package/templates/artifacts/run-manifest.template.json +8 -0
- package/templates/artifacts/spec-challenge.md +19 -0
- package/templates/artifacts/spec-challenge.template.json +11 -0
- package/templates/artifacts/spec.md +21 -0
- package/templates/artifacts/spec.template.json +12 -0
- package/templates/artifacts/verification-proof.md +19 -0
- package/templates/artifacts/verification-proof.template.json +11 -0
- package/templates/examples/accepted-learning.example.json +14 -0
- package/templates/examples/author.example.json +152 -0
- package/templates/examples/clarification.example.json +15 -0
- package/templates/examples/docs-claim.example.json +8 -0
- package/templates/examples/export-manifest.example.json +7 -0
- package/templates/examples/host-export-package.example.json +11 -0
- package/templates/examples/implementation-plan.example.json +17 -0
- package/templates/examples/proposed-learning.example.json +13 -0
- package/templates/examples/research.example.json +15 -0
- package/templates/examples/research.example.md +6 -0
- package/templates/examples/review.example.json +17 -0
- package/templates/examples/run-manifest.example.json +9 -0
- package/templates/examples/spec-challenge.example.json +14 -0
- package/templates/examples/spec.example.json +21 -0
- package/templates/examples/verification-proof.example.json +21 -0
- package/templates/examples/wazir-manifest.example.yaml +65 -0
- package/templates/task-definition-schema.md +99 -0
- package/tooling/README.md +20 -0
- package/tooling/src/adapters/context-mode.js +50 -0
- package/tooling/src/capture/command.js +376 -0
- package/tooling/src/capture/store.js +99 -0
- package/tooling/src/capture/usage.js +270 -0
- package/tooling/src/checks/branches.js +50 -0
- package/tooling/src/checks/brand-truth.js +110 -0
- package/tooling/src/checks/changelog.js +231 -0
- package/tooling/src/checks/command-registry.js +36 -0
- package/tooling/src/checks/commits.js +102 -0
- package/tooling/src/checks/docs-drift.js +103 -0
- package/tooling/src/checks/docs-truth.js +201 -0
- package/tooling/src/checks/runtime-surface.js +156 -0
- package/tooling/src/cli.js +116 -0
- package/tooling/src/command-options.js +56 -0
- package/tooling/src/commands/validate.js +320 -0
- package/tooling/src/doctor/command.js +91 -0
- package/tooling/src/export/command.js +77 -0
- package/tooling/src/export/compiler.js +498 -0
- package/tooling/src/guards/loop-cap-guard.js +52 -0
- package/tooling/src/guards/protected-path-write-guard.js +67 -0
- package/tooling/src/index/command.js +152 -0
- package/tooling/src/index/storage.js +1061 -0
- package/tooling/src/index/summarizers.js +261 -0
- package/tooling/src/loaders.js +18 -0
- package/tooling/src/project-root.js +22 -0
- package/tooling/src/recall/command.js +225 -0
- package/tooling/src/schema-validator.js +30 -0
- package/tooling/src/state-root.js +40 -0
- package/tooling/src/status/command.js +71 -0
- package/wazir.manifest.yaml +135 -0
- package/workflows/README.md +19 -0
- package/workflows/author.md +42 -0
- package/workflows/clarify.md +38 -0
- package/workflows/design-review.md +46 -0
- package/workflows/design.md +44 -0
- package/workflows/discover.md +37 -0
- package/workflows/execute.md +48 -0
- package/workflows/learn.md +38 -0
- package/workflows/plan-review.md +42 -0
- package/workflows/plan.md +39 -0
- package/workflows/prepare-next.md +37 -0
- package/workflows/review.md +40 -0
- package/workflows/run-audit.md +41 -0
- package/workflows/spec-challenge.md +41 -0
- package/workflows/specify.md +38 -0
- package/workflows/verify.md +37 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# prepare-next
|
|
2
|
+
|
|
3
|
+
**Phase 14 — Close the current run cleanly so the next one starts from truth, not stale context.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## One-Line Purpose
|
|
12
|
+
|
|
13
|
+
Produce an explicit, scoped handoff artifact for the next run or next execution slice — capturing exactly what was done, what remains, what was learned, and what context is safe to carry forward — so that nothing stale, ambiguous, or unapproved silently poisons the next session.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Pipeline Position
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
LEARN
|
|
21
|
+
│
|
|
22
|
+
▼
|
|
23
|
+
┌──────────────┐
|
|
24
|
+
│ PREPARE-NEXT │ ◄── YOU ARE HERE
|
|
25
|
+
└──────────────┘
|
|
26
|
+
│
|
|
27
|
+
▼
|
|
28
|
+
NEXT RUN (or session end)
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
## Role Responsible
|
|
34
|
+
|
|
35
|
+
`planner`
|
|
36
|
+
|
|
37
|
+
The planner who closes a run is often the same role that will open the next one. But the job here is not planning — it is handoff. The planner summarizes what is true now, what is open, and what the next session needs to know. Nothing is assumed. Nothing is carried forward silently.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Trigger
|
|
42
|
+
|
|
43
|
+
One of:
|
|
44
|
+
|
|
45
|
+
1. **Full completion** — All 14 phases are done, review is accepted, learnings are proposed. Prepare the next feature's starting point.
|
|
46
|
+
2. **Partial completion** — The session is ending before the pipeline finishes. Prepare a mid-pipeline handoff so the next session can resume.
|
|
47
|
+
3. **Slice boundary** — The approved plan is being executed in multiple slices. Prepare the handoff between slices.
|
|
48
|
+
|
|
49
|
+
`prepare-next` must run before any session end where the pipeline is incomplete. It is not optional.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Steps
|
|
54
|
+
|
|
55
|
+
1. **Summarize what was completed.** List every task, phase, or acceptance criterion that reached a verified, accepted state in this run.
|
|
56
|
+
|
|
57
|
+
2. **Summarize what remains.** List every task, phase, or acceptance criterion that is open, blocked, or unstarted.
|
|
58
|
+
|
|
59
|
+
3. **Capture the current artifact state.** What is the state of each artifact (spec, plan, verification proof, etc.)? Is it final, draft, or superseded?
|
|
60
|
+
|
|
61
|
+
4. **Identify context that is safe to carry forward.** Which facts, decisions, and constraints remain valid for the next run? Explicitly name them.
|
|
62
|
+
|
|
63
|
+
5. **Identify context that is NOT safe to carry forward.** Which assumptions have been proven wrong? Which constraints have changed? Which artifacts are now stale?
|
|
64
|
+
|
|
65
|
+
6. **Include accepted learnings (only).** If any proposed learnings from the `learn` phase were accepted by the operator in this session, include them in the handoff. Proposed-but-unreviewed learnings must not be included.
|
|
66
|
+
|
|
67
|
+
7. **Produce the handoff artifact.** One document. Completion summary, open items, artifact state, safe context, unsafe context, accepted learnings.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Input Artifacts
|
|
72
|
+
|
|
73
|
+
| Artifact | Location | Required |
|
|
74
|
+
|----------|----------|----------|
|
|
75
|
+
| Current run summary | Run state | Yes |
|
|
76
|
+
| Accepted learnings | Run state | Only if any were accepted |
|
|
77
|
+
| All current run artifacts | Run state | Yes (to assess artifact state) |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Output Artifacts
|
|
82
|
+
|
|
83
|
+
| Artifact | Description |
|
|
84
|
+
|----------|-------------|
|
|
85
|
+
| Next-step handoff | Full handoff document: what's done, what's open, artifact state, context |
|
|
86
|
+
| Scoped context summary | Distilled facts safe to carry into the next session |
|
|
87
|
+
|
|
88
|
+
---
|
|
89
|
+
|
|
90
|
+
## Approval Gate
|
|
91
|
+
|
|
92
|
+
> [!NOTE]
|
|
93
|
+
> There is no hard approval gate for `prepare-next` itself. However:
|
|
94
|
+
|
|
95
|
+
> [!IMPORTANT]
|
|
96
|
+
> **No implicit carry-forward of unapproved learnings.** If a proposed learning was not explicitly reviewed and accepted by the operator in this session, it must not appear in the handoff artifact. Carrying forward unreviewed learnings causes context drift — future sessions act on unvalidated observations as though they were established facts.
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Example Run
|
|
101
|
+
|
|
102
|
+
**Scenario:** Dark mode feature partially complete. AC-1 through AC-5 verified. AC-6 regression test found a conflict with the admin panel CSS that was not caught in-scope. Session ending.
|
|
103
|
+
|
|
104
|
+
**Handoff artifact produced:**
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
## Completion Summary
|
|
108
|
+
AC-1: VERIFIED ✓ (DashboardLayout.integration.test.tsx)
|
|
109
|
+
AC-2: VERIFIED ✓ (DarkModeToggle.test.tsx)
|
|
110
|
+
AC-3: VERIFIED ✓ (useDarkMode.test.ts)
|
|
111
|
+
AC-4: VERIFIED ✓ (DarkModeToggle 768px snapshot)
|
|
112
|
+
AC-5: VERIFIED ✓ (useDarkMode.test.ts)
|
|
113
|
+
AC-6: BLOCKED — see open items
|
|
114
|
+
|
|
115
|
+
## Open Items
|
|
116
|
+
AC-6: tokens.css [data-theme="dark"] selector is leaking into /admin routes
|
|
117
|
+
because AdminLayout.tsx imports from the same tokens.css. Requires a scoping
|
|
118
|
+
fix (either namespace the dark tokens or exclude admin from the data-theme
|
|
119
|
+
attribute application).
|
|
120
|
+
Blocker introduced: Review Finding 1 (tokens.css selector placement).
|
|
121
|
+
|
|
122
|
+
## Artifact State
|
|
123
|
+
spec.md: FINAL (approved, challenge resolved)
|
|
124
|
+
plan.md: FINAL (approved, review passed)
|
|
125
|
+
verification-proof.md: PARTIAL (AC-1–5 verified; AC-6 blocked)
|
|
126
|
+
review-findings.md: ACTIVE (Finding 1 blocking; Finding 2–3 advisory)
|
|
127
|
+
learnings/proposed/: 3 proposed artifacts (none accepted this session)
|
|
128
|
+
|
|
129
|
+
## Context Safe to Carry Forward
|
|
130
|
+
- useLocalStorage hook is the established persistence pattern (src/hooks/useLocalStorage.ts)
|
|
131
|
+
- [data-theme] attribute approach is confirmed working for /dashboard
|
|
132
|
+
- Dark palette tokens are defined and in use (tokens.json)
|
|
133
|
+
- Current branch: feature/dark-mode-dashboard
|
|
134
|
+
|
|
135
|
+
## Context NOT Safe to Carry Forward
|
|
136
|
+
- Assumption A-3 ("dark mode does not affect /admin") is now invalidated —
|
|
137
|
+
the token scoping issue proves /admin is affected. Spec A-3 must be updated.
|
|
138
|
+
|
|
139
|
+
## Accepted Learnings
|
|
140
|
+
None accepted this session. 3 proposed learnings in run state (pending review).
|
|
141
|
+
|
|
142
|
+
## Next Session Entry Point
|
|
143
|
+
Enter at EXECUTE — resume at AC-6 fix.
|
|
144
|
+
Required: load plan.md (Task 1 fix: scope tokens.css selector) and
|
|
145
|
+
review-findings.md (Finding 1).
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Common Mistakes
|
|
151
|
+
|
|
152
|
+
| Mistake | Impact | Prevention |
|
|
153
|
+
|---------|--------|------------|
|
|
154
|
+
| Skipping prepare-next at session end | Next session inherits stale context and must re-discover state | Always run prepare-next before session end if the pipeline is open |
|
|
155
|
+
| Carrying forward proposed (unreviewed) learnings | Future sessions treat hypotheses as facts | Only accepted learnings appear in the handoff |
|
|
156
|
+
| Vague "what remains" section | Next session wastes time re-discovering open items | Name each open AC, task, or blocker explicitly |
|
|
157
|
+
| Not invalidating stale assumptions | Next session operates on disproved context | Explicitly list context that is NOT safe to carry forward |
|
|
158
|
+
| Treating handoff as a narrative summary | Next session has to parse prose to recover structured state | Handoff must be structured: completion status, open items, artifact state |
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Related
|
|
163
|
+
|
|
164
|
+
- [Overview — All Workflows](README.md)
|
|
165
|
+
- [Previous: learn](learn.md)
|
|
166
|
+
- [First phase of next run: clarify](clarify.md)
|
|
167
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
# review
|
|
2
|
+
|
|
3
|
+
**Phase 12 — The adversarial post-implementation review that stands between your code and completion.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## One-Line Purpose
|
|
13
|
+
|
|
14
|
+
Run a hard adversarial review of the changed implementation and its evidence — checking correctness against spec, design alignment, verification quality, and code integrity — before declaring the work done.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Pipeline Position
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
VERIFY
|
|
22
|
+
│
|
|
23
|
+
▼
|
|
24
|
+
┌────────┐
|
|
25
|
+
│ REVIEW │ ◄── YOU ARE HERE
|
|
26
|
+
└────────┘
|
|
27
|
+
│
|
|
28
|
+
▼
|
|
29
|
+
LEARN ★ gate (blocking findings stop completion)
|
|
30
|
+
│
|
|
31
|
+
▼
|
|
32
|
+
PREPARE-NEXT ...
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Role Responsible
|
|
38
|
+
|
|
39
|
+
`reviewer`
|
|
40
|
+
|
|
41
|
+
This is the fourth structural adversarial checkpoint in the pipeline. The reviewer examines the full evidence set — changed files, verification proof, spec, plan, and design artifact — and produces findings. The reviewer's job is not to be satisfied with good intentions; it is to be satisfied with evidence.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Trigger
|
|
46
|
+
|
|
47
|
+
All of the following are true:
|
|
48
|
+
|
|
49
|
+
- Execution batch(es) are complete
|
|
50
|
+
- Verification proof artifact is fresh (produced against current branch state)
|
|
51
|
+
- All upstream artifacts are available (spec, plan, design artifact if applicable)
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Steps
|
|
56
|
+
|
|
57
|
+
1. **Load all review inputs.** Changed files, verification proof, approved spec, approved plan, and design artifact (if the design phase ran).
|
|
58
|
+
|
|
59
|
+
2. **Verify the proof is fresh.** Confirm the verification proof was produced against the current branch state. If the proof is stale, stop and require fresh proof before continuing.
|
|
60
|
+
|
|
61
|
+
3. **Review changed files against the spec.** For each acceptance criterion, confirm that the changed code satisfies it — not just that a test claims it does. Read the relevant code.
|
|
62
|
+
|
|
63
|
+
4. **Review changed files against the plan.** Was execution faithful to the plan? Any task that was deviated from, skipped, or silently substituted is a finding.
|
|
64
|
+
|
|
65
|
+
5. **Review for design-implementation alignment (when design phase ran).** Compare the implemented UI against the design artifact screenshots and exported scaffolds. Visual drift from the design that is not documented in execution notes is a finding.
|
|
66
|
+
|
|
67
|
+
6. **Review the verification proof for completeness.** Does every AC have mapped proof? Is any AC "assumed passing" without evidence? Incomplete proof is itself a finding.
|
|
68
|
+
|
|
69
|
+
7. **Review code quality within scope.** The review is not a free-form code audit — focus on correctness, safety, and spec compliance. Note structural issues as advisory findings.
|
|
70
|
+
|
|
71
|
+
8. **Produce findings with severity.** Each finding must include:
|
|
72
|
+
- Severity: `blocking` (completion cannot proceed) or `advisory` (proceed with awareness)
|
|
73
|
+
- Which AC, task, or code change it applies to
|
|
74
|
+
- Specific file, line, or evidence reference
|
|
75
|
+
- Required resolution
|
|
76
|
+
|
|
77
|
+
9. **Issue a verdict.** No-findings verdict if all checks pass. Blocking verdict if any blocking finding exists.
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Input Artifacts
|
|
82
|
+
|
|
83
|
+
| Artifact | Location | Required |
|
|
84
|
+
|----------|----------|----------|
|
|
85
|
+
| Changed files | Repo (working branch) | Yes |
|
|
86
|
+
| Verification proof artifact | Run state | Yes |
|
|
87
|
+
| Approved spec artifact | Run state | Yes |
|
|
88
|
+
| Approved plan artifact | Run state | Yes |
|
|
89
|
+
| Design artifact | Run state | Required if design phase ran |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Output Artifacts
|
|
94
|
+
|
|
95
|
+
| Artifact | Description |
|
|
96
|
+
|----------|-------------|
|
|
97
|
+
| Review findings | Structured findings with severity, evidence reference, and resolution |
|
|
98
|
+
| No-findings verdict | Explicit statement that all checks passed (if applicable) |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Approval Gate
|
|
103
|
+
|
|
104
|
+
> [!IMPORTANT]
|
|
105
|
+
> **Unresolved blocking findings must stop completion.** Work cannot be declared done while blocking findings remain open. Advisory findings may be acknowledged and carried forward (as candidates for the `learn` phase or future work).
|
|
106
|
+
|
|
107
|
+
If blocking findings require code changes, the executor must address them, a new verification proof must be produced, and review re-runs for the affected areas.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Example Run
|
|
112
|
+
|
|
113
|
+
**Review inputs:**
|
|
114
|
+
- 147/147 tests passing (verification proof)
|
|
115
|
+
- Changed files: tokens.css, useDarkMode.ts, DarkModeToggle.tsx, DashboardLayout.tsx
|
|
116
|
+
- Design screenshots: dashboard-dark-desktop.png, dashboard-dark-mobile-768.png
|
|
117
|
+
|
|
118
|
+
**Review findings:**
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
## Finding 1 — BLOCKING
|
|
122
|
+
AC-6 (no existing light mode styles broken) has a passing test suite, but
|
|
123
|
+
tokens.css review reveals that the [data-theme="dark"] block was added
|
|
124
|
+
inside the @media (prefers-color-scheme: dark) query rather than as a
|
|
125
|
+
standalone data attribute selector. This means dark mode only activates when
|
|
126
|
+
the OS-level setting is also dark — it will not respond to the toggle alone.
|
|
127
|
+
File: src/styles/tokens.css:48–72
|
|
128
|
+
Resolution: Move [data-theme="dark"] block outside the @media query.
|
|
129
|
+
Re-run verification after fix.
|
|
130
|
+
|
|
131
|
+
## Finding 2 — ADVISORY
|
|
132
|
+
DarkModeToggle.tsx does not implement the aria-pressed attribute on the
|
|
133
|
+
toggle button. Screen readers cannot convey toggle state to visually
|
|
134
|
+
impaired users. This does not block a spec AC (accessibility standard was
|
|
135
|
+
marked advisory in design-review) but should be addressed before shipping.
|
|
136
|
+
File: src/components/DarkModeToggle.tsx:22
|
|
137
|
+
Resolution: Add aria-pressed={isDark} to the button element.
|
|
138
|
+
|
|
139
|
+
## Finding 3 — ADVISORY
|
|
140
|
+
Execution notes for Task 5 (regression check) list `npm test` as the
|
|
141
|
+
verification command but do not include the captured output in the notes.
|
|
142
|
+
The verification proof artifact does include the output — this is a
|
|
143
|
+
documentation gap, not a proof gap.
|
|
144
|
+
Resolution: Note for future runs: execution notes should echo test output,
|
|
145
|
+
not just state the command.
|
|
146
|
+
|
|
147
|
+
## Verdict: BLOCKING — fix required before completion.
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
---
|
|
151
|
+
|
|
152
|
+
## Common Mistakes
|
|
153
|
+
|
|
154
|
+
| Mistake | Impact | Prevention |
|
|
155
|
+
|---------|--------|------------|
|
|
156
|
+
| Accepting stale verification proof | Review is validating a different state than what will ship | Always check proof timestamp and branch against current state |
|
|
157
|
+
| Skipping design-implementation alignment check | Design drift ships silently | When a design artifact exists, compare screenshots to running implementation |
|
|
158
|
+
| Vague findings without file/line citations | Executor cannot action the finding | Every finding needs a specific file reference or evidence anchor |
|
|
159
|
+
| Reviewing code style outside AC scope | Findings noise drowns real issues | Keep blocking findings to spec correctness, proof gaps, and safety issues |
|
|
160
|
+
| Issuing a no-findings verdict too quickly | Defects reach completion | Take the time the review requires; a slow review that catches a bug is better than a fast one that misses it |
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Related
|
|
165
|
+
|
|
166
|
+
- [Overview — All Workflows](README.md)
|
|
167
|
+
- [Previous: verify](verify.md)
|
|
168
|
+
- [Next: learn](learn.md)
|
|
169
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# run-audit
|
|
2
|
+
|
|
3
|
+
**Out-of-band — Structured codebase auditing that produces source-backed findings, not opinions.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## One-Line Purpose
|
|
12
|
+
|
|
13
|
+
Perform a structured, source-backed audit of the codebase, a branch, or scoped paths — producing findings with severity, evidence, citations, and remediation — in either report mode (immediate deliverable) or plan mode (feeds the `plan` phase).
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Pipeline Position
|
|
18
|
+
|
|
19
|
+
`run-audit` is an independent workflow. It does not require prior pipeline state and can be triggered at any time.
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
(any point)
|
|
23
|
+
│
|
|
24
|
+
▼
|
|
25
|
+
┌───────────┐
|
|
26
|
+
│ RUN-AUDIT │ ◄── INDEPENDENT ENTRY POINT
|
|
27
|
+
└───────────┘
|
|
28
|
+
│
|
|
29
|
+
├─── report mode ──► Audit report artifact (deliverable)
|
|
30
|
+
│
|
|
31
|
+
└─── plan mode ───► docs/plans/<audit-name>.md
|
|
32
|
+
│
|
|
33
|
+
▼
|
|
34
|
+
PLAN workflow (standard pipeline entry)
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Role Responsible
|
|
40
|
+
|
|
41
|
+
`researcher` (composed with audit-specific expertise from `audit-*` concern modules)
|
|
42
|
+
|
|
43
|
+
The researcher role is used because auditing is fundamentally investigative work: collect evidence, assess against standards, cite sources, produce structured findings. The researcher does not implement fixes — it finds and documents.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Trigger
|
|
48
|
+
|
|
49
|
+
One of:
|
|
50
|
+
- Operator requests a security, code-quality, architecture, performance, or dependency audit
|
|
51
|
+
- A scheduled or milestone-triggered audit runs on a branch or scope
|
|
52
|
+
- A custom audit scope is defined (specific paths, specific concerns)
|
|
53
|
+
|
|
54
|
+
No prior pipeline run state is required.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Steps
|
|
59
|
+
|
|
60
|
+
1. **Receive audit parameters.** Three inputs define the audit:
|
|
61
|
+
- **Audit type**: `security`, `code-quality`, `architecture`, `performance`, `dependencies`, or `custom`
|
|
62
|
+
- **Audit scope**: `whole-project`, `branch` (diff only), or `paths` (explicit file list)
|
|
63
|
+
- **Output mode**: `report` (produce findings artifact) or `plan` (produce approved design doc in `docs/plans/`)
|
|
64
|
+
|
|
65
|
+
2. **Load audit-specific expertise modules.** The relevant `audit-*` expertise modules are composed into the researcher context for the declared audit type.
|
|
66
|
+
|
|
67
|
+
3. **Enumerate all files within scope.** Skipping any file within the declared scope is a failure condition. Every file must be examined.
|
|
68
|
+
|
|
69
|
+
4. **Produce findings.** For each issue found:
|
|
70
|
+
- Assign a severity: `critical`, `high`, `medium`, `low`, `info`
|
|
71
|
+
- Cite evidence: file path, line number, code snippet
|
|
72
|
+
- Justify the severity rating
|
|
73
|
+
- Provide a specific remediation recommendation
|
|
74
|
+
|
|
75
|
+
5. **Produce the output artifact.**
|
|
76
|
+
- **Report mode**: Structured audit report with artifact metadata (title, date, scope, audit type, findings table, executive summary)
|
|
77
|
+
- **Plan mode**: Approved design doc in `docs/plans/<name>.md` formatted for `wz:writing-plans` handoff into the `plan` workflow
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Input Artifacts
|
|
82
|
+
|
|
83
|
+
| Artifact | Description | Required |
|
|
84
|
+
|----------|-------------|----------|
|
|
85
|
+
| Audit type | One of the defined audit types | Yes |
|
|
86
|
+
| Audit scope | Scope definition (whole-project / branch / paths) | Yes |
|
|
87
|
+
| Output mode | `report` or `plan` | Yes |
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Output Artifacts
|
|
92
|
+
|
|
93
|
+
| Mode | Artifact | Description |
|
|
94
|
+
|------|----------|-------------|
|
|
95
|
+
| Report | Audit report artifact | Structured findings with severity, evidence, citations, remediation |
|
|
96
|
+
| Plan | `docs/plans/<name>.md` | Design doc ready for `plan` workflow handoff |
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Approval Gate
|
|
101
|
+
|
|
102
|
+
> [!IMPORTANT]
|
|
103
|
+
> **No finding without source-backed evidence.** Every finding must include a file path, line number, code snippet, and citation. Assertions without evidence are not findings.
|
|
104
|
+
>
|
|
105
|
+
> **No severity rating without justification.** Every severity assignment must state why the finding warrants that severity level. "High because it is a security issue" is not a justification — the specific threat model or impact must be stated.
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## Audit Types
|
|
110
|
+
|
|
111
|
+
| Type | What is examined | Expertise modules applied |
|
|
112
|
+
|------|-----------------|--------------------------|
|
|
113
|
+
| `security` | Auth, input validation, secrets exposure, dependency vulns | `audit-security` |
|
|
114
|
+
| `code-quality` | Complexity, dead code, test coverage, naming | `audit-code-quality` |
|
|
115
|
+
| `architecture` | Layer separation, coupling, dependency flow, patterns | `audit-architecture` |
|
|
116
|
+
| `performance` | Algorithmic complexity, N+1s, bundle size, caching | `audit-performance` |
|
|
117
|
+
| `dependencies` | Outdated packages, license compliance, vulnerability flags | `audit-dependencies` |
|
|
118
|
+
| `custom` | Operator-defined concern list | Operator-specified modules |
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Example Run
|
|
123
|
+
|
|
124
|
+
**Audit request:**
|
|
125
|
+
```
|
|
126
|
+
Type: security
|
|
127
|
+
Scope: whole-project
|
|
128
|
+
Mode: report
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Audit report (abbreviated):**
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
# Security Audit — Wazir Dashboard
|
|
135
|
+
Date: 2026-03-13
|
|
136
|
+
Scope: whole-project
|
|
137
|
+
Auditor: researcher (audit-security expertise)
|
|
138
|
+
|
|
139
|
+
## Executive Summary
|
|
140
|
+
3 findings: 1 high, 1 medium, 1 low. No critical issues.
|
|
141
|
+
Primary concern: localStorage used for session token storage.
|
|
142
|
+
|
|
143
|
+
## Findings
|
|
144
|
+
|
|
145
|
+
### F-001 — HIGH
|
|
146
|
+
Title: Session token stored in localStorage
|
|
147
|
+
File: src/hooks/useAuth.ts:34
|
|
148
|
+
Snippet: localStorage.setItem('session_token', token)
|
|
149
|
+
Evidence: localStorage is accessible to any JavaScript running on the page,
|
|
150
|
+
making stored tokens vulnerable to XSS attacks.
|
|
151
|
+
Citation: OWASP Web Storage Security, §3.2
|
|
152
|
+
Severity justification: XSS + localStorage token = full session hijack.
|
|
153
|
+
Remediation: Use httpOnly cookies for session tokens. Remove localStorage
|
|
154
|
+
storage of any credential material.
|
|
155
|
+
|
|
156
|
+
### F-002 — MEDIUM
|
|
157
|
+
Title: No Content-Security-Policy header configured
|
|
158
|
+
File: src/server/middleware.ts (absent)
|
|
159
|
+
Evidence: No CSP middleware found in codebase search.
|
|
160
|
+
Citation: OWASP CSP Cheat Sheet
|
|
161
|
+
Severity justification: Absence of CSP increases XSS blast radius.
|
|
162
|
+
Remediation: Add CSP middleware with strict-dynamic policy.
|
|
163
|
+
|
|
164
|
+
### F-003 — LOW
|
|
165
|
+
Title: .env.example contains non-example credentials
|
|
166
|
+
File: .env.example:7
|
|
167
|
+
Snippet: STRIPE_SECRET_KEY=sk_test_4eC39Hq...
|
|
168
|
+
Evidence: Key prefix sk_test_ indicates a real (test-mode) Stripe key.
|
|
169
|
+
Severity justification: Test keys can make real API calls in test mode.
|
|
170
|
+
Remediation: Replace with placeholder: STRIPE_SECRET_KEY=<your-stripe-secret-key>
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Common Mistakes
|
|
176
|
+
|
|
177
|
+
| Mistake | Impact | Prevention |
|
|
178
|
+
|---------|--------|------------|
|
|
179
|
+
| Producing findings without file/line citations | Finding cannot be actioned or verified | Every finding must have a specific file path and line number |
|
|
180
|
+
| Assigning severity without justification | Severity is noise; remediation prioritization fails | State the threat model or impact that drives the severity |
|
|
181
|
+
| Skipping files within declared scope | Audit coverage is incomplete; findings are not exhaustive | Enumerate every in-scope file before beginning; confirm all were examined |
|
|
182
|
+
| Producing superficial findings ("add tests") | Report is not actionable | Findings must be specific enough to generate a concrete remediation task |
|
|
183
|
+
| Using plan mode without knowing the plan workflow | Design doc format is wrong; plan phase cannot consume it | Review `plan` workflow and `wz:writing-plans` skill before selecting plan mode |
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Related
|
|
188
|
+
|
|
189
|
+
- [Overview — All Workflows](README.md)
|
|
190
|
+
- [Pipeline entry via plan mode: plan](plan.md)
|
|
191
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# spec-challenge
|
|
2
|
+
|
|
3
|
+
**Phase 4 — Adversarial review of the spec before a single line of design or code is written.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## One-Line Purpose
|
|
13
|
+
|
|
14
|
+
Stress-test the draft spec for contradictions, silent omissions, untestable criteria, and fake completeness — before design, planning, or implementation locks in the spec's mistakes.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Pipeline Position
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
SPECIFY
|
|
22
|
+
│
|
|
23
|
+
▼
|
|
24
|
+
┌───────────────┐
|
|
25
|
+
│ SPEC-CHALLENGE│ ◄── YOU ARE HERE
|
|
26
|
+
└───────────────┘
|
|
27
|
+
│
|
|
28
|
+
▼
|
|
29
|
+
DESIGN ★ gate (findings must be resolved first)
|
|
30
|
+
│
|
|
31
|
+
▼
|
|
32
|
+
PLAN ...
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Role Responsible
|
|
38
|
+
|
|
39
|
+
`reviewer`
|
|
40
|
+
|
|
41
|
+
The reviewer is structurally independent from the specifier. This is the mechanism: the person who challenges the spec did not write it. The reviewer's job is to find every crack in the spec before it costs the project a full design-plan-execute cycle to discover.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Trigger
|
|
46
|
+
|
|
47
|
+
A draft spec artifact exists in run state. The spec has not yet been handed to the designer or planner. `spec-challenge` runs immediately after `specify` completes.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Steps
|
|
52
|
+
|
|
53
|
+
1. **Load the spec artifact and research artifact.** The research artifact is the ground truth. The spec must be consistent with it.
|
|
54
|
+
|
|
55
|
+
2. **Check each acceptance criterion for testability.** Can every AC be confirmed true or false with a concrete, reproducible action? Flag any AC that relies on subjective judgment, undefined thresholds, or out-of-scope dependencies.
|
|
56
|
+
|
|
57
|
+
3. **Check for contradictions.** Do any acceptance criteria contradict each other? Does any AC contradict an assumption? Does any assumption contradict a research finding?
|
|
58
|
+
|
|
59
|
+
4. **Check for silent omissions.** What does the spec not address that the research suggests it should? What edge cases are conspicuously absent?
|
|
60
|
+
|
|
61
|
+
5. **Check for fake completeness.** Does the spec appear thorough but actually defer all the hard decisions to the planner? Planners should receive a spec that is specific, not one that requires them to re-invent the requirements.
|
|
62
|
+
|
|
63
|
+
6. **Check non-goals for correctness.** Are non-goals genuinely out of scope, or are they requirements being silently dropped?
|
|
64
|
+
|
|
65
|
+
7. **Produce the challenge findings.** Each finding must include:
|
|
66
|
+
- Severity: `blocking` (spec cannot proceed) or `advisory` (proceed with awareness)
|
|
67
|
+
- Which AC, assumption, or section it applies to
|
|
68
|
+
- What the problem is
|
|
69
|
+
- What resolution is required
|
|
70
|
+
|
|
71
|
+
8. **Issue a verdict.** Either: all findings are advisory and spec can proceed with acknowledgement; or: one or more blocking findings require spec revision before progression.
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Input Artifacts
|
|
76
|
+
|
|
77
|
+
| Artifact | Location | Required |
|
|
78
|
+
|----------|----------|----------|
|
|
79
|
+
| Draft spec artifact | Run state | Yes |
|
|
80
|
+
| Research artifact | Run state | Yes |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Output Artifacts
|
|
85
|
+
|
|
86
|
+
| Artifact | Description |
|
|
87
|
+
|----------|-------------|
|
|
88
|
+
| Spec challenge findings | Structured list of findings with severity, location, and required resolution |
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Approval Gate
|
|
93
|
+
|
|
94
|
+
> [!IMPORTANT]
|
|
95
|
+
> **The spec cannot be treated as approved until all blocking challenge findings are resolved or explicitly accepted by the operator.** Advisory findings may proceed with acknowledgement. A rubber-stamp review — one that generates no findings at all — is itself a failure mode. Every spec has something worth questioning.
|
|
96
|
+
|
|
97
|
+
If blocking findings require spec revision, the specifier must update the spec artifact and re-submit for challenge. This loop may iterate.
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## Example Run
|
|
102
|
+
|
|
103
|
+
**Spec under challenge (abbreviated):**
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
AC-3: The dark mode preference survives a page reload.
|
|
107
|
+
AC-4: At 768px viewport width, the toggle is accessible and the dark scheme
|
|
108
|
+
renders without layout breakage.
|
|
109
|
+
A-2: Server-side preference sync is out of scope.
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
**Challenge findings produced:**
|
|
113
|
+
|
|
114
|
+
```
|
|
115
|
+
## Finding 1 — BLOCKING
|
|
116
|
+
AC-3 says preference "survives a page reload" but does not specify the persistence
|
|
117
|
+
mechanism. Research (Finding 2) established localStorage as the existing pattern,
|
|
118
|
+
but the spec does not reference this. If an implementor uses sessionStorage instead,
|
|
119
|
+
AC-3 would pass on a reload within the same tab but fail on a new tab.
|
|
120
|
+
Resolution: Amend AC-3 to explicitly state "persists in localStorage across
|
|
121
|
+
sessions and new tabs."
|
|
122
|
+
|
|
123
|
+
## Finding 2 — ADVISORY
|
|
124
|
+
AC-4 references "accessible" but does not define the accessibility standard.
|
|
125
|
+
Does this mean WCAG 2.1 AA contrast ratio compliance on the toggle control itself?
|
|
126
|
+
If so, add this as an explicit sub-criterion. If not, the verifier has no basis
|
|
127
|
+
for confirming compliance.
|
|
128
|
+
Resolution: Clarify or explicitly descope accessibility standard compliance.
|
|
129
|
+
|
|
130
|
+
## Finding 3 — ADVISORY
|
|
131
|
+
Non-goal A-2 (server-side preference sync) is correct but A-3 (admin panel) is
|
|
132
|
+
not present in non-goals. Research did not cover the admin panel at all.
|
|
133
|
+
If the admin panel shares the CSS token system, dark mode tokens may inadvertently
|
|
134
|
+
render on /admin.
|
|
135
|
+
Resolution: Add explicit non-goal: "Dark mode tokens must not apply to /admin routes."
|
|
136
|
+
|
|
137
|
+
## Verdict: BLOCKING — spec requires revision before proceeding.
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Common Mistakes
|
|
143
|
+
|
|
144
|
+
| Mistake | Impact | Prevention |
|
|
145
|
+
|---------|--------|------------|
|
|
146
|
+
| Generating zero findings | Challenge is pure theater; spec defects survive into planning | Every non-trivial spec has something worth questioning. If you find nothing, look harder. |
|
|
147
|
+
| Marking all findings as advisory | Blocking defects proceed silently | Use blocking severity when a defect would cause a verifier or reviewer to reach a wrong conclusion |
|
|
148
|
+
| Challenging style, not substance | Findings waste review bandwidth | Challenge correctness, completeness, and testability — not phrasing preferences |
|
|
149
|
+
| Not loading the research artifact | Challenge ignores ground truth | Always compare spec claims against research findings for consistency |
|
|
150
|
+
| Closing the loop without revising the spec | The spec remains defective | Blocking findings require an updated spec artifact, not just an acknowledgement |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Related
|
|
155
|
+
|
|
156
|
+
- [Overview — All Workflows](README.md)
|
|
157
|
+
- [Previous: specify](specify.md)
|
|
158
|
+
- [Next: author](author.md)
|
|
159
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|