@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,54 @@
1
+ # Security Expertise Research Progress
2
+
3
+ ## Status
4
+ - Total: 33
5
+ - Done: 33
6
+ - Remaining: 0
7
+ - Completed: 2026-03-08
8
+
9
+ ## Modules
10
+
11
+ ### Foundations
12
+ - [x] owasp-top-10.md — done 2026-03-08 (1354 lines)
13
+ - [x] authentication.md — done 2026-03-08 (1041 lines)
14
+ - [x] authorization.md — done 2026-03-08 (603 lines)
15
+ - [x] cryptography.md — done 2026-03-08 (1001 lines)
16
+ - [x] secrets-management.md — done 2026-03-08 (1217 lines)
17
+ - [x] supply-chain-security.md — done 2026-03-08 (744 lines)
18
+ - [x] secure-sdlc.md — done 2026-03-08 (1197 lines)
19
+
20
+ ### Web
21
+ - [x] xss.md — done 2026-03-08 (1158 lines)
22
+ - [x] csrf.md — done 2026-03-08 (562 lines)
23
+ - [x] injection.md — done 2026-03-08 (1375 lines)
24
+ - [x] cors-and-headers.md — done 2026-03-08 (433 lines)
25
+ - [x] session-management.md — done 2026-03-08 (1101 lines)
26
+ - [x] file-upload.md — done 2026-03-08 (1477 lines)
27
+ - [x] api-security.md — done 2026-03-08 (586 lines)
28
+
29
+ ### Mobile
30
+ - [x] mobile-ios-security.md — done 2026-03-08 (1401 lines)
31
+ - [x] mobile-android-security.md — done 2026-03-08 (1218 lines)
32
+ - [x] mobile-data-storage.md — done 2026-03-08 (1265 lines)
33
+ - [x] mobile-network-security.md — done 2026-03-08 (1520 lines)
34
+ - [x] mobile-binary-protection.md — done 2026-03-08 (1229 lines)
35
+
36
+ ### Infrastructure
37
+ - [x] container-security.md — done 2026-03-08 (721 lines)
38
+ - [x] cloud-security-aws.md — done 2026-03-08 (1296 lines)
39
+ - [x] cloud-security-gcp.md — done 2026-03-08 (1376 lines)
40
+ - [x] network-security.md — done 2026-03-08 (1337 lines)
41
+ - [x] logging-and-monitoring.md — done 2026-03-08 (1618 lines)
42
+ - [x] incident-response.md — done 2026-03-08 (1295 lines)
43
+
44
+ ### Data
45
+ - [x] data-privacy-gdpr.md — done 2026-03-08 (692 lines)
46
+ - [x] data-encryption.md — done 2026-03-08 (364 lines)
47
+ - [x] database-security.md — done 2026-03-08 (1171 lines)
48
+ - [x] pii-handling.md — done 2026-03-08 (531 lines)
49
+
50
+ ### Testing
51
+ - [x] penetration-testing.md — done 2026-03-08 (1258 lines)
52
+ - [x] security-code-review.md — done 2026-03-08 (1765 lines)
53
+ - [x] vulnerability-scanning.md — done 2026-03-08 (1062 lines)
54
+ - [x] threat-modeling.md — done 2026-03-08 (1074 lines)
@@ -0,0 +1,540 @@
1
+ # Agentic Identity & Trust -- Expertise Module
2
+
3
+ > Agent-to-agent identity is an unsolved problem in production systems. Traditional PKI assumes human-operated endpoints, but autonomous AI agents operate without human-in-the-loop approval for every action. This module covers cryptographic identity, trust scoring, delegation chains, and zero-trust principles for multi-agent architectures.
4
+
5
+ ---
6
+
7
+ ## Authority and Context
8
+
9
+ The 2024-2026 explosion of autonomous AI agents -- from Microsoft AutoGen and LangChain
10
+ multi-agent pipelines to custom orchestration frameworks -- has created a new class of
11
+ identity and authorization problems. NIST SP 800-207 (Zero Trust Architecture, 2020)
12
+ established that no network location grants implicit trust, but it was written for
13
+ human-operated systems. OWASP Top 10 for LLM Applications (2025) identifies insecure
14
+ agent delegation and insufficient output validation as critical risks, yet provides no
15
+ cryptographic identity framework for agents.
16
+
17
+ Agents are not users. They cannot type passwords or pass CAPTCHA challenges, and they
18
+ operate at machine speed across trust boundaries. A compromised agent exfiltrates data
19
+ orders of magnitude faster than a compromised human account. Microsoft AutoGen's security
20
+ model relies on process isolation but does not define inter-agent cryptographic identity.
21
+ LangChain's security guidelines focus on prompt injection defense but leave agent identity
22
+ to the deployer. Neither framework provides a standard for proving which agent performed
23
+ which action -- the foundational requirement for accountability in autonomous systems.
24
+
25
+ ---
26
+
27
+ ## Cryptographic Agent Identity
28
+
29
+ Every agent must have a provable, non-forgeable identity. Ed25519 provides the right
30
+ trade-offs: 64-byte signatures, fast verification, deterministic signing, and resistance
31
+ to timing side-channels.
32
+
33
+ ### Keypair Lifecycle
34
+
35
+ ```typescript
36
+ import { ed25519 } from '@noble/curves/ed25519';
37
+ import { sha256 } from '@noble/hashes/sha256';
38
+ import { bytesToHex } from '@noble/hashes/utils';
39
+
40
+ // Generate agent identity
41
+ const privateKey = ed25519.utils.randomPrivateKey();
42
+ const publicKey = ed25519.getPublicKey(privateKey);
43
+ const agentId = bytesToHex(sha256(publicKey)).slice(0, 32);
44
+
45
+ // Sign an action
46
+ const message = new TextEncoder().encode(JSON.stringify({
47
+ action: 'write_file',
48
+ target: 'src/main.ts',
49
+ timestamp: Date.now(),
50
+ }));
51
+ const signature = ed25519.sign(message, privateKey);
52
+
53
+ // Verify
54
+ const isValid = ed25519.verify(signature, message, publicKey);
55
+ ```
56
+
57
+ ### Credential Lifecycle
58
+
59
+ | Phase | What Happens | Failure Mode |
60
+ |-------|-------------|--------------|
61
+ | **Generation** | Agent creates Ed25519 keypair at first boot. Private key never leaves the runtime. | Weak entropy produces predictable keys. |
62
+ | **Registration** | Agent submits public key + metadata to the orchestrator. Orchestrator records agentId <-> role <-> capabilities. | Unverified registration allows impersonation. |
63
+ | **Rotation** | Agent generates new keypair, signs new public key with old private key, submits signed rotation request. | Delayed rotation extends compromise window. |
64
+ | **Revocation** | Orchestrator publishes revoked agentId to all peers. Revocation is irreversible. | Missing propagation allows continued use. |
65
+
66
+ ### Key Storage Options
67
+
68
+ | Environment | Storage | Trade-off |
69
+ |-------------|---------|-----------|
70
+ | Development | Encrypted file on disk (`~/.wazir/keys/`) | Convenient, vulnerable to disk access |
71
+ | Staging | OS keychain (macOS Keychain, Linux keyring) | Process-isolated, accessible to root |
72
+ | Production | Hardware Security Module (HSM) or cloud KMS | Keys never leave hardware; signing latency |
73
+ | High-security | Trusted Execution Environment (TEE) | Attestation-backed; complex provisioning |
74
+
75
+ ### Lightweight JSON Credential
76
+
77
+ X.509 certificates are overweight for agent identity. Agents need a minimal credential:
78
+
79
+ ```typescript
80
+ interface AgentCredential {
81
+ version: 1;
82
+ agentId: string; // SHA-256(publicKey).slice(0, 32)
83
+ publicKey: string; // Hex-encoded Ed25519 public key
84
+ role: string; // e.g., 'executor', 'verifier', 'reviewer'
85
+ capabilities: string[]; // e.g., ['file:read', 'file:write', 'tool:execute']
86
+ issuedAt: string; // ISO 8601 timestamp
87
+ expiresAt: string; // ISO 8601 timestamp
88
+ issuer: string; // Orchestrator's agentId
89
+ issuerSignature: string; // Orchestrator signs the credential fields
90
+ }
91
+ ```
92
+
93
+ The orchestrator signs credentials at issuance. Any peer verifies by checking the
94
+ issuer's signature against the orchestrator's known public key. Credential expiry forces
95
+ periodic re-registration, limiting the blast radius of a compromised key.
96
+
97
+ ---
98
+
99
+ ## Trust Scoring Model
100
+
101
+ Trust must be asymmetric: easy to lose, hard to regain. The model is penalty-based --
102
+ agents start at full trust and lose it through violations.
103
+
104
+ ### Trust Event Table
105
+
106
+ | Event | Trust Impact | Rationale |
107
+ |-------|-------------|-----------|
108
+ | Baseline (new agent) | 1.0 | Default trust until proven otherwise |
109
+ | Successful verified task | +0.0 | Trust is the default, not a reward |
110
+ | Failed verification | -0.10 | Output did not match claims |
111
+ | Unauthorized action | -0.30 | Attempted scope violation |
112
+ | Credential expiry ignored | -0.20 | Hygiene failure |
113
+ | Peer verification passed | +0.05 | Cross-validated by another agent |
114
+ | Trust recovery (after penalty) | +0.02/task | Slow rebuild after violation |
115
+ | Tampered evidence record | -0.50 | Integrity violation -- most severe |
116
+
117
+ ### Implementation
118
+
119
+ ```typescript
120
+ interface TrustEvent {
121
+ type: string;
122
+ impact: number;
123
+ timestamp: string;
124
+ evidence: string; // Reference to EvidenceRecord ID
125
+ }
126
+
127
+ interface TrustScore {
128
+ agentId: string;
129
+ score: number; // 0.0 - 1.0
130
+ history: TrustEvent[];
131
+ status: 'active' | 'restricted' | 'suspended';
132
+ }
133
+
134
+ function updateTrust(current: TrustScore, event: TrustEvent): TrustScore {
135
+ const newScore = Math.max(0, Math.min(1.0, current.score + event.impact));
136
+ const status = newScore >= 0.5 ? 'active'
137
+ : newScore >= 0.3 ? 'restricted'
138
+ : 'suspended';
139
+ return { ...current, score: newScore, status, history: [...current.history, event] };
140
+ }
141
+ ```
142
+
143
+ | Status | Score Range | Allowed Actions |
144
+ |--------|-----------|-----------------|
145
+ | `active` | 0.50 - 1.00 | Full capabilities as defined in credential |
146
+ | `restricted` | 0.30 - 0.49 | Read-only; writes require co-signing by a trusted peer |
147
+ | `suspended` | 0.00 - 0.29 | No actions; must re-register with orchestrator approval |
148
+
149
+ **Why +0.0 for successful tasks:** Rewarding routine success inflates scores, making
150
+ penalties meaningless. Trust is a ceiling, not a currency to stockpile.
151
+
152
+ ---
153
+
154
+ ## Delegation Chains
155
+
156
+ Agents delegate authority to other agents. Each hop must narrow scope -- never widen it.
157
+
158
+ ```typescript
159
+ interface Permission {
160
+ resource: string; // e.g., 'file:src/**', 'tool:git', 'api:github'
161
+ actions: string[]; // e.g., ['read', 'write', 'execute']
162
+ }
163
+
164
+ interface Delegation {
165
+ delegator: string; // Agent ID granting permission
166
+ delegate: string; // Agent ID receiving permission
167
+ scope: Permission[]; // What they can do
168
+ constraints: {
169
+ maxDepth: number; // How many re-delegations allowed
170
+ expiresAt: string; // ISO timestamp
171
+ conditions: string[];// Contextual restrictions
172
+ };
173
+ signature: string; // Delegator's Ed25519 signature
174
+ }
175
+
176
+ // Scope MUST narrow at each hop (never widen)
177
+ // Depth MUST decrement (prevent infinite chains)
178
+ ```
179
+
180
+ ### Chain Verification Algorithm
181
+
182
+ ```typescript
183
+ function verifyDelegationChain(
184
+ chain: Delegation[],
185
+ requestedAction: Permission,
186
+ agentRegistry: Map<string, AgentCredential>,
187
+ ): { valid: boolean; reason?: string } {
188
+ if (chain.length === 0) return { valid: false, reason: 'Empty chain' };
189
+ const now = new Date().toISOString();
190
+
191
+ for (let i = 0; i < chain.length; i++) {
192
+ const d = chain[i];
193
+ const cred = agentRegistry.get(d.delegator);
194
+ if (!cred) return { valid: false, reason: `Unknown delegator: ${d.delegator}` };
195
+
196
+ // Verify signature over delegation payload
197
+ const payload = new TextEncoder().encode(
198
+ JSON.stringify({ delegate: d.delegate, scope: d.scope, constraints: d.constraints })
199
+ );
200
+ if (!ed25519.verify(hexToBytes(d.signature), payload, hexToBytes(cred.publicKey))) {
201
+ return { valid: false, reason: `Invalid signature at hop ${i}` };
202
+ }
203
+
204
+ if (d.constraints.expiresAt < now)
205
+ return { valid: false, reason: `Expired at hop ${i}` };
206
+ if (i > 0 && chain[i - 1].constraints.maxDepth <= 0)
207
+ return { valid: false, reason: `Depth exceeded at hop ${i}` };
208
+ if (i > 0 && !isScopeSubset(d.scope, chain[i - 1].scope))
209
+ return { valid: false, reason: `Scope widened at hop ${i}` };
210
+ }
211
+
212
+ const finalScope = chain[chain.length - 1].scope;
213
+ if (!isScopeSubset([requestedAction], finalScope))
214
+ return { valid: false, reason: 'Action not covered by delegation scope' };
215
+ return { valid: true };
216
+ }
217
+
218
+ function isScopeSubset(child: Permission[], parent: Permission[]): boolean {
219
+ return child.every(cp =>
220
+ parent.some(pp => pp.resource === cp.resource
221
+ && cp.actions.every(a => pp.actions.includes(a)))
222
+ );
223
+ }
224
+ ```
225
+
226
+ ### Delegation Rules
227
+
228
+ 1. **Scope narrows at every hop.** A delegate cannot grant permissions it does not hold.
229
+ 2. **Depth decrements.** `maxDepth: 2` allows re-delegation with `maxDepth: 1`. At 0, no
230
+ further re-delegation.
231
+ 3. **Expiry propagates.** A child delegation cannot outlive its parent.
232
+ 4. **Revocation cascades.** Revoking a delegator invalidates all downstream delegations.
233
+
234
+ ---
235
+
236
+ ## Evidence Records
237
+
238
+ Every action produces an append-only evidence record. Records form a hash chain -- each
239
+ references the previous record's hash, making tampering detectable.
240
+
241
+ ```typescript
242
+ interface EvidenceRecord {
243
+ id: string; // UUID v4
244
+ timestamp: string; // ISO 8601
245
+ agentId: string; // Who performed the action
246
+ action: string; // What was done (e.g., 'file:write:src/main.ts')
247
+ inputHash: string; // SHA-256 of input
248
+ outputHash: string; // SHA-256 of output
249
+ parentHash: string; // Previous record hash (chain integrity)
250
+ delegationRef: string;// Which delegation authorized this
251
+ signature: string; // Agent's Ed25519 signature over all fields above
252
+ }
253
+ ```
254
+
255
+ ### Chain Integrity Verification
256
+
257
+ ```typescript
258
+ function verifyEvidenceChain(
259
+ records: EvidenceRecord[],
260
+ agentRegistry: Map<string, AgentCredential>,
261
+ ): { valid: boolean; brokenAt?: number; reason?: string } {
262
+ for (let i = 0; i < records.length; i++) {
263
+ const r = records[i];
264
+ const cred = agentRegistry.get(r.agentId);
265
+ if (!cred) return { valid: false, brokenAt: i, reason: 'Unknown agent' };
266
+
267
+ // Verify signature over record payload (all fields except signature)
268
+ const payload = new TextEncoder().encode(JSON.stringify({
269
+ id: r.id, timestamp: r.timestamp, agentId: r.agentId, action: r.action,
270
+ inputHash: r.inputHash, outputHash: r.outputHash,
271
+ parentHash: r.parentHash, delegationRef: r.delegationRef,
272
+ }));
273
+ if (!ed25519.verify(hexToBytes(r.signature), payload, hexToBytes(cred.publicKey)))
274
+ return { valid: false, brokenAt: i, reason: 'Invalid signature' };
275
+
276
+ // Verify hash chain linkage
277
+ if (i > 0) {
278
+ const prevHash = bytesToHex(sha256(
279
+ new TextEncoder().encode(JSON.stringify(records[i - 1]))
280
+ ));
281
+ if (r.parentHash !== prevHash)
282
+ return { valid: false, brokenAt: i, reason: 'Broken hash chain' };
283
+ }
284
+ }
285
+ return { valid: true };
286
+ }
287
+ ```
288
+
289
+ ### Evidence Rules
290
+
291
+ 1. **Append-only.** Records are never modified or deleted.
292
+ 2. **Signed at creation.** Late signing is a trust penalty (-0.10).
293
+ 3. **Chain integrity.** Each `parentHash` must match the SHA-256 of the preceding record.
294
+ 4. **Delegation binding.** Every record references its authorizing delegation.
295
+
296
+ ---
297
+
298
+ ## Zero-Trust Principles for Multi-Agent Systems
299
+
300
+ Six principles adapting NIST SP 800-207 for agent-to-agent communication.
301
+
302
+ ### Principle 1: Never Trust Self-Reported Identity
303
+
304
+ Identity must be verified cryptographically via challenge-response:
305
+
306
+ ```typescript
307
+ function verifyIdentity(
308
+ claimedId: string,
309
+ challenge: Uint8Array,
310
+ response: Uint8Array,
311
+ registry: Map<string, AgentCredential>,
312
+ ): boolean {
313
+ const cred = registry.get(claimedId);
314
+ if (!cred || cred.expiresAt < new Date().toISOString()) return false;
315
+ return ed25519.verify(response, challenge, hexToBytes(cred.publicKey));
316
+ }
317
+ ```
318
+
319
+ ### Principle 2: Verify Every Action Against Delegation Scope
320
+
321
+ "This agent has been trusted in the past" is not authorization for the current action.
322
+ Every action is checked against the active delegation chain.
323
+
324
+ ### Principle 3: Fail Closed
325
+
326
+ Signature mismatch, expired credential, or scope violation means **deny**. No grace
327
+ periods, no fallback to permissive mode.
328
+
329
+ ### Principle 4: Assume Compromise of Any Single Agent
330
+
331
+ Design every protocol assuming exactly one agent is compromised at any time. This drives
332
+ delegation scope limits, evidence integrity, and revocation propagation.
333
+
334
+ ### Principle 5: Log Everything, Verify Independently
335
+
336
+ Verification of evidence records is performed by an independent agent, not the agent
337
+ that produced the output. Self-verification is not verification.
338
+
339
+ ### Principle 6: No Implicit Trust from Proximity
340
+
341
+ Same machine, same process, same container -- none of these imply trust. Each agent
342
+ presents credentials regardless of deployment topology.
343
+
344
+ ---
345
+
346
+ ## Cross-Framework Federation
347
+
348
+ Agents from different frameworks must establish trust without a shared identity provider.
349
+
350
+ ### Framework Identity Mechanisms (Current State)
351
+
352
+ | Framework | Identity Mechanism | Delegation Model | Evidence/Audit |
353
+ |-----------|--------------------|-------------------|----------------|
354
+ | Microsoft AutoGen | Process isolation, no crypto identity | Implicit orchestrator control | Conversation logging |
355
+ | LangChain/LangGraph | None built-in | Tool-level allow/deny lists | LangSmith tracing (optional) |
356
+ | CrewAI | Role-based string names | Hierarchical, no scope narrowing | Task output logging |
357
+ | OpenAI Assistants API | API key scoping per assistant | Function calling permissions | Run step logging |
358
+ | Custom orchestrators | Varies -- most lack crypto identity | Varies | Varies |
359
+
360
+ ### Federation Protocol
361
+
362
+ ```typescript
363
+ // Step 1: Credential exchange
364
+ interface FederationHandshake {
365
+ sourceFramework: string;
366
+ credential: AgentCredential;
367
+ supportedProtocols: string[]; // e.g., ['ed25519-challenge-v1']
368
+ }
369
+
370
+ // Step 2: Challenge-response
371
+ interface FederationChallenge {
372
+ nonce: string; // Random 32-byte hex
373
+ timestamp: string;
374
+ requesterAgentId: string;
375
+ }
376
+
377
+ interface FederationResponse {
378
+ nonce: string;
379
+ responderAgentId: string;
380
+ signature: string; // Sign(nonce + timestamp + requesterAgentId)
381
+ }
382
+
383
+ // Step 3: Capability advertisement
384
+ interface CapabilityAdvertisement {
385
+ agentId: string;
386
+ capabilities: Permission[];
387
+ trustScore: number;
388
+ signature: string;
389
+ }
390
+ ```
391
+
392
+ ### Trust Bridging
393
+
394
+ 1. **Mutual credential exchange** between framework orchestrators.
395
+ 2. **Cross-signing** -- both orchestrators co-sign a federation agreement.
396
+ 3. **Scoped delegation** -- cross-framework delegations are always more restrictive.
397
+ 4. **Independent evidence** -- each framework maintains its own chain.
398
+
399
+ ---
400
+
401
+ ## Post-Quantum Readiness
402
+
403
+ Ed25519 is vulnerable to Shor's algorithm. NIST selected CRYSTALS-Dilithium (ML-DSA)
404
+ as the post-quantum signature standard in 2024.
405
+
406
+ | Phase | Timeline | Action |
407
+ |-------|---------|--------|
408
+ | **Prepare** | Now - 2027 | Add `version` field to AgentCredential. Dispatch verification by version. |
409
+ | **Hybrid** | 2027 - 2029 | Dual signatures: Ed25519 + ML-DSA. Protects against "harvest now, decrypt later." |
410
+ | **Mandatory** | 2030+ | Deprecate Ed25519-only. All credentials use ML-DSA. |
411
+
412
+ ```typescript
413
+ interface HybridCredential extends AgentCredential {
414
+ version: 2;
415
+ classicalPublicKey: string; // Ed25519
416
+ pqPublicKey: string; // ML-DSA-65 (Dilithium3)
417
+ classicalSignature: string;
418
+ pqSignature: string;
419
+ }
420
+
421
+ function verifyHybrid(cred: HybridCredential, payload: Uint8Array): boolean {
422
+ const classical = ed25519.verify(
423
+ hexToBytes(cred.classicalSignature), payload, hexToBytes(cred.classicalPublicKey));
424
+ const pq = mlDsa65.verify(
425
+ hexToBytes(cred.pqSignature), payload, hexToBytes(cred.pqPublicKey));
426
+ return classical && pq; // BOTH must be valid
427
+ }
428
+ ```
429
+
430
+ **Size trade-off:** ML-DSA-65 signatures are 3,293 bytes (vs. 64 for Ed25519). For
431
+ agent-to-agent messages already measured in kilobytes, this is acceptable.
432
+
433
+ ---
434
+
435
+ ## Anti-Patterns
436
+
437
+ ### AP-01: Shared Secrets Between Agents
438
+
439
+ All agents share the same API key. Compromise of one agent exposes the shared secret,
440
+ granting impersonation of every agent. **Fix:** Per-agent Ed25519 keypairs.
441
+
442
+ ### AP-02: Trust-by-Proximity
443
+
444
+ Agents on the same machine skip verification. A supply chain attack or prompt injection
445
+ achieving code execution inherits trust of co-located agents. **Fix:** Verify credentials
446
+ regardless of deployment topology.
447
+
448
+ ### AP-03: Self-Attestation
449
+
450
+ An agent signs its own credential. The signature is valid but meaningless -- no authority
451
+ vouches for the identity-to-capability binding. **Fix:** Orchestrator issues and signs
452
+ all credentials.
453
+
454
+ ### AP-04: Permanent Delegation
455
+
456
+ Delegation tokens without expiry. Decommissioned agents retain authorization indefinitely.
457
+ **Fix:** Mandatory `expiresAt` on all delegations; maximum lifetime bounded by policy.
458
+
459
+ ### AP-05: Trust Score Inflation
460
+
461
+ Rewarding routine tasks lets agents "farm" trust to absorb future violations. **Fix:**
462
+ Successful tasks award +0.0; trust is a ceiling, not a currency.
463
+
464
+ ### AP-06: Bearer Tokens Without Binding
465
+
466
+ Tokens passed between agents with no cryptographic binding. A stolen token enables full
467
+ impersonation. **Fix:** Bind tokens to the delegate's public key; token is valid only
468
+ with a matching signature.
469
+
470
+ ### AP-07: Symmetric Keys for Agent Identity
471
+
472
+ HMAC-based authentication cannot prove origin. If A and B share a key, B can forge
473
+ messages as A. No non-repudiation. **Fix:** Asymmetric signatures (Ed25519).
474
+
475
+ ### AP-08: Logging Without Integrity Verification
476
+
477
+ Unsigned, unchained logs. A compromised agent modifies history to cover its tracks.
478
+ **Fix:** EvidenceRecord pattern with hash chains and per-record signatures.
479
+
480
+ ### AP-09: Implicit Scope Inheritance
481
+
482
+ Delegates automatically inherit the delegator's full permission set. A verifier inherits
483
+ write access it should never have. **Fix:** Explicit `scope` on every delegation; chain
484
+ verification rejects scope widening.
485
+
486
+ ---
487
+
488
+ ## Self-Check Questions
489
+
490
+ ### Identity
491
+ - [ ] Does every agent have a unique cryptographic keypair?
492
+ - [ ] Are credentials issued by a trusted authority (not self-signed)?
493
+ - [ ] Is there a credential expiry and rotation mechanism?
494
+ - [ ] Can a compromised agent's credential be revoked without affecting others?
495
+
496
+ ### Trust
497
+ - [ ] Does the trust model penalize violations asymmetrically?
498
+ - [ ] Is routine success neutral (not rewarded)?
499
+ - [ ] Are restricted agents prevented from destructive actions?
500
+
501
+ ### Delegation
502
+ - [ ] Does every delegation have explicit scope and expiry?
503
+ - [ ] Is scope narrowing enforced at every hop?
504
+ - [ ] Is re-delegation depth bounded?
505
+ - [ ] Does revoking a delegator cascade to downstream delegations?
506
+
507
+ ### Evidence
508
+ - [ ] Is every action recorded in a signed, append-only chain?
509
+ - [ ] Are records hash-linked to the previous record?
510
+ - [ ] Is verification performed by an independent agent?
511
+
512
+ ### Federation
513
+ - [ ] Is cross-framework identity verified via challenge-response?
514
+ - [ ] Are cross-framework delegations more restrictive than intra-framework?
515
+
516
+ ---
517
+
518
+ ## Cross-References
519
+
520
+ - **secrets-antipatterns** -- Agent private keys are secrets. Store and rotate accordingly.
521
+ - **security-theater** -- Self-attestation and trust-by-proximity are security theater.
522
+ - **distributed-systems-fundamentals** -- Agent communication faces the same network
523
+ unreliability and ordering challenges as any distributed system.
524
+ - **consensus-and-coordination** -- Multi-orchestrator deployments require consensus on
525
+ which credentials are valid.
526
+
527
+ ---
528
+
529
+ ## Sources
530
+
531
+ - [NIST SP 800-207: Zero Trust Architecture (2020)](https://csrc.nist.gov/publications/detail/sp/800-207/final)
532
+ - [OWASP Top 10 for LLM Applications (2025)](https://owasp.org/www-project-top-10-for-large-language-model-applications/)
533
+ - [Ed25519: High-speed high-security signatures (Bernstein et al., 2012)](https://ed25519.cr.yp.to/)
534
+ - [CRYSTALS-Dilithium / ML-DSA -- NIST PQC Standard (2024)](https://csrc.nist.gov/pubs/fips/204/final)
535
+ - [Microsoft AutoGen: Multi-Agent Conversation Framework](https://arxiv.org/abs/2308.08155)
536
+ - [LangChain Security Best Practices](https://python.langchain.com/docs/security/)
537
+ - [SPIFFE: Secure Production Identity Framework for Everyone](https://spiffe.io/)
538
+ - [Macaroons: Cookies with Contextual Caveats (Google Research)](https://research.google/pubs/macaroons-cookies-with-contextual-caveats-for-decentralized-authorization-in-the-cloud/)
539
+ - [The @noble/curves Library](https://github.com/paulmillr/noble-curves)
540
+ - [Migration to Post-Quantum Cryptography -- CISA](https://www.cisa.gov/quantum)