@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.
Files changed (629) hide show
  1. package/AGENTS.md +111 -0
  2. package/CHANGELOG.md +14 -0
  3. package/CONTRIBUTING.md +101 -0
  4. package/LICENSE +21 -0
  5. package/README.md +314 -0
  6. package/assets/composition-engine.mmd +34 -0
  7. package/assets/demo-script.sh +17 -0
  8. package/assets/logo-dark.svg +14 -0
  9. package/assets/logo.svg +14 -0
  10. package/assets/pipeline.mmd +39 -0
  11. package/assets/record-demo.sh +51 -0
  12. package/docs/README.md +51 -0
  13. package/docs/adapters/context-mode.md +60 -0
  14. package/docs/concepts/architecture.md +87 -0
  15. package/docs/concepts/artifact-model.md +60 -0
  16. package/docs/concepts/composition-engine.md +36 -0
  17. package/docs/concepts/indexing-and-recall.md +160 -0
  18. package/docs/concepts/observability.md +41 -0
  19. package/docs/concepts/roles-and-workflows.md +59 -0
  20. package/docs/concepts/terminology-policy.md +27 -0
  21. package/docs/getting-started/01-installation.md +78 -0
  22. package/docs/getting-started/02-first-run.md +102 -0
  23. package/docs/getting-started/03-adding-to-project.md +15 -0
  24. package/docs/getting-started/04-host-setup.md +15 -0
  25. package/docs/guides/ci-integration.md +15 -0
  26. package/docs/guides/creating-skills.md +15 -0
  27. package/docs/guides/expertise-module-authoring.md +15 -0
  28. package/docs/guides/hook-development.md +15 -0
  29. package/docs/guides/memory-and-learnings.md +34 -0
  30. package/docs/guides/multi-host-export.md +15 -0
  31. package/docs/guides/troubleshooting.md +101 -0
  32. package/docs/guides/writing-custom-roles.md +15 -0
  33. package/docs/plans/2026-03-15-cli-pipeline-integration-design.md +592 -0
  34. package/docs/plans/2026-03-15-cli-pipeline-integration-plan.md +598 -0
  35. package/docs/plans/2026-03-15-docs-enforcement-plan.md +238 -0
  36. package/docs/readmes/INDEX.md +99 -0
  37. package/docs/readmes/features/expertise/README.md +171 -0
  38. package/docs/readmes/features/exports/README.md +222 -0
  39. package/docs/readmes/features/hooks/README.md +103 -0
  40. package/docs/readmes/features/hooks/loop-cap-guard.md +133 -0
  41. package/docs/readmes/features/hooks/post-tool-capture.md +121 -0
  42. package/docs/readmes/features/hooks/post-tool-lint.md +130 -0
  43. package/docs/readmes/features/hooks/pre-compact-summary.md +122 -0
  44. package/docs/readmes/features/hooks/pre-tool-capture-route.md +100 -0
  45. package/docs/readmes/features/hooks/protected-path-write-guard.md +128 -0
  46. package/docs/readmes/features/hooks/session-start.md +119 -0
  47. package/docs/readmes/features/hooks/stop-handoff-harvest.md +125 -0
  48. package/docs/readmes/features/roles/README.md +157 -0
  49. package/docs/readmes/features/roles/clarifier.md +152 -0
  50. package/docs/readmes/features/roles/content-author.md +190 -0
  51. package/docs/readmes/features/roles/designer.md +193 -0
  52. package/docs/readmes/features/roles/executor.md +184 -0
  53. package/docs/readmes/features/roles/learner.md +210 -0
  54. package/docs/readmes/features/roles/planner.md +182 -0
  55. package/docs/readmes/features/roles/researcher.md +164 -0
  56. package/docs/readmes/features/roles/reviewer.md +184 -0
  57. package/docs/readmes/features/roles/specifier.md +162 -0
  58. package/docs/readmes/features/roles/verifier.md +215 -0
  59. package/docs/readmes/features/schemas/README.md +178 -0
  60. package/docs/readmes/features/skills/README.md +63 -0
  61. package/docs/readmes/features/skills/brainstorming.md +96 -0
  62. package/docs/readmes/features/skills/debugging.md +148 -0
  63. package/docs/readmes/features/skills/design.md +120 -0
  64. package/docs/readmes/features/skills/prepare-next.md +109 -0
  65. package/docs/readmes/features/skills/run-audit.md +159 -0
  66. package/docs/readmes/features/skills/scan-project.md +109 -0
  67. package/docs/readmes/features/skills/self-audit.md +176 -0
  68. package/docs/readmes/features/skills/tdd.md +137 -0
  69. package/docs/readmes/features/skills/using-skills.md +92 -0
  70. package/docs/readmes/features/skills/verification.md +120 -0
  71. package/docs/readmes/features/skills/writing-plans.md +104 -0
  72. package/docs/readmes/features/tooling/README.md +320 -0
  73. package/docs/readmes/features/workflows/README.md +186 -0
  74. package/docs/readmes/features/workflows/author.md +181 -0
  75. package/docs/readmes/features/workflows/clarify.md +154 -0
  76. package/docs/readmes/features/workflows/design-review.md +171 -0
  77. package/docs/readmes/features/workflows/design.md +169 -0
  78. package/docs/readmes/features/workflows/discover.md +162 -0
  79. package/docs/readmes/features/workflows/execute.md +173 -0
  80. package/docs/readmes/features/workflows/learn.md +167 -0
  81. package/docs/readmes/features/workflows/plan-review.md +165 -0
  82. package/docs/readmes/features/workflows/plan.md +170 -0
  83. package/docs/readmes/features/workflows/prepare-next.md +167 -0
  84. package/docs/readmes/features/workflows/review.md +169 -0
  85. package/docs/readmes/features/workflows/run-audit.md +191 -0
  86. package/docs/readmes/features/workflows/spec-challenge.md +159 -0
  87. package/docs/readmes/features/workflows/specify.md +160 -0
  88. package/docs/readmes/features/workflows/verify.md +177 -0
  89. package/docs/readmes/packages/README.md +50 -0
  90. package/docs/readmes/packages/ajv.md +117 -0
  91. package/docs/readmes/packages/context-mode.md +118 -0
  92. package/docs/readmes/packages/gray-matter.md +116 -0
  93. package/docs/readmes/packages/node-test.md +137 -0
  94. package/docs/readmes/packages/yaml.md +112 -0
  95. package/docs/reference/configuration-reference.md +159 -0
  96. package/docs/reference/expertise-index.md +52 -0
  97. package/docs/reference/git-flow.md +43 -0
  98. package/docs/reference/hooks.md +87 -0
  99. package/docs/reference/host-exports.md +50 -0
  100. package/docs/reference/launch-checklist.md +172 -0
  101. package/docs/reference/marketplace-listings.md +76 -0
  102. package/docs/reference/release-process.md +34 -0
  103. package/docs/reference/roles-reference.md +77 -0
  104. package/docs/reference/skills.md +33 -0
  105. package/docs/reference/templates.md +29 -0
  106. package/docs/reference/tooling-cli.md +94 -0
  107. package/docs/truth-claims.yaml +222 -0
  108. package/expertise/PROGRESS.md +63 -0
  109. package/expertise/README.md +18 -0
  110. package/expertise/antipatterns/PROGRESS.md +56 -0
  111. package/expertise/antipatterns/backend/api-design-antipatterns.md +1271 -0
  112. package/expertise/antipatterns/backend/auth-antipatterns.md +1195 -0
  113. package/expertise/antipatterns/backend/caching-antipatterns.md +622 -0
  114. package/expertise/antipatterns/backend/database-antipatterns.md +1038 -0
  115. package/expertise/antipatterns/backend/index.md +24 -0
  116. package/expertise/antipatterns/backend/microservices-antipatterns.md +850 -0
  117. package/expertise/antipatterns/code/architecture-antipatterns.md +919 -0
  118. package/expertise/antipatterns/code/async-antipatterns.md +622 -0
  119. package/expertise/antipatterns/code/code-smells.md +1186 -0
  120. package/expertise/antipatterns/code/dependency-antipatterns.md +1209 -0
  121. package/expertise/antipatterns/code/error-handling-antipatterns.md +1360 -0
  122. package/expertise/antipatterns/code/index.md +27 -0
  123. package/expertise/antipatterns/code/naming-and-abstraction.md +1118 -0
  124. package/expertise/antipatterns/code/state-management-antipatterns.md +1076 -0
  125. package/expertise/antipatterns/code/testing-antipatterns.md +1053 -0
  126. package/expertise/antipatterns/design/accessibility-antipatterns.md +1136 -0
  127. package/expertise/antipatterns/design/dark-patterns.md +1121 -0
  128. package/expertise/antipatterns/design/index.md +22 -0
  129. package/expertise/antipatterns/design/ui-antipatterns.md +1202 -0
  130. package/expertise/antipatterns/design/ux-antipatterns.md +680 -0
  131. package/expertise/antipatterns/frontend/css-layout-antipatterns.md +691 -0
  132. package/expertise/antipatterns/frontend/flutter-antipatterns.md +1827 -0
  133. package/expertise/antipatterns/frontend/index.md +23 -0
  134. package/expertise/antipatterns/frontend/mobile-antipatterns.md +573 -0
  135. package/expertise/antipatterns/frontend/react-antipatterns.md +1128 -0
  136. package/expertise/antipatterns/frontend/spa-antipatterns.md +1235 -0
  137. package/expertise/antipatterns/index.md +31 -0
  138. package/expertise/antipatterns/performance/index.md +20 -0
  139. package/expertise/antipatterns/performance/performance-antipatterns.md +1013 -0
  140. package/expertise/antipatterns/performance/premature-optimization.md +623 -0
  141. package/expertise/antipatterns/performance/scaling-antipatterns.md +785 -0
  142. package/expertise/antipatterns/process/ai-coding-antipatterns.md +853 -0
  143. package/expertise/antipatterns/process/code-review-antipatterns.md +656 -0
  144. package/expertise/antipatterns/process/deployment-antipatterns.md +920 -0
  145. package/expertise/antipatterns/process/index.md +23 -0
  146. package/expertise/antipatterns/process/technical-debt-antipatterns.md +647 -0
  147. package/expertise/antipatterns/security/index.md +20 -0
  148. package/expertise/antipatterns/security/secrets-antipatterns.md +849 -0
  149. package/expertise/antipatterns/security/security-theater.md +843 -0
  150. package/expertise/antipatterns/security/vulnerability-patterns.md +801 -0
  151. package/expertise/architecture/PROGRESS.md +70 -0
  152. package/expertise/architecture/data/caching-architecture.md +671 -0
  153. package/expertise/architecture/data/data-consistency.md +574 -0
  154. package/expertise/architecture/data/data-modeling.md +536 -0
  155. package/expertise/architecture/data/event-streams-and-queues.md +634 -0
  156. package/expertise/architecture/data/index.md +25 -0
  157. package/expertise/architecture/data/search-architecture.md +663 -0
  158. package/expertise/architecture/data/sql-vs-nosql.md +708 -0
  159. package/expertise/architecture/decisions/architecture-decision-records.md +640 -0
  160. package/expertise/architecture/decisions/build-vs-buy.md +616 -0
  161. package/expertise/architecture/decisions/index.md +23 -0
  162. package/expertise/architecture/decisions/monolith-to-microservices.md +790 -0
  163. package/expertise/architecture/decisions/technology-selection.md +616 -0
  164. package/expertise/architecture/distributed/cap-theorem-and-tradeoffs.md +800 -0
  165. package/expertise/architecture/distributed/circuit-breaker-bulkhead.md +741 -0
  166. package/expertise/architecture/distributed/consensus-and-coordination.md +796 -0
  167. package/expertise/architecture/distributed/distributed-systems-fundamentals.md +564 -0
  168. package/expertise/architecture/distributed/idempotency-and-retry.md +796 -0
  169. package/expertise/architecture/distributed/index.md +25 -0
  170. package/expertise/architecture/distributed/saga-pattern.md +797 -0
  171. package/expertise/architecture/foundations/architectural-thinking.md +460 -0
  172. package/expertise/architecture/foundations/coupling-and-cohesion.md +770 -0
  173. package/expertise/architecture/foundations/design-principles-solid.md +649 -0
  174. package/expertise/architecture/foundations/domain-driven-design.md +719 -0
  175. package/expertise/architecture/foundations/index.md +25 -0
  176. package/expertise/architecture/foundations/separation-of-concerns.md +472 -0
  177. package/expertise/architecture/foundations/twelve-factor-app.md +797 -0
  178. package/expertise/architecture/index.md +34 -0
  179. package/expertise/architecture/integration/api-design-graphql.md +638 -0
  180. package/expertise/architecture/integration/api-design-grpc.md +804 -0
  181. package/expertise/architecture/integration/api-design-rest.md +892 -0
  182. package/expertise/architecture/integration/index.md +25 -0
  183. package/expertise/architecture/integration/third-party-integration.md +795 -0
  184. package/expertise/architecture/integration/webhooks-and-callbacks.md +1152 -0
  185. package/expertise/architecture/integration/websockets-realtime.md +791 -0
  186. package/expertise/architecture/mobile-architecture/index.md +22 -0
  187. package/expertise/architecture/mobile-architecture/mobile-app-architecture.md +780 -0
  188. package/expertise/architecture/mobile-architecture/mobile-backend-for-frontend.md +670 -0
  189. package/expertise/architecture/mobile-architecture/offline-first.md +719 -0
  190. package/expertise/architecture/mobile-architecture/push-and-sync.md +782 -0
  191. package/expertise/architecture/patterns/cqrs-event-sourcing.md +717 -0
  192. package/expertise/architecture/patterns/event-driven.md +797 -0
  193. package/expertise/architecture/patterns/hexagonal-clean-architecture.md +870 -0
  194. package/expertise/architecture/patterns/index.md +27 -0
  195. package/expertise/architecture/patterns/layered-architecture.md +736 -0
  196. package/expertise/architecture/patterns/microservices.md +753 -0
  197. package/expertise/architecture/patterns/modular-monolith.md +692 -0
  198. package/expertise/architecture/patterns/monolith.md +626 -0
  199. package/expertise/architecture/patterns/plugin-architecture.md +735 -0
  200. package/expertise/architecture/patterns/serverless.md +780 -0
  201. package/expertise/architecture/scaling/database-scaling.md +615 -0
  202. package/expertise/architecture/scaling/feature-flags-and-rollouts.md +757 -0
  203. package/expertise/architecture/scaling/horizontal-vs-vertical.md +606 -0
  204. package/expertise/architecture/scaling/index.md +24 -0
  205. package/expertise/architecture/scaling/multi-tenancy.md +800 -0
  206. package/expertise/architecture/scaling/stateless-design.md +787 -0
  207. package/expertise/backend/embedded-firmware.md +625 -0
  208. package/expertise/backend/go.md +853 -0
  209. package/expertise/backend/index.md +24 -0
  210. package/expertise/backend/java-spring.md +448 -0
  211. package/expertise/backend/node-typescript.md +625 -0
  212. package/expertise/backend/python-fastapi.md +724 -0
  213. package/expertise/backend/rust.md +458 -0
  214. package/expertise/backend/solidity.md +711 -0
  215. package/expertise/composition-map.yaml +443 -0
  216. package/expertise/content/foundations/content-modeling.md +395 -0
  217. package/expertise/content/foundations/editorial-standards.md +449 -0
  218. package/expertise/content/foundations/index.md +24 -0
  219. package/expertise/content/foundations/microcopy.md +455 -0
  220. package/expertise/content/foundations/terminology-governance.md +509 -0
  221. package/expertise/content/index.md +34 -0
  222. package/expertise/content/patterns/accessibility-copy.md +518 -0
  223. package/expertise/content/patterns/index.md +24 -0
  224. package/expertise/content/patterns/notification-content.md +433 -0
  225. package/expertise/content/patterns/sample-content.md +486 -0
  226. package/expertise/content/patterns/state-copy.md +439 -0
  227. package/expertise/design/PROGRESS.md +58 -0
  228. package/expertise/design/disciplines/dark-mode-theming.md +577 -0
  229. package/expertise/design/disciplines/design-systems.md +595 -0
  230. package/expertise/design/disciplines/index.md +25 -0
  231. package/expertise/design/disciplines/information-architecture.md +800 -0
  232. package/expertise/design/disciplines/interaction-design.md +788 -0
  233. package/expertise/design/disciplines/responsive-design.md +552 -0
  234. package/expertise/design/disciplines/usability-testing.md +516 -0
  235. package/expertise/design/disciplines/user-research.md +792 -0
  236. package/expertise/design/foundations/accessibility-design.md +796 -0
  237. package/expertise/design/foundations/color-theory.md +797 -0
  238. package/expertise/design/foundations/iconography.md +795 -0
  239. package/expertise/design/foundations/index.md +26 -0
  240. package/expertise/design/foundations/motion-and-animation.md +653 -0
  241. package/expertise/design/foundations/rtl-design.md +585 -0
  242. package/expertise/design/foundations/spacing-and-layout.md +607 -0
  243. package/expertise/design/foundations/typography.md +800 -0
  244. package/expertise/design/foundations/visual-hierarchy.md +761 -0
  245. package/expertise/design/index.md +32 -0
  246. package/expertise/design/patterns/authentication-flows.md +474 -0
  247. package/expertise/design/patterns/content-consumption.md +789 -0
  248. package/expertise/design/patterns/data-display.md +618 -0
  249. package/expertise/design/patterns/e-commerce.md +1494 -0
  250. package/expertise/design/patterns/feedback-and-states.md +642 -0
  251. package/expertise/design/patterns/forms-and-input.md +819 -0
  252. package/expertise/design/patterns/gamification.md +801 -0
  253. package/expertise/design/patterns/index.md +31 -0
  254. package/expertise/design/patterns/microinteractions.md +449 -0
  255. package/expertise/design/patterns/navigation.md +800 -0
  256. package/expertise/design/patterns/notifications.md +705 -0
  257. package/expertise/design/patterns/onboarding.md +700 -0
  258. package/expertise/design/patterns/search-and-filter.md +601 -0
  259. package/expertise/design/patterns/settings-and-preferences.md +768 -0
  260. package/expertise/design/patterns/social-and-community.md +748 -0
  261. package/expertise/design/platforms/desktop-native.md +612 -0
  262. package/expertise/design/platforms/index.md +25 -0
  263. package/expertise/design/platforms/mobile-android.md +825 -0
  264. package/expertise/design/platforms/mobile-cross-platform.md +983 -0
  265. package/expertise/design/platforms/mobile-ios.md +699 -0
  266. package/expertise/design/platforms/tablet.md +794 -0
  267. package/expertise/design/platforms/web-dashboard.md +790 -0
  268. package/expertise/design/platforms/web-responsive.md +550 -0
  269. package/expertise/design/psychology/behavioral-nudges.md +449 -0
  270. package/expertise/design/psychology/cognitive-load.md +1191 -0
  271. package/expertise/design/psychology/error-psychology.md +778 -0
  272. package/expertise/design/psychology/index.md +22 -0
  273. package/expertise/design/psychology/persuasive-design.md +736 -0
  274. package/expertise/design/psychology/user-mental-models.md +623 -0
  275. package/expertise/design/tooling/open-pencil.md +266 -0
  276. package/expertise/frontend/angular.md +1073 -0
  277. package/expertise/frontend/desktop-electron.md +546 -0
  278. package/expertise/frontend/flutter.md +782 -0
  279. package/expertise/frontend/index.md +27 -0
  280. package/expertise/frontend/native-android.md +409 -0
  281. package/expertise/frontend/native-ios.md +490 -0
  282. package/expertise/frontend/react-native.md +1160 -0
  283. package/expertise/frontend/react.md +808 -0
  284. package/expertise/frontend/vue.md +1089 -0
  285. package/expertise/humanize/domain-rules-code.md +79 -0
  286. package/expertise/humanize/domain-rules-content.md +67 -0
  287. package/expertise/humanize/domain-rules-technical-docs.md +56 -0
  288. package/expertise/humanize/index.md +35 -0
  289. package/expertise/humanize/self-audit-checklist.md +87 -0
  290. package/expertise/humanize/sentence-patterns.md +218 -0
  291. package/expertise/humanize/vocabulary-blacklist.md +105 -0
  292. package/expertise/i18n/PROGRESS.md +65 -0
  293. package/expertise/i18n/advanced/accessibility-and-i18n.md +28 -0
  294. package/expertise/i18n/advanced/bidirectional-text-algorithm.md +38 -0
  295. package/expertise/i18n/advanced/complex-scripts.md +30 -0
  296. package/expertise/i18n/advanced/performance-and-i18n.md +27 -0
  297. package/expertise/i18n/advanced/testing-i18n.md +28 -0
  298. package/expertise/i18n/content/content-adaptation.md +23 -0
  299. package/expertise/i18n/content/locale-specific-formatting.md +23 -0
  300. package/expertise/i18n/content/machine-translation-integration.md +28 -0
  301. package/expertise/i18n/content/translation-management.md +29 -0
  302. package/expertise/i18n/foundations/date-time-calendars.md +67 -0
  303. package/expertise/i18n/foundations/i18n-architecture.md +272 -0
  304. package/expertise/i18n/foundations/locale-and-language-tags.md +79 -0
  305. package/expertise/i18n/foundations/numbers-currency-units.md +61 -0
  306. package/expertise/i18n/foundations/pluralization-and-gender.md +109 -0
  307. package/expertise/i18n/foundations/string-externalization.md +236 -0
  308. package/expertise/i18n/foundations/text-direction-bidi.md +241 -0
  309. package/expertise/i18n/foundations/unicode-and-encoding.md +86 -0
  310. package/expertise/i18n/index.md +38 -0
  311. package/expertise/i18n/platform/backend-i18n.md +31 -0
  312. package/expertise/i18n/platform/flutter-i18n.md +148 -0
  313. package/expertise/i18n/platform/native-android-i18n.md +36 -0
  314. package/expertise/i18n/platform/native-ios-i18n.md +36 -0
  315. package/expertise/i18n/platform/react-i18n.md +103 -0
  316. package/expertise/i18n/platform/web-css-i18n.md +81 -0
  317. package/expertise/i18n/rtl/arabic-specific.md +175 -0
  318. package/expertise/i18n/rtl/hebrew-specific.md +149 -0
  319. package/expertise/i18n/rtl/rtl-animations-and-transitions.md +111 -0
  320. package/expertise/i18n/rtl/rtl-forms-and-input.md +161 -0
  321. package/expertise/i18n/rtl/rtl-fundamentals.md +211 -0
  322. package/expertise/i18n/rtl/rtl-icons-and-images.md +181 -0
  323. package/expertise/i18n/rtl/rtl-layout-mirroring.md +252 -0
  324. package/expertise/i18n/rtl/rtl-navigation-and-gestures.md +107 -0
  325. package/expertise/i18n/rtl/rtl-testing-and-qa.md +147 -0
  326. package/expertise/i18n/rtl/rtl-typography.md +160 -0
  327. package/expertise/index.md +113 -0
  328. package/expertise/index.yaml +216 -0
  329. package/expertise/infrastructure/cloud-aws.md +597 -0
  330. package/expertise/infrastructure/cloud-gcp.md +599 -0
  331. package/expertise/infrastructure/cybersecurity.md +816 -0
  332. package/expertise/infrastructure/database-mongodb.md +447 -0
  333. package/expertise/infrastructure/database-postgres.md +400 -0
  334. package/expertise/infrastructure/devops-cicd.md +787 -0
  335. package/expertise/infrastructure/index.md +27 -0
  336. package/expertise/performance/PROGRESS.md +50 -0
  337. package/expertise/performance/backend/api-latency.md +1204 -0
  338. package/expertise/performance/backend/background-jobs.md +506 -0
  339. package/expertise/performance/backend/connection-pooling.md +1209 -0
  340. package/expertise/performance/backend/database-query-optimization.md +515 -0
  341. package/expertise/performance/backend/index.md +23 -0
  342. package/expertise/performance/backend/rate-limiting-and-throttling.md +971 -0
  343. package/expertise/performance/foundations/algorithmic-complexity.md +954 -0
  344. package/expertise/performance/foundations/caching-strategies.md +489 -0
  345. package/expertise/performance/foundations/concurrency-and-parallelism.md +847 -0
  346. package/expertise/performance/foundations/index.md +24 -0
  347. package/expertise/performance/foundations/measuring-and-profiling.md +440 -0
  348. package/expertise/performance/foundations/memory-management.md +964 -0
  349. package/expertise/performance/foundations/performance-budgets.md +1314 -0
  350. package/expertise/performance/index.md +31 -0
  351. package/expertise/performance/infrastructure/auto-scaling.md +1059 -0
  352. package/expertise/performance/infrastructure/cdn-and-edge.md +1081 -0
  353. package/expertise/performance/infrastructure/index.md +22 -0
  354. package/expertise/performance/infrastructure/load-balancing.md +1081 -0
  355. package/expertise/performance/infrastructure/observability.md +1079 -0
  356. package/expertise/performance/mobile/index.md +23 -0
  357. package/expertise/performance/mobile/mobile-animations.md +544 -0
  358. package/expertise/performance/mobile/mobile-memory-battery.md +416 -0
  359. package/expertise/performance/mobile/mobile-network.md +452 -0
  360. package/expertise/performance/mobile/mobile-rendering.md +599 -0
  361. package/expertise/performance/mobile/mobile-startup-time.md +505 -0
  362. package/expertise/performance/platform-specific/flutter-performance.md +647 -0
  363. package/expertise/performance/platform-specific/index.md +22 -0
  364. package/expertise/performance/platform-specific/node-performance.md +1307 -0
  365. package/expertise/performance/platform-specific/postgres-performance.md +1366 -0
  366. package/expertise/performance/platform-specific/react-performance.md +1403 -0
  367. package/expertise/performance/web/bundle-optimization.md +1239 -0
  368. package/expertise/performance/web/image-and-media.md +636 -0
  369. package/expertise/performance/web/index.md +24 -0
  370. package/expertise/performance/web/network-optimization.md +1133 -0
  371. package/expertise/performance/web/rendering-performance.md +1098 -0
  372. package/expertise/performance/web/ssr-and-hydration.md +918 -0
  373. package/expertise/performance/web/web-vitals.md +1374 -0
  374. package/expertise/quality/accessibility.md +985 -0
  375. package/expertise/quality/evidence-based-verification.md +499 -0
  376. package/expertise/quality/index.md +24 -0
  377. package/expertise/quality/ml-model-audit.md +614 -0
  378. package/expertise/quality/performance.md +600 -0
  379. package/expertise/quality/testing-api.md +891 -0
  380. package/expertise/quality/testing-mobile.md +496 -0
  381. package/expertise/quality/testing-web.md +849 -0
  382. package/expertise/security/PROGRESS.md +54 -0
  383. package/expertise/security/agentic-identity.md +540 -0
  384. package/expertise/security/compliance-frameworks.md +601 -0
  385. package/expertise/security/data/data-encryption.md +364 -0
  386. package/expertise/security/data/data-privacy-gdpr.md +692 -0
  387. package/expertise/security/data/database-security.md +1171 -0
  388. package/expertise/security/data/index.md +22 -0
  389. package/expertise/security/data/pii-handling.md +531 -0
  390. package/expertise/security/foundations/authentication.md +1041 -0
  391. package/expertise/security/foundations/authorization.md +603 -0
  392. package/expertise/security/foundations/cryptography.md +1001 -0
  393. package/expertise/security/foundations/index.md +25 -0
  394. package/expertise/security/foundations/owasp-top-10.md +1354 -0
  395. package/expertise/security/foundations/secrets-management.md +1217 -0
  396. package/expertise/security/foundations/secure-sdlc.md +700 -0
  397. package/expertise/security/foundations/supply-chain-security.md +698 -0
  398. package/expertise/security/index.md +31 -0
  399. package/expertise/security/infrastructure/cloud-security-aws.md +1296 -0
  400. package/expertise/security/infrastructure/cloud-security-gcp.md +1376 -0
  401. package/expertise/security/infrastructure/container-security.md +721 -0
  402. package/expertise/security/infrastructure/incident-response.md +1295 -0
  403. package/expertise/security/infrastructure/index.md +24 -0
  404. package/expertise/security/infrastructure/logging-and-monitoring.md +1618 -0
  405. package/expertise/security/infrastructure/network-security.md +1337 -0
  406. package/expertise/security/mobile/index.md +23 -0
  407. package/expertise/security/mobile/mobile-android-security.md +1218 -0
  408. package/expertise/security/mobile/mobile-binary-protection.md +1229 -0
  409. package/expertise/security/mobile/mobile-data-storage.md +1265 -0
  410. package/expertise/security/mobile/mobile-ios-security.md +1401 -0
  411. package/expertise/security/mobile/mobile-network-security.md +1520 -0
  412. package/expertise/security/smart-contract-security.md +594 -0
  413. package/expertise/security/testing/index.md +22 -0
  414. package/expertise/security/testing/penetration-testing.md +1258 -0
  415. package/expertise/security/testing/security-code-review.md +1765 -0
  416. package/expertise/security/testing/threat-modeling.md +1074 -0
  417. package/expertise/security/testing/vulnerability-scanning.md +1062 -0
  418. package/expertise/security/web/api-security.md +586 -0
  419. package/expertise/security/web/cors-and-headers.md +433 -0
  420. package/expertise/security/web/csrf.md +562 -0
  421. package/expertise/security/web/file-upload.md +1477 -0
  422. package/expertise/security/web/index.md +25 -0
  423. package/expertise/security/web/injection.md +1375 -0
  424. package/expertise/security/web/session-management.md +1101 -0
  425. package/expertise/security/web/xss.md +1158 -0
  426. package/exports/README.md +17 -0
  427. package/exports/hosts/claude/.claude/agents/clarifier.md +42 -0
  428. package/exports/hosts/claude/.claude/agents/content-author.md +63 -0
  429. package/exports/hosts/claude/.claude/agents/designer.md +55 -0
  430. package/exports/hosts/claude/.claude/agents/executor.md +55 -0
  431. package/exports/hosts/claude/.claude/agents/learner.md +51 -0
  432. package/exports/hosts/claude/.claude/agents/planner.md +53 -0
  433. package/exports/hosts/claude/.claude/agents/researcher.md +43 -0
  434. package/exports/hosts/claude/.claude/agents/reviewer.md +54 -0
  435. package/exports/hosts/claude/.claude/agents/specifier.md +47 -0
  436. package/exports/hosts/claude/.claude/agents/verifier.md +71 -0
  437. package/exports/hosts/claude/.claude/commands/author.md +42 -0
  438. package/exports/hosts/claude/.claude/commands/clarify.md +38 -0
  439. package/exports/hosts/claude/.claude/commands/design-review.md +46 -0
  440. package/exports/hosts/claude/.claude/commands/design.md +44 -0
  441. package/exports/hosts/claude/.claude/commands/discover.md +37 -0
  442. package/exports/hosts/claude/.claude/commands/execute.md +48 -0
  443. package/exports/hosts/claude/.claude/commands/learn.md +38 -0
  444. package/exports/hosts/claude/.claude/commands/plan-review.md +42 -0
  445. package/exports/hosts/claude/.claude/commands/plan.md +39 -0
  446. package/exports/hosts/claude/.claude/commands/prepare-next.md +37 -0
  447. package/exports/hosts/claude/.claude/commands/review.md +40 -0
  448. package/exports/hosts/claude/.claude/commands/run-audit.md +41 -0
  449. package/exports/hosts/claude/.claude/commands/spec-challenge.md +41 -0
  450. package/exports/hosts/claude/.claude/commands/specify.md +38 -0
  451. package/exports/hosts/claude/.claude/commands/verify.md +37 -0
  452. package/exports/hosts/claude/.claude/settings.json +34 -0
  453. package/exports/hosts/claude/CLAUDE.md +19 -0
  454. package/exports/hosts/claude/export.manifest.json +38 -0
  455. package/exports/hosts/claude/host-package.json +67 -0
  456. package/exports/hosts/codex/AGENTS.md +19 -0
  457. package/exports/hosts/codex/export.manifest.json +38 -0
  458. package/exports/hosts/codex/host-package.json +41 -0
  459. package/exports/hosts/cursor/.cursor/hooks.json +16 -0
  460. package/exports/hosts/cursor/.cursor/rules/wazir-core.mdc +19 -0
  461. package/exports/hosts/cursor/export.manifest.json +38 -0
  462. package/exports/hosts/cursor/host-package.json +42 -0
  463. package/exports/hosts/gemini/GEMINI.md +19 -0
  464. package/exports/hosts/gemini/export.manifest.json +38 -0
  465. package/exports/hosts/gemini/host-package.json +41 -0
  466. package/hooks/README.md +18 -0
  467. package/hooks/definitions/loop_cap_guard.yaml +21 -0
  468. package/hooks/definitions/post_tool_capture.yaml +24 -0
  469. package/hooks/definitions/pre_compact_summary.yaml +19 -0
  470. package/hooks/definitions/pre_tool_capture_route.yaml +19 -0
  471. package/hooks/definitions/protected_path_write_guard.yaml +19 -0
  472. package/hooks/definitions/session_start.yaml +19 -0
  473. package/hooks/definitions/stop_handoff_harvest.yaml +20 -0
  474. package/hooks/loop-cap-guard +17 -0
  475. package/hooks/post-tool-lint +36 -0
  476. package/hooks/protected-path-write-guard +17 -0
  477. package/hooks/session-start +41 -0
  478. package/llms-full.txt +2355 -0
  479. package/llms.txt +43 -0
  480. package/package.json +79 -0
  481. package/roles/README.md +20 -0
  482. package/roles/clarifier.md +42 -0
  483. package/roles/content-author.md +63 -0
  484. package/roles/designer.md +55 -0
  485. package/roles/executor.md +55 -0
  486. package/roles/learner.md +51 -0
  487. package/roles/planner.md +53 -0
  488. package/roles/researcher.md +43 -0
  489. package/roles/reviewer.md +54 -0
  490. package/roles/specifier.md +47 -0
  491. package/roles/verifier.md +71 -0
  492. package/schemas/README.md +24 -0
  493. package/schemas/accepted-learning.schema.json +20 -0
  494. package/schemas/author-artifact.schema.json +156 -0
  495. package/schemas/clarification.schema.json +19 -0
  496. package/schemas/design-artifact.schema.json +80 -0
  497. package/schemas/docs-claim.schema.json +18 -0
  498. package/schemas/export-manifest.schema.json +20 -0
  499. package/schemas/hook.schema.json +67 -0
  500. package/schemas/host-export-package.schema.json +18 -0
  501. package/schemas/implementation-plan.schema.json +19 -0
  502. package/schemas/proposed-learning.schema.json +19 -0
  503. package/schemas/research.schema.json +18 -0
  504. package/schemas/review.schema.json +29 -0
  505. package/schemas/run-manifest.schema.json +18 -0
  506. package/schemas/spec-challenge.schema.json +18 -0
  507. package/schemas/spec.schema.json +20 -0
  508. package/schemas/usage.schema.json +102 -0
  509. package/schemas/verification-proof.schema.json +29 -0
  510. package/schemas/wazir-manifest.schema.json +173 -0
  511. package/skills/README.md +40 -0
  512. package/skills/brainstorming/SKILL.md +77 -0
  513. package/skills/debugging/SKILL.md +50 -0
  514. package/skills/design/SKILL.md +61 -0
  515. package/skills/dispatching-parallel-agents/SKILL.md +128 -0
  516. package/skills/executing-plans/SKILL.md +70 -0
  517. package/skills/finishing-a-development-branch/SKILL.md +169 -0
  518. package/skills/humanize/SKILL.md +123 -0
  519. package/skills/init-pipeline/SKILL.md +124 -0
  520. package/skills/prepare-next/SKILL.md +20 -0
  521. package/skills/receiving-code-review/SKILL.md +123 -0
  522. package/skills/requesting-code-review/SKILL.md +105 -0
  523. package/skills/requesting-code-review/code-reviewer.md +108 -0
  524. package/skills/run-audit/SKILL.md +197 -0
  525. package/skills/scan-project/SKILL.md +41 -0
  526. package/skills/self-audit/SKILL.md +153 -0
  527. package/skills/subagent-driven-development/SKILL.md +154 -0
  528. package/skills/subagent-driven-development/code-quality-reviewer-prompt.md +26 -0
  529. package/skills/subagent-driven-development/implementer-prompt.md +102 -0
  530. package/skills/subagent-driven-development/spec-reviewer-prompt.md +61 -0
  531. package/skills/tdd/SKILL.md +23 -0
  532. package/skills/using-git-worktrees/SKILL.md +163 -0
  533. package/skills/using-skills/SKILL.md +95 -0
  534. package/skills/verification/SKILL.md +22 -0
  535. package/skills/wazir/SKILL.md +463 -0
  536. package/skills/writing-plans/SKILL.md +30 -0
  537. package/skills/writing-skills/SKILL.md +157 -0
  538. package/skills/writing-skills/anthropic-best-practices.md +122 -0
  539. package/skills/writing-skills/persuasion-principles.md +50 -0
  540. package/templates/README.md +20 -0
  541. package/templates/artifacts/README.md +10 -0
  542. package/templates/artifacts/accepted-learning.md +19 -0
  543. package/templates/artifacts/accepted-learning.template.json +12 -0
  544. package/templates/artifacts/author.md +74 -0
  545. package/templates/artifacts/author.template.json +19 -0
  546. package/templates/artifacts/clarification.md +21 -0
  547. package/templates/artifacts/clarification.template.json +12 -0
  548. package/templates/artifacts/execute-notes.md +19 -0
  549. package/templates/artifacts/implementation-plan.md +21 -0
  550. package/templates/artifacts/implementation-plan.template.json +11 -0
  551. package/templates/artifacts/learning-proposal.md +19 -0
  552. package/templates/artifacts/next-run-handoff.md +21 -0
  553. package/templates/artifacts/plan-review.md +19 -0
  554. package/templates/artifacts/proposed-learning.template.json +12 -0
  555. package/templates/artifacts/research.md +21 -0
  556. package/templates/artifacts/research.template.json +12 -0
  557. package/templates/artifacts/review-findings.md +19 -0
  558. package/templates/artifacts/review.template.json +11 -0
  559. package/templates/artifacts/run-manifest.template.json +8 -0
  560. package/templates/artifacts/spec-challenge.md +19 -0
  561. package/templates/artifacts/spec-challenge.template.json +11 -0
  562. package/templates/artifacts/spec.md +21 -0
  563. package/templates/artifacts/spec.template.json +12 -0
  564. package/templates/artifacts/verification-proof.md +19 -0
  565. package/templates/artifacts/verification-proof.template.json +11 -0
  566. package/templates/examples/accepted-learning.example.json +14 -0
  567. package/templates/examples/author.example.json +152 -0
  568. package/templates/examples/clarification.example.json +15 -0
  569. package/templates/examples/docs-claim.example.json +8 -0
  570. package/templates/examples/export-manifest.example.json +7 -0
  571. package/templates/examples/host-export-package.example.json +11 -0
  572. package/templates/examples/implementation-plan.example.json +17 -0
  573. package/templates/examples/proposed-learning.example.json +13 -0
  574. package/templates/examples/research.example.json +15 -0
  575. package/templates/examples/research.example.md +6 -0
  576. package/templates/examples/review.example.json +17 -0
  577. package/templates/examples/run-manifest.example.json +9 -0
  578. package/templates/examples/spec-challenge.example.json +14 -0
  579. package/templates/examples/spec.example.json +21 -0
  580. package/templates/examples/verification-proof.example.json +21 -0
  581. package/templates/examples/wazir-manifest.example.yaml +65 -0
  582. package/templates/task-definition-schema.md +99 -0
  583. package/tooling/README.md +20 -0
  584. package/tooling/src/adapters/context-mode.js +50 -0
  585. package/tooling/src/capture/command.js +376 -0
  586. package/tooling/src/capture/store.js +99 -0
  587. package/tooling/src/capture/usage.js +270 -0
  588. package/tooling/src/checks/branches.js +50 -0
  589. package/tooling/src/checks/brand-truth.js +110 -0
  590. package/tooling/src/checks/changelog.js +231 -0
  591. package/tooling/src/checks/command-registry.js +36 -0
  592. package/tooling/src/checks/commits.js +102 -0
  593. package/tooling/src/checks/docs-drift.js +103 -0
  594. package/tooling/src/checks/docs-truth.js +201 -0
  595. package/tooling/src/checks/runtime-surface.js +156 -0
  596. package/tooling/src/cli.js +116 -0
  597. package/tooling/src/command-options.js +56 -0
  598. package/tooling/src/commands/validate.js +320 -0
  599. package/tooling/src/doctor/command.js +91 -0
  600. package/tooling/src/export/command.js +77 -0
  601. package/tooling/src/export/compiler.js +498 -0
  602. package/tooling/src/guards/loop-cap-guard.js +52 -0
  603. package/tooling/src/guards/protected-path-write-guard.js +67 -0
  604. package/tooling/src/index/command.js +152 -0
  605. package/tooling/src/index/storage.js +1061 -0
  606. package/tooling/src/index/summarizers.js +261 -0
  607. package/tooling/src/loaders.js +18 -0
  608. package/tooling/src/project-root.js +22 -0
  609. package/tooling/src/recall/command.js +225 -0
  610. package/tooling/src/schema-validator.js +30 -0
  611. package/tooling/src/state-root.js +40 -0
  612. package/tooling/src/status/command.js +71 -0
  613. package/wazir.manifest.yaml +135 -0
  614. package/workflows/README.md +19 -0
  615. package/workflows/author.md +42 -0
  616. package/workflows/clarify.md +38 -0
  617. package/workflows/design-review.md +46 -0
  618. package/workflows/design.md +44 -0
  619. package/workflows/discover.md +37 -0
  620. package/workflows/execute.md +48 -0
  621. package/workflows/learn.md +38 -0
  622. package/workflows/plan-review.md +42 -0
  623. package/workflows/plan.md +39 -0
  624. package/workflows/prepare-next.md +37 -0
  625. package/workflows/review.md +40 -0
  626. package/workflows/run-audit.md +41 -0
  627. package/workflows/spec-challenge.md +41 -0
  628. package/workflows/specify.md +38 -0
  629. 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
+ ![Status](https://img.shields.io/badge/status-alpha-orange) ![Version](https://img.shields.io/badge/version-0.1.0-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Hosts](https://img.shields.io/badge/hosts-Claude%20%7C%20Codex%20%7C%20Gemini%20%7C%20Cursor-purple)
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
+ ![Role](https://img.shields.io/badge/role-clarifier-blue) ![Phase](https://img.shields.io/badge/phase-1%20%E2%80%94%20entry-lightgrey) ![Status](https://img.shields.io/badge/status-stable-green)
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
+ ![Role](https://img.shields.io/badge/role-content--author-blue) ![Phase](https://img.shields.io/badge/phase-5%20%E2%80%94%20authoring-lightgrey) ![Status](https://img.shields.io/badge/status-stable-green)
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)