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