@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,193 @@
|
|
|
1
|
+
# Designer
|
|
2
|
+
|
|
3
|
+
   
|
|
4
|
+
|
|
5
|
+
**From approved spec to pixel-perfect visual source of truth — before a single line of implementation code is written.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What is this?
|
|
10
|
+
|
|
11
|
+
The designer transforms the approved spec into visual designs. It uses open-pencil MCP tools to create Figma-compatible design files, export code scaffolds, and produce design tokens — all before planning or execution begins.
|
|
12
|
+
|
|
13
|
+
This phase prevents the single most common cause of implementation rework: building the wrong UI. When the planner and executor receive not just a spec but also a `.fig` file, JSX scaffolds, and design tokens, they are implementing a defined visual contract, not interpreting a text description.
|
|
14
|
+
|
|
15
|
+
The designer sits between `author` (content authoring, which is itself optional) and `plan` (implementation planning). It is optional for non-visual tasks and mandatory for any feature with a user interface.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Capabilities
|
|
20
|
+
|
|
21
|
+
- Creates Figma-compatible `.fig` design files via open-pencil MCP tools
|
|
22
|
+
- Exports Tailwind JSX scaffolds ready for direct integration
|
|
23
|
+
- Exports HTML + CSS scaffolds as fallback or alternative targets
|
|
24
|
+
- Produces design tokens JSON (colors, spacing, typography, shadows) synchronized with visual source
|
|
25
|
+
- Captures screenshot PNGs of all key frames for review and documentation
|
|
26
|
+
- Escalates when spec is ambiguous about visual requirements or when brand constraints conflict with usability
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## How It Fits in the Pipeline
|
|
31
|
+
|
|
32
|
+
The designer is **Phase 6**. It runs after author approval (or spec-challenge if author is skipped) and before planning.
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
[approved spec artifact]
|
|
36
|
+
[research artifacts]
|
|
37
|
+
[brand/style guidelines]
|
|
38
|
+
│
|
|
39
|
+
▼
|
|
40
|
+
[designer]
|
|
41
|
+
│
|
|
42
|
+
├──► .fig design file
|
|
43
|
+
├──► Tailwind JSX scaffold
|
|
44
|
+
├──► HTML + CSS scaffold
|
|
45
|
+
├──► design tokens JSON
|
|
46
|
+
└──► screenshot PNGs (key frames)
|
|
47
|
+
│
|
|
48
|
+
▼
|
|
49
|
+
[design-review] ──► reviewer validates against spec, accessibility, visual consistency
|
|
50
|
+
│
|
|
51
|
+
▼
|
|
52
|
+
[planner]
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Triggered by:** `design` workflow.
|
|
56
|
+
|
|
57
|
+
**Feeds into:** `design-review` workflow (reviewer role), then planner.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Input / Output Contract
|
|
62
|
+
|
|
63
|
+
| | Details |
|
|
64
|
+
|---|---|
|
|
65
|
+
| **Inputs** | Approved spec artifact, research artifacts, brand/style guidelines (if available) |
|
|
66
|
+
| **Allowed tools** | open-pencil MCP tools (create, modify, export, analyze), local file reads, image export and screenshot capture |
|
|
67
|
+
| **Output: .fig design file** | Figma-compatible visual source of truth |
|
|
68
|
+
| **Output: Tailwind JSX scaffold** | Component structure with Tailwind classes, ready for executor |
|
|
69
|
+
| **Output: HTML + CSS scaffold** | Alternative export for non-React targets |
|
|
70
|
+
| **Output: design tokens JSON** | All design decisions as machine-readable tokens |
|
|
71
|
+
| **Output: screenshot PNGs** | Visual snapshots of all key frames for review and audit |
|
|
72
|
+
|
|
73
|
+
---
|
|
74
|
+
|
|
75
|
+
## Example
|
|
76
|
+
|
|
77
|
+
Given a spec for a rate limit exceeded error state:
|
|
78
|
+
|
|
79
|
+
**Design artifact (excerpt):**
|
|
80
|
+
|
|
81
|
+
```markdown
|
|
82
|
+
# Design Artifact: Rate Limit UI
|
|
83
|
+
|
|
84
|
+
## Frames Designed
|
|
85
|
+
1. `rate-limit-429-banner` — inline error banner shown on API playground
|
|
86
|
+
2. `rate-limit-headers-debug` — developer tools panel showing X-RateLimit-* headers
|
|
87
|
+
|
|
88
|
+
## Design Tokens (excerpt)
|
|
89
|
+
{
|
|
90
|
+
"color-error-bg": "#FEF2F2",
|
|
91
|
+
"color-error-border": "#FECACA",
|
|
92
|
+
"color-error-text": "#991B1B",
|
|
93
|
+
"spacing-banner-padding": "12px 16px",
|
|
94
|
+
"border-radius-banner": "6px"
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
## Tailwind JSX Scaffold (rate-limit-429-banner)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
```jsx
|
|
101
|
+
export function RateLimitBanner({ retryAfter }: { retryAfter: number }) {
|
|
102
|
+
return (
|
|
103
|
+
<div className="flex items-center gap-3 rounded-md border border-red-200 bg-red-50 px-4 py-3">
|
|
104
|
+
<AlertCircle className="h-4 w-4 shrink-0 text-red-600" />
|
|
105
|
+
<p className="text-sm text-red-800">
|
|
106
|
+
Rate limit exceeded. Retry in{" "}
|
|
107
|
+
<span className="font-semibold">{retryAfter}s</span>.
|
|
108
|
+
</p>
|
|
109
|
+
</div>
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
```markdown
|
|
115
|
+
## Accessibility Checks
|
|
116
|
+
- Error state uses color + icon (not color alone) — WCAG 1.4.1 pass
|
|
117
|
+
- Error text contrast ratio: 7.2:1 against bg-red-50 — WCAG AA pass
|
|
118
|
+
- No interactive elements without keyboard focus states
|
|
119
|
+
|
|
120
|
+
## Files
|
|
121
|
+
- state/design/rate-limit-429-banner.fig
|
|
122
|
+
- state/design/exports/rate-limit-banner.tsx
|
|
123
|
+
- state/design/exports/rate-limit-banner.html
|
|
124
|
+
- state/design/tokens/rate-limit.tokens.json
|
|
125
|
+
- state/design/screenshots/rate-limit-429-banner.png
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Git-Flow Responsibilities
|
|
131
|
+
|
|
132
|
+
The designer follows a strict commit convention:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
feat(design): add rate limit error states and design tokens
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Design files live in the **run-local state directory** (`~/.wazir/projects/<project-slug>/design/`), not in the repository. Only exported code scaffolds and design token JSON files are committed to the repo.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Configuration
|
|
143
|
+
|
|
144
|
+
| Setting | Location | Effect |
|
|
145
|
+
|---------|----------|--------|
|
|
146
|
+
| `open_pencil` adapter | `wazir.manifest.yaml` → `adapters.open_pencil` | Enables open-pencil MCP tools (off by default) |
|
|
147
|
+
| `design_review` workflow | `workflows/` | Gates plan phase behind design validation |
|
|
148
|
+
| Brand/style guidelines | `input/` or project docs | Constrains visual decisions; designer reads but does not mutate |
|
|
149
|
+
|
|
150
|
+
> [!NOTE]
|
|
151
|
+
> open-pencil is an **optional adapter**. It is not required for core Wazir functionality. Tasks without a visual UI component skip the design phase entirely and proceed from `spec-challenge` directly to `plan`.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## When to Use / When NOT to Use
|
|
156
|
+
|
|
157
|
+
**Use the designer when:**
|
|
158
|
+
- The spec describes a user interface, dashboard, component, or visual output
|
|
159
|
+
- You need to prevent implementation rework caused by UI misinterpretation
|
|
160
|
+
- Design tokens need to be synchronized across multiple components
|
|
161
|
+
- Accessibility compliance must be verified before code is written
|
|
162
|
+
|
|
163
|
+
**Do NOT invoke the designer when:**
|
|
164
|
+
- The task is purely backend, infrastructure, or CLI — skip to planner
|
|
165
|
+
- open-pencil adapter is not available — note the absence in the artifact and proceed
|
|
166
|
+
- You are in mid-execution and want to make visual tweaks — that is an out-of-scope change requiring a new spec
|
|
167
|
+
|
|
168
|
+
> [!WARNING]
|
|
169
|
+
> Design drift from the approved spec is a failure condition. The designer must implement what the spec describes, not what looks better or feels more complete. Any divergence must be escalated before the design artifact is produced.
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
## Failure Conditions
|
|
174
|
+
|
|
175
|
+
| Condition | Why It Matters |
|
|
176
|
+
|-----------|----------------|
|
|
177
|
+
| Design drift from approved spec | Planner and executor implement the wrong thing; review will reject |
|
|
178
|
+
| Inaccessible designs (missing alt text, insufficient contrast) | Ships a WCAG violation; design-review will flag |
|
|
179
|
+
| Missing design tokens | Executor has no machine-readable design source; visual consistency breaks |
|
|
180
|
+
| No exported code scaffolds | Executor must interpret visual designs manually; rework risk increases |
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Related
|
|
185
|
+
|
|
186
|
+
- [Roles Overview](README.md)
|
|
187
|
+
- [specifier](specifier.md) — upstream role (produces the approved spec)
|
|
188
|
+
- [content-author](content-author.md) — upstream role (provides authored content for designs)
|
|
189
|
+
- [reviewer](reviewer.md) — validates design in `design-review` workflow
|
|
190
|
+
- [planner](planner.md) — downstream role (receives design artifacts)
|
|
191
|
+
- [executor](executor.md) — uses JSX/CSS scaffolds directly
|
|
192
|
+
- [Design Workflow](../workflows/design.md) _(coming soon)_
|
|
193
|
+
- [Design-Review Workflow](../workflows/design-review.md) _(coming soon)_
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Executor
|
|
2
|
+
|
|
3
|
+
  
|
|
4
|
+
|
|
5
|
+
**Slice by slice. No drift. No invention. No fake tests.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What is this?
|
|
10
|
+
|
|
11
|
+
The executor implements the approved plan. That's it. It writes code, runs tests, produces verification evidence, and follows the git-flow rules defined by the planner — without deviating from the approved artifacts, inventing scope, or writing tests that don't actually test anything.
|
|
12
|
+
|
|
13
|
+
The executor is the role with the most tool access and the tightest operating constraints. It can edit code, run tests, execute build commands, and inspect the repo. It cannot merge branches, write to protected paths outside approved flows, or unilaterally expand scope when it hits a blocker.
|
|
14
|
+
|
|
15
|
+
The key discipline: **the executor executes, it does not decide**. When it encounters something the plan does not cover, it escalates — it does not invent a solution and continue.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Capabilities
|
|
20
|
+
|
|
21
|
+
- Implements plan tasks slice by slice in the specified order
|
|
22
|
+
- Writes code changes according to the approved spec and design artifacts
|
|
23
|
+
- Runs tests after each slice and captures results as verification evidence
|
|
24
|
+
- Follows conventional commit format for every commit
|
|
25
|
+
- Updates `CHANGELOG.md` `[Unreleased]` section for every user-facing change
|
|
26
|
+
- Creates feature/codex branches from develop (or hotfix from main) per plan specification
|
|
27
|
+
- Produces execution notes documenting what was done, any surprises, and decisions made
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## How It Fits in the Pipeline
|
|
32
|
+
|
|
33
|
+
The executor is **Phase 10**. It runs after plan-review approval.
|
|
34
|
+
|
|
35
|
+
```
|
|
36
|
+
[approved implementation plan]
|
|
37
|
+
[active canonical files]
|
|
38
|
+
[current branch state]
|
|
39
|
+
[design artifacts — if design phase ran]
|
|
40
|
+
│
|
|
41
|
+
▼
|
|
42
|
+
[executor]
|
|
43
|
+
│
|
|
44
|
+
├──► code and docs changes (committed to feature branch)
|
|
45
|
+
├──► execution notes
|
|
46
|
+
└──► verification evidence (test runs, build output)
|
|
47
|
+
│
|
|
48
|
+
▼
|
|
49
|
+
[verifier]
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
**Triggered by:** `execute` workflow.
|
|
53
|
+
|
|
54
|
+
**Feeds into:** verifier.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Input / Output Contract
|
|
59
|
+
|
|
60
|
+
| | Details |
|
|
61
|
+
|---|---|
|
|
62
|
+
| **Inputs** | Approved implementation plan, active canonical files, current branch state |
|
|
63
|
+
| **Allowed tools** | Code editing, test execution, build and verification commands, repo inspection |
|
|
64
|
+
| **Output: code and docs changes** | All changes committed to feature branch in conventional commit format |
|
|
65
|
+
| **Output: execution notes** | Summary of what was implemented, deviations from plan (escalated), surprises |
|
|
66
|
+
| **Output: verification evidence** | Actual command output from test and build runs — not summaries |
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Example
|
|
71
|
+
|
|
72
|
+
Executing Task 2 from the rate limiting plan:
|
|
73
|
+
|
|
74
|
+
**Execution notes (excerpt):**
|
|
75
|
+
|
|
76
|
+
```markdown
|
|
77
|
+
## Task 2: Rate limit middleware
|
|
78
|
+
|
|
79
|
+
### Branch
|
|
80
|
+
feature/rate-limiting (created from develop at commit a3f9b2c)
|
|
81
|
+
|
|
82
|
+
### Work Done
|
|
83
|
+
- Created src/middleware/rateLimit.ts
|
|
84
|
+
- Token bucket via rate-limiter-flexible RateLimiterRedis
|
|
85
|
+
- Fail-open on Redis connection errors (logs to alerting)
|
|
86
|
+
- Injects X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset on all responses
|
|
87
|
+
- Returns 429 + Retry-After when bucket exhausted
|
|
88
|
+
- Applied middleware in src/api/routes/index.ts at line 47
|
|
89
|
+
(after auth middleware, before route handlers — matches plan spec)
|
|
90
|
+
- Updated src/middleware/index.ts to export rateLimit
|
|
91
|
+
|
|
92
|
+
### Commit
|
|
93
|
+
feat(api): add per-key token bucket rate limiting middleware
|
|
94
|
+
|
|
95
|
+
### Verification Evidence
|
|
96
|
+
$ npm test src/middleware/rateLimit.test.ts
|
|
97
|
+
✓ allows 100 requests within window (234ms)
|
|
98
|
+
✓ blocks 101st request with 429 (12ms)
|
|
99
|
+
✓ includes X-RateLimit-* headers on all responses (8ms)
|
|
100
|
+
✓ fail-open when Redis unavailable (45ms)
|
|
101
|
+
4 passing (299ms)
|
|
102
|
+
|
|
103
|
+
### Surprises / Notes
|
|
104
|
+
- Existing auth middleware already attaches req.apiKey — no additional
|
|
105
|
+
extraction needed. Plan assumption confirmed.
|
|
106
|
+
- rate-limiter-flexible requires explicit keyPrefix to avoid Redis key
|
|
107
|
+
collisions with session store. Added keyPrefix: 'rl:' — within spec scope.
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
---
|
|
111
|
+
|
|
112
|
+
## Git-Flow Responsibilities
|
|
113
|
+
|
|
114
|
+
The executor is the role that actually produces commits. Its git-flow rules are strict:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Branch naming (specified in plan)
|
|
118
|
+
git checkout -b feature/rate-limiting
|
|
119
|
+
|
|
120
|
+
# Every commit uses conventional format
|
|
121
|
+
git commit -m "feat(api): add per-key token bucket rate limiting middleware"
|
|
122
|
+
|
|
123
|
+
# CHANGELOG update for every user-facing change
|
|
124
|
+
# Add to CHANGELOG.md [Unreleased] section before committing
|
|
125
|
+
|
|
126
|
+
# Do NOT merge — merges happen post-review
|
|
127
|
+
# Do NOT push to develop or main directly
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
| Rule | Why |
|
|
131
|
+
|------|-----|
|
|
132
|
+
| Conventional commit format | Enables automated changelog generation and `wazir validate commits` |
|
|
133
|
+
| CHANGELOG update per user-facing change | `wazir validate changelog --require-entries` will fail if missing |
|
|
134
|
+
| No merge to develop/main | Review and merge happen after verifier and reviewer sign off |
|
|
135
|
+
| No writes to protected paths | `protected_path_write_guard` hook enforces this at runtime |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Configuration
|
|
140
|
+
|
|
141
|
+
| Setting | Location | Effect |
|
|
142
|
+
|---------|----------|--------|
|
|
143
|
+
| `loop_cap_guard` hook | `hooks/` | Caps execution iterations; prevents runaway loops |
|
|
144
|
+
| `protected_path_write_guard` hook | `hooks/` | Blocks writes to `input/`, `roles/`, `workflows/`, `schemas/`, `exports/hosts/` |
|
|
145
|
+
| `post_tool_capture` hook | `hooks/` | Routes all tool outputs to capture for audit trail |
|
|
146
|
+
| Protected paths | `wazir.manifest.yaml` → `protected_paths` | Defines which paths are off-limits |
|
|
147
|
+
|
|
148
|
+
---
|
|
149
|
+
|
|
150
|
+
## When to Use / When NOT to Use
|
|
151
|
+
|
|
152
|
+
**Use the executor when:**
|
|
153
|
+
- You have an approved implementation plan and are ready to write code
|
|
154
|
+
- All upstream artifacts (spec, plan, optionally design) have been reviewed and approved
|
|
155
|
+
- The feature branch has been created and the working environment is clean
|
|
156
|
+
|
|
157
|
+
**Do NOT invoke the executor when:**
|
|
158
|
+
- The plan is not approved — executing from an unapproved plan is a contract violation
|
|
159
|
+
- You want to "quickly hack something in" outside the pipeline — go back to clarifier
|
|
160
|
+
- The plan has gaps that would require invention — resolve the gaps in plan-review first
|
|
161
|
+
|
|
162
|
+
> [!WARNING]
|
|
163
|
+
> **Fake tests are an unconditional failure condition.** A test that is structured to pass regardless of whether the feature works — empty assertions, hard-coded expected values, skipped assertions — is worse than no test at all. It produces false verification evidence that corrupts every downstream role's decisions.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Failure Conditions
|
|
168
|
+
|
|
169
|
+
| Condition | Why It Matters |
|
|
170
|
+
|-----------|----------------|
|
|
171
|
+
| Plan drift | Executor implements something not in the spec; reviewer will reject |
|
|
172
|
+
| Unwired paths | Code exists but is not connected to anything; feature doesn't work in production |
|
|
173
|
+
| Fake tests | False verification evidence corrupts verifier and reviewer decisions |
|
|
174
|
+
| Writes to protected paths outside approved flows | Hook violation; execution is blocked |
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## Related
|
|
179
|
+
|
|
180
|
+
- [Roles Overview](README.md)
|
|
181
|
+
- [planner](planner.md) — upstream role (produces the approved plan)
|
|
182
|
+
- [verifier](verifier.md) — downstream role (validates the executor's output)
|
|
183
|
+
- [reviewer](reviewer.md) — adversarial review after verification
|
|
184
|
+
- [Execute Workflow](../workflows/execute.md) _(coming soon)_
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# Learner
|
|
2
|
+
|
|
3
|
+
  
|
|
4
|
+
|
|
5
|
+
**The run is done. The learner makes sure the next run is smarter — without silently mutating the system.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What is this?
|
|
10
|
+
|
|
11
|
+
The learner closes the feedback loop. After a run completes — or after a review surfaces significant findings — the learner reads the run artifacts, review findings, and verification evidence, and extracts durable, scoped learnings that can improve future runs.
|
|
12
|
+
|
|
13
|
+
The key constraint is in the name: learnings are **proposed**, not auto-applied. The learner produces artifacts for human review. It does not silently update role contracts, operating rules, or shared defaults. Any proposed learning that is broad enough to affect the core system must be escalated.
|
|
14
|
+
|
|
15
|
+
This discipline prevents one of the most dangerous failure modes in AI-assisted engineering: a system that "learns" its way into inconsistency by accumulating unreviewed mutations to its own operating rules.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Capabilities
|
|
20
|
+
|
|
21
|
+
- Synthesizes run artifacts, review findings, and verification evidence into proposed learnings
|
|
22
|
+
- Structures learnings with confidence levels and explicit scope (project-local vs. system-wide)
|
|
23
|
+
- Produces experiment summaries when the run tested a hypothesis or tried a new approach
|
|
24
|
+
- Records git-flow violations (bad branch names, non-conventional commits, missing changelog) as learnings for injection into future executor prompts
|
|
25
|
+
- Tracks patterns of violations across runs
|
|
26
|
+
- Escalates when a proposed learning is broad enough to affect fresh-run defaults or core operating rules
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## How It Fits in the Pipeline
|
|
31
|
+
|
|
32
|
+
The learner is **Phase 13** — the final role in the pipeline. It runs after review.
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
[run artifacts]
|
|
36
|
+
[review findings]
|
|
37
|
+
[verification evidence]
|
|
38
|
+
│
|
|
39
|
+
▼
|
|
40
|
+
[learner]
|
|
41
|
+
│
|
|
42
|
+
├──► proposed learning artifacts
|
|
43
|
+
├──► experiment summaries
|
|
44
|
+
└──► confidence and scope metadata
|
|
45
|
+
│
|
|
46
|
+
▼
|
|
47
|
+
[operator review] ──► approve / reject / escalate each learning
|
|
48
|
+
│
|
|
49
|
+
▼
|
|
50
|
+
[prepare-next] ──► approved learnings injected into next run context
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
**Triggered by:** `learn` workflow, or as part of `prepare-next`.
|
|
54
|
+
|
|
55
|
+
**Feeds into:** operator review, then `prepare-next` workflow for the next task.
|
|
56
|
+
|
|
57
|
+
> [!NOTE]
|
|
58
|
+
> Approved learnings that are project-local are stored in `~/.wazir/projects/<project-slug>/memory/`. System-wide learnings require a PR to the core repo and explicit reviewer approval.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Input / Output Contract
|
|
63
|
+
|
|
64
|
+
| | Details |
|
|
65
|
+
|---|---|
|
|
66
|
+
| **Inputs** | Run artifacts (spec, plan, execution notes), review findings, verification evidence |
|
|
67
|
+
| **Allowed tools** | Local file reads, artifact synthesis, experiment/result comparison |
|
|
68
|
+
| **Output: proposed learning artifacts** | Each learning: observation, evidence, proposed change, confidence, scope |
|
|
69
|
+
| **Output: experiment summaries** | For runs that tested an approach: hypothesis, result, conclusion |
|
|
70
|
+
| **Output: confidence and scope metadata** | How certain is this learning? Where does it apply? |
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## Learning Structure
|
|
75
|
+
|
|
76
|
+
Each proposed learning follows a consistent structure:
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
## Learning: [short title]
|
|
80
|
+
|
|
81
|
+
### Observation
|
|
82
|
+
What was observed across this run (or pattern of runs).
|
|
83
|
+
|
|
84
|
+
### Evidence
|
|
85
|
+
- review/findings.md → FINDING-2: alerting path used console.log instead of alert service
|
|
86
|
+
- review/findings.md → FINDING pattern (3 of last 4 runs): Redis fail-open path omits alerting
|
|
87
|
+
|
|
88
|
+
### Proposed Change
|
|
89
|
+
Add to executor context for infrastructure tasks:
|
|
90
|
+
"When implementing fail-open paths, use src/services/alerting.ts — not console.log.
|
|
91
|
+
See src/services/alerting.ts for the interface."
|
|
92
|
+
|
|
93
|
+
### Confidence
|
|
94
|
+
MEDIUM — observed in 3 of 4 runs with Redis integration tasks.
|
|
95
|
+
|
|
96
|
+
### Scope
|
|
97
|
+
project-local — specific to this codebase's alerting pattern.
|
|
98
|
+
Does NOT affect system-wide defaults.
|
|
99
|
+
|
|
100
|
+
### Status
|
|
101
|
+
PROPOSED — awaiting operator review.
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Example
|
|
107
|
+
|
|
108
|
+
After the rate limiting run review:
|
|
109
|
+
|
|
110
|
+
**Proposed learning artifacts (excerpt):**
|
|
111
|
+
|
|
112
|
+
```markdown
|
|
113
|
+
# Proposed Learnings: Rate Limiting Run (2026-03-13)
|
|
114
|
+
|
|
115
|
+
## Learning 1: Fail-open alerting path
|
|
116
|
+
Observation: Executor used console.log for fail-open alert path.
|
|
117
|
+
Evidence: FINDING-2 (BLOCKING) in review/rate-limiting-review.md
|
|
118
|
+
Proposed change: Inject into executor context for Redis tasks:
|
|
119
|
+
"Fail-open paths must use alerting service, not console.log.
|
|
120
|
+
Interface: src/services/alerting.ts → alert(level, message, context)"
|
|
121
|
+
Confidence: HIGH — clear pattern, single correct path in codebase.
|
|
122
|
+
Scope: project-local.
|
|
123
|
+
|
|
124
|
+
## Learning 2: Rate limit header format ambiguity
|
|
125
|
+
Observation: X-RateLimit-Reset format was not specified in spec.
|
|
126
|
+
Evidence: FINDING-1 (NON-BLOCKING) in review/rate-limiting-review.md
|
|
127
|
+
Proposed change: Add to specifier context for API header tasks:
|
|
128
|
+
"Specify format for date/time headers explicitly:
|
|
129
|
+
Unix timestamp (seconds) | ISO 8601 | delta-seconds (RFC 7231 §7.1.3)"
|
|
130
|
+
Confidence: MEDIUM — general principle, applies beyond this project.
|
|
131
|
+
Scope: ESCALATE — broad enough to affect specifier defaults system-wide.
|
|
132
|
+
|
|
133
|
+
## Experiment Summary: Token bucket vs. fixed window
|
|
134
|
+
Hypothesis: Token bucket via rate-limiter-flexible would be simpler to implement
|
|
135
|
+
than building a fixed window counter from scratch.
|
|
136
|
+
Result: Implementation took 2 tasks, 3 commits, 0 blocking review findings on the
|
|
137
|
+
algorithm itself. redis-rate-limiter-flexible API was straightforward.
|
|
138
|
+
Conclusion: Confirmed. For future rate limiting tasks in this codebase,
|
|
139
|
+
rate-limiter-flexible is the recommended starting point.
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Git-Flow Responsibilities
|
|
145
|
+
|
|
146
|
+
The learner specifically tracks git-flow quality across runs:
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
Record:
|
|
150
|
+
- Branch naming violations (e.g., "changes" instead of "feature/...")
|
|
151
|
+
- Commits that failed conventional format on the first attempt
|
|
152
|
+
- Missing changelog entries caught by verifier or reviewer
|
|
153
|
+
|
|
154
|
+
Track:
|
|
155
|
+
- Patterns across multiple runs (same executor, same task type)
|
|
156
|
+
|
|
157
|
+
Propose:
|
|
158
|
+
- Injecting reminders into executor context when patterns are detected
|
|
159
|
+
- Escalating if a pattern suggests the executor's baseline prompt needs updating
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
This creates a self-improving loop: violations caught in review become learnings that prevent the same violation in future executions.
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Configuration
|
|
167
|
+
|
|
168
|
+
| Setting | Location | Effect |
|
|
169
|
+
|---------|----------|--------|
|
|
170
|
+
| State root | `wazir.manifest.yaml` → `paths.state_root_default` | Approved project-local learnings stored at `~/.wazir/projects/<slug>/memory/` |
|
|
171
|
+
| `memory/` path | repo `memory/` directory | Shared team learnings committed to repo |
|
|
172
|
+
| `prepare_next` workflow | `workflows/` | Injects approved learnings into next run context |
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## When to Use / When NOT to Use
|
|
177
|
+
|
|
178
|
+
**Use the learner when:**
|
|
179
|
+
- A run has completed (reached approved review verdict)
|
|
180
|
+
- A review session surfaced significant findings — even if the run is not complete
|
|
181
|
+
- You want to capture an experiment result while the evidence is fresh
|
|
182
|
+
- Multiple runs have shown the same pattern and it needs to be captured before it is forgotten
|
|
183
|
+
|
|
184
|
+
**Do NOT invoke the learner when:**
|
|
185
|
+
- The run is still in progress — wait for review to complete
|
|
186
|
+
- You want to use it to auto-apply changes to role contracts or operating rules — that requires escalation and PR review
|
|
187
|
+
- You want to record opinions without evidence — every learning must be tied to an artifact or observation
|
|
188
|
+
|
|
189
|
+
> [!WARNING]
|
|
190
|
+
> **Auto-applied learning drift** is the most serious learner failure condition. A learning that silently changes a role contract, a default behavior, or a core operating rule — without going through escalation and operator review — corrupts the system in ways that are very hard to detect and reverse.
|
|
191
|
+
|
|
192
|
+
---
|
|
193
|
+
|
|
194
|
+
## Failure Conditions
|
|
195
|
+
|
|
196
|
+
| Condition | Why It Matters |
|
|
197
|
+
|-----------|----------------|
|
|
198
|
+
| Auto-applied learning drift | Core system rules change without review; corruption is invisible and cumulative |
|
|
199
|
+
| Missing evidence | Learning cannot be evaluated; may be noise or bias rather than signal |
|
|
200
|
+
| Unscoped learnings | A project-specific pattern gets applied system-wide; wrong context, wrong effect |
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Related
|
|
205
|
+
|
|
206
|
+
- [Roles Overview](README.md)
|
|
207
|
+
- [reviewer](reviewer.md) — upstream role (produces findings that feed learner)
|
|
208
|
+
- [clarifier](clarifier.md) — invoked in `prepare-next` with approved learnings injected
|
|
209
|
+
- [Learn Workflow](../workflows/learn.md) _(coming soon)_
|
|
210
|
+
- [Prepare-Next Workflow](../workflows/prepare-next.md) _(coming soon)_
|