@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,173 @@
|
|
|
1
|
+
# execute
|
|
2
|
+
|
|
3
|
+
**Phase 10 — Implement the plan. Nothing more, nothing less.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## One-Line Purpose
|
|
12
|
+
|
|
13
|
+
Implement the approved plan in ordered, verified batches — producing code and documentation changes that are provably traceable to spec acceptance criteria, with zero unauthorized scope additions.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Pipeline Position
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
PLAN-REVIEW
|
|
21
|
+
│
|
|
22
|
+
▼
|
|
23
|
+
┌─────────┐
|
|
24
|
+
│ EXECUTE │ ◄── YOU ARE HERE
|
|
25
|
+
└─────────┘
|
|
26
|
+
│
|
|
27
|
+
▼
|
|
28
|
+
VERIFY ★ gate
|
|
29
|
+
│
|
|
30
|
+
▼
|
|
31
|
+
REVIEW ...
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Role Responsible
|
|
37
|
+
|
|
38
|
+
`executor`
|
|
39
|
+
|
|
40
|
+
The executor implements. It does not plan, design, spec, or review. It works the approved task queue in order and verifies each task before moving to the next. The executor's job is to make the plan real with zero improvisation on scope and zero tolerance for hidden failures.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## Trigger
|
|
45
|
+
|
|
46
|
+
All of the following are true:
|
|
47
|
+
|
|
48
|
+
- Implementation plan artifact exists and is approved
|
|
49
|
+
- Plan-review findings are resolved (no outstanding blocking findings)
|
|
50
|
+
- Working branch is clean and ready
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## Steps
|
|
55
|
+
|
|
56
|
+
1. **Load the approved implementation plan.** The plan is the contract. Read every task before starting. Understand the full sequence and all dependencies.
|
|
57
|
+
|
|
58
|
+
2. **Work tasks in sequence.** Start at Task 1. Complete it fully (including its verification step) before starting Task 2. Do not batch tasks without verifying each one.
|
|
59
|
+
|
|
60
|
+
3. **For each task:**
|
|
61
|
+
a. Implement the change (file edits, new files, etc.)
|
|
62
|
+
b. Run the task's verification step
|
|
63
|
+
c. If verification passes — move to the next task
|
|
64
|
+
d. If verification fails — diagnose and fix before proceeding; do not move forward on a failing task
|
|
65
|
+
|
|
66
|
+
4. **Log execution notes.** For each task, record: what was changed, what verification was run, and the outcome. This becomes the execution notes artifact consumed by `verify` and `review`.
|
|
67
|
+
|
|
68
|
+
5. **No new scope.** If you identify something the plan did not address that appears to be a bug or gap, log it in execution notes as an out-of-scope observation. Do not fix it in this run without explicit approval.
|
|
69
|
+
|
|
70
|
+
6. **Flag plan deviations.** If a task cannot be completed as written (e.g., a file does not exist as expected), stop, document the deviation, and surface it before proceeding. Do not silently substitute an alternative approach.
|
|
71
|
+
|
|
72
|
+
7. **Produce the execution output.** Code changes on the working branch, docs changes, and execution notes artifact.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Input Artifacts
|
|
77
|
+
|
|
78
|
+
| Artifact | Location | Required |
|
|
79
|
+
|----------|----------|----------|
|
|
80
|
+
| Approved implementation plan | Run state | Yes |
|
|
81
|
+
| Current branch state | Repo | Yes |
|
|
82
|
+
| Design artifact (code scaffolds) | Run state | Required if design phase ran |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Output Artifacts
|
|
87
|
+
|
|
88
|
+
| Artifact | Description |
|
|
89
|
+
|----------|-------------|
|
|
90
|
+
| Code changes | All file edits and new files on the working branch |
|
|
91
|
+
| Docs changes | Any documentation updates required by the plan |
|
|
92
|
+
| Execution notes | Per-task log of changes made, verification run, and outcome |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Approval Gate
|
|
97
|
+
|
|
98
|
+
> [!NOTE]
|
|
99
|
+
> Execute has a soft gate rather than a hard pre-execution gate. However:
|
|
100
|
+
|
|
101
|
+
> [!IMPORTANT]
|
|
102
|
+
> **No new scope may be added without explicit operator approval.** If mid-execution you identify work that was not in the plan, stop and surface it. The `loop_cap_guard` hook enforces maximum iteration counts to prevent runaway execution. Execution that silently expands scope is plan drift — the primary failure mode of this phase.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Example Run
|
|
107
|
+
|
|
108
|
+
**Approved plan (abbreviated):**
|
|
109
|
+
```
|
|
110
|
+
Task 1 — Extend CSS tokens
|
|
111
|
+
Task 2 — Implement useDarkMode hook
|
|
112
|
+
Task 3 — Implement DarkModeToggle component
|
|
113
|
+
Task 4 — Wire toggle into dashboard nav
|
|
114
|
+
Task 5 — Regression check
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
**Execution notes produced:**
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
## Task 1 — Extend CSS tokens
|
|
121
|
+
Changed: src/styles/tokens.css
|
|
122
|
+
Added [data-theme="dark"] selector with 12 token overrides from tokens.json.
|
|
123
|
+
Verification: `npm run lint:css` ✓ (0 errors)
|
|
124
|
+
Status: COMPLETE
|
|
125
|
+
|
|
126
|
+
## Task 2 — Implement useDarkMode hook
|
|
127
|
+
Created: src/hooks/useDarkMode.ts
|
|
128
|
+
Wraps useLocalStorage('theme', 'light'). Applies data-theme attribute to
|
|
129
|
+
document.documentElement on change. SSR guard added (typeof window check).
|
|
130
|
+
Verification: `npm test src/hooks/useDarkMode.test.ts` ✓ (6 tests, 6 pass)
|
|
131
|
+
Status: COMPLETE
|
|
132
|
+
|
|
133
|
+
## Task 3 — Implement DarkModeToggle component
|
|
134
|
+
Created: src/components/DarkModeToggle.tsx (from design scaffold)
|
|
135
|
+
Updated: src/components/DarkModeToggle.test.tsx
|
|
136
|
+
Touch target confirmed 44x44px at 768px. Focus ring applied via tokens.
|
|
137
|
+
Verification: `npm test DarkModeToggle` ✓ (4 tests, 4 pass)
|
|
138
|
+
Status: COMPLETE
|
|
139
|
+
|
|
140
|
+
## Task 4 — Wire toggle into dashboard nav
|
|
141
|
+
Changed: src/layouts/DashboardLayout.tsx (import + placement at line 47)
|
|
142
|
+
Created: src/layouts/DashboardLayout.integration.test.tsx
|
|
143
|
+
Verification: `npm test DashboardLayout.integration` ✓ (2 tests, 2 pass)
|
|
144
|
+
Status: COMPLETE
|
|
145
|
+
|
|
146
|
+
## Task 5 — Regression check
|
|
147
|
+
Verification: `npm test` ✓ (147 tests, 147 pass, 0 skipped)
|
|
148
|
+
Status: COMPLETE
|
|
149
|
+
|
|
150
|
+
## Out-of-scope observations
|
|
151
|
+
None.
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Common Mistakes
|
|
157
|
+
|
|
158
|
+
| Mistake | Impact | Prevention |
|
|
159
|
+
|---------|--------|------------|
|
|
160
|
+
| Skipping a task's verification step | Failures accumulate silently; verifier finds cascading issues | Verify each task before moving to the next — always |
|
|
161
|
+
| Adding "while I'm in here" fixes | Scope expands without approval; plan diverges | Log all out-of-scope observations; fix nothing without approval |
|
|
162
|
+
| Moving to the next task when verification fails | Downstream tasks build on broken foundations | A failing verification step is a full stop; diagnose and fix first |
|
|
163
|
+
| Not logging execution notes | Verifier has no audit trail to confirm against | Execution notes are a required output, not optional commentary |
|
|
164
|
+
| Silently substituting an alternative when a task assumption is wrong | Plan deviation is invisible; review cannot catch it | Flag plan deviations explicitly in execution notes before substituting |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Related
|
|
169
|
+
|
|
170
|
+
- [Overview — All Workflows](README.md)
|
|
171
|
+
- [Previous: plan-review](plan-review.md)
|
|
172
|
+
- [Next: verify](verify.md)
|
|
173
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# learn
|
|
2
|
+
|
|
3
|
+
**Phase 13 — Extract durable intelligence from the run so the next run starts smarter.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## One-Line Purpose
|
|
13
|
+
|
|
14
|
+
Extract scoped, reviewed, explicitly tagged learnings from this run's artifacts so that genuine improvements to patterns, practices, and process can be preserved — without silently mutating the agent's behavior from accepted knowledge.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Pipeline Position
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
REVIEW
|
|
22
|
+
│
|
|
23
|
+
▼
|
|
24
|
+
┌───────┐
|
|
25
|
+
│ LEARN │ ◄── YOU ARE HERE
|
|
26
|
+
└───────┘
|
|
27
|
+
│
|
|
28
|
+
▼
|
|
29
|
+
PREPARE-NEXT ★ gate (learnings require explicit review)
|
|
30
|
+
│
|
|
31
|
+
▼
|
|
32
|
+
NEXT RUN
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Role Responsible
|
|
38
|
+
|
|
39
|
+
`learner`
|
|
40
|
+
|
|
41
|
+
The learner synthesizes the run's artifacts into proposed learning artifacts. The key word is "proposed" — learnings are not automatically applied. They are produced, reviewed, scoped, and either accepted or rejected. The learner extracts signal from noise; it does not update behavior unilaterally.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Trigger
|
|
46
|
+
|
|
47
|
+
The review verdict is accepted — all blocking findings are resolved and the work is complete (or the run is being closed with a formal partial-completion artifact).
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Steps
|
|
52
|
+
|
|
53
|
+
1. **Load run artifacts.** Spec, execution notes, review findings, verification proof. These are the raw material of the learning.
|
|
54
|
+
|
|
55
|
+
2. **Identify pattern learnings.** What patterns were used that should be institutionalized? What anti-patterns appeared (even in advisory review findings) that should be flagged for future runs?
|
|
56
|
+
|
|
57
|
+
3. **Identify process learnings.** Were there points in the pipeline where a step was slower or harder than it needed to be? Where did a phase produce a finding that an earlier phase should have caught?
|
|
58
|
+
|
|
59
|
+
4. **Identify experiment outcomes.** Were any implementation approaches experimental (not the established pattern)? Did they succeed or fail? What is the confidence level of the outcome?
|
|
60
|
+
|
|
61
|
+
5. **Write proposed learning artifacts.** Each learning artifact must include:
|
|
62
|
+
- Learning type: `pattern`, `anti-pattern`, `process`, or `experiment`
|
|
63
|
+
- Scope tag: which phase(s), role(s), or technology it applies to
|
|
64
|
+
- Evidence: which run artifact(s) support the learning
|
|
65
|
+
- Proposed action: "add to expertise module X", "update skill Y", "note in process docs"
|
|
66
|
+
- Status: `proposed` (all learnings start here)
|
|
67
|
+
|
|
68
|
+
6. **Produce experiment summaries.** For experimental approaches, write a structured summary with hypothesis, outcome, conditions, and confidence.
|
|
69
|
+
|
|
70
|
+
7. **Do not auto-apply.** No learning artifact may modify the codebase, skill files, or expertise modules directly. All changes are proposed. The operator reviews and accepts or rejects each learning.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Input Artifacts
|
|
75
|
+
|
|
76
|
+
| Artifact | Location | Required |
|
|
77
|
+
|----------|----------|----------|
|
|
78
|
+
| Run artifacts (full set) | Run state | Yes |
|
|
79
|
+
| Review findings | Run state | Yes |
|
|
80
|
+
| Verification proof | Run state | Yes |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Output Artifacts
|
|
85
|
+
|
|
86
|
+
| Artifact | Description |
|
|
87
|
+
|----------|-------------|
|
|
88
|
+
| Proposed learning artifacts | Typed, scoped, evidence-backed proposed learnings |
|
|
89
|
+
| Experiment summaries | Structured outcomes for experimental approaches used in this run |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Approval Gate
|
|
94
|
+
|
|
95
|
+
> [!IMPORTANT]
|
|
96
|
+
> **Accepted learnings require explicit review and scope tags before any action is taken.** A learning artifact in `proposed` status has no effect. The operator reviews each learning and either:
|
|
97
|
+
> - **Accepts** it with a scope tag → triggers a specific action (update expertise module, update skill, add to process docs)
|
|
98
|
+
> - **Rejects** it → archived, not applied
|
|
99
|
+
> - **Defers** it → carried forward as a candidate for the next applicable run
|
|
100
|
+
|
|
101
|
+
The failure mode of this phase is "auto-applied learning drift" — when learnings modify behavior without explicit review. This is prevented structurally: proposed learning artifacts cannot modify anything; they only describe.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Example Run
|
|
106
|
+
|
|
107
|
+
**Run review findings included:**
|
|
108
|
+
- Finding 2 (advisory): `aria-pressed` not implemented on toggle
|
|
109
|
+
- Finding 3 (advisory): execution notes did not echo test output
|
|
110
|
+
|
|
111
|
+
**Proposed learning artifacts produced:**
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
## Learning L-001
|
|
115
|
+
Type: anti-pattern
|
|
116
|
+
Scope: executor role, accessibility, component implementation
|
|
117
|
+
Evidence: review-findings.md Finding 2; DarkModeToggle.tsx:22
|
|
118
|
+
Summary: Toggle button components without aria-pressed attribute fail
|
|
119
|
+
screen-reader state communication. This was not caught in spec-challenge
|
|
120
|
+
because the AC did not specify an accessibility standard explicitly.
|
|
121
|
+
Proposed action: Add "toggle controls require aria-pressed" to expertise
|
|
122
|
+
module accessibility/interactive-controls.md.
|
|
123
|
+
Status: proposed
|
|
124
|
+
|
|
125
|
+
## Learning L-002
|
|
126
|
+
Type: process
|
|
127
|
+
Scope: executor role, execution notes
|
|
128
|
+
Evidence: review-findings.md Finding 3
|
|
129
|
+
Summary: Execution notes that state the verification command but do not
|
|
130
|
+
include captured output are incomplete. Review had to cross-reference
|
|
131
|
+
the verification proof artifact manually. Execution notes should be
|
|
132
|
+
self-contained verification records.
|
|
133
|
+
Proposed action: Update executor role definition to require output
|
|
134
|
+
capture in execution notes, not just command reference.
|
|
135
|
+
Status: proposed
|
|
136
|
+
|
|
137
|
+
## Experiment E-001
|
|
138
|
+
Approach: CSS [data-theme] attribute for dark mode (vs. CSS class toggle)
|
|
139
|
+
Hypothesis: attribute selector is more resilient than class-based toggle
|
|
140
|
+
because it cannot be accidentally overridden by className manipulation
|
|
141
|
+
Outcome: SUCCESS — no conflicts found in 147-test run
|
|
142
|
+
Conditions: Single-SPA app, no third-party theme manager present
|
|
143
|
+
Confidence: medium (single data point)
|
|
144
|
+
Proposed action: Note as preferred pattern in expertise/theming.md.
|
|
145
|
+
Status: proposed
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## Common Mistakes
|
|
151
|
+
|
|
152
|
+
| Mistake | Impact | Prevention |
|
|
153
|
+
|---------|--------|------------|
|
|
154
|
+
| Auto-applying learnings without review | Agent behavior silently mutates from a single run's observations | All outputs are `proposed`; nothing is applied without operator review |
|
|
155
|
+
| Extracting lessons without evidence | Learning is opinion, not observation | Every learning must cite a specific run artifact |
|
|
156
|
+
| Producing learnings too broadly scoped | Proposed change touches too many areas to be safely applied | Scope tags must be specific: which role, which phase, which technology |
|
|
157
|
+
| Skipping the learn phase when review found only advisory issues | Advisory findings are the richest source of process learnings | Advisory findings are not minor — they are the signal the pipeline almost missed |
|
|
158
|
+
| Writing experiment summaries without confidence levels | Future runs over-apply low-confidence results | Always state sample size and conditions that limit generalizability |
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
## Related
|
|
163
|
+
|
|
164
|
+
- [Overview — All Workflows](README.md)
|
|
165
|
+
- [Previous: review](review.md)
|
|
166
|
+
- [Next: prepare-next](prepare-next.md)
|
|
167
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# plan-review
|
|
2
|
+
|
|
3
|
+
**Phase 9 — The last adversarial checkpoint before code gets written.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## One-Line Purpose
|
|
13
|
+
|
|
14
|
+
Adversarially review the implementation plan before execution starts — finding sequence gaps, missing verifications, scope mismatches, and unresolvable dependencies before they cost a full execution cycle.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Pipeline Position
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
PLAN
|
|
22
|
+
│
|
|
23
|
+
▼
|
|
24
|
+
┌─────────────┐
|
|
25
|
+
│ PLAN-REVIEW │ ◄── YOU ARE HERE
|
|
26
|
+
└─────────────┘
|
|
27
|
+
│
|
|
28
|
+
▼
|
|
29
|
+
EXECUTE ★ gate (blocking findings stop execution)
|
|
30
|
+
│
|
|
31
|
+
▼
|
|
32
|
+
VERIFY ...
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Role Responsible
|
|
38
|
+
|
|
39
|
+
`reviewer`
|
|
40
|
+
|
|
41
|
+
The reviewer is structurally independent from the planner. This is the third structural adversarial checkpoint in the pipeline (after `spec-challenge` and `design-review`). The reviewer's goal is to find execution blockers before they surface mid-implementation, when rework is expensive.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Trigger
|
|
46
|
+
|
|
47
|
+
A draft implementation plan artifact exists in run state. The plan has not yet been handed to the executor. `plan-review` runs immediately after `plan` completes.
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Steps
|
|
52
|
+
|
|
53
|
+
1. **Load the draft plan and the approved spec.** The spec is the correctness baseline. The plan is correct when its tasks collectively satisfy every acceptance criterion.
|
|
54
|
+
|
|
55
|
+
2. **Check AC coverage.** Does every acceptance criterion have at least one task that addresses it? Flag any AC with no corresponding task.
|
|
56
|
+
|
|
57
|
+
3. **Check task sequence for gaps.** Are there tasks that depend on a file or function that a prior task has not yet created? Can every task be executed with only what exists before it in the sequence?
|
|
58
|
+
|
|
59
|
+
4. **Check verification steps.** Does every task have a concrete, runnable verification step? Flag tasks where verification is "it should work" or "check visually" without a specific artifact.
|
|
60
|
+
|
|
61
|
+
5. **Check for scope drift.** Does the plan introduce any tasks not traceable to a spec AC? Scope additions in planning are a red flag — they indicate the planner invented requirements.
|
|
62
|
+
|
|
63
|
+
6. **Check for missing dependencies.** Does the plan assume library availability, environment configuration, or file existence that is not confirmed by the research artifact?
|
|
64
|
+
|
|
65
|
+
7. **Check task granularity.** Are any tasks so large that a single task failure mid-execution leaves the codebase in an ambiguous intermediate state? Flag over-large tasks.
|
|
66
|
+
|
|
67
|
+
8. **Produce findings with severity.** Each finding must include:
|
|
68
|
+
- Severity: `blocking` (execution cannot start) or `advisory` (proceed with awareness)
|
|
69
|
+
- Which task(s) are affected
|
|
70
|
+
- What the problem is
|
|
71
|
+
- Required resolution (task revision, re-sequencing, or verification addition)
|
|
72
|
+
|
|
73
|
+
9. **Issue a verdict.** No-findings verdict if all checks pass. Blocking verdict if any blocking finding exists.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Input Artifacts
|
|
78
|
+
|
|
79
|
+
| Artifact | Location | Required |
|
|
80
|
+
|----------|----------|----------|
|
|
81
|
+
| Draft implementation plan | Run state | Yes |
|
|
82
|
+
| Approved spec artifact | Run state | Yes |
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Output Artifacts
|
|
87
|
+
|
|
88
|
+
| Artifact | Description |
|
|
89
|
+
|----------|-------------|
|
|
90
|
+
| Plan review findings | Structured findings with severity, task reference, and required resolution |
|
|
91
|
+
| Revised tasks | Updated task definitions when findings require task rewrites |
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Approval Gate
|
|
96
|
+
|
|
97
|
+
> [!IMPORTANT]
|
|
98
|
+
> **Execution cannot begin until all blocking findings are closed or explicitly accepted by the operator.** Advisory findings may proceed with acknowledgement. A plan that survives `plan-review` with blocking findings silently accepted is a plan that will generate execution failures.
|
|
99
|
+
|
|
100
|
+
If blocking findings require plan revision, the planner must update the plan artifact and re-submit for review. This loop may iterate but must converge.
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
## Example Run
|
|
105
|
+
|
|
106
|
+
**Plan under review (abbreviated tasks):**
|
|
107
|
+
|
|
108
|
+
```
|
|
109
|
+
Task 3 — Implement DarkModeToggle component
|
|
110
|
+
Verification: npm test DarkModeToggle passes; Storybook renders at 768px.
|
|
111
|
+
|
|
112
|
+
Task 4 — Wire toggle into dashboard nav
|
|
113
|
+
Verification: Integration test: toggle visible at 320px and 1280px.
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
**Plan review findings:**
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
## Finding 1 — BLOCKING
|
|
120
|
+
Task 4 references an integration test that does not exist in the current codebase
|
|
121
|
+
(research artifact confirms: no integration tests for DashboardLayout.tsx).
|
|
122
|
+
If Task 4 verification requires a new integration test to be written, that test
|
|
123
|
+
must be part of Task 4's definition — otherwise the verification step cannot
|
|
124
|
+
be completed as written.
|
|
125
|
+
Resolution: Add sub-step to Task 4: "Write integration test for toggle visibility
|
|
126
|
+
at 320px and 1280px before implementing the wiring."
|
|
127
|
+
|
|
128
|
+
## Finding 2 — BLOCKING
|
|
129
|
+
AC-6 (no existing light mode styles broken) has no dedicated task and no
|
|
130
|
+
regression verification step. Task 5 addresses this but is listed after
|
|
131
|
+
Task 4 — however, Task 3's component implementation could break light mode
|
|
132
|
+
styles at import time if the CSS token extension in Task 1 is not complete.
|
|
133
|
+
The sequence implicitly assumes Task 1 completes before Task 3's import runs,
|
|
134
|
+
but this is not stated as a dependency.
|
|
135
|
+
Resolution: Add explicit dependency note: "Task 3 requires Task 1 complete."
|
|
136
|
+
|
|
137
|
+
## Finding 3 — ADVISORY
|
|
138
|
+
Task 2's unit test description ("preference persists across simulated page reload")
|
|
139
|
+
is ambiguous — what is the simulation mechanism? jsdom localStorage mock or actual
|
|
140
|
+
window.location reload?
|
|
141
|
+
Resolution: Specify test method in Task 2 verification step.
|
|
142
|
+
|
|
143
|
+
## Verdict: BLOCKING — plan requires revision before execution.
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Common Mistakes
|
|
149
|
+
|
|
150
|
+
| Mistake | Impact | Prevention |
|
|
151
|
+
|---------|--------|------------|
|
|
152
|
+
| Approving a plan that has no coverage for one AC | That AC fails verification; review finds it; execution must restart | Map every AC to at least one task; flag gaps explicitly |
|
|
153
|
+
| Missing sequence dependency analysis | Executor hits "file not found" mid-implementation | Trace every task's file dependencies to earlier tasks in the sequence |
|
|
154
|
+
| Accepting "visual check" as a verification step | Verifier has no deterministic proof | Visual checks are acceptable only when paired with a screenshot comparison command |
|
|
155
|
+
| Skimming the plan quickly | Sequence gaps and missing verifications survive into execution | Review each task individually, then review the sequence as a whole |
|
|
156
|
+
| Not loading the research artifact | Missing dependencies go undetected | Research confirms what is available; plan must stay within those bounds |
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
## Related
|
|
161
|
+
|
|
162
|
+
- [Overview — All Workflows](README.md)
|
|
163
|
+
- [Previous: plan](plan.md)
|
|
164
|
+
- [Next: execute](execute.md)
|
|
165
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# plan
|
|
2
|
+
|
|
3
|
+
**Phase 8 — Translate the approved spec into an execution-grade implementation plan with no ambiguity left for the executor to resolve.**
|
|
4
|
+
|
|
5
|
+

|
|
6
|
+

|
|
7
|
+

|
|
8
|
+

|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## One-Line Purpose
|
|
13
|
+
|
|
14
|
+
Translate the approved spec (and design artifact, if present) into an ordered, dependency-resolved implementation plan where every task has a verification step — so that the executor has nothing left to decide except how to type.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Pipeline Position
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
DESIGN-REVIEW (or SPEC-CHALLENGE if design skipped)
|
|
22
|
+
│
|
|
23
|
+
▼
|
|
24
|
+
┌──────┐
|
|
25
|
+
│ PLAN │ ◄── YOU ARE HERE
|
|
26
|
+
└──────┘
|
|
27
|
+
│
|
|
28
|
+
▼
|
|
29
|
+
PLAN-REVIEW ★ gate
|
|
30
|
+
│
|
|
31
|
+
▼
|
|
32
|
+
EXECUTE ...
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
## Role Responsible
|
|
38
|
+
|
|
39
|
+
`planner`
|
|
40
|
+
|
|
41
|
+
The planner works from the approved spec and design artifact. It does not invent requirements — it sequences their implementation. A plan that introduces implementation decisions not grounded in the spec or design is a plan that has exceeded its mandate. A plan that is too high-level to execute is a plan that has failed its purpose.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Trigger
|
|
46
|
+
|
|
47
|
+
All of the following are true:
|
|
48
|
+
|
|
49
|
+
- Spec artifact exists, approved, challenge findings resolved
|
|
50
|
+
- Design artifact exists and design-review passed (or design phase was explicitly skipped)
|
|
51
|
+
- Current repo state is available (branch, file structure, test coverage status)
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Steps
|
|
56
|
+
|
|
57
|
+
1. **Load all upstream artifacts.** Spec, research, and design artifact (if present). The plan must be traceable to these sources.
|
|
58
|
+
|
|
59
|
+
2. **Assess current repo state.** What is the current branch? What files are relevant? What tests currently pass? What is the existing code structure that implementation will touch?
|
|
60
|
+
|
|
61
|
+
3. **Identify all implementation tasks.** For each acceptance criterion, enumerate the concrete code changes required. Tasks are specific file-and-function level, not feature-level.
|
|
62
|
+
|
|
63
|
+
4. **Sequence tasks by dependency.** A task that depends on another task must come after it. Sequence gaps are a plan failure mode — `plan-review` will catch them, but the planner should find them first.
|
|
64
|
+
|
|
65
|
+
5. **Assign verification steps to each task.** Every task must have a concrete verification step: a test command, a visual check, a lint check. "It should work" is not a verification step.
|
|
66
|
+
|
|
67
|
+
6. **Identify risks and mitigations.** For each high-risk task, note the risk and the mitigation strategy.
|
|
68
|
+
|
|
69
|
+
7. **Produce the implementation plan artifact.** Structured document: ordered tasks, per-task verification, risk notes, and traceability back to AC numbers.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## Input Artifacts
|
|
74
|
+
|
|
75
|
+
| Artifact | Location | Required |
|
|
76
|
+
|----------|----------|----------|
|
|
77
|
+
| Approved spec artifact | Run state | Yes |
|
|
78
|
+
| Research artifact | Run state | Yes |
|
|
79
|
+
| Design artifact | Run state | Required if design phase ran |
|
|
80
|
+
| Current repo state | Repo | Yes |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Output Artifacts
|
|
85
|
+
|
|
86
|
+
| Artifact | Description |
|
|
87
|
+
|----------|-------------|
|
|
88
|
+
| Implementation plan artifact | Ordered tasks with verification steps and AC traceability |
|
|
89
|
+
| Task list | Flat ordered list of tasks (used by executor as the execution queue) |
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Approval Gate
|
|
94
|
+
|
|
95
|
+
> [!IMPORTANT]
|
|
96
|
+
> **Explicit human approval is required before execution begins.** The plan is the binding execution contract. Once approved, the executor implements only what is in the plan. New scope requires a new approval cycle — no executor-side plan expansion.
|
|
97
|
+
|
|
98
|
+
Plan approval follows `plan-review`. Both the plan and the plan-review findings must be resolved before execution starts.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Example Run
|
|
103
|
+
|
|
104
|
+
**Spec inputs (abbreviated):**
|
|
105
|
+
- AC-1: Toggle visible at all viewport widths
|
|
106
|
+
- AC-2: Toggle switches scheme within one render cycle
|
|
107
|
+
- AC-3: Preference persists in localStorage across sessions and new tabs
|
|
108
|
+
- AC-4: Correct rendering at 768px breakpoint
|
|
109
|
+
- AC-5: Toggling back to light restores original scheme
|
|
110
|
+
- AC-6: No existing light mode styles broken
|
|
111
|
+
|
|
112
|
+
**Design artifact:** `dashboard-dark-mode.fig`, `DarkModeToggle.tsx`, `tokens.json`
|
|
113
|
+
|
|
114
|
+
**Implementation plan produced:**
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
## Task Sequence
|
|
118
|
+
|
|
119
|
+
### Task 1 — Extend CSS tokens (AC-2, AC-5, AC-6)
|
|
120
|
+
File: src/styles/tokens.css
|
|
121
|
+
Add [data-theme="dark"] selector with dark token overrides.
|
|
122
|
+
Use tokens from design artifact tokens.json.
|
|
123
|
+
Verification: `npm run lint:css` passes; visual diff of /dashboard in both themes.
|
|
124
|
+
|
|
125
|
+
### Task 2 — Implement useDarkMode hook (AC-2, AC-3)
|
|
126
|
+
File: src/hooks/useDarkMode.ts (new file)
|
|
127
|
+
Wraps useLocalStorage (existing hook). Sets/reads 'theme' key.
|
|
128
|
+
Applies [data-theme] attribute to document.documentElement.
|
|
129
|
+
Verification: Unit test: preference persists across simulated page reload.
|
|
130
|
+
|
|
131
|
+
### Task 3 — Implement DarkModeToggle component (AC-1, AC-4)
|
|
132
|
+
File: src/components/DarkModeToggle.tsx
|
|
133
|
+
Use design artifact export as scaffold. 44x44 touch target at mobile.
|
|
134
|
+
Aria-label: "Toggle dark mode". Focus ring per tokens.
|
|
135
|
+
Verification: `npm test DarkModeToggle` passes; Storybook renders at 768px.
|
|
136
|
+
|
|
137
|
+
### Task 4 — Wire toggle into dashboard nav (AC-1, AC-4)
|
|
138
|
+
File: src/layouts/DashboardLayout.tsx
|
|
139
|
+
Import DarkModeToggle; place in nav bar top-right.
|
|
140
|
+
Verification: Integration test: toggle visible at 320px and 1280px.
|
|
141
|
+
|
|
142
|
+
### Task 5 — Regression check (AC-6)
|
|
143
|
+
Run full test suite. Visual regression on /dashboard light mode.
|
|
144
|
+
Verification: `npm test` all green; no visual diff on light theme screenshots.
|
|
145
|
+
|
|
146
|
+
## Risks
|
|
147
|
+
R1: useLocalStorage hook — if it uses JSON.stringify, 'light' string must
|
|
148
|
+
not be double-encoded. Verify at Task 2.
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## Common Mistakes
|
|
154
|
+
|
|
155
|
+
| Mistake | Impact | Prevention |
|
|
156
|
+
|---------|--------|------------|
|
|
157
|
+
| Tasks at feature granularity, not file granularity | Executor has to decompose the plan mid-execution (plan drift) | Each task names a specific file and a specific change |
|
|
158
|
+
| Missing verification steps | Executor cannot confirm task completion; verifier has no checkpoints | Every task has a runnable verification command or explicit visual check |
|
|
159
|
+
| No AC traceability in tasks | Verifier cannot map proof to acceptance criteria | Tag each task with the AC(s) it addresses |
|
|
160
|
+
| Sequencing tasks without dependency analysis | Executor hits a blocker because a dependency is missing | Draw the dependency graph before writing the sequence |
|
|
161
|
+
| Plan introduces new requirements | Scope expands silently; spec is now wrong | Every task must trace to a spec AC or a non-goal removal |
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Related
|
|
166
|
+
|
|
167
|
+
- [Overview — All Workflows](README.md)
|
|
168
|
+
- [Previous: design-review](design-review.md)
|
|
169
|
+
- [Next: plan-review](plan-review.md)
|
|
170
|
+
- [Roles and Workflows](../../../concepts/roles-and-workflows.md)
|