@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,39 @@
|
|
|
1
|
+
graph LR
|
|
2
|
+
P0["[0] clarify<br/><i>clarifier</i>"]
|
|
3
|
+
P1["[1] discover<br/><i>researcher</i>"]
|
|
4
|
+
P2["[2] specify<br/><i>specifier</i>"]
|
|
5
|
+
P3{{"[3] spec-challenge<br/><i>reviewer</i><br/>APPROVAL GATE"}}
|
|
6
|
+
P4["[4] author<br/><i>content-author</i>"]
|
|
7
|
+
P5["[5] design<br/><i>designer</i>"]
|
|
8
|
+
P6{{"[6] design-review<br/><i>reviewer</i><br/>APPROVAL GATE"}}
|
|
9
|
+
P7["[7] plan<br/><i>planner</i>"]
|
|
10
|
+
P8{{"[8] plan-review<br/><i>reviewer</i><br/>APPROVAL GATE"}}
|
|
11
|
+
P9["[9] execute<br/><i>executor</i>"]
|
|
12
|
+
P10["[10] verify<br/><i>verifier</i>"]
|
|
13
|
+
P11["[11] review<br/><i>reviewer</i>"]
|
|
14
|
+
P12["[12] learn<br/><i>learner</i>"]
|
|
15
|
+
P13["[13] prepare-next<br/><i>learner</i>"]
|
|
16
|
+
|
|
17
|
+
P0 --> P1 --> P2 --> P3
|
|
18
|
+
P3 -->|approved| P4 --> P5 --> P6
|
|
19
|
+
P6 -->|approved| P7 --> P8
|
|
20
|
+
P8 -->|approved| P9 --> P10 --> P11 --> P12 --> P13
|
|
21
|
+
|
|
22
|
+
P3 -.->|rejected| P2
|
|
23
|
+
P6 -.->|rejected| P5
|
|
24
|
+
P8 -.->|rejected| P7
|
|
25
|
+
|
|
26
|
+
style P3 fill:#f96,stroke:#333,color:#000
|
|
27
|
+
style P6 fill:#f96,stroke:#333,color:#000
|
|
28
|
+
style P8 fill:#f96,stroke:#333,color:#000
|
|
29
|
+
style P0 fill:#e8f4fd,stroke:#333
|
|
30
|
+
style P1 fill:#e8f4fd,stroke:#333
|
|
31
|
+
style P2 fill:#e8f4fd,stroke:#333
|
|
32
|
+
style P4 fill:#d4edda,stroke:#333
|
|
33
|
+
style P5 fill:#d4edda,stroke:#333
|
|
34
|
+
style P7 fill:#fff3cd,stroke:#333
|
|
35
|
+
style P9 fill:#cce5ff,stroke:#333
|
|
36
|
+
style P10 fill:#f8d7da,stroke:#333
|
|
37
|
+
style P11 fill:#f8d7da,stroke:#333
|
|
38
|
+
style P12 fill:#e2e3e5,stroke:#333
|
|
39
|
+
style P13 fill:#e2e3e5,stroke:#333
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
# Record Wazir terminal demo
|
|
3
|
+
# Prerequisites: brew install asciinema && pip3 install agg
|
|
4
|
+
#
|
|
5
|
+
# Usage:
|
|
6
|
+
# cd /path/to/wazir
|
|
7
|
+
# bash assets/record-demo.sh
|
|
8
|
+
#
|
|
9
|
+
# Output: assets/demo.gif (should be under 5MB)
|
|
10
|
+
|
|
11
|
+
set -euo pipefail
|
|
12
|
+
|
|
13
|
+
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
14
|
+
REPO_DIR="$(dirname "$SCRIPT_DIR")"
|
|
15
|
+
cd "$REPO_DIR"
|
|
16
|
+
|
|
17
|
+
# Check prerequisites
|
|
18
|
+
if ! command -v asciinema &>/dev/null; then
|
|
19
|
+
echo "Error: asciinema not found. Install with: brew install asciinema"
|
|
20
|
+
exit 1
|
|
21
|
+
fi
|
|
22
|
+
|
|
23
|
+
if ! command -v agg &>/dev/null; then
|
|
24
|
+
echo "Error: agg not found. Install with: pip3 install agg"
|
|
25
|
+
exit 1
|
|
26
|
+
fi
|
|
27
|
+
|
|
28
|
+
echo "Recording demo..."
|
|
29
|
+
asciinema rec assets/demo.cast \
|
|
30
|
+
--cols 100 \
|
|
31
|
+
--rows 25 \
|
|
32
|
+
--overwrite \
|
|
33
|
+
-c "bash assets/demo-script.sh"
|
|
34
|
+
|
|
35
|
+
echo "Converting to GIF..."
|
|
36
|
+
agg assets/demo.cast assets/demo.gif \
|
|
37
|
+
--cols 100 \
|
|
38
|
+
--rows 25 \
|
|
39
|
+
--speed 1.5
|
|
40
|
+
|
|
41
|
+
# Check file size
|
|
42
|
+
SIZE=$(stat -f%z assets/demo.gif 2>/dev/null || stat -c%s assets/demo.gif 2>/dev/null)
|
|
43
|
+
SIZE_MB=$((SIZE / 1024 / 1024))
|
|
44
|
+
echo "GIF size: ${SIZE_MB}MB"
|
|
45
|
+
|
|
46
|
+
if [ "$SIZE_MB" -gt 5 ]; then
|
|
47
|
+
echo "Warning: GIF is over 5MB. Consider increasing --speed or trimming the demo."
|
|
48
|
+
fi
|
|
49
|
+
|
|
50
|
+
echo "Done. Output: assets/demo.gif"
|
|
51
|
+
echo "Embed in README.md with: "
|
package/docs/README.md
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# Wazir Documentation
|
|
2
|
+
|
|
3
|
+
## Where should I start?
|
|
4
|
+
|
|
5
|
+
| I want to... | Start here |
|
|
6
|
+
|---|---|
|
|
7
|
+
| **Get started** with Wazir | [Installation](getting-started/01-installation.md) then [First Run](getting-started/02-first-run.md) |
|
|
8
|
+
| **Understand** how it works | [Architecture](concepts/architecture.md) then [Roles & Workflows](concepts/roles-and-workflows.md) |
|
|
9
|
+
| **Do** a specific task | [Guides](guides/) |
|
|
10
|
+
| **Look up** a command or config | [CLI Reference](reference/tooling-cli.md) then [Configuration](reference/configuration-reference.md) |
|
|
11
|
+
|
|
12
|
+
## Getting Started (Tutorials)
|
|
13
|
+
|
|
14
|
+
- [Installation](getting-started/01-installation.md)
|
|
15
|
+
- [First Run](getting-started/02-first-run.md)
|
|
16
|
+
- [Adding Wazir to an Existing Project](getting-started/03-adding-to-project.md) _(coming soon)_
|
|
17
|
+
- [Host Setup](getting-started/04-host-setup.md) _(coming soon)_
|
|
18
|
+
|
|
19
|
+
## Concepts (Understanding)
|
|
20
|
+
|
|
21
|
+
- [Architecture](concepts/architecture.md)
|
|
22
|
+
- [Roles and Workflows](concepts/roles-and-workflows.md)
|
|
23
|
+
- [Artifact Model](concepts/artifact-model.md)
|
|
24
|
+
- [Composition Engine](concepts/composition-engine.md)
|
|
25
|
+
- [Observability](concepts/observability.md)
|
|
26
|
+
- [Indexing and Recall](concepts/indexing-and-recall.md)
|
|
27
|
+
- [Terminology Policy](concepts/terminology-policy.md)
|
|
28
|
+
|
|
29
|
+
## Guides (How-To)
|
|
30
|
+
|
|
31
|
+
- [Memory and Learnings](guides/memory-and-learnings.md)
|
|
32
|
+
- [Troubleshooting](guides/troubleshooting.md)
|
|
33
|
+
- [Writing Custom Roles](guides/writing-custom-roles.md) _(coming soon)_
|
|
34
|
+
- [Creating Skills](guides/creating-skills.md) _(coming soon)_
|
|
35
|
+
- [Expertise Module Authoring](guides/expertise-module-authoring.md) _(coming soon)_
|
|
36
|
+
- [CI Integration](guides/ci-integration.md) _(coming soon)_
|
|
37
|
+
- [Hook Development](guides/hook-development.md) _(coming soon)_
|
|
38
|
+
- [Multi-Host Export](guides/multi-host-export.md) _(coming soon)_
|
|
39
|
+
|
|
40
|
+
## Reference (Lookup)
|
|
41
|
+
|
|
42
|
+
- [CLI Reference](reference/tooling-cli.md)
|
|
43
|
+
- [Configuration Reference](reference/configuration-reference.md)
|
|
44
|
+
- [Roles Reference](reference/roles-reference.md)
|
|
45
|
+
- [Hooks Reference](reference/hooks.md)
|
|
46
|
+
- [Expertise Index](reference/expertise-index.md)
|
|
47
|
+
- [Skills Reference](reference/skills.md)
|
|
48
|
+
- [Templates Reference](reference/templates.md)
|
|
49
|
+
- [Host Exports Reference](reference/host-exports.md)
|
|
50
|
+
- [Git-Flow Policy](reference/git-flow.md)
|
|
51
|
+
- [Release Process](reference/release-process.md)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# context-mode Adapter
|
|
2
|
+
|
|
3
|
+
Status: implemented (optional, config-driven).
|
|
4
|
+
|
|
5
|
+
## Position
|
|
6
|
+
|
|
7
|
+
Wazir does not depend on `context-mode` for default operation. All built-in indexing, recall, capture, and hook surfaces stand on their own without this adapter.
|
|
8
|
+
|
|
9
|
+
When enabled via init-time configuration, the adapter provides:
|
|
10
|
+
|
|
11
|
+
1. **Researcher bridging** — the researcher role prefers `fetch_and_index` over WebFetch for external documentation. Fetched docs become searchable via FTS5 across all phases.
|
|
12
|
+
2. **File read bridging** — large artifact reads can route through `execute_file` so raw content stays in the sandbox, only summaries enter context.
|
|
13
|
+
3. **Stats collection** — `ctx_stats` data is read at compaction and session-end, recorded in `usage.json` for savings reporting.
|
|
14
|
+
|
|
15
|
+
## Configuration
|
|
16
|
+
|
|
17
|
+
Enabled during project setup:
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
{
|
|
21
|
+
"context_mode": { "enabled": true }
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Stored in `~/.wazir/projects/<project-slug>/config.json`.
|
|
26
|
+
|
|
27
|
+
## Adapter API
|
|
28
|
+
|
|
29
|
+
Module: `tooling/src/adapters/context-mode.js` (pure functions, no side effects)
|
|
30
|
+
|
|
31
|
+
| Function | Returns when enabled | Returns when disabled |
|
|
32
|
+
|----------|---------------------|----------------------|
|
|
33
|
+
| `isEnabled(config)` | `true` | `false` |
|
|
34
|
+
| `bridgeResearcherFetch(config, url, source)` | `{ tool, args }` hint | `null` |
|
|
35
|
+
| `bridgeFileRead(config, path, intent)` | `{ tool, args }` hint | `null` |
|
|
36
|
+
| `collectStats(config)` | `{ should_collect, tool, args }` | `null` |
|
|
37
|
+
|
|
38
|
+
## Constraints
|
|
39
|
+
|
|
40
|
+
- External only, opt-in only, lazy-loaded
|
|
41
|
+
- Must not block install, test, or normal CLI use when absent
|
|
42
|
+
- All functions return `null` on any failure — never throw
|
|
43
|
+
- `WAZIR_DISABLE_CONTEXT_MODE=1` overrides config to force-disable
|
|
44
|
+
|
|
45
|
+
## Bridged Tools (2 of 9)
|
|
46
|
+
|
|
47
|
+
| Tool | Bridge Function | Purpose |
|
|
48
|
+
|------|----------------|---------|
|
|
49
|
+
| `fetch_and_index` | `bridgeResearcherFetch` | Researcher fetches docs + indexes for FTS5 search |
|
|
50
|
+
| `execute_file` | `bridgeFileRead` | Large file reads processed in sandbox |
|
|
51
|
+
|
|
52
|
+
The remaining 7 context-mode tools (`execute`, `batch_execute`, `index`, `search`, `stats`, `doctor`, `upgrade`) operate independently via context-mode's own hooks.
|
|
53
|
+
|
|
54
|
+
## Hook Interaction
|
|
55
|
+
|
|
56
|
+
Context-mode hooks (Claude Code hook system) fire BEFORE Wazir CLI commands:
|
|
57
|
+
1. context-mode PreToolUse may redirect WebFetch to fetch_and_index
|
|
58
|
+
2. Wazir captures the RESULT of whatever tool actually executed
|
|
59
|
+
|
|
60
|
+
Wazir's `usage.json` records savings regardless of which tool ran.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Architecture
|
|
2
|
+
|
|
3
|
+
Wazir is a host-native engineering OS kit. The host environment (Claude, Codex, Gemini, Cursor) remains the execution container. Wazir supplies the operating model, guardrails, and artifact contracts.
|
|
4
|
+
|
|
5
|
+
## Core components
|
|
6
|
+
|
|
7
|
+
| Component | Purpose |
|
|
8
|
+
|-----------|---------|
|
|
9
|
+
| Roles | Canonical contracts defining what each agent role does and produces |
|
|
10
|
+
| Workflows | Phase entrypoints that sequence roles through delivery |
|
|
11
|
+
| Skills | Reusable procedures (wz:tdd, wz:debugging, wz:verification, wz:brainstorming) |
|
|
12
|
+
| Hooks | Guardrails enforcing protected paths, loop caps, and capture routing |
|
|
13
|
+
| Expertise | 308 curated knowledge modules composed into agent prompts |
|
|
14
|
+
| Templates | Artifact templates for phase outputs and handoff |
|
|
15
|
+
| Schemas | Validation schemas for manifest, hooks, artifacts, and exports |
|
|
16
|
+
| Exports | Generated host packages tailored per supported host |
|
|
17
|
+
| Tooling | CLI for validation, indexing, recall, capture, and status |
|
|
18
|
+
|
|
19
|
+
## Design influences
|
|
20
|
+
|
|
21
|
+
| Source | What Wazir keeps |
|
|
22
|
+
|--------|----------------------|
|
|
23
|
+
| Wazir skill system | Disciplined workflows, TDD, verification, review rigor, skill ergonomics |
|
|
24
|
+
| Spec-Kit | Spec-first development, explicit artifacts, approval gates |
|
|
25
|
+
| Oh My Claude | Host-native prompt structure and operator ergonomics |
|
|
26
|
+
| autoresearch | Research loops, experiment tracking, self-improvement discipline |
|
|
27
|
+
|
|
28
|
+
## Context and indexing
|
|
29
|
+
|
|
30
|
+
Wazir ships a built-in local index and recall surface that reduces context window consumption by 60-80% on exploration-heavy phases.
|
|
31
|
+
|
|
32
|
+
### Context tiers
|
|
33
|
+
|
|
34
|
+
| Tier | Token budget | Content | When to use |
|
|
35
|
+
|------|-------------|---------|-------------|
|
|
36
|
+
| L0 | ~100 tokens | One-line identifier (name, kind, language, line range) | Inventory scans, deciding what to load |
|
|
37
|
+
| L1 | ~500-2k tokens | Structural summary (signature, fields, purpose, dependencies) | Understanding shape without full source |
|
|
38
|
+
| L2 | Full content | Exact line-bounded source slice | Implementation, debugging, code review |
|
|
39
|
+
|
|
40
|
+
### Role-specific recall defaults
|
|
41
|
+
|
|
42
|
+
Roles are assigned default tiers based on their information needs:
|
|
43
|
+
|
|
44
|
+
- **Exploration roles** (clarifier, researcher, specifier, content-author, designer, planner) default to L1 -- they need to understand structure across many files without reading every line
|
|
45
|
+
- **Implementation roles** (executor, verifier) default to direct read (L2) -- they need exact source for code changes and verification
|
|
46
|
+
- **Review role** (reviewer) starts at L1 as a triage pass, escalating to direct read only for logic errors, security concerns, or ambiguous summaries
|
|
47
|
+
- **Learning role** (learner) defaults to L0 -- it needs only inventory-level context to identify what changed
|
|
48
|
+
|
|
49
|
+
Every role includes a fallback chain: if the preferred tier fails (no index, no summaries), the role falls back to direct file reads. The system degrades gracefully -- no wasted tokens on failed index operations.
|
|
50
|
+
|
|
51
|
+
### Capture routing
|
|
52
|
+
|
|
53
|
+
Large tool output is routed to run-local files via `wazir capture route` and `wazir capture output`, keeping the context window lean. The agent receives a file path reference (~50 tokens) instead of the full output.
|
|
54
|
+
|
|
55
|
+
### Pipeline integration points
|
|
56
|
+
|
|
57
|
+
The index and recall surface integrates with the pipeline at five points:
|
|
58
|
+
|
|
59
|
+
1. **Session start** -- the bootstrap hook runs `index refresh` (or `build` for first run) to ensure the index is current
|
|
60
|
+
2. **Scan project** -- the `scan-project` skill runs `index stats` to report index health in the project profile
|
|
61
|
+
3. **Debugging** -- the `wz:debugging` OBSERVE phase uses `index search-symbols` and `recall --tier L1` for symbol-first exploration
|
|
62
|
+
4. **Execute** -- the executor uses `recall file` and `recall symbol` for targeted source reads
|
|
63
|
+
5. **Verify** -- the verifier uses direct reads for full validation
|
|
64
|
+
|
|
65
|
+
### Measuring savings
|
|
66
|
+
|
|
67
|
+
`wazir capture usage` generates a per-run token savings report showing capture routing statistics and context window savings. This provides concrete evidence of token reduction per session.
|
|
68
|
+
|
|
69
|
+
The context-mode integration remains an optional adapter -- off by default, never required for core install, build, or test paths.
|
|
70
|
+
|
|
71
|
+
See [Indexing and Recall](indexing-and-recall.md) for full command details and extractor documentation.
|
|
72
|
+
|
|
73
|
+
## Design Phase
|
|
74
|
+
|
|
75
|
+
The design phase runs after specification and before planning. The `designer` role uses open-pencil MCP tools to produce visual designs from the approved spec. Outputs include a `.fig` design file, exported Tailwind JSX/HTML+CSS scaffolds, design tokens JSON, and screenshot PNGs.
|
|
76
|
+
|
|
77
|
+
The `design-review` workflow validates designs against the spec before planning begins. The existing `review` workflow also checks design-vs-implementation alignment after execution.
|
|
78
|
+
|
|
79
|
+
open-pencil is integrated as an optional adapter (`open_pencil`) — it is not required for core Wazir functionality.
|
|
80
|
+
|
|
81
|
+
## Key references
|
|
82
|
+
|
|
83
|
+
- [Roles & Workflows](roles-and-workflows.md)
|
|
84
|
+
- [Artifact Model](artifact-model.md)
|
|
85
|
+
- [Host Exports](../reference/host-exports.md)
|
|
86
|
+
- [Hooks](../reference/hooks.md)
|
|
87
|
+
- [Expertise & Antipatterns](composition-engine.md)
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Artifact Model
|
|
2
|
+
|
|
3
|
+
Wazir separates operator input, committed repo artifacts, and live run state.
|
|
4
|
+
|
|
5
|
+
## Human Truth
|
|
6
|
+
|
|
7
|
+
- `input/` is the read-only operator briefing surface.
|
|
8
|
+
|
|
9
|
+
## Default Live Run State
|
|
10
|
+
|
|
11
|
+
Default run state lives outside the repo:
|
|
12
|
+
|
|
13
|
+
- `~/.wazir/projects/<project-slug>/runs/<run-id>/`
|
|
14
|
+
|
|
15
|
+
Typical run contents:
|
|
16
|
+
|
|
17
|
+
- `manifest.json`
|
|
18
|
+
- `sources.json`
|
|
19
|
+
- phase subdirectories such as `clarify/`, `plan/`, `verify/`, `review/`
|
|
20
|
+
- `status.json`
|
|
21
|
+
- `events.ndjson`
|
|
22
|
+
- `summary.md`
|
|
23
|
+
|
|
24
|
+
## Committed Repo Artifacts
|
|
25
|
+
|
|
26
|
+
Use `artifacts/` only for committed evidence such as:
|
|
27
|
+
|
|
28
|
+
- release evidence
|
|
29
|
+
- checked-in examples
|
|
30
|
+
|
|
31
|
+
## Artifact Rules
|
|
32
|
+
|
|
33
|
+
- every artifact should declare phase, role, run ID, timestamp, sources, status, and loop number
|
|
34
|
+
- non-trivial claims must cite a source file, source URL, or verification command
|
|
35
|
+
- approval-gated artifacts must record approval status and approver when relevant
|
|
36
|
+
- scratch work must not be confused with durable artifacts
|
|
37
|
+
- learnings belong in `memory/`, not in fresh-run source truth
|
|
38
|
+
|
|
39
|
+
## Templates
|
|
40
|
+
|
|
41
|
+
Canonical starting points live under:
|
|
42
|
+
|
|
43
|
+
- `templates/artifacts/*.md`
|
|
44
|
+
- `templates/artifacts/*.json`
|
|
45
|
+
|
|
46
|
+
Those templates define the minimum metadata for clarification, research, specs, plan review, execution notes, verification, review, learning promotion, and next-run handoff artifacts.
|
|
47
|
+
|
|
48
|
+
## Repo-Local Override
|
|
49
|
+
|
|
50
|
+
Repo-local run state is opt-in only. If an operator deliberately uses a repo-local override, the recommended path is:
|
|
51
|
+
|
|
52
|
+
- `.wazir-state/`
|
|
53
|
+
|
|
54
|
+
That path must remain gitignored so a normal run still leaves `git status` clean.
|
|
55
|
+
|
|
56
|
+
## Retention
|
|
57
|
+
|
|
58
|
+
- keep committed `artifacts/` focused on release evidence and checked-in examples
|
|
59
|
+
- archive stale or disproven learnings instead of rewriting history in place
|
|
60
|
+
- prune external run-state captures when they no longer provide audit or debugging value
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Composition Engine
|
|
2
|
+
|
|
3
|
+
Wazir uses a composition engine to assemble the right expertise into each role's context at each phase.
|
|
4
|
+
|
|
5
|
+
## How expertise loading works
|
|
6
|
+
|
|
7
|
+
- `clarify` and `discover` start from `input/`, active docs, and `docs/research/`
|
|
8
|
+
- `specify` and `plan` pull only the expertise slices relevant to the stack and risks
|
|
9
|
+
- `review` always considers `expertise/antipatterns/` before broader domain modules
|
|
10
|
+
- `learn` can propose updates to expertise, but may not silently rewrite it
|
|
11
|
+
|
|
12
|
+
## Anti-patterns first
|
|
13
|
+
|
|
14
|
+
`expertise/antipatterns/` is first-class review input. It exists to catch:
|
|
15
|
+
|
|
16
|
+
- fake completion
|
|
17
|
+
- unwired abstractions
|
|
18
|
+
- shallow tests
|
|
19
|
+
- security theater
|
|
20
|
+
- architecture drift
|
|
21
|
+
- AI-coding failure modes
|
|
22
|
+
|
|
23
|
+
Anti-patterns are loaded into reviewer context before any other domain modules. This ordering ensures that known failure modes are the first lens through which review happens.
|
|
24
|
+
|
|
25
|
+
## Why scoped loading matters
|
|
26
|
+
|
|
27
|
+
Brute-force loading of all expertise modules would flood the context window. The composition engine resolves which modules to load based on the task's declared stack and concerns, keeping context tight and relevant. Max 15 modules per dispatch, with token budget enforcement.
|
|
28
|
+
|
|
29
|
+
## Source material
|
|
30
|
+
|
|
31
|
+
- Research findings: `docs/research/`
|
|
32
|
+
- Expertise modules: `expertise/`
|
|
33
|
+
- Anti-pattern catalog: `expertise/antipatterns/`
|
|
34
|
+
- Expertise metadata: `expertise/index.yaml`
|
|
35
|
+
|
|
36
|
+
For the complete module listing and anti-pattern catalog, see the [Expertise Index reference](../reference/expertise-index.md).
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# Indexing and Recall
|
|
2
|
+
|
|
3
|
+
Wazir ships a built-in local indexer so context reduction does not depend on an external commercial tool.
|
|
4
|
+
|
|
5
|
+
## Current implementation
|
|
6
|
+
|
|
7
|
+
- storage engine: built-in `node:sqlite`
|
|
8
|
+
- index location: `<state-root>/index/index.sqlite`
|
|
9
|
+
- default state root: `~/.wazir/projects/{project_slug}`
|
|
10
|
+
- override: `--state-root <path>`
|
|
11
|
+
- refresh model: hash-based incremental refresh
|
|
12
|
+
- retrieval model: exact file slices and symbol slices read back from the working tree
|
|
13
|
+
|
|
14
|
+
## Context tiers
|
|
15
|
+
|
|
16
|
+
Wazir supports three context tiers for recall, enabling token-efficient context loading:
|
|
17
|
+
|
|
18
|
+
| Tier | Target size | Content | Use case |
|
|
19
|
+
| --- | --- | --- | --- |
|
|
20
|
+
| L0 | ~100 tokens | One-line identifier summary (name, kind, language, line range) | Inventory scans, bulk listing, deciding what to load |
|
|
21
|
+
| L1 | ~500-2k tokens | Structural summary (signature, key fields, purpose, dependencies) | Understanding shape and role without full source |
|
|
22
|
+
| L2 | Full content | Exact line-bounded source slice | Implementation details, debugging, code review |
|
|
23
|
+
|
|
24
|
+
L2 is the default recall behavior (exact slices). L0 and L1 require summaries to be generated first via `index summarize`.
|
|
25
|
+
|
|
26
|
+
## Summary generation
|
|
27
|
+
|
|
28
|
+
The `wazir index summarize` command generates L0 and L1 heuristic summaries for all indexed files and symbols.
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
wazir index summarize [--state-root <path>] [--refresh]
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
- Generates summaries for every file and symbol currently in the index
|
|
35
|
+
- Summaries are stored in the index database alongside the source metadata
|
|
36
|
+
- The `--refresh` flag regenerates summaries even if they already exist
|
|
37
|
+
- Summary generation is heuristic-based (no external LLM calls required)
|
|
38
|
+
- Each summary records the content hash at generation time for freshness checking
|
|
39
|
+
|
|
40
|
+
## Tiered recall
|
|
41
|
+
|
|
42
|
+
The `--tier` flag on `recall file` and `recall symbol` switches from full-content (L2) recall to summary recall:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
wazir recall file <path> --tier L0
|
|
46
|
+
wazir recall file <path> --tier L1
|
|
47
|
+
wazir recall symbol <name> --tier L0
|
|
48
|
+
wazir recall symbol <name> --tier L1
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
- `--tier` is mutually exclusive with `--start`/`--end` line-range options
|
|
52
|
+
- When `--tier` is specified, the response includes the summary text and a `fresh` field
|
|
53
|
+
- Without `--tier`, recall behaves exactly as before (L2 exact slices)
|
|
54
|
+
|
|
55
|
+
## Freshness checking
|
|
56
|
+
|
|
57
|
+
When summaries are recalled via `--tier`, the response includes a `fresh` boolean field:
|
|
58
|
+
|
|
59
|
+
- `fresh: true` -- the content hash at summary generation time matches the current file hash on disk
|
|
60
|
+
- `fresh: false` -- the file has been modified since the summary was generated; the summary may be stale
|
|
61
|
+
|
|
62
|
+
Consumers should treat stale summaries as approximate and consider re-running `index summarize --refresh` or falling back to L2 recall for critical decisions.
|
|
63
|
+
|
|
64
|
+
## Pipeline integration
|
|
65
|
+
|
|
66
|
+
The index and recall surface integrates with the Wazir pipeline at multiple points:
|
|
67
|
+
|
|
68
|
+
- **Session start** -- the session-start hook runs `index refresh` (or `index build` for first run) as part of the 3-step CLI bootstrap
|
|
69
|
+
- **Scan project** -- the `scan-project` skill runs `index stats` to report index health in the project profile
|
|
70
|
+
- **Debugging** -- the `wz:debugging` OBSERVE phase uses `index search-symbols` and `recall --tier L1` for symbol-first exploration before targeted source reads
|
|
71
|
+
- **Execution** -- the executor uses `recall file` and `recall symbol` for targeted source access
|
|
72
|
+
- **Verification** -- the verifier uses direct reads for full validation
|
|
73
|
+
|
|
74
|
+
Each role has a default recall tier. See [Roles Reference -- Context retrieval defaults](../reference/roles-reference.md#context-retrieval-defaults) for the full table.
|
|
75
|
+
|
|
76
|
+
## Current commands
|
|
77
|
+
|
|
78
|
+
Implemented now:
|
|
79
|
+
|
|
80
|
+
- `wazir index build`
|
|
81
|
+
- `wazir index refresh`
|
|
82
|
+
- `wazir index stats`
|
|
83
|
+
- `wazir index summarize`
|
|
84
|
+
- `wazir index search-symbols`
|
|
85
|
+
- `wazir index get-symbol`
|
|
86
|
+
- `wazir index get-file-outline`
|
|
87
|
+
- `wazir recall file`
|
|
88
|
+
- `wazir recall symbol`
|
|
89
|
+
|
|
90
|
+
Reserved for later host/runtime work:
|
|
91
|
+
|
|
92
|
+
- adapter-backed summary generation (LLM-powered summaries via optional adapters)
|
|
93
|
+
- directory-level summaries (roll up file summaries into directory-level context)
|
|
94
|
+
- adapter activation flows
|
|
95
|
+
- richer parser inventories
|
|
96
|
+
|
|
97
|
+
## Extractor coverage
|
|
98
|
+
|
|
99
|
+
The current core extractor roster is heuristic and built in-repo:
|
|
100
|
+
|
|
101
|
+
- `builtin-heuristic-javascript`
|
|
102
|
+
- `builtin-heuristic-typescript`
|
|
103
|
+
- `builtin-heuristic-python`
|
|
104
|
+
- `builtin-heuristic-go`
|
|
105
|
+
- `builtin-heuristic-rust`
|
|
106
|
+
- `builtin-heuristic-java`
|
|
107
|
+
- `builtin-heuristic-sql`
|
|
108
|
+
- `builtin-heuristic-json`
|
|
109
|
+
- `builtin-heuristic-yaml`
|
|
110
|
+
- `builtin-heuristic-markdown`
|
|
111
|
+
|
|
112
|
+
Behavior:
|
|
113
|
+
|
|
114
|
+
- supported files get file metadata, hashes, outlines, and best-effort symbol extraction
|
|
115
|
+
- unsupported text files can still be added later, but should not claim symbol precision they do not provide
|
|
116
|
+
- markdown headings and top-level structured keys are first-class outline targets
|
|
117
|
+
|
|
118
|
+
## Output model
|
|
119
|
+
|
|
120
|
+
The index stores:
|
|
121
|
+
|
|
122
|
+
- files
|
|
123
|
+
- symbols
|
|
124
|
+
- outlines
|
|
125
|
+
- hashes
|
|
126
|
+
- ingestion runs
|
|
127
|
+
- retrieval logs
|
|
128
|
+
|
|
129
|
+
Recall returns:
|
|
130
|
+
|
|
131
|
+
- exact line-bounded slice
|
|
132
|
+
- exact source path
|
|
133
|
+
- exact line start and line end
|
|
134
|
+
- optional surrounding context window
|
|
135
|
+
|
|
136
|
+
## Ignore and hygiene rules
|
|
137
|
+
|
|
138
|
+
The built-in index currently skips common non-source or generated trees such as:
|
|
139
|
+
|
|
140
|
+
- `.git/`
|
|
141
|
+
- `.worktrees/`
|
|
142
|
+
- `node_modules/`
|
|
143
|
+
- `dist/`
|
|
144
|
+
- `build/`
|
|
145
|
+
- `coverage/`
|
|
146
|
+
- `.next/`
|
|
147
|
+
|
|
148
|
+
If the chosen state root lives inside the repo, Wazir skips indexing that path so it does not index its own artifacts.
|
|
149
|
+
|
|
150
|
+
## Adapter stance
|
|
151
|
+
|
|
152
|
+
The built-in index is the default and required path.
|
|
153
|
+
|
|
154
|
+
The optional `context-mode` adapter remains:
|
|
155
|
+
|
|
156
|
+
- disabled by default
|
|
157
|
+
- external
|
|
158
|
+
- non-required for default install or test paths
|
|
159
|
+
|
|
160
|
+
See the adapter docs for current status and constraints.
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Observability
|
|
2
|
+
|
|
3
|
+
Wazir observability is file-based and host-native. All observability requires no external services.
|
|
4
|
+
|
|
5
|
+
## Current observability surfaces
|
|
6
|
+
|
|
7
|
+
Implemented now:
|
|
8
|
+
|
|
9
|
+
- `wazir status --run <id> [--json]`
|
|
10
|
+
- canonical hook definitions for status, capture, compaction, and handoff events
|
|
11
|
+
- external state-root policy for run-local files
|
|
12
|
+
- `wazir capture init` for `status.json` and `events.ndjson` bootstrap
|
|
13
|
+
- `wazir capture event` for event append and status updates
|
|
14
|
+
- `wazir capture route` and `wazir capture output` for large-output artifact capture
|
|
15
|
+
- `wazir capture summary` for `summary.md` and stop-time or compaction summaries
|
|
16
|
+
|
|
17
|
+
Planned next:
|
|
18
|
+
|
|
19
|
+
- host-specific native-hook or wrapper wiring that calls the capture commands automatically
|
|
20
|
+
|
|
21
|
+
## Current status path
|
|
22
|
+
|
|
23
|
+
The status command reads:
|
|
24
|
+
|
|
25
|
+
- `<state-root>/runs/<run-id>/status.json`
|
|
26
|
+
|
|
27
|
+
Use `--state-root <path>` to target a fixture or non-default state location.
|
|
28
|
+
|
|
29
|
+
The capture command family writes under:
|
|
30
|
+
|
|
31
|
+
- `<state-root>/runs/<run-id>/status.json`
|
|
32
|
+
- `<state-root>/runs/<run-id>/events.ndjson`
|
|
33
|
+
- `<state-root>/runs/<run-id>/summary.md`
|
|
34
|
+
- `<state-root>/runs/<run-id>/captures/*`
|
|
35
|
+
|
|
36
|
+
## Design rules
|
|
37
|
+
|
|
38
|
+
- run-local observability lives outside the repo by default
|
|
39
|
+
- machine-readable status must exist without any server
|
|
40
|
+
- captured output should reduce context flooding, not increase it
|
|
41
|
+
- summaries must point back to captured files instead of pretending the full output stayed in context
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Roles and Workflows
|
|
2
|
+
|
|
3
|
+
Wazir defines explicit canonical roles and explicit phase workflows. Understanding why these exist and how they interact is key to using the system effectively.
|
|
4
|
+
|
|
5
|
+
## Why roles?
|
|
6
|
+
|
|
7
|
+
Roles are isolation boundaries, not personas. Each role has defined inputs, allowed tools, required outputs, escalation rules, and failure conditions. An agent inside a role cannot write to protected paths, cannot skip required outputs, and must escalate when ambiguity conditions are met. The discipline is structural, not instructional.
|
|
8
|
+
|
|
9
|
+
Separating concerns into roles means that the entity implementing a task is never the same entity reviewing it. This adversarial separation is what makes quality enforcement structural rather than aspirational.
|
|
10
|
+
|
|
11
|
+
## Why phases?
|
|
12
|
+
|
|
13
|
+
Phases are artifact checkpoints, not conversation stages. Every phase consumes a named artifact from the previous phase and produces a named artifact for the next. Nothing flows via conversation history. A session can end, a new agent can pick up the artifacts, and delivery continues — because the handoff is explicit, structured, and schema-validated.
|
|
14
|
+
|
|
15
|
+
## The phase model
|
|
16
|
+
|
|
17
|
+
The canonical workflow sequence is:
|
|
18
|
+
|
|
19
|
+
1. **clarify** — resolve ambiguity before committing to a spec
|
|
20
|
+
2. **discover** — gather research and prior art
|
|
21
|
+
3. **specify** — produce a measurable spec with acceptance criteria
|
|
22
|
+
4. **spec-challenge** — adversarial review of the spec
|
|
23
|
+
5. **author** — finalize content, microcopy, and i18n keys
|
|
24
|
+
6. **design** — produce visual designs from the approved spec
|
|
25
|
+
7. **design-review** — validate designs against spec, accessibility, and visual consistency
|
|
26
|
+
8. **plan** — create an implementation plan from the approved spec and designs
|
|
27
|
+
9. **plan-review** — adversarial review of the plan
|
|
28
|
+
10. **execute** — implement the plan
|
|
29
|
+
11. **verify** — QA hard gate with fresh proof
|
|
30
|
+
12. **review** — adversarial quality review
|
|
31
|
+
13. **learn** — capture scoped learnings
|
|
32
|
+
14. **prepare-next** — produce a clean handoff for the next run
|
|
33
|
+
|
|
34
|
+
## Role routing
|
|
35
|
+
|
|
36
|
+
The orchestrator dispatches three roles per task: `executor`, `reviewer`, and `verifier`. By default, all three run for every task. The `required_roles` field in a task's YAML frontmatter controls which roles are dispatched, allowing the orchestrator to skip unnecessary roles and save context window budget.
|
|
37
|
+
|
|
38
|
+
### Auto-detection
|
|
39
|
+
|
|
40
|
+
The clarifier assigns `required_roles` based on task type:
|
|
41
|
+
|
|
42
|
+
| Task type | Required roles | Rationale |
|
|
43
|
+
|-----------|---------------|-----------|
|
|
44
|
+
| `feature` | `[executor, reviewer, verifier]` | Full pipeline |
|
|
45
|
+
| `bugfix` | `[executor, reviewer, verifier]` | Full pipeline |
|
|
46
|
+
| `refactor` | `[executor, reviewer, verifier]` | Full pipeline |
|
|
47
|
+
| `docs` | `[executor, verifier]` | No adversarial review needed |
|
|
48
|
+
| `config` | `[executor, verifier]` | No adversarial review needed |
|
|
49
|
+
|
|
50
|
+
If `security_critical: true`, `reviewer` is always included.
|
|
51
|
+
|
|
52
|
+
### Constraints
|
|
53
|
+
|
|
54
|
+
- `verifier` is always present — it is the QA hard gate and cannot be removed
|
|
55
|
+
- Default when `required_roles` is absent: `[executor, reviewer, verifier]` (backward compatible)
|
|
56
|
+
|
|
57
|
+
## Canonical source
|
|
58
|
+
|
|
59
|
+
Use the files under `roles/` and `workflows/` as the canonical source for role contracts and phase entrypoints. For exact role and workflow tables, see the [Roles Reference](../reference/roles-reference.md).
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# Wazir Brand and Terminology Guide
|
|
2
|
+
|
|
3
|
+
## Canonical Terms
|
|
4
|
+
|
|
5
|
+
Use these terms in all product surfaces:
|
|
6
|
+
|
|
7
|
+
- Wazir
|
|
8
|
+
- host-native engineering OS kit
|
|
9
|
+
- roles
|
|
10
|
+
- workflows
|
|
11
|
+
- skills
|
|
12
|
+
- hooks
|
|
13
|
+
- templates
|
|
14
|
+
- schemas
|
|
15
|
+
- research
|
|
16
|
+
- memory
|
|
17
|
+
- host exports
|
|
18
|
+
|
|
19
|
+
## Terms That Do Not Describe This Product
|
|
20
|
+
|
|
21
|
+
Do not use terms that describe Wazir as a background service, a web-based control surface, or a long-running process. The product is a host-native kit, and all terminology should reflect that.
|
|
22
|
+
|
|
23
|
+
## Rules
|
|
24
|
+
|
|
25
|
+
- Wazir is a host-native engineering OS kit, not a server or background service.
|
|
26
|
+
- Use the canonical terms above in all roles, workflows, skills, and documentation.
|
|
27
|
+
- When in doubt, describe what Wazir is, not what it is not.
|