@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,125 @@
|
|
|
1
|
+
# stop_handoff_harvest
|
|
2
|
+
|
|
3
|
+
> `PostToolUse` / Session end · Observability · Harvests final handoff notes and persists stop-time observability data when a session ends.
|
|
4
|
+
|
|
5
|
+
| Property | Value |
|
|
6
|
+
|---|---|
|
|
7
|
+
| **Hook ID** | `stop_handoff_harvest` |
|
|
8
|
+
| **Trigger event** | Session ends (agent stop event) |
|
|
9
|
+
| **Failure mode** | `capture` — exits 0, session ends regardless |
|
|
10
|
+
| **Exit codes** | `0` always |
|
|
11
|
+
|
|
12
|
+
## What It Guards
|
|
13
|
+
|
|
14
|
+
`stop_handoff_harvest` is the final observability event in every session. When the agent stops, this hook ensures that the handoff document and stop-time state are persisted to the run's state directory — so the next session can start with full context rather than reconstructing what happened from memory.
|
|
15
|
+
|
|
16
|
+
Without this hook, session state is lost at disconnect. The next session starts cold.
|
|
17
|
+
|
|
18
|
+
## Trigger Event
|
|
19
|
+
|
|
20
|
+
Fires once when the agent session ends — immediately before the process terminates or the connection closes.
|
|
21
|
+
|
|
22
|
+
## Logic
|
|
23
|
+
|
|
24
|
+
1. **Receive run ID** — identify the current session's state directory.
|
|
25
|
+
2. **Read current `status.json`** — capture the final run state.
|
|
26
|
+
3. **Append a stop event** — write a terminal event to `events.ndjson` with timestamp and session summary.
|
|
27
|
+
4. **Write `summary.md`** — produce a structured stop-time handoff summary.
|
|
28
|
+
5. **Exit 0** — session ends cleanly.
|
|
29
|
+
|
|
30
|
+
## Configuration
|
|
31
|
+
|
|
32
|
+
| Parameter | Required | Description |
|
|
33
|
+
|---|---|---|
|
|
34
|
+
| `run_id` | Yes | The current session run identifier |
|
|
35
|
+
|
|
36
|
+
## What Happens on Violation
|
|
37
|
+
|
|
38
|
+
This hook does not block — session termination is not affected by hook behavior.
|
|
39
|
+
|
|
40
|
+
| Condition | Outcome |
|
|
41
|
+
|---|---|
|
|
42
|
+
| State directory not found | Warning logged; session ends |
|
|
43
|
+
| Write fails | Error to stderr; handoff data may be partial |
|
|
44
|
+
| Hook encounters an error | Session ends; handoff data may not be persisted |
|
|
45
|
+
|
|
46
|
+
**Side effects produced:**
|
|
47
|
+
|
|
48
|
+
| Artifact | Location | Description |
|
|
49
|
+
|---|---|---|
|
|
50
|
+
| `events.ndjson` (stop event) | `~/.wazir/projects/<slug>/events.ndjson` | Final stop event appended |
|
|
51
|
+
| `summary.md` | `~/.wazir/projects/<slug>/summary.md` | Stop-time handoff summary |
|
|
52
|
+
|
|
53
|
+
## Summary Format
|
|
54
|
+
|
|
55
|
+
The stop-time `summary.md` produced by this hook:
|
|
56
|
+
|
|
57
|
+
```markdown
|
|
58
|
+
# Session Handoff — run-42 — stopped 2026-03-13T11:30:00Z
|
|
59
|
+
|
|
60
|
+
## Status at Stop
|
|
61
|
+
- Phase: execute (section 3 of 5 complete)
|
|
62
|
+
- Last verified: Section 3 — router wiring (PASS)
|
|
63
|
+
|
|
64
|
+
## Completed This Session
|
|
65
|
+
- Section 1: Redis client setup — VERIFIED
|
|
66
|
+
- Section 2: Rate-limit middleware — VERIFIED
|
|
67
|
+
- Section 3: Router wiring — VERIFIED
|
|
68
|
+
|
|
69
|
+
## Blocked / Incomplete
|
|
70
|
+
- Section 4: Redis integration tests — blocked (no Docker in CI)
|
|
71
|
+
- Section 5: Load test — not started
|
|
72
|
+
|
|
73
|
+
## Required Approvals for Next Session
|
|
74
|
+
- Decision: mock Redis in tests OR add Docker to CI
|
|
75
|
+
|
|
76
|
+
## Total Tool Executions: 12
|
|
77
|
+
## Captures: 3 files (72KB)
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
## Example
|
|
81
|
+
|
|
82
|
+
**Scenario:** Agent disconnects mid-plan after completing 3 of 5 sections.
|
|
83
|
+
|
|
84
|
+
```
|
|
85
|
+
Session running. Agent completes sections 1-3.
|
|
86
|
+
Section 4 blocked (no Docker). Agent session ends.
|
|
87
|
+
|
|
88
|
+
stop_handoff_harvest fires:
|
|
89
|
+
→ Reads status.json (phase: execute, loop: 3)
|
|
90
|
+
→ Reads events.ndjson (12 events)
|
|
91
|
+
→ Appends stop event: { "type": "session_stop", "ts": "...", "run_id": "run-42" }
|
|
92
|
+
→ Writes summary.md with completed work, blockers, approvals needed
|
|
93
|
+
|
|
94
|
+
Next session starts:
|
|
95
|
+
→ Agent reads ~/.wazir/projects/myapp/summary.md
|
|
96
|
+
→ Immediately knows: sections 1-3 done, section 4 needs Docker decision
|
|
97
|
+
→ No cold start reconstruction needed
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Testing
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# Initialize a session and simulate stop
|
|
104
|
+
wazir capture init
|
|
105
|
+
wazir capture event --command "npm test" --exit-code 0
|
|
106
|
+
wazir capture summary
|
|
107
|
+
|
|
108
|
+
# Verify summary.md exists
|
|
109
|
+
cat ~/.wazir/projects/wazir/summary.md
|
|
110
|
+
|
|
111
|
+
# Validate hook definition
|
|
112
|
+
node tooling/src/cli.js validate hooks
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
> [!TIP]
|
|
116
|
+
> `stop_handoff_harvest` and the `prepare-next` skill are complementary. `prepare-next` is the agent-authored structured handoff document. `stop_handoff_harvest` is the machine-generated observability record. Use both.
|
|
117
|
+
|
|
118
|
+
## Host Fallback
|
|
119
|
+
|
|
120
|
+
| Host | Fallback |
|
|
121
|
+
|---|---|
|
|
122
|
+
| Claude | `native_hook` |
|
|
123
|
+
| Codex | `wrapper_command` |
|
|
124
|
+
| Gemini | `wrapper_command` |
|
|
125
|
+
| Cursor | `native_or_wrapper` |
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
# Wazir Roles
|
|
2
|
+
|
|
3
|
+
   
|
|
4
|
+
|
|
5
|
+
**Ten canonical roles. One coherent engineering pipeline. Zero ambiguity about who does what.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What is this?
|
|
10
|
+
|
|
11
|
+
Wazir roles are the backbone of the system. Every role is a **canonical contract** — a precise definition of purpose, allowed tools, required outputs, escalation rules, and failure conditions. They are not personas or guidelines; they are enforceable, machine-readable operating boundaries.
|
|
12
|
+
|
|
13
|
+
When you run Wazir on Claude, Codex, Gemini, or Cursor, the agent is always operating as one of these ten roles. The role determines what the agent is allowed to do, what it must produce, and when it must stop and escalate.
|
|
14
|
+
|
|
15
|
+
This makes multi-phase, multi-agent engineering work **predictable, auditable, and composable**.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## The Ten Roles
|
|
20
|
+
|
|
21
|
+
| Role | One-Line Purpose | Pipeline Position |
|
|
22
|
+
|------|-----------------|-------------------|
|
|
23
|
+
| [clarifier](clarifier.md) | Turn operator input into a scoped, question-resolved brief | Phase 1 — Entry |
|
|
24
|
+
| [researcher](researcher.md) | Fill knowledge gaps with source-backed findings | Phase 2 — Discovery |
|
|
25
|
+
| [specifier](specifier.md) | Produce a measurable, reviewable spec | Phase 3 — Specification |
|
|
26
|
+
| [designer](designer.md) | Transform the approved spec into visual designs | Phase 6 — Design |
|
|
27
|
+
| [content-author](content-author.md) | Write and package all non-code content artifacts | Phase 5 — Authoring |
|
|
28
|
+
| [planner](planner.md) | Convert the approved spec into an execution-grade task plan | Phase 8 — Planning |
|
|
29
|
+
| [executor](executor.md) | Implement the approved plan slice by slice | Phase 10 — Execution |
|
|
30
|
+
| [verifier](verifier.md) | Run deterministic checks and produce proof bundles | Phase 11 — Verification |
|
|
31
|
+
| [reviewer](reviewer.md) | Perform adversarial review for correctness and drift | Phase 12 — Review |
|
|
32
|
+
| [learner](learner.md) | Extract durable scoped learnings from the completed run | Phase 13 — Learning |
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## How Roles Fit the Pipeline
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
operator input
|
|
40
|
+
│
|
|
41
|
+
▼
|
|
42
|
+
[clarifier] ──► clarification artifact, open questions
|
|
43
|
+
│
|
|
44
|
+
▼
|
|
45
|
+
[researcher] ──► research artifact, citations, risks
|
|
46
|
+
│
|
|
47
|
+
▼
|
|
48
|
+
[specifier] ──► spec artifact, acceptance criteria, non-goals
|
|
49
|
+
│
|
|
50
|
+
▼
|
|
51
|
+
[designer] ──► .fig file, JSX/CSS scaffolds, design tokens
|
|
52
|
+
│
|
|
53
|
+
▼
|
|
54
|
+
[content-author] ──► microcopy, i18n keys, glossary, seed data
|
|
55
|
+
│
|
|
56
|
+
▼
|
|
57
|
+
[planner] ──► implementation plan, ordered tasks, verification plan
|
|
58
|
+
│
|
|
59
|
+
▼
|
|
60
|
+
[executor] ──► code changes, execution notes, verification evidence
|
|
61
|
+
│
|
|
62
|
+
▼
|
|
63
|
+
[verifier] ──► proof bundle, pass/fail status, command results
|
|
64
|
+
│
|
|
65
|
+
▼
|
|
66
|
+
[reviewer] ──► findings with severity, explicit verdict
|
|
67
|
+
│
|
|
68
|
+
▼
|
|
69
|
+
[learner] ──► learning artifacts, experiment summaries
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Each role hands off a **named artifact** to the next. No role invents inputs — everything is traceable to an upstream artifact or operator approval.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Role Contract Structure
|
|
77
|
+
|
|
78
|
+
Every role contract defines the same six sections:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
Purpose — What problem this role solves
|
|
82
|
+
Inputs — What it consumes (artifacts, files, state)
|
|
83
|
+
Allowed Tools — What it is permitted to use
|
|
84
|
+
Required Outputs — What it must produce before handing off
|
|
85
|
+
Escalation Rules — When to stop and surface a decision
|
|
86
|
+
Failure Conditions — What constitutes a broken contract
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
This uniformity makes roles composable. Any agent on any host can pick up a role contract and know exactly what to do and what not to do.
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Key Design Principles
|
|
94
|
+
|
|
95
|
+
**Roles are not phases.** A single workflow phase may invoke multiple roles (e.g., `review` invokes the reviewer; `verify` invokes the verifier). Phases are the entrypoints; roles are the contracts.
|
|
96
|
+
|
|
97
|
+
**Roles do not self-assign.** The workflow or operator routes an agent into a role. An agent operating as executor cannot unilaterally decide to also act as reviewer.
|
|
98
|
+
|
|
99
|
+
**Escalation is mandatory, not optional.** Each role has explicit escalation rules. When those conditions are met, the role must surface the decision rather than making an assumption and continuing.
|
|
100
|
+
|
|
101
|
+
**Protected paths are enforced at the role level.** The clarifier cannot mutate `input/`. The executor cannot write to protected paths outside approved flows. Violations are failure conditions, not warnings.
|
|
102
|
+
|
|
103
|
+
**Artifacts are the handoff currency.** Roles do not hand off context blobs or verbal summaries — they produce named, schema-validated artifact files. The next role reads those artifacts.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Canonical Source
|
|
108
|
+
|
|
109
|
+
Role contracts live in `roles/` and are the single source of truth. Host-specific exports are generated from these contracts and must not be edited directly.
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
roles/
|
|
113
|
+
clarifier.md
|
|
114
|
+
researcher.md
|
|
115
|
+
specifier.md
|
|
116
|
+
designer.md
|
|
117
|
+
content-author.md
|
|
118
|
+
planner.md
|
|
119
|
+
executor.md
|
|
120
|
+
verifier.md
|
|
121
|
+
reviewer.md
|
|
122
|
+
learner.md
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
> [!NOTE]
|
|
126
|
+
> `roles/` is a **protected path**. The `protected_path_write_guard` hook prevents direct writes from execution phases. All changes to role contracts go through a PR with explicit reviewer approval.
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Workflows That Invoke Roles
|
|
131
|
+
|
|
132
|
+
| Workflow | Primary Role(s) |
|
|
133
|
+
|----------|----------------|
|
|
134
|
+
| `clarify` | clarifier |
|
|
135
|
+
| `discover` | researcher |
|
|
136
|
+
| `specify` | specifier |
|
|
137
|
+
| `spec-challenge` | specifier + reviewer |
|
|
138
|
+
| `author` | content-author |
|
|
139
|
+
| `design` | designer |
|
|
140
|
+
| `design-review` | reviewer |
|
|
141
|
+
| `plan` | planner |
|
|
142
|
+
| `plan-review` | reviewer |
|
|
143
|
+
| `execute` | executor |
|
|
144
|
+
| `verify` | verifier |
|
|
145
|
+
| `review` | reviewer |
|
|
146
|
+
| `learn` | learner |
|
|
147
|
+
| `prepare-next` | learner + clarifier |
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Related
|
|
152
|
+
|
|
153
|
+
- [Architecture](../../../concepts/architecture.md)
|
|
154
|
+
- [Roles & Workflows](../../../concepts/roles-and-workflows.md)
|
|
155
|
+
- [Workflows](../workflows/) _(coming soon)_
|
|
156
|
+
- [Skills](../skills/) _(coming soon)_
|
|
157
|
+
- [Hooks](../hooks/) _(coming soon)_
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Clarifier
|
|
2
|
+
|
|
3
|
+
  
|
|
4
|
+
|
|
5
|
+
**The first gate every task must pass through — turning noise into a scoped, question-resolved brief.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What is this?
|
|
10
|
+
|
|
11
|
+
The clarifier is the entry-point role in the Wazir pipeline. Its job is to take raw operator input — a briefing file, a feature request, a problem statement — and produce a clarification artifact that resolves ambiguity, documents open questions, and defines a viable path forward.
|
|
12
|
+
|
|
13
|
+
Every task that enters the pipeline must be clarified before any research, specification, or implementation begins. This isn't bureaucracy — it's the difference between building the right thing and building the wrong thing fast. Ambiguity caught at clarification costs minutes. Ambiguity caught at review costs days.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Key Capabilities
|
|
18
|
+
|
|
19
|
+
- Reads and processes `input/` briefing files without mutating them
|
|
20
|
+
- Extracts and categorizes open questions by impact (architecture, feasibility, acceptance criteria)
|
|
21
|
+
- Produces a scope summary with cited sources, not invented assumptions
|
|
22
|
+
- Identifies constraints — technical, temporal, organisational — from available evidence
|
|
23
|
+
- Maps viable paths forward when multiple approaches exist
|
|
24
|
+
- Escalates immediately when ambiguity would change architecture or acceptance criteria
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## How It Fits in the Pipeline
|
|
29
|
+
|
|
30
|
+
The clarifier is **Phase 1**. It is the first role invoked by the `clarify` workflow and has no upstream role dependency.
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
[operator input / briefing files]
|
|
34
|
+
│
|
|
35
|
+
▼
|
|
36
|
+
[clarifier]
|
|
37
|
+
│
|
|
38
|
+
├──► clarification artifact
|
|
39
|
+
├──► unresolved questions list
|
|
40
|
+
└──► scope summary with citations
|
|
41
|
+
│
|
|
42
|
+
▼
|
|
43
|
+
[researcher] (if open questions require research)
|
|
44
|
+
[specifier] (if scope is already clear)
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
**Triggered by:** `clarify` workflow, or `prepare-next` workflow at the start of a new iteration.
|
|
48
|
+
|
|
49
|
+
**Feeds into:** researcher (if knowledge gaps exist), specifier (if scope is clear and research is not required).
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Input / Output Contract
|
|
54
|
+
|
|
55
|
+
| | Details |
|
|
56
|
+
|---|---|
|
|
57
|
+
| **Inputs** | `input/` briefing files, prior approved artifacts for the current run |
|
|
58
|
+
| **Allowed tools** | Local file reads, scoped repo inspection, source-backed research inputs |
|
|
59
|
+
| **Output: clarification artifact** | Resolved scope, constraints, assumptions, citations |
|
|
60
|
+
| **Output: unresolved questions list** | Every open question that still needs an answer, with impact assessment |
|
|
61
|
+
| **Output: scope summary** | A concise statement of what is in scope, what is out, and why |
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Example
|
|
66
|
+
|
|
67
|
+
Given this briefing in `input/brief.md`:
|
|
68
|
+
|
|
69
|
+
```markdown
|
|
70
|
+
Add rate limiting to the public API. We've had some abuse.
|
|
71
|
+
Users should not be able to make more than X requests per minute.
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
The clarifier produces:
|
|
75
|
+
|
|
76
|
+
**Clarification artifact (excerpt):**
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
## Scope
|
|
80
|
+
Add per-user rate limiting to the public API.
|
|
81
|
+
|
|
82
|
+
## Resolved Constraints
|
|
83
|
+
- Feature branch off `develop`
|
|
84
|
+
- Must not break existing authenticated client integrations
|
|
85
|
+
|
|
86
|
+
## Open Questions
|
|
87
|
+
1. What is the value of X? (BLOCKING — affects acceptance criteria)
|
|
88
|
+
Impact: Cannot write testable acceptance criteria without this.
|
|
89
|
+
2. Should rate limit headers (X-RateLimit-*) be exposed to clients?
|
|
90
|
+
Impact: Affects API surface. Default: yes, per RFC 6585.
|
|
91
|
+
3. Is the limit per-IP, per-API-key, or per-user-account?
|
|
92
|
+
Impact: Affects data model and storage choice.
|
|
93
|
+
|
|
94
|
+
## Viable Paths
|
|
95
|
+
A. Token bucket in Redis (recommended for distributed deployments)
|
|
96
|
+
B. Fixed window counter in DB (simpler, suitable for low-scale)
|
|
97
|
+
C. In-process sliding window (only viable for single-instance deployments)
|
|
98
|
+
|
|
99
|
+
## Cited Sources
|
|
100
|
+
- input/brief.md
|
|
101
|
+
- src/api/routes/index.ts (current route structure, read-only inspection)
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Configuration
|
|
107
|
+
|
|
108
|
+
The clarifier does not have runtime configuration options. Its behavior is governed by:
|
|
109
|
+
|
|
110
|
+
| Setting | Location | Effect |
|
|
111
|
+
|---------|----------|--------|
|
|
112
|
+
| `protected_path_write_guard` hook | `hooks/` | Prevents clarifier from writing to `input/` |
|
|
113
|
+
| `input/` path | `wazir.manifest.yaml` → `paths.input` | Canonical location of briefing files |
|
|
114
|
+
| Escalation threshold | `roles/clarifier.md` | Ambiguity that changes architecture, feasibility, or acceptance criteria triggers escalation |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## When to Use / When NOT to Use
|
|
119
|
+
|
|
120
|
+
**Use the clarifier when:**
|
|
121
|
+
- Starting any new task, feature, or investigation
|
|
122
|
+
- Resuming a task after a significant gap or scope change
|
|
123
|
+
- The briefing is ambiguous, incomplete, or contains conflicting requirements
|
|
124
|
+
- You need to establish a shared understanding of scope before spending time on research or spec
|
|
125
|
+
|
|
126
|
+
**Do NOT invoke the clarifier when:**
|
|
127
|
+
- The task is already fully clarified with an approved clarification artifact
|
|
128
|
+
- You are mid-execution and need a small decision — escalate from the executor instead
|
|
129
|
+
- You want to use it as a stalling tactic; if the scope is clear, move to specifier
|
|
130
|
+
|
|
131
|
+
> [!NOTE]
|
|
132
|
+
> The clarifier **must not** invent constraints or facts. Every constraint in the clarification artifact must be traceable to a source (briefing file, existing code, operator statement). Invented constraints are a failure condition.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Failure Conditions
|
|
137
|
+
|
|
138
|
+
| Condition | Why It Matters |
|
|
139
|
+
|-----------|----------------|
|
|
140
|
+
| Leaves material ambiguity unresolved without escalation | Downstream roles will build on false assumptions |
|
|
141
|
+
| Mutates `input/` | Briefing files are the operator's immutable record of intent |
|
|
142
|
+
| Invents constraints or facts without evidence | Corrupts the artifact chain with untraceable assumptions |
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Related
|
|
147
|
+
|
|
148
|
+
- [Roles Overview](README.md)
|
|
149
|
+
- [researcher](researcher.md) — next role if knowledge gaps exist
|
|
150
|
+
- [specifier](specifier.md) — next role if scope is clear
|
|
151
|
+
- [Clarify Workflow](../workflows/clarify.md) _(coming soon)_
|
|
152
|
+
- [Prepare-Next Workflow](../workflows/prepare-next.md) _(coming soon)_
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
# Content Author
|
|
2
|
+
|
|
3
|
+
  
|
|
4
|
+
|
|
5
|
+
**From approved spec to production-ready content — before a single pixel is designed or line of code is written.**
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## What is this?
|
|
10
|
+
|
|
11
|
+
The content author writes and packages all non-code content artifacts for downstream consumption by the designer, planner, and executor. It produces microcopy tables, i18n keys, seed data, terminology glossaries, asset metadata, notification templates, and a content coverage matrix — all before design begins.
|
|
12
|
+
|
|
13
|
+
This phase prevents the second most common cause of implementation rework: designing and building UI around placeholder text. When the designer and executor receive not just a spec but also finalized copy, locale keys, and a glossary, they are implementing against real content constraints — not lorem ipsum that will break layouts when replaced with production strings.
|
|
14
|
+
|
|
15
|
+
The content author sits between `spec-challenge` (approved spec) and `design` (visual design). It is optional for tasks with no user-facing content and mandatory for any feature with UI text, notifications, or locale-sensitive output.
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
## Key Capabilities
|
|
20
|
+
|
|
21
|
+
- Produces microcopy tables covering all UI states (empty, loading, error, success, edge cases)
|
|
22
|
+
- Generates i18n key definitions with values for all required locales
|
|
23
|
+
- Creates seed and fixture content values for development, testing, and demos
|
|
24
|
+
- Builds a terminology glossary to ensure consistent domain language across the feature
|
|
25
|
+
- Produces an asset metadata manifest (image alt text, icon labels, ARIA descriptions)
|
|
26
|
+
- Writes notification and transactional content templates (email, push, in-app)
|
|
27
|
+
- Generates a content coverage matrix mapping every screen to every key to every locale
|
|
28
|
+
- Validates content against brand and style guidelines when available
|
|
29
|
+
- Flags layout-breaking copy (long translations, RTL considerations) for designer awareness
|
|
30
|
+
- Uses web research for terminology accuracy and domain-specific data
|
|
31
|
+
- Escalates when content decisions require product or business input not present in the spec
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## How It Fits in the Pipeline
|
|
36
|
+
|
|
37
|
+
The content author is **Phase 5**. It runs after spec-challenge approval and before design.
|
|
38
|
+
|
|
39
|
+
```
|
|
40
|
+
[approved spec artifact]
|
|
41
|
+
[research artifacts]
|
|
42
|
+
[existing glossary/locale sources]
|
|
43
|
+
[brand/style guidelines]
|
|
44
|
+
|
|
|
45
|
+
v
|
|
46
|
+
[content-author]
|
|
47
|
+
|
|
|
48
|
+
|---> microcopy tables (all UI states)
|
|
49
|
+
|---> i18n keys with locale values
|
|
50
|
+
|---> seed/fixture content
|
|
51
|
+
|---> terminology glossary
|
|
52
|
+
|---> asset metadata manifest
|
|
53
|
+
|---> notification/transactional templates
|
|
54
|
+
|---> content coverage matrix
|
|
55
|
+
|
|
|
56
|
+
v
|
|
57
|
+
[designer] --> designs with real content, not placeholders
|
|
58
|
+
|
|
|
59
|
+
v
|
|
60
|
+
[planner]
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
**Triggered by:** `author` workflow.
|
|
64
|
+
|
|
65
|
+
**Feeds into:** `design` workflow (designer role), then planner and executor.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Input / Output Contract
|
|
70
|
+
|
|
71
|
+
| | Details |
|
|
72
|
+
|---|---|
|
|
73
|
+
| **Inputs** | Approved spec artifact, research artifacts, existing glossary/locale sources, brand/style guidelines (if available) |
|
|
74
|
+
| **Allowed tools** | Local file reads, web research for terminology and domain data, translation reference tools |
|
|
75
|
+
| **Output: microcopy tables** | All UI text for every state (empty, loading, error, success, edge cases) |
|
|
76
|
+
| **Output: i18n keys** | Key definitions with values for all required locales |
|
|
77
|
+
| **Output: seed/fixture content** | Development, testing, and demo content values |
|
|
78
|
+
| **Output: terminology glossary** | Consistent domain language definitions for the feature |
|
|
79
|
+
| **Output: asset metadata manifest** | Image alt text, icon labels, ARIA descriptions |
|
|
80
|
+
| **Output: notification templates** | Email, push, and in-app transactional content |
|
|
81
|
+
| **Output: content coverage matrix** | Screen-to-key-to-locale mapping for completeness verification |
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Example
|
|
86
|
+
|
|
87
|
+
Given a spec for a rate limit exceeded error state:
|
|
88
|
+
|
|
89
|
+
**Author artifact (excerpt):**
|
|
90
|
+
|
|
91
|
+
```markdown
|
|
92
|
+
# Author Artifact: Rate Limit UI Content
|
|
93
|
+
|
|
94
|
+
## Microcopy Table
|
|
95
|
+
|
|
96
|
+
| Screen | State | Key | en-US | es-ES |
|
|
97
|
+
|--------|-------|-----|-------|-------|
|
|
98
|
+
| API Playground | Rate limited | rate_limit.banner.title | Rate limit exceeded | Limite de velocidad excedido |
|
|
99
|
+
| API Playground | Rate limited | rate_limit.banner.body | You have exceeded your API rate limit. Retry in {retryAfter} seconds. | Ha excedido su limite de velocidad de API. Reintente en {retryAfter} segundos. |
|
|
100
|
+
| API Playground | Rate limited | rate_limit.banner.action | View usage | Ver uso |
|
|
101
|
+
| Dev Tools | Headers visible | rate_limit.headers.title | Rate Limit Headers | Encabezados de limite de velocidad |
|
|
102
|
+
|
|
103
|
+
## Terminology Glossary
|
|
104
|
+
|
|
105
|
+
| Term | Definition | Usage Note |
|
|
106
|
+
|------|-----------|------------|
|
|
107
|
+
| Rate limit | Maximum number of API requests allowed in a time window | Always "rate limit" (two words), never "ratelimit" or "rate-limit" in UI copy |
|
|
108
|
+
| Retry-After | HTTP header indicating seconds until quota resets | Hyphenated in header context; "retry after" in prose |
|
|
109
|
+
|
|
110
|
+
## Content Coverage Matrix
|
|
111
|
+
|
|
112
|
+
| Screen | Keys | en-US | es-ES | Notes |
|
|
113
|
+
|--------|------|-------|-------|-------|
|
|
114
|
+
| API Playground — rate limited | 3 | 3/3 | 3/3 | Complete |
|
|
115
|
+
| Dev Tools — headers | 1 | 1/1 | 1/1 | Complete |
|
|
116
|
+
|
|
117
|
+
## Layout Flags
|
|
118
|
+
|
|
119
|
+
- es-ES `rate_limit.banner.body` is 18% longer than en-US — designer should verify banner auto-height
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Git-Flow Responsibilities
|
|
125
|
+
|
|
126
|
+
The content author follows a strict commit convention:
|
|
127
|
+
|
|
128
|
+
```bash
|
|
129
|
+
feat(content): add rate limit UI microcopy and i18n keys
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Content artifacts live in the **run-local state directory** (`~/.wazir/projects/<project-slug>/author/`), not in the repository. Only exported i18n key files and glossary entries committed to the repo follow the project's existing locale file structure.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Configuration
|
|
137
|
+
|
|
138
|
+
| Setting | Location | Effect |
|
|
139
|
+
|---------|----------|--------|
|
|
140
|
+
| `author` workflow | `workflows/` | Gates design phase behind content approval |
|
|
141
|
+
| Brand/style guidelines | `input/` or project docs | Constrains tone, terminology, and formatting; content author reads but does not mutate |
|
|
142
|
+
| Locale configuration | `wazir.manifest.yaml` or project config | Defines which locales must have complete coverage |
|
|
143
|
+
|
|
144
|
+
> [!NOTE]
|
|
145
|
+
> The author phase is **optional**. It is not required for tasks with no user-facing content. Tasks without UI text, notifications, or locale-sensitive output skip the author phase entirely and proceed from `spec-challenge` directly to `design` (or `plan` if design is also skipped).
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## When to Use / When NOT to Use
|
|
150
|
+
|
|
151
|
+
**Use the content author when:**
|
|
152
|
+
- The spec describes user-facing text, notifications, or locale-sensitive output
|
|
153
|
+
- You need to prevent layout breakage caused by placeholder-to-production text swaps
|
|
154
|
+
- Multiple locales must be supported and coverage must be verified before design
|
|
155
|
+
- Terminology consistency matters across the feature (domain-specific language)
|
|
156
|
+
- Notification or transactional email templates need authoring
|
|
157
|
+
|
|
158
|
+
**Do NOT invoke the content author when:**
|
|
159
|
+
- The task is purely backend, infrastructure, or CLI with no user-facing text — skip to design or plan
|
|
160
|
+
- Content already exists in the project's locale files and only needs wiring — that is executor work
|
|
161
|
+
- You are in mid-execution and want to change copy — that is an out-of-scope change requiring a new spec
|
|
162
|
+
|
|
163
|
+
> [!WARNING]
|
|
164
|
+
> Content drift from the approved spec is a failure condition. The content author must write copy that implements what the spec describes, not what sounds better or covers additional states. Any divergence must be escalated before the author artifact is produced.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
## Failure Conditions
|
|
169
|
+
|
|
170
|
+
| Condition | Why It Matters |
|
|
171
|
+
|-----------|----------------|
|
|
172
|
+
| Incomplete state coverage (missing copy for any UI state) | Designer creates frames without text; executor hardcodes placeholders |
|
|
173
|
+
| Missing locale entries (key exists in one locale but not others) | Shipped feature shows raw keys or fallback text in some locales |
|
|
174
|
+
| Placeholder or dummy text (lorem ipsum, test123, John Doe) | Placeholders leak to production; reviewer will reject |
|
|
175
|
+
| Glossary conflicts (same term defined differently) | Inconsistent terminology confuses users and breaks search/filter |
|
|
176
|
+
| Copy that violates brand constraints | Brand team rejects post-ship; rework required |
|
|
177
|
+
| Untraceable copy (no screen-to-key mapping) | Executor cannot wire content; verifier cannot prove coverage |
|
|
178
|
+
| Layout-breaking copy not flagged for designer awareness | Long translations break layouts discovered only in QA |
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Related
|
|
183
|
+
|
|
184
|
+
- [Roles Overview](README.md)
|
|
185
|
+
- [specifier](specifier.md) — upstream role (produces the approved spec)
|
|
186
|
+
- [designer](designer.md) — downstream role (designs with authored content)
|
|
187
|
+
- [planner](planner.md) — downstream role (plans implementation with content artifacts)
|
|
188
|
+
- [executor](executor.md) — uses i18n keys and content directly
|
|
189
|
+
- [reviewer](reviewer.md) — validates content coverage in review
|
|
190
|
+
- [Author Workflow](../workflows/author.md)
|