@a-company/paradigm 5.38.0 → 6.0.4

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 (355) hide show
  1. package/dist/{accept-orchestration-OATWIRHP.js → accept-orchestration-TIXUQQGR.js} +1 -1
  2. package/dist/add-UOR4INIV.js +8 -0
  3. package/dist/agent-MB3H5EZA.js +33 -0
  4. package/dist/{agent-loader-RIVI6QPP.js → agent-loader-VGBPL3TH.js} +1 -1
  5. package/dist/{agent-loader-RJRVO5GQ.js → agent-loader-W3RQJVW7.js} +1 -1
  6. package/dist/{agents-suggest-HYTFMQD3.js → agents-suggest-IKY6VD2R.js} +1 -1
  7. package/dist/{ambient-WTLYUAQM.js → ambient-AI42BOM5.js} +12 -12
  8. package/dist/{ambient-76YMUA5Q.js → ambient-FNNFB4AP.js} +1 -1
  9. package/dist/{assess-UFPYEJKP.js → assess-63WXHWJV.js} +1 -1
  10. package/dist/authority-FA3HLEOA.js +2 -0
  11. package/dist/{calibration-OLJYB5HN.js → calibration-BDHGYJOK.js} +1 -1
  12. package/dist/chunk-23T6UG73.js +605 -0
  13. package/dist/{chunk-4L7665QV.js → chunk-2AU5L333.js} +1 -1
  14. package/dist/{chunk-BOYQAMGC.js → chunk-4N56FRNE.js} +1 -1
  15. package/dist/{chunk-5QOCKWK5.js → chunk-4PSD5R7N.js} +2 -2
  16. package/dist/{chunk-MQIG6SMF.js → chunk-6QXBXZF6.js} +1 -1
  17. package/dist/{chunk-ORDKEGII.js → chunk-AMLD7IYC.js} +1 -1
  18. package/dist/{chunk-3DZK54RU.js → chunk-DBEWOKD6.js} +32 -7
  19. package/dist/{chunk-AGFPVSX5.js → chunk-F6E3HW45.js} +1 -1
  20. package/dist/{chunk-X3U3IGYT.js → chunk-GD4F2HC6.js} +2 -2
  21. package/dist/chunk-GRZQIKST.js +2 -0
  22. package/dist/{chunk-HOBHJPTL.js → chunk-IOVHF4SR.js} +1 -1
  23. package/dist/{chunk-RLCH7DXQ.js → chunk-K7X3Z3GL.js} +1 -1
  24. package/dist/{chunk-74SGKSRQ.js → chunk-KAFQA7HV.js} +2 -2
  25. package/dist/{chunk-NEJ4ZLCY.js → chunk-LAYBUKMB.js} +1 -1
  26. package/dist/{chunk-4VKSEOXZ.js → chunk-LPBCQM5Y.js} +3 -3
  27. package/dist/chunk-Q527BPUF.js +2 -0
  28. package/dist/{chunk-AO7ZSRME.js → chunk-TQOT2LBO.js} +2 -2
  29. package/dist/{chunk-3XGNXXCT.js → chunk-UZ5H7K6Q.js} +1 -1
  30. package/dist/chunk-VIG5LSGZ.js +2 -0
  31. package/dist/chunk-VNIX5KBT.js +3 -0
  32. package/dist/chunk-WXF5VFB4.js +111 -0
  33. package/dist/chunk-XQLO5URP.js +11 -0
  34. package/dist/{chunk-DOCDDDTD.js → chunk-YNDPSWOE.js} +5 -5
  35. package/dist/chunk-Z5QW6USC.js +2 -0
  36. package/dist/{compliance-D7GD6ZYC.js → compliance-J3VOV445.js} +1 -1
  37. package/dist/config-schema-FLHRVZMI.js +2 -0
  38. package/dist/{context-audit-XRPT3OU2.js → context-audit-JVCA6GSV.js} +1 -1
  39. package/dist/{cursorrules-U5O4G5T4.js → cursorrules-ZXPXPZ3P.js} +1 -1
  40. package/dist/decision-loader-HELL2AMX.js +2 -0
  41. package/dist/{delete-P5VULXR4.js → delete-2C6ALLYY.js} +1 -1
  42. package/dist/{diff-YGHBIJY5.js → diff-75MABOSL.js} +1 -1
  43. package/dist/{dist-KGRCLBJP-2QAPFYNF.js → dist-GQ42YS5N-4HIJZVBB.js} +10 -10
  44. package/dist/{docs-USDAF26F.js → docs-TSAAS4W3.js} +1 -1
  45. package/dist/doctor-L5XZENCF.js +2 -0
  46. package/dist/{edit-GUU3HBVW.js → edit-P3MDAZLU.js} +1 -1
  47. package/dist/{flow-FVZR3YJ4.js → flow-BGXOVE2V.js} +1 -1
  48. package/dist/{hooks-TFMMMB2H.js → hooks-KUEE5KMM.js} +1 -1
  49. package/dist/index.js +6 -6
  50. package/dist/init-M44SO65G.js +2 -0
  51. package/dist/{init-XYB62Q3X.js → init-V4KSEKPK.js} +1 -1
  52. package/dist/{list-YKIQNKGB.js → list-2XIWUEMA.js} +1 -1
  53. package/dist/list-CFHINXIS.js +12 -0
  54. package/dist/lore-loader-D2ISOASW.js +2 -0
  55. package/dist/lore-loader-PXFKMKAN.js +2 -0
  56. package/dist/mcp.js +4 -4
  57. package/dist/metrics-UESGUHTA.js +2 -0
  58. package/dist/{migrate-Z5UQN57G.js → migrate-ZPNYDNM4.js} +1 -1
  59. package/dist/migrate-assessments-YSITX7KM.js +4 -0
  60. package/dist/migrate-decisions-NPLQOEEH.js +6 -0
  61. package/dist/migrate-plsat-EM2ACIQ3.js +6 -0
  62. package/dist/migration-notices-BHLEYC4T.js +4 -0
  63. package/dist/{nomination-engine-EALA5MGI.js → nomination-engine-NCLTGMAK.js} +1 -1
  64. package/dist/{notebook-loader-PXNRBBXD.js → notebook-loader-3J2OFMS3.js} +1 -1
  65. package/dist/{orchestrate-M5PBZBJQ.js → orchestrate-K4KBTBYK.js} +1 -1
  66. package/dist/{platform-server-DNAMH4YI.js → platform-server-ANOALDPL.js} +1 -1
  67. package/dist/{portal-check-ZMLVBIGW.js → portal-check-DV2VSJ5E.js} +1 -1
  68. package/dist/portal-compliance-JONQ4SOP.js +2 -0
  69. package/dist/{probe-3FTG6LYO.js → probe-5HAXULAD.js} +1 -1
  70. package/dist/{providers-AWA7WLLM.js → providers-TBPOE4DI.js} +1 -1
  71. package/dist/quiz-WYIZJG5K.js +10 -0
  72. package/dist/{record-YXPB34MY.js → record-N3VNYYKJ.js} +1 -1
  73. package/dist/registry-OUTA3DXW.js +20 -0
  74. package/dist/reindex-IZCD2JGD.js +2 -0
  75. package/dist/{retag-N5XF3KXP.js → retag-72R2OSZV.js} +1 -1
  76. package/dist/{review-77QI6VOC.js → review-2INNWLTW.js} +1 -1
  77. package/dist/{sentinel-HYAZ3CO5.js → sentinel-EFPEX246.js} +1 -1
  78. package/dist/{sentinel-bridge-VR357PKL.js → sentinel-bridge-UR2MKARY.js} +1 -1
  79. package/dist/{serve-U47GULB6.js → serve-3FMUWW5K.js} +1 -1
  80. package/dist/serve-OQYUO7CR.js +12 -0
  81. package/dist/{server-4YNUIK4W.js → server-4D77LCST.js} +1 -1
  82. package/dist/server-FGUL2FWQ.js +7 -0
  83. package/dist/session-tracker-HHNY6J4I.js +2 -0
  84. package/dist/{session-work-log-ZP45TREI.js → session-work-log-MEJ33TYD.js} +1 -1
  85. package/dist/{session-work-log-PAKXOFGL.js → session-work-log-ZVVJGO7X.js} +1 -1
  86. package/dist/{setup-FEWSYS3Y.js → setup-ZSEC72BS.js} +1 -1
  87. package/dist/shift-WGMZGWOC.js +60 -0
  88. package/dist/{show-PJ5LFLIL.js → show-JH7LJ5MT.js} +1 -1
  89. package/dist/show-WVHAL4VU.js +7 -0
  90. package/dist/{spawn-M5BAV252.js → spawn-KKDDR6UR.js} +1 -1
  91. package/dist/status-S7Z5FVIE.js +6 -0
  92. package/dist/{summary-PYTEIJ4U.js → summary-WLI3NF4G.js} +2 -2
  93. package/dist/{sweep-HU74OPVW.js → sweep-7TZFN5NS.js} +1 -1
  94. package/dist/sync-55U6QPIA.js +2 -0
  95. package/dist/{sync-llms-7CAI74QL.js → sync-llms-GF7DDQDI.js} +1 -1
  96. package/dist/{team-PDK64JXI.js → team-2LGZQRP4.js} +1 -1
  97. package/dist/{timeline-K3ZFKJ3R.js → timeline-RK7O2SCM.js} +1 -1
  98. package/dist/tools-4RRFTU5H.js +2 -0
  99. package/dist/university-content/notes/N-para-001-build-something.md +126 -0
  100. package/dist/university-content/notes/N-para-001-meet-the-team.md +85 -0
  101. package/dist/university-content/notes/N-para-001-shift-setup.md +74 -0
  102. package/dist/university-content/notes/N-para-101-component-types.md +99 -0
  103. package/dist/university-content/notes/N-para-101-first-steps.md +134 -0
  104. package/dist/university-content/notes/N-para-101-five-symbols.md +128 -0
  105. package/dist/university-content/notes/N-para-101-paradigm-logger.md +89 -0
  106. package/dist/university-content/notes/N-para-101-portal-yaml.md +112 -0
  107. package/dist/university-content/notes/N-para-101-project-structure.md +143 -0
  108. package/dist/university-content/notes/N-para-101-purpose-files.md +121 -0
  109. package/dist/university-content/notes/N-para-101-tags-and-classification.md +93 -0
  110. package/dist/university-content/notes/N-para-101-welcome.md +51 -0
  111. package/dist/university-content/notes/N-para-201-architecture-review.md +175 -0
  112. package/dist/university-content/notes/N-para-201-aspect-graph.md +79 -0
  113. package/dist/university-content/notes/N-para-201-aspects-and-anchors.md +112 -0
  114. package/dist/university-content/notes/N-para-201-component-patterns.md +138 -0
  115. package/dist/university-content/notes/N-para-201-cross-cutting-concerns.md +145 -0
  116. package/dist/university-content/notes/N-para-201-disciplines.md +187 -0
  117. package/dist/university-content/notes/N-para-201-flows-deep-dive.md +119 -0
  118. package/dist/university-content/notes/N-para-201-gates-deep-dive.md +165 -0
  119. package/dist/university-content/notes/N-para-201-portal-protocol.md +133 -0
  120. package/dist/university-content/notes/N-para-201-signal-patterns.md +159 -0
  121. package/dist/university-content/notes/N-para-201-symbol-naming.md +149 -0
  122. package/dist/university-content/notes/N-para-301-context-management.md +53 -0
  123. package/dist/university-content/notes/N-para-301-decisions.md +99 -0
  124. package/dist/university-content/notes/N-para-301-doctor-and-validation.md +70 -0
  125. package/dist/university-content/notes/N-para-301-enforcement-levels.md +102 -0
  126. package/dist/university-content/notes/N-para-301-fragility-tracking.md +50 -0
  127. package/dist/university-content/notes/N-para-301-history-system.md +42 -0
  128. package/dist/university-content/notes/N-para-301-navigation-system.md +55 -0
  129. package/dist/university-content/notes/N-para-301-operations-review.md +55 -0
  130. package/dist/university-content/notes/N-para-301-paradigm-shift.md +93 -0
  131. package/dist/university-content/notes/N-para-301-protocols.md +113 -0
  132. package/dist/university-content/notes/N-para-301-ripple-analysis.md +53 -0
  133. package/dist/university-content/notes/N-para-301-sentinel-observability.md +87 -0
  134. package/dist/university-content/notes/N-para-301-sync-and-maintenance.md +57 -0
  135. package/dist/university-content/notes/N-para-301-wisdom-system.md +89 -0
  136. package/dist/university-content/notes/N-para-401-agent-identity.md +99 -0
  137. package/dist/university-content/notes/N-para-401-agent-interop.md +87 -0
  138. package/dist/university-content/notes/N-para-401-agent-roles.md +107 -0
  139. package/dist/university-content/notes/N-para-401-commit-conventions.md +82 -0
  140. package/dist/university-content/notes/N-para-401-mastery-review.md +71 -0
  141. package/dist/university-content/notes/N-para-401-mcp-tools-overview.md +102 -0
  142. package/dist/university-content/notes/N-para-401-multi-agent-coordination.md +80 -0
  143. package/dist/university-content/notes/N-para-401-notebooks-permissions.md +66 -0
  144. package/dist/university-content/notes/N-para-401-orchestration-workflow.md +101 -0
  145. package/dist/university-content/notes/N-para-401-pm-governance.md +71 -0
  146. package/dist/university-content/notes/N-para-401-provider-cascade.md +75 -0
  147. package/dist/university-content/notes/N-para-401-quick-check.md +95 -0
  148. package/dist/university-content/notes/N-para-451-agent-routing.md +117 -0
  149. package/dist/university-content/notes/N-para-451-archetypes-vs-instances.md +82 -0
  150. package/dist/university-content/notes/N-para-451-identity-layers.md +76 -0
  151. package/dist/university-content/notes/N-para-451-orchestration-modes.md +85 -0
  152. package/dist/university-content/notes/N-para-451-paradigm-shift.md +95 -0
  153. package/dist/university-content/notes/N-para-451-partners-primitive.md +107 -0
  154. package/dist/university-content/notes/N-para-451-roster-management.md +132 -0
  155. package/dist/university-content/notes/N-para-451-roster-reference.md +106 -0
  156. package/dist/university-content/notes/N-para-451-the-team-pattern.md +87 -0
  157. package/dist/university-content/notes/N-para-451-tiers.md +81 -0
  158. package/dist/university-content/notes/N-para-451-welcome.md +55 -0
  159. package/dist/university-content/notes/N-para-451-what-is-an-agent.md +73 -0
  160. package/dist/university-content/notes/N-para-501-advanced-workflows.md +122 -0
  161. package/dist/university-content/notes/N-para-501-aspect-graph-advanced.md +195 -0
  162. package/dist/university-content/notes/N-para-501-aspect-graph-internals.md +97 -0
  163. package/dist/university-content/notes/N-para-501-assessment-loops.md +116 -0
  164. package/dist/university-content/notes/N-para-501-conductor-workspace.md +77 -0
  165. package/dist/university-content/notes/N-para-501-habits-practice.md +164 -0
  166. package/dist/university-content/notes/N-para-501-hook-enforcement.md +100 -0
  167. package/dist/university-content/notes/N-para-501-lore-system.md +155 -0
  168. package/dist/university-content/notes/N-para-501-platform-agent-ui.md +108 -0
  169. package/dist/university-content/notes/N-para-501-review-compliance.md +72 -0
  170. package/dist/university-content/notes/N-para-501-sentinel-deep-dive.md +173 -0
  171. package/dist/university-content/notes/N-para-501-session-intelligence.md +104 -0
  172. package/dist/university-content/notes/N-para-501-symphony-a-mail.md +120 -0
  173. package/dist/university-content/notes/N-para-501-symphony-networking.md +119 -0
  174. package/dist/university-content/notes/N-para-501-task-management.md +100 -0
  175. package/dist/university-content/notes/N-para-601-agent-renaissance.md +121 -0
  176. package/dist/university-content/notes/N-para-601-attention-scoring.md +129 -0
  177. package/dist/university-content/notes/N-para-601-context-composition.md +146 -0
  178. package/dist/university-content/notes/N-para-601-data-sovereignty.md +140 -0
  179. package/dist/university-content/notes/N-para-601-event-stream.md +126 -0
  180. package/dist/university-content/notes/N-para-601-knowledge-streams.md +144 -0
  181. package/dist/university-content/notes/N-para-601-learning-loop.md +68 -0
  182. package/dist/university-content/notes/N-para-601-maestro-team-collab.md +136 -0
  183. package/dist/university-content/notes/N-para-601-nominations-debates.md +115 -0
  184. package/dist/university-content/notes/N-para-701-agent-notebooks.md +131 -0
  185. package/dist/university-content/notes/N-para-701-agent-pods-nevrland.md +182 -0
  186. package/dist/university-content/notes/N-para-701-agent-profiles.md +197 -0
  187. package/dist/university-content/notes/N-para-701-agent-roster.md +82 -0
  188. package/dist/university-content/notes/N-para-701-agent-state.md +180 -0
  189. package/dist/university-content/notes/N-para-701-learning-feedback-loop.md +188 -0
  190. package/dist/university-content/notes/N-para-701-model-tier-resolution.md +204 -0
  191. package/dist/university-content/notes/N-para-701-orchestration-enforcement.md +169 -0
  192. package/dist/university-content/notes/N-para-701-per-project-rosters.md +198 -0
  193. package/dist/university-content/notes/N-para-701-symphony-visibility.md +142 -0
  194. package/dist/university-content/paths/LP-para-001.yaml +29 -0
  195. package/dist/university-content/paths/LP-para-101.yaml +59 -0
  196. package/dist/university-content/paths/LP-para-201.yaml +69 -0
  197. package/dist/university-content/paths/LP-para-301.yaml +84 -0
  198. package/dist/university-content/paths/LP-para-401.yaml +74 -0
  199. package/dist/university-content/paths/LP-para-451.yaml +69 -0
  200. package/dist/university-content/paths/LP-para-501.yaml +89 -0
  201. package/dist/university-content/paths/LP-para-601.yaml +59 -0
  202. package/dist/university-content/paths/LP-para-701.yaml +64 -0
  203. package/dist/university-content/quizzes/Q-para-001-build-something.yaml +46 -0
  204. package/dist/university-content/quizzes/Q-para-001-meet-the-team.yaml +46 -0
  205. package/dist/university-content/quizzes/Q-para-001-shift-setup.yaml +46 -0
  206. package/dist/university-content/quizzes/Q-para-101-component-types.yaml +46 -0
  207. package/dist/university-content/quizzes/Q-para-101-first-steps.yaml +56 -0
  208. package/dist/university-content/quizzes/Q-para-101-five-symbols.yaml +66 -0
  209. package/dist/university-content/quizzes/Q-para-101-paradigm-logger.yaml +56 -0
  210. package/dist/university-content/quizzes/Q-para-101-portal-yaml.yaml +56 -0
  211. package/dist/university-content/quizzes/Q-para-101-project-structure.yaml +66 -0
  212. package/dist/university-content/quizzes/Q-para-101-purpose-files.yaml +56 -0
  213. package/dist/university-content/quizzes/Q-para-101-tags-and-classification.yaml +56 -0
  214. package/dist/university-content/quizzes/Q-para-101-welcome.yaml +56 -0
  215. package/dist/university-content/quizzes/Q-para-201-architecture-review.yaml +66 -0
  216. package/dist/university-content/quizzes/Q-para-201-aspect-graph.yaml +46 -0
  217. package/dist/university-content/quizzes/Q-para-201-aspects-and-anchors.yaml +56 -0
  218. package/dist/university-content/quizzes/Q-para-201-component-patterns.yaml +56 -0
  219. package/dist/university-content/quizzes/Q-para-201-cross-cutting-concerns.yaml +56 -0
  220. package/dist/university-content/quizzes/Q-para-201-disciplines.yaml +66 -0
  221. package/dist/university-content/quizzes/Q-para-201-flows-deep-dive.yaml +66 -0
  222. package/dist/university-content/quizzes/Q-para-201-gates-deep-dive.yaml +66 -0
  223. package/dist/university-content/quizzes/Q-para-201-portal-protocol.yaml +56 -0
  224. package/dist/university-content/quizzes/Q-para-201-signal-patterns.yaml +56 -0
  225. package/dist/university-content/quizzes/Q-para-201-symbol-naming.yaml +66 -0
  226. package/dist/university-content/quizzes/Q-para-301-context-management.yaml +56 -0
  227. package/dist/university-content/quizzes/Q-para-301-decisions.yaml +76 -0
  228. package/dist/university-content/quizzes/Q-para-301-doctor-and-validation.yaml +66 -0
  229. package/dist/university-content/quizzes/Q-para-301-enforcement-levels.yaml +46 -0
  230. package/dist/university-content/quizzes/Q-para-301-fragility-tracking.yaml +46 -0
  231. package/dist/university-content/quizzes/Q-para-301-history-system.yaml +56 -0
  232. package/dist/university-content/quizzes/Q-para-301-navigation-system.yaml +56 -0
  233. package/dist/university-content/quizzes/Q-para-301-operations-review.yaml +66 -0
  234. package/dist/university-content/quizzes/Q-para-301-paradigm-shift.yaml +46 -0
  235. package/dist/university-content/quizzes/Q-para-301-protocols.yaml +56 -0
  236. package/dist/university-content/quizzes/Q-para-301-ripple-analysis.yaml +56 -0
  237. package/dist/university-content/quizzes/Q-para-301-sentinel-observability.yaml +46 -0
  238. package/dist/university-content/quizzes/Q-para-301-sync-and-maintenance.yaml +46 -0
  239. package/dist/university-content/quizzes/Q-para-301-wisdom-system.yaml +56 -0
  240. package/dist/university-content/quizzes/Q-para-401-agent-identity.yaml +66 -0
  241. package/dist/university-content/quizzes/Q-para-401-agent-interop.yaml +46 -0
  242. package/dist/university-content/quizzes/Q-para-401-agent-roles.yaml +56 -0
  243. package/dist/university-content/quizzes/Q-para-401-commit-conventions.yaml +56 -0
  244. package/dist/university-content/quizzes/Q-para-401-mastery-review.yaml +66 -0
  245. package/dist/university-content/quizzes/Q-para-401-mcp-tools-overview.yaml +66 -0
  246. package/dist/university-content/quizzes/Q-para-401-multi-agent-coordination.yaml +76 -0
  247. package/dist/university-content/quizzes/Q-para-401-notebooks-permissions.yaml +61 -0
  248. package/dist/university-content/quizzes/Q-para-401-orchestration-workflow.yaml +66 -0
  249. package/dist/university-content/quizzes/Q-para-401-pm-governance.yaml +66 -0
  250. package/dist/university-content/quizzes/Q-para-401-provider-cascade.yaml +56 -0
  251. package/dist/university-content/quizzes/Q-para-401-quick-check.yaml +46 -0
  252. package/dist/university-content/quizzes/Q-para-451-foundations.yaml +154 -0
  253. package/dist/university-content/quizzes/Q-para-451-when-to-invoke.yaml +182 -0
  254. package/dist/university-content/quizzes/Q-para-501-advanced-workflows.yaml +66 -0
  255. package/dist/university-content/quizzes/Q-para-501-aspect-graph-advanced.yaml +66 -0
  256. package/dist/university-content/quizzes/Q-para-501-aspect-graph-internals.yaml +66 -0
  257. package/dist/university-content/quizzes/Q-para-501-assessment-loops.yaml +46 -0
  258. package/dist/university-content/quizzes/Q-para-501-conductor-workspace.yaml +46 -0
  259. package/dist/university-content/quizzes/Q-para-501-habits-practice.yaml +56 -0
  260. package/dist/university-content/quizzes/Q-para-501-hook-enforcement.yaml +66 -0
  261. package/dist/university-content/quizzes/Q-para-501-lore-system.yaml +66 -0
  262. package/dist/university-content/quizzes/Q-para-501-platform-agent-ui.yaml +66 -0
  263. package/dist/university-content/quizzes/Q-para-501-review-compliance.yaml +61 -0
  264. package/dist/university-content/quizzes/Q-para-501-sentinel-deep-dive.yaml +86 -0
  265. package/dist/university-content/quizzes/Q-para-501-session-intelligence.yaml +66 -0
  266. package/dist/university-content/quizzes/Q-para-501-symphony-a-mail.yaml +66 -0
  267. package/dist/university-content/quizzes/Q-para-501-symphony-networking.yaml +66 -0
  268. package/dist/university-content/quizzes/Q-para-501-task-management.yaml +46 -0
  269. package/dist/university-content/quizzes/Q-para-601-agent-renaissance.yaml +66 -0
  270. package/dist/university-content/quizzes/Q-para-601-attention-scoring.yaml +56 -0
  271. package/dist/university-content/quizzes/Q-para-601-context-composition.yaml +66 -0
  272. package/dist/university-content/quizzes/Q-para-601-data-sovereignty.yaml +56 -0
  273. package/dist/university-content/quizzes/Q-para-601-event-stream.yaml +66 -0
  274. package/dist/university-content/quizzes/Q-para-601-knowledge-streams.yaml +66 -0
  275. package/dist/university-content/quizzes/Q-para-601-learning-loop.yaml +56 -0
  276. package/dist/university-content/quizzes/Q-para-601-maestro-team-collab.yaml +86 -0
  277. package/dist/university-content/quizzes/Q-para-601-nominations-debates.yaml +66 -0
  278. package/dist/university-content/quizzes/Q-para-701-agent-notebooks.yaml +66 -0
  279. package/dist/university-content/quizzes/Q-para-701-agent-pods-nevrland.yaml +66 -0
  280. package/dist/university-content/quizzes/Q-para-701-agent-profiles.yaml +66 -0
  281. package/dist/university-content/quizzes/Q-para-701-agent-roster.yaml +66 -0
  282. package/dist/university-content/quizzes/Q-para-701-agent-state.yaml +66 -0
  283. package/dist/university-content/quizzes/Q-para-701-learning-feedback-loop.yaml +66 -0
  284. package/dist/university-content/quizzes/Q-para-701-model-tier-resolution.yaml +66 -0
  285. package/dist/university-content/quizzes/Q-para-701-orchestration-enforcement.yaml +66 -0
  286. package/dist/university-content/quizzes/Q-para-701-per-project-rosters.yaml +66 -0
  287. package/dist/university-content/quizzes/Q-para-701-symphony-visibility.yaml +66 -0
  288. package/dist/university-content/quizzes/Q-plsat-v2.yaml +904 -0
  289. package/dist/university-content/quizzes/Q-plsat-v3.yaml +2909 -0
  290. package/dist/university-content/reference.json +2 -2
  291. package/dist/university-ui/assets/{index-CecQrfSn.js → index-nNgzO1il.js} +2 -2
  292. package/dist/university-ui/assets/{index-CecQrfSn.js.map → index-nNgzO1il.js.map} +1 -1
  293. package/dist/university-ui/index.html +1 -1
  294. package/dist/{upgrade-GX56QE3C.js → upgrade-NKN63VTY.js} +2 -2
  295. package/dist/validate-XUQZTF3H.js +9 -0
  296. package/dist/{watch-YCODNIET.js → watch-25GJHQYT.js} +1 -1
  297. package/lore-ui/dist/assets/{index-Bk-K0qgN.js → index-DKhNxgtW.js} +10 -10
  298. package/lore-ui/dist/index.html +1 -1
  299. package/package.json +2 -2
  300. package/platform-ui/dist/assets/{AmbientSection-BYjt75R1.js → AmbientSection-CwatqcBD.js} +1 -1
  301. package/platform-ui/dist/assets/{CanvasSection-rKvA_vZj.js → CanvasSection-dFAthehN.js} +1 -1
  302. package/platform-ui/dist/assets/{DocsSection-CI9K73M-.js → DocsSection-BZ2SFJBZ.js} +1 -1
  303. package/platform-ui/dist/assets/{GitSection-DSGj_c6S.js → GitSection-MNNYU1tO.js} +1 -1
  304. package/platform-ui/dist/assets/{GraphSection-CawN7pC5.js → GraphSection-COYjb4Pt.js} +1 -1
  305. package/platform-ui/dist/assets/LoreSection-B0hUbfsJ.js +1 -0
  306. package/platform-ui/dist/assets/{SentinelSection-DNgoYMH0.js → SentinelSection-BCxW1DCp.js} +1 -1
  307. package/platform-ui/dist/assets/{SymphonySection-C0zfcqv3.js → SymphonySection-BsucZRqy.js} +1 -1
  308. package/platform-ui/dist/assets/{TeamSection-Bzd3Dt9Q.js → TeamSection-C0QNTudW.js} +1 -1
  309. package/platform-ui/dist/assets/{UniversitySection-tBr62R0S.js → UniversitySection-DN1-g9pw.js} +1 -1
  310. package/platform-ui/dist/assets/{index-BaOmyn11.js → index-DwUT8pju.js} +2 -2
  311. package/platform-ui/dist/index.html +1 -1
  312. package/dist/add-P76GEMGF.js +0 -8
  313. package/dist/agent-X6I2YWOB.js +0 -33
  314. package/dist/chunk-JQKKVAAN.js +0 -2
  315. package/dist/chunk-NQ47TA6C.js +0 -111
  316. package/dist/chunk-ODVKPZZ4.js +0 -2
  317. package/dist/chunk-Q2J542ST.js +0 -2
  318. package/dist/chunk-RBLK34IA.js +0 -11
  319. package/dist/chunk-RN4VE6P3.js +0 -521
  320. package/dist/chunk-WS2N27RX.js +0 -3
  321. package/dist/config-schema-GUQY2QN7.js +0 -2
  322. package/dist/decision-loader-2XPZE4EZ.js +0 -2
  323. package/dist/doctor-WMVULMQD.js +0 -2
  324. package/dist/list-5IUGP3ZB.js +0 -7
  325. package/dist/lore-loader-RVQI5GXL.js +0 -2
  326. package/dist/lore-loader-XY5MZRR2.js +0 -2
  327. package/dist/migrate-assessments-GEI5WMI2.js +0 -4
  328. package/dist/portal-compliance-6YR27IQU.js +0 -2
  329. package/dist/quiz-FE5UGAY2.js +0 -10
  330. package/dist/registry-KOOKFUWD.js +0 -20
  331. package/dist/reindex-I6LPAKCC.js +0 -2
  332. package/dist/serve-OY6XYL7F.js +0 -12
  333. package/dist/server-2MNROHF6.js +0 -7
  334. package/dist/session-tracker-MWJAJA6Z.js +0 -2
  335. package/dist/shift-PC6C7NUX.js +0 -60
  336. package/dist/show-BOAVWZPZ.js +0 -7
  337. package/dist/status-A37ECYNJ.js +0 -6
  338. package/dist/sync-DLUBV5HQ.js +0 -2
  339. package/dist/tools-5ITPEPSV.js +0 -2
  340. package/dist/university-content/courses/.purpose +0 -492
  341. package/dist/university-content/courses/para-001.json +0 -166
  342. package/dist/university-content/courses/para-101.json +0 -615
  343. package/dist/university-content/courses/para-201.json +0 -794
  344. package/dist/university-content/courses/para-301.json +0 -830
  345. package/dist/university-content/courses/para-401.json +0 -868
  346. package/dist/university-content/courses/para-501.json +0 -1166
  347. package/dist/university-content/courses/para-601.json +0 -719
  348. package/dist/university-content/courses/para-701.json +0 -807
  349. package/dist/university-content/plsat/.purpose +0 -162
  350. package/dist/university-content/plsat/v2.0.json +0 -760
  351. package/dist/university-content/plsat/v3.0.json +0 -3453
  352. package/dist/validate-C6SMKGYD.js +0 -9
  353. package/platform-ui/dist/assets/LoreSection-oO5dCe6O.js +0 -1
  354. /package/dist/{chunk-BV5PRPLB.js → chunk-HXGYVS2N.js} +0 -0
  355. /package/templates/paradigm/specs/{scan.md → probe.md} +0 -0
@@ -0,0 +1,115 @@
1
+ ---
2
+ id: N-para-601-nominations-debates
3
+ title: Nominations & Debates
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-601
11
+ - nominations-are-structured
12
+ - four-urgency-levels
13
+ - five-nomination-types
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 5
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-601.json
21
+ ---
22
+
23
+ ## Agents Self-Nominate Contributions
24
+
25
+ In the ambient model, agents do not push messages at each other. Instead, when an event exceeds an agent's attention threshold, the agent creates a **nomination** — a structured contribution that may or may not be surfaced to the human. Nominations are the bridge between passive observation and active participation.
26
+
27
+ The key insight is that not every observation deserves immediate attention. A nomination captures the agent's contribution in a structured format, and surfacing rules determine when and how to present it. This prevents the "every agent shouts at once" problem that plagues naive multi-agent systems.
28
+
29
+ ## Nomination Anatomy
30
+
31
+ A nomination has 13 fields:
32
+
33
+ ```typescript
34
+ interface Nomination {
35
+ id: string; // Unique ID
36
+ agent: string; // Nominating agent
37
+ relevance: number; // Attention score (0.0-1.0)
38
+ urgency: NominationUrgencyLevel; // critical, high, medium, low
39
+ type: NominationType; // warning, suggestion, question, offer, observation
40
+ brief: string; // 1-line summary
41
+ detail?: string; // Full contribution (shown on engage)
42
+ action_offered?: string; // Action the agent offers to take
43
+ evidence?: NominationEvidence[]; // Supporting evidence
44
+ triggered_by: string[]; // Event ID(s) that triggered this
45
+ timestamp: string; // ISO 8601
46
+ surfaced: boolean; // Whether shown to human
47
+ engaged?: boolean; // Whether human interacted
48
+ response?: string; // accepted, dismissed, deferred
49
+ }
50
+ ```
51
+
52
+ The `brief` field is critical — it is the first (and possibly only) thing the human sees. A good brief is actionable and specific: "New POST /api/payments route lacks ^payment-authorized gate" rather than "Security concern detected."
53
+
54
+ The `detail` field expands on the brief with full reasoning, code references, and recommendations. It is shown only if the human engages with the nomination, saving context window space when the human dismisses or defers.
55
+
56
+ ## Urgency Levels
57
+
58
+ Four urgency levels determine how aggressively a nomination is surfaced:
59
+
60
+ | Level | Meaning | Surfacing Rule |
61
+ |---|---|---|
62
+ | `critical` | Immediate action required — security vulnerability, data loss risk | Always surfaced immediately, interrupts if necessary |
63
+ | `high` | Should be addressed before session ends — missing gate, broken flow | Surfaced in the current batch, highlighted |
64
+ | `medium` | Worth knowing but not blocking — code smell, missing test | Surfaced if the human has not dismissed similar nominations recently |
65
+ | `low` | FYI — style suggestion, minor optimization opportunity | Batched and shown only if the human asks or at session end |
66
+
67
+ The surfacing rules are configurable via `SurfacingConfig`. A user who finds security nominations too frequent can set the security agent's `min_urgency` to `high`, silencing `medium` and `low` nominations from that agent.
68
+
69
+ ## Nomination Types
70
+
71
+ Five types classify the nature of the contribution:
72
+
73
+ - **warning** — Something is wrong or risky (e.g., "Route without gate", "Aspect anchor drift detected")
74
+ - **suggestion** — An improvement opportunity (e.g., "Consider extracting this into a shared utility")
75
+ - **question** — The agent needs clarification (e.g., "Should this endpoint be public or require authentication?")
76
+ - **offer** — The agent volunteers to do something (e.g., "I can write the test suite for this component")
77
+ - **observation** — A neutral factual note (e.g., "This is the third time this pattern has been refactored")
78
+
79
+ The `action_offered` field is used with `offer` type nominations. When the human accepts an offer, the agent can proceed to take the offered action.
80
+
81
+ ## Evidence
82
+
83
+ Nominations can include evidence to support their claims. Each `NominationEvidence` item can reference a file, a symbol, a pattern from the agent's notebook, specific line numbers, or a textual description.
84
+
85
+ Evidence transforms a nomination from opinion to argument. "This route needs a gate" is a suggestion. "This route needs a gate — see portal.yaml line 42 where all /api/payments routes require ^payment-authorized, and `#payment-service` has a documented aspect ~pci-compliance-required" is a compelling argument backed by project facts.
86
+
87
+ ## Storage
88
+
89
+ Nominations and debates are stored as JSONL files alongside the event stream:
90
+
91
+ - `.paradigm/events/nominations.jsonl` — All nominations, append-only
92
+ - `.paradigm/events/debates.jsonl` — Detected debates (conflicting/complementary nomination groups)
93
+
94
+ ## Debate Detection
95
+
96
+ When multiple agents nominate on the same event or overlapping symbols, a **debate** may form. Paradigm detects debates by checking for overlapping `triggered_by` event IDs or overlapping symbols across nominations within a time window.
97
+
98
+ A `Debate` has two types:
99
+ - **conflicting** — The nominations disagree (e.g., architect says "use SQL" while builder says "use NoSQL")
100
+ - **complementary** — The nominations agree but add different perspectives (e.g., security says "add gate" and tester says "add test for gate")
101
+
102
+ Debates are surfaced as a group rather than individual nominations, so the human sees the full picture. A debate includes:
103
+ - `topic` — What the debate is about (derived from overlapping symbols/events)
104
+ - `nominations` — IDs of the participating nominations
105
+ - `overlap_symbols` — Symbols that triggered grouping
106
+ - `overlap_events` — Events that triggered grouping
107
+ - `resolution` — How it was resolved (chosen nomination, reason, resolved by human or consensus)
108
+
109
+ ## MCP Tools
110
+
111
+ **`paradigm_ambient_nominations`** — View pending nominations. Supports filtering by agent, urgency, type, and whether nominations have been surfaced. Returns nominations sorted by urgency (critical first) then by relevance score.
112
+
113
+ **`paradigm_ambient_engage`** — Engage with a nomination. Pass the nomination ID and a response (`accepted`, `dismissed`, `deferred`). If accepted, the nomination's `detail` and `evidence` are returned for the agent to act on. If dismissed, the nomination is marked as seen but not acted upon. If deferred, it is re-queued for later surfacing.
114
+
115
+ The engage tool creates a feedback signal — over time, the pattern of accepted vs dismissed nominations helps calibrate attention thresholds. An agent whose nominations are consistently dismissed may need a higher threshold.
@@ -0,0 +1,131 @@
1
+ ---
2
+ id: N-para-701-agent-notebooks
3
+ title: 'Lesson 3: Agent Notebooks'
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-701
11
+ - notebook-entries-contain
12
+ - notebookentry-schema-id
13
+ - global-notebooks-paradigmnotebooks
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 6
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-701.json
21
+ ---
22
+
23
+ ## What Notebooks Are
24
+
25
+ Agent notebooks are curated snippet libraries distilled from experience. Where expertise scores track *how well* an agent knows a symbol, and transferable patterns track *general principles* the agent has learned, notebooks contain *specific, reusable knowledge* — code patterns, configuration snippets, troubleshooting procedures, and domain-specific techniques.
26
+
27
+ A notebook entry for the security agent might contain a specific JWT validation middleware pattern for Express v5. A notebook entry for Mika (designer) might contain a font pairing recommendation with rationale. A notebook entry for Atlas (devops) might contain a zero-downtime migration pattern for Supabase.
28
+
29
+ Notebooks bridge the gap between abstract principles ("always validate JWTs") and concrete implementation ("here is the exact middleware code that handles edge cases in Express v5").
30
+
31
+ ## The NotebookEntry Schema
32
+
33
+ Every notebook entry follows the `NotebookEntry` interface:
34
+
35
+ ```typescript
36
+ interface NotebookEntry {
37
+ id: string; // e.g., "nb-auth-pattern-001"
38
+ context: string; // When to apply this snippet
39
+ snippet: string; // The reusable code/knowledge
40
+ provenance: { // Where this came from
41
+ source: 'lore' | 'manual' | 'transfer';
42
+ loreEntryId?: string; // If promoted from lore
43
+ originProject?: string;
44
+ createdBy?: string;
45
+ };
46
+ appliedCount: number; // Times applied in orchestration
47
+ confidence: number; // 0.0-1.0
48
+ concepts: string[]; // Concept tags for retrieval
49
+ tags: string[]; // Classification tags
50
+ created: string; // ISO date
51
+ updated: string; // ISO date
52
+ }
53
+ ```
54
+
55
+ The `context` field describes *when* to apply the snippet — not what the snippet is, but the situation that calls for it. For example: "When setting up JWT validation middleware in an Express v5 application with async route handlers." This context is what the retrieval system matches against.
56
+
57
+ The `snippet` field contains the actual knowledge — code, configuration, a procedure, or a detailed explanation. It should be directly usable, not abstract guidance.
58
+
59
+ The `provenance` field tracks where the entry came from: `lore` (promoted from a lore entry), `manual` (written directly by a human or agent), or `transfer` (copied from another agent's notebook). This matters for trust: a lore-promoted entry with a link to the original session has higher credibility than a manually created one.
60
+
61
+ The `appliedCount` tracks how often this entry has been used in orchestration. Entries are sorted by `appliedCount` descending — frequently-applied entries surface first.
62
+
63
+ ## Storage: Global vs Project
64
+
65
+ Notebooks live in two locations:
66
+
67
+ **Global notebooks** at `~/.paradigm/notebooks/{agent-id}/` travel with the agent across all projects. An entry about JWT validation patterns is useful regardless of which project the security agent joins. Global notebooks are stored in the user's home directory (ring 2), so they persist even if a project is deleted.
68
+
69
+ **Project notebooks** at `.paradigm/notebooks/{agent-id}/` contain knowledge specific to one project. An entry about the specific authentication architecture of project X should not bleed into project Y. Project notebooks are committed to the repository so they are shared with the team.
70
+
71
+ When loading entries, the system reads global first, then project. If the same entry ID exists in both locations, the **project version wins** (override pattern). This allows a project to customize an agent's global knowledge for its specific needs.
72
+
73
+ Each entry is stored as an individual YAML file named `nb-{concept}.yaml` (or more precisely, `{entry-id}.yaml`). The `nb-` prefix and `.yaml` extension are enforced by the `NOTEBOOK_PREFIX` and `NOTEBOOK_EXT` constants in the notebook loader.
74
+
75
+ ## Bootstrapping: Canonical Sources vs Learning Loop
76
+
77
+ Notebook entries come from two pipelines:
78
+
79
+ **Canonical bootstrapping** — When an agent is first created, Loid (forge) or a human seeds its notebook with foundational entries. The security agent might be bootstrapped with entries for OWASP Top 10 patterns, JWT best practices, and RLS policy templates. This gives the agent useful knowledge on day one without needing to learn from experience.
80
+
81
+ **Learning loop promotion** — Over time, journal entries and lore entries that prove valuable are promoted into notebook entries. The `promoteFromLore()` function takes a lore entry ID, extracts the symbols and content, and creates a notebook entry with `provenance.source: 'lore'` and a link to the original entry. Sensei (trainer) drives this promotion — reviewing agent performance, identifying high-value learnings, and curating them into notebook entries.
82
+
83
+ The learning loop pipeline is more valuable over time because it captures *project-specific* and *team-specific* patterns that canonical sources cannot predict. A canonical JWT entry is generic. A learning-loop entry that captures "In this project, JWT refresh tokens use the sliding window pattern with 15-minute windows because the mobile app has intermittent connectivity" is specific and actionable.
84
+
85
+ ## How buildProfileEnrichment() Uses Notebooks
86
+
87
+ During orchestration, `buildProfileEnrichment()` accepts an optional array of notebook entries. The orchestrator matches entries by concept against the task's relevant symbols and injects the **top 5 entries by concept match** into the agent's prompt:
88
+
89
+ ```typescript
90
+ function buildProfileEnrichment(
91
+ profile: AgentProfile,
92
+ relevantSymbols: string[],
93
+ notebookEntries?: Array<{ context: string; snippet: string; concepts: string[] }>,
94
+ // ...
95
+ ): string {
96
+ // ...
97
+ if (notebookEntries && notebookEntries.length > 0) {
98
+ parts.push('## Relevant Notebook Entries');
99
+ for (const nb of notebookEntries.slice(0, 5)) {
100
+ parts.push(`### ${nb.context}`);
101
+ parts.push(`Concepts: ${nb.concepts.join(', ')}`);
102
+ parts.push('```');
103
+ const snippet = nb.snippet.length > 300
104
+ ? nb.snippet.slice(0, 300) + '...' : nb.snippet;
105
+ parts.push(snippet);
106
+ parts.push('```');
107
+ }
108
+ }
109
+ }
110
+ ```
111
+
112
+ Notice the `slice(0, 5)` — only the top 5 entries are injected. This is a deliberate budget constraint. Notebook entries consume prompt tokens. Injecting 50 entries would blow the context budget. The top 5 are selected by relevance (concept match) and sorted by `appliedCount` (most-used first).
113
+
114
+ Snippets longer than 300 characters are truncated with `...`. This prevents a single large entry from consuming the entire notebook budget. If an entry's full snippet is needed, the agent can use `paradigm_notebook_search` to retrieve it.
115
+
116
+ ## 10 High-Signal Entries > 100 Low-Signal Ones
117
+
118
+ The quality bar for notebook entries matters enormously. Consider the token economics: each entry consumes ~100-300 tokens in the prompt. Five entries consume ~500-1,500 tokens. If those entries are high-signal (directly relevant, battle-tested, frequently applied), they provide immense value — the agent starts the task with proven patterns instead of reinventing them.
119
+
120
+ If those entries are low-signal (vague, generic, rarely applied), they waste 500-1,500 tokens on noise that might actually mislead the agent. Worse, low-quality entries can actively degrade performance by injecting irrelevant patterns that the LLM tries to apply inappropriately.
121
+
122
+ The `appliedCount` sorting is the primary quality signal. An entry that has been applied 15 times across 8 sessions is empirically useful. An entry that was created once and never applied is speculative. The `confidence` score provides a secondary signal, especially for new entries that have not yet accumulated an applied count.
123
+
124
+ Sensei's role as curator is critical: reviewing entries, pruning low-value ones, merging duplicates, and updating stale patterns. A well-maintained notebook with 10 entries is vastly more valuable than an unmaintained one with 100.
125
+
126
+ ## MCP Tools for Notebooks
127
+
128
+ - `paradigm_notebook_add` — Add a new entry. Requires `agentId`, `context`, `snippet`, `concepts`, and `scope` (global or project).
129
+ - `paradigm_notebook_search` — Search entries by query string across context, snippet, and concepts.
130
+ - `paradigm_notebook_list` — List all entries for an agent, optionally filtered by concepts or tags.
131
+ - `paradigm_notebook_promote` — Promote a lore entry into a notebook entry via `promoteFromLore()`.
@@ -0,0 +1,182 @@
1
+ ---
2
+ id: N-para-701-agent-pods-nevrland
3
+ title: 'Lesson 10: Agent Pods & nevr.land'
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-701
11
+ - pods-are-named
12
+ - pods-are-registry
13
+ - nevrland-marketplace-enables
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 7
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-701.json
21
+ ---
22
+
23
+ ## The Pod Concept
24
+
25
+ A pod is a named team preset — a curated group of agents optimized for a specific workflow. Instead of manually activating 8-15 agents for a common scenario, you activate a pod and get a pre-configured team.
26
+
27
+ Pods are metadata about team composition, not modifications to agent behavior. Activating a pod adds agents to the roster; it does not change their personalities, expertise, or attention patterns. The agents in a "Ship Pod" are the same agents as when activated individually — the pod just saves the activation step.
28
+
29
+ ## Named Pods
30
+
31
+ Several standard pods cover common workflows:
32
+
33
+ **Ship Pod** — The core shipping team. Architect, builder, reviewer, tester, security, documentor. This is the minimum viable team for implementing and shipping a feature with quality gates.
34
+
35
+ **Launch Pod** — Everything needed for a product launch. Ship Pod + designer (Mika), copywriter (Wren), seo (Beacon), performance (Bolt), e2e (Ghost). Covers UI, content, search visibility, performance testing, and end-to-end verification.
36
+
37
+ **Growth Pod** — Business intelligence and growth team. Researcher (Scout), analyst (Sage), seo (Beacon), content-intel (Lens), product (North), pm (Yuki). Focused on market research, analytics, content strategy, and product direction.
38
+
39
+ **Design Pod** — The visual and UX team. Designer (Mika), copywriter (Wren), a11y (Aria), creative (Prism), presenter (Stage). Covers UI design, copy, accessibility, creative direction, and presentation.
40
+
41
+ **Infra Pod** — The platform team. Devops (Atlas), dba (Vault), sysadmin (Root), network (Wire), release (Ship), performance (Bolt). Focused on deployment, database, infrastructure, and reliability.
42
+
43
+ **Quality Pod** — The quality assurance team. Reviewer, tester, e2e (Ghost), qa (Shield), advocate (Jinx), debugger (Trace), performance (Bolt). Covers code review, unit tests, end-to-end tests, test strategy, adversarial testing, debugging, and performance.
44
+
45
+ Activating a pod via CLI:
46
+
47
+ ```bash
48
+ # Activate all agents in the Ship Pod
49
+ paradigm agents activate --pod ship-pod
50
+
51
+ # Activate Design Pod on top of existing roster
52
+ paradigm agents activate --pod design-pod
53
+
54
+ # Multiple pods
55
+ paradigm agents activate --pod ship-pod --pod infra-pod
56
+ ```
57
+
58
+ Pods are additive — activating a pod adds its agents to the roster without removing existing ones. Activating Ship Pod and then Design Pod results in a roster containing both teams.
59
+
60
+ ## Pods Are Registry Metadata, Not Agent Behavior
61
+
62
+ This distinction is critical. A pod definition is:
63
+
64
+ ```yaml
65
+ id: ship-pod
66
+ name: Ship Pod
67
+ description: Core shipping team for implementing and delivering features
68
+ agents:
69
+ - architect
70
+ - builder
71
+ - reviewer
72
+ - tester
73
+ - security
74
+ - documentor
75
+ ```
76
+
77
+ It is a list of agent IDs. There is no behavioral modification, no special collaboration mode, no pod-specific prompts. The agents in the Ship Pod behave exactly as they do when activated individually. The pod is a convenience for roster management.
78
+
79
+ This keeps the agent system simple. Agent behavior is defined in `.agent` files. Team composition is defined in `roster.yaml`. Pods are shortcuts for populating the roster. There is one system for behavior (profiles), one for composition (rosters), and one for convenience (pods). They do not overlap.
80
+
81
+ ## The nevr.land Marketplace
82
+
83
+ While Paradigm ships 54 agents locally, the agent ecosystem is open. nevr.land (nevr.land) is the marketplace where agents can be published, discovered, and installed — like npm for AI agents.
84
+
85
+ ### Installing Agents
86
+
87
+ ```bash
88
+ # Install a community agent
89
+ paradigm agents install @paradigm/designer
90
+
91
+ # Install from a specific publisher
92
+ paradigm agents install @acme/compliance-auditor
93
+
94
+ # Install and activate in one step
95
+ paradigm agents install @paradigm/designer --activate
96
+ ```
97
+
98
+ Installed agents are placed in `~/.paradigm/agents/` alongside the built-in agents. They follow the same `.agent` schema and participate in orchestration, attention scoring, and the learning loop identically to built-in agents.
99
+
100
+ ### Trust Levels
101
+
102
+ Not all agents are equal. The marketplace uses three trust levels:
103
+
104
+ | Trust Level | Meaning | Verification |
105
+ |---|---|---|
106
+ | **verified** | Published by the Paradigm team or a verified organization | Publisher identity confirmed, agent reviewed for quality and safety |
107
+ | **community** | Published by a community member | Publisher identity confirmed, agent not reviewed |
108
+ | **private** | Published to a private registry | Only accessible to the publisher's organization |
109
+
110
+ Trust levels affect installation warnings and default permissions. A `verified` agent installs silently. A `community` agent shows a warning with the publisher's identity and a link to the source. A `private` agent requires authentication to the publisher's registry.
111
+
112
+ Trust does NOT affect agent capabilities. A community agent can do everything a verified agent can do. Trust is about provenance ("who made this?"), not permissions.
113
+
114
+ ### Agent Package Format
115
+
116
+ A published agent package contains three files:
117
+
118
+ ```
119
+ @paradigm/designer/
120
+ agent.yaml # The .agent profile (same schema as local agents)
121
+ notebooks/ # Bootstrapping notebook entries
122
+ nb-design-system-001.yaml
123
+ nb-typography-002.yaml
124
+ nb-color-theory-003.yaml
125
+ metadata.yaml # Registry metadata
126
+ ```
127
+
128
+ **agent.yaml** is the standard `.agent` file: id, nickname, role, personality, collaboration, expertise, attention, behaviors, transferable patterns. It follows the exact same schema used for local agents.
129
+
130
+ **notebooks/** contains bootstrapping entries that give the agent useful knowledge on day one. A designer agent might ship with entries for typography scales, color theory, layout patterns, and accessibility guidelines. These are installed into `~/.paradigm/notebooks/{agent-id}/` as global entries.
131
+
132
+ **metadata.yaml** contains registry-specific fields:
133
+
134
+ ```yaml
135
+ name: "@paradigm/designer"
136
+ version: "1.2.0"
137
+ description: "Design engineer with deep knowledge of UI/UX theory"
138
+ author: "Paradigm Team"
139
+ license: "MIT"
140
+ trust: verified
141
+ tags: [design, ui, ux, accessibility, typography]
142
+ compatibility:
143
+ paradigm: ">=5.0.0"
144
+ tiers: [tier-1, tier-2] # Works with reasoning and balanced models
145
+ downloads: 12847
146
+ rating: 4.8
147
+ ```
148
+
149
+ The `compatibility` field specifies which Paradigm version and model tiers the agent works with. An agent designed for tier-1 reasoning models may produce poor results on tier-3 fast models. The marketplace surfaces this information during installation.
150
+
151
+ ### Publishing
152
+
153
+ Publishing an agent reverses the installation flow:
154
+
155
+ ```bash
156
+ # Package and publish
157
+ paradigm agents publish ~/.paradigm/agents/custom-agent.agent \
158
+ --notebooks ~/.paradigm/notebooks/custom-agent/ \
159
+ --trust community
160
+ ```
161
+
162
+ The publish command validates the agent schema, packages the agent file and notebooks, and uploads to the nevr.land registry. Private publishing requires an organization token.
163
+
164
+ ## The Ecosystem Vision
165
+
166
+ The progression from local to global follows a natural path:
167
+
168
+ 1. **Built-in agents** — Paradigm ships 54 agents covering standard development workflows.
169
+ 2. **Custom local agents** — Loid (forge) designs project-specific agents stored in `~/.paradigm/agents/`.
170
+ 3. **Team-shared agents** — Agent files in `.paradigm/agents/` (project-level) are committed to the repo and shared with the team.
171
+ 4. **Community agents** — Published to nevr.land for anyone to install.
172
+ 5. **Verified agents** — Reviewed and endorsed by the Paradigm team for quality and safety.
173
+
174
+ Each level inherits the same agent system: `.agent` schema, notebooks, expertise tracking, attention patterns, learning loop. A community agent from nevr.land participates in orchestration, builds expertise through verdicts, and accumulates notebook entries exactly like a built-in agent. The only difference is provenance.
175
+
176
+ ## Future: Agent Registries as Infrastructure
177
+
178
+ The nevr.land marketplace is the first implementation of a broader concept: agent registries. Organizations may run private registries for internal agents that should not be published publicly. Multiple registries can be configured in `~/.paradigm/config.yaml`, similar to how npm supports multiple registries.
179
+
180
+ The agent package format (agent.yaml + notebooks/ + metadata.yaml) is intentionally simple to enable this. There is no compilation step, no binary format, no platform dependency. An agent package is human-readable YAML and can be inspected, forked, and modified before installation.
181
+
182
+ This openness is a design principle: agents are knowledge, not code. They should be as shareable, forkable, and composable as npm packages. The trust system provides safety rails without restricting capability.
@@ -0,0 +1,197 @@
1
+ ---
2
+ id: N-para-701-agent-profiles
3
+ title: 'Lesson 2: Agent Profiles Deep Dive'
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-701
11
+ - the-agent-file
12
+ - personality-style-risk
13
+ - collaboration-graph-defines
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 7
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-701.json
21
+ ---
22
+
23
+ ## The .agent File
24
+
25
+ Every agent's identity lives in a `.agent` file stored at `~/.paradigm/agents/{id}.agent`. This is a YAML file that defines who the agent is: not just what it does, but how it thinks, who it works with, what it watches, and what it has learned. The `.agent` file is the complete specification of an agent's identity.
26
+
27
+ ## Core Identity Fields
28
+
29
+ The top-level fields establish the agent's identity:
30
+
31
+ ```yaml
32
+ id: security
33
+ nickname: null # Optional display name (e.g., "Jinx", "Mika")
34
+ role: Security agent
35
+ description: >-
36
+ Security specialist who audits auth flows, reviews gate implementations,
37
+ and hunts for vulnerabilities. He is the Portal/Gates champion.
38
+ version: 1.0.0
39
+ ```
40
+
41
+ `id` is the machine-readable identifier used in rosters, orchestration plans, and file paths. `nickname` is the optional human-friendly name displayed in attributed responses and Symphony threads (e.g., Mika for designer, Atlas for devops). `role` is a short description of the agent's function. `description` is a detailed paragraph that explains the agent's responsibilities, expertise boundaries, and what it does NOT do.
42
+
43
+ The description is critically important because it is injected into the agent's prompt during orchestration. A vague description produces vague behavior. A precise description like "He flags issues but does NOT implement fixes — that's the Builder's job" creates a clear boundary.
44
+
45
+ ## Personality Configuration
46
+
47
+ The `personality` block defines the agent's behavioral parameters:
48
+
49
+ ```yaml
50
+ personality:
51
+ style: methodical # How the agent approaches work
52
+ risk: conservative # Risk tolerance for decisions
53
+ verbosity: detailed # How much output the agent produces
54
+ ```
55
+
56
+ **Style** options include `rapid` (moves fast, starts immediately), `deliberate` (thinks before acting, maps impact first), `methodical` (follows systematic processes), `analytical` (data-driven, evidence-based), `opinionated` (has strong views, will lead), `confrontational` (challenges everything), `patient` (takes time to understand context), `proactive` (anticipates needs, speaks up unprompted), `strategic` (thinks about long-term implications), and `meticulous` (leaves nothing unchecked).
57
+
58
+ **Risk** values are `conservative` (prefers proven approaches, avoids experimentation), `balanced` (will take calculated risks with evidence), `moderate` (open to new approaches when justified), and `aggressive` (pushes boundaries, challenges the status quo).
59
+
60
+ **Verbosity** values are `concise` (minimal output, just the essentials), `precise` (exact and specific, no filler), `detailed` (thorough explanations with context), and `thorough` (comprehensive coverage with examples and rationale).
61
+
62
+ These values are not decorative. During orchestration, `buildProfileEnrichment()` injects them into the agent's prompt as `**Style:** methodical | **Risk:** conservative | **Verbosity:** detailed`. The LLM uses these parameters to calibrate its response style.
63
+
64
+ ## Collaboration Graph
65
+
66
+ The `collaboration` block defines how the agent works with others:
67
+
68
+ ```yaml
69
+ collaboration:
70
+ stance: advisory # Default relationship to other agents
71
+ pairs_well_with:
72
+ - architect: Security validates the architect's auth model and gate design
73
+ - devops: Atlas handles infra hardening, security handles app-layer auth
74
+ - builder: Security reviews builder's auth code before it ships
75
+ with:
76
+ architect:
77
+ stance: peer # Treat as equal, not subordinate
78
+ can_contradict: true # Allowed to disagree with architect
79
+ builder:
80
+ stance: advisory # Give guidance, not orders
81
+ review_output: true # Review what builder produces
82
+ debate:
83
+ will_challenge: true # Will push back on decisions
84
+ evidence_required: true # Requires evidence to challenge
85
+ escalate_to_human: true # Will ask the human to break ties
86
+ onboarding: >-
87
+ When joining a project, security:
88
+ 1. Reads portal.yaml
89
+ 2. Calls paradigm_gates_for_route on key routes
90
+ 3. Checks Sentinel for auth-related events
91
+ 4. Reviews auth middleware implementations
92
+ 5. Identifies unprotected routes
93
+ ```
94
+
95
+ The `stance` field defines the default relationship: `lead` (drives decisions), `advisory` (gives guidance), `support` (executes direction from leads), `peer` (equal footing), `challenger` (pushes back on everything). The `pairs_well_with` array lists productive agent pairings with explanations — these are surfaced during orchestration planning.
96
+
97
+ The `debate` section controls disagreement behavior. Jinx (advocate) has `will_challenge: true` and `evidence_required: false` — she challenges instinctively. The security agent has `evidence_required: true` — it backs challenges with OWASP references and CVE data. The `onboarding` field is a step-by-step procedure the agent follows when it first encounters a project.
98
+
99
+ ## Expertise Tracking
100
+
101
+ The `expertise` array tracks the agent's confidence on specific symbols:
102
+
103
+ ```yaml
104
+ expertise:
105
+ - symbol: '#portal-gates'
106
+ confidence: 0.95 # 0.0-1.0
107
+ sessions: 12 # Times this agent worked on this symbol
108
+ lastTouch: '2026-03-24T11:30:00.000Z'
109
+ - symbol: '#auth-security'
110
+ confidence: 0.95
111
+ sessions: 8
112
+ lastTouch: '2026-03-24T11:30:00.000Z'
113
+ ```
114
+
115
+ Confidence scores are not static. They adjust automatically based on user verdicts in the session work log: `+0.03` for accepted contributions, `-0.02` for dismissed ones, `-0.01` for revised ones. An agent that consistently gets security reviews accepted will see its `#auth-security` confidence rise over time. An agent whose suggestions are frequently dismissed will see confidence drop.
116
+
117
+ The `sessions` count and `lastTouch` timestamp provide recency context. An agent with 50 sessions on `#payment-service` that last touched it yesterday has stronger expertise than one with 2 sessions from three months ago.
118
+
119
+ ## Attention Patterns
120
+
121
+ The `attention` block defines what the agent notices in the event stream:
122
+
123
+ ```yaml
124
+ attention:
125
+ symbols:
126
+ - ^* # All gate symbols
127
+ - '#*-auth'
128
+ - '#*-middleware'
129
+ paths:
130
+ - auth/**
131
+ - middleware/**
132
+ concepts:
133
+ - JWT
134
+ - RBAC
135
+ - injection
136
+ - CSRF
137
+ signals:
138
+ - type: gate-added
139
+ - type: route-created
140
+ threshold: 0.45
141
+ ```
142
+
143
+ Attention patterns were covered in depth in PARA 601. The key point here is that they are part of the agent profile, not a separate system. The agent's identity (who it is) and its attention (what it notices) are defined in the same file.
144
+
145
+ ## Behaviors
146
+
147
+ The `behaviors` block defines named behavior protocols the agent follows:
148
+
149
+ ```yaml
150
+ behaviors:
151
+ portal-gates-mastery: >-
152
+ Security owns the portal.yaml gate model:
153
+ 1. Every route that checks auth MUST have a corresponding ^gate
154
+ 2. Use paradigm_gates_for_route to check gate coverage
155
+ 3. Gates need prizes: [] (v2 requirement)
156
+ sentinel-security-monitoring: >-
157
+ Security uses Sentinel for threat detection:
158
+ - paradigm_sentinel_events to find auth failures
159
+ - paradigm_sentinel_patterns for security patterns
160
+ security-review-checklist: >-
161
+ Before approving auth-related code:
162
+ 1. Check portal.yaml coverage
163
+ 2. Verify JWT validation
164
+ 3. Check for OWASP Top 10 vulnerabilities
165
+ ```
166
+
167
+ Behaviors are injected into the agent's orchestration prompt. They are named so that other agents and humans can reference them ("use the security-review-checklist behavior"). They define step-by-step procedures that make the agent's actions predictable and auditable.
168
+
169
+ ## Transferable Patterns
170
+
171
+ The `transferable` array contains patterns the agent has learned that apply across projects:
172
+
173
+ ```yaml
174
+ transferable:
175
+ - pattern: gate-coverage-check
176
+ description: >-
177
+ Every new route gets paradigm_gates_for_route called on it.
178
+ No exceptions. If it returns no gates and the route modifies data,
179
+ that's a security violation.
180
+ successRate: 1.0
181
+ sessions: 0
182
+ ```
183
+
184
+ Transferable patterns travel with the agent across projects. When the security agent joins a new project, it brings its `gate-coverage-check` pattern regardless of whether the previous project was a SaaS app or a CLI tool. Patterns with `successRate >= 0.7` are included in prompt enrichment; lower success rate patterns are excluded.
185
+
186
+ ## How Profiles Define WHO the Agent Is
187
+
188
+ The `.agent` file is not a configuration file — it is an identity specification. It answers:
189
+
190
+ - **Who am I?** — id, nickname, role, description, personality
191
+ - **What do I know?** — expertise with confidence scores
192
+ - **What do I notice?** — attention patterns and threshold
193
+ - **How do I work with others?** — collaboration stance, pairings, debate rules
194
+ - **How do I behave?** — named behavior protocols
195
+ - **What have I learned?** — transferable patterns
196
+
197
+ When the orchestrator invokes an agent, `buildProfileEnrichment()` assembles all of these fields into a prompt section that makes the LLM behave as that specific agent. The same base model (e.g., Claude Sonnet) becomes the security agent or the designer based entirely on the profile enrichment injected from the `.agent` file.