@a-company/paradigm 5.38.0 → 6.0.2

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 (328) hide show
  1. package/dist/{accept-orchestration-OATWIRHP.js → accept-orchestration-QQISPINV.js} +1 -1
  2. package/dist/add-UOR4INIV.js +8 -0
  3. package/dist/{agent-loader-RIVI6QPP.js → agent-loader-2WJHD46U.js} +1 -1
  4. package/dist/{agent-loader-RJRVO5GQ.js → agent-loader-YKS2PQWO.js} +1 -1
  5. package/dist/{ambient-76YMUA5Q.js → ambient-BE3SQXNN.js} +1 -1
  6. package/dist/{ambient-WTLYUAQM.js → ambient-NVKQCW2A.js} +12 -12
  7. package/dist/{assess-UFPYEJKP.js → assess-63WXHWJV.js} +1 -1
  8. package/dist/{calibration-OLJYB5HN.js → calibration-BDHGYJOK.js} +1 -1
  9. package/dist/{chunk-5QOCKWK5.js → chunk-4PSD5R7N.js} +2 -2
  10. package/dist/{chunk-HOBHJPTL.js → chunk-6SKSV5B2.js} +1 -1
  11. package/dist/{chunk-4L7665QV.js → chunk-FEYOQMZ5.js} +1 -1
  12. package/dist/{chunk-NEJ4ZLCY.js → chunk-GAFKOFAV.js} +1 -1
  13. package/dist/chunk-GRZQIKST.js +2 -0
  14. package/dist/{chunk-RLCH7DXQ.js → chunk-K7X3Z3GL.js} +1 -1
  15. package/dist/{chunk-4VKSEOXZ.js → chunk-LPBCQM5Y.js} +3 -3
  16. package/dist/{chunk-74SGKSRQ.js → chunk-M2HKWR25.js} +1 -1
  17. package/dist/{chunk-BOYQAMGC.js → chunk-M3PPXJU4.js} +1 -1
  18. package/dist/chunk-PHEX6LU4.js +111 -0
  19. package/dist/chunk-Q527BPUF.js +2 -0
  20. package/dist/chunk-R5ECMBIV.js +11 -0
  21. package/dist/{chunk-X3U3IGYT.js → chunk-TBWWFRL5.js} +1 -1
  22. package/dist/{chunk-MQIG6SMF.js → chunk-TNVWGPCE.js} +1 -1
  23. package/dist/chunk-TZDYIPVU.js +521 -0
  24. package/dist/{chunk-3XGNXXCT.js → chunk-UZ5H7K6Q.js} +1 -1
  25. package/dist/chunk-VIG5LSGZ.js +2 -0
  26. package/dist/chunk-VNIX5KBT.js +3 -0
  27. package/dist/{chunk-AGFPVSX5.js → chunk-VXIIVMTM.js} +1 -1
  28. package/dist/{chunk-ORDKEGII.js → chunk-WESTEMIM.js} +1 -1
  29. package/dist/{chunk-DOCDDDTD.js → chunk-YNDPSWOE.js} +5 -5
  30. package/dist/chunk-Z5QW6USC.js +2 -0
  31. package/dist/{compliance-D7GD6ZYC.js → compliance-BNFWQPKM.js} +1 -1
  32. package/dist/config-schema-FLHRVZMI.js +2 -0
  33. package/dist/{context-audit-XRPT3OU2.js → context-audit-JVCA6GSV.js} +1 -1
  34. package/dist/{cursorrules-U5O4G5T4.js → cursorrules-ZXPXPZ3P.js} +1 -1
  35. package/dist/decision-loader-HELL2AMX.js +2 -0
  36. package/dist/{delete-P5VULXR4.js → delete-2C6ALLYY.js} +1 -1
  37. package/dist/{diff-YGHBIJY5.js → diff-MF55KQZH.js} +1 -1
  38. package/dist/{dist-KGRCLBJP-2QAPFYNF.js → dist-GQ42YS5N-4HIJZVBB.js} +10 -10
  39. package/dist/{docs-USDAF26F.js → docs-O37YLLRN.js} +1 -1
  40. package/dist/doctor-IG5XM4C4.js +2 -0
  41. package/dist/{edit-GUU3HBVW.js → edit-P3MDAZLU.js} +1 -1
  42. package/dist/{flow-FVZR3YJ4.js → flow-BGXOVE2V.js} +1 -1
  43. package/dist/index.js +6 -6
  44. package/dist/init-M44SO65G.js +2 -0
  45. package/dist/{init-XYB62Q3X.js → init-V4KSEKPK.js} +1 -1
  46. package/dist/{list-YKIQNKGB.js → list-2XIWUEMA.js} +1 -1
  47. package/dist/list-CFHINXIS.js +12 -0
  48. package/dist/lore-loader-D2ISOASW.js +2 -0
  49. package/dist/lore-loader-PXFKMKAN.js +2 -0
  50. package/dist/mcp.js +4 -4
  51. package/dist/metrics-UESGUHTA.js +2 -0
  52. package/dist/migrate-assessments-YSITX7KM.js +4 -0
  53. package/dist/migrate-decisions-NPLQOEEH.js +6 -0
  54. package/dist/migrate-plsat-EM2ACIQ3.js +6 -0
  55. package/dist/{nomination-engine-EALA5MGI.js → nomination-engine-QPZJH6XO.js} +1 -1
  56. package/dist/{notebook-loader-PXNRBBXD.js → notebook-loader-3J2OFMS3.js} +1 -1
  57. package/dist/{orchestrate-M5PBZBJQ.js → orchestrate-RID7HHHH.js} +1 -1
  58. package/dist/{platform-server-DNAMH4YI.js → platform-server-UD45NTGV.js} +1 -1
  59. package/dist/{portal-check-ZMLVBIGW.js → portal-check-DV2VSJ5E.js} +1 -1
  60. package/dist/portal-compliance-JONQ4SOP.js +2 -0
  61. package/dist/{probe-3FTG6LYO.js → probe-5HAXULAD.js} +1 -1
  62. package/dist/{providers-AWA7WLLM.js → providers-4PXMWA7V.js} +1 -1
  63. package/dist/quiz-WYIZJG5K.js +10 -0
  64. package/dist/{record-YXPB34MY.js → record-N3VNYYKJ.js} +1 -1
  65. package/dist/reindex-FWPD2VGM.js +2 -0
  66. package/dist/{retag-N5XF3KXP.js → retag-72R2OSZV.js} +1 -1
  67. package/dist/{review-77QI6VOC.js → review-2INNWLTW.js} +1 -1
  68. package/dist/{sentinel-HYAZ3CO5.js → sentinel-EFPEX246.js} +1 -1
  69. package/dist/{sentinel-bridge-VR357PKL.js → sentinel-bridge-UR2MKARY.js} +1 -1
  70. package/dist/{serve-U47GULB6.js → serve-MO35XIZE.js} +1 -1
  71. package/dist/serve-OQYUO7CR.js +12 -0
  72. package/dist/{server-4YNUIK4W.js → server-4D77LCST.js} +1 -1
  73. package/dist/server-FGUL2FWQ.js +7 -0
  74. package/dist/session-tracker-KGORN6B5.js +2 -0
  75. package/dist/{session-work-log-PAKXOFGL.js → session-work-log-4IEVE4KK.js} +1 -1
  76. package/dist/{session-work-log-ZP45TREI.js → session-work-log-EE4UIZ33.js} +1 -1
  77. package/dist/{setup-FEWSYS3Y.js → setup-ZSEC72BS.js} +1 -1
  78. package/dist/{shift-PC6C7NUX.js → shift-TVNY2CQF.js} +6 -6
  79. package/dist/{show-PJ5LFLIL.js → show-JH7LJ5MT.js} +1 -1
  80. package/dist/show-WVHAL4VU.js +7 -0
  81. package/dist/{spawn-M5BAV252.js → spawn-UH5RENSE.js} +1 -1
  82. package/dist/status-S7Z5FVIE.js +6 -0
  83. package/dist/{summary-PYTEIJ4U.js → summary-WLI3NF4G.js} +2 -2
  84. package/dist/{sweep-HU74OPVW.js → sweep-7TZFN5NS.js} +1 -1
  85. package/dist/sync-55U6QPIA.js +2 -0
  86. package/dist/{sync-llms-7CAI74QL.js → sync-llms-GF7DDQDI.js} +1 -1
  87. package/dist/{team-PDK64JXI.js → team-MGT66HZQ.js} +1 -1
  88. package/dist/{timeline-K3ZFKJ3R.js → timeline-RK7O2SCM.js} +1 -1
  89. package/dist/tools-QJHAVYI6.js +2 -0
  90. package/dist/university-content/notes/N-para-001-build-something.md +126 -0
  91. package/dist/university-content/notes/N-para-001-meet-the-team.md +85 -0
  92. package/dist/university-content/notes/N-para-001-shift-setup.md +74 -0
  93. package/dist/university-content/notes/N-para-101-component-types.md +99 -0
  94. package/dist/university-content/notes/N-para-101-first-steps.md +134 -0
  95. package/dist/university-content/notes/N-para-101-five-symbols.md +128 -0
  96. package/dist/university-content/notes/N-para-101-paradigm-logger.md +89 -0
  97. package/dist/university-content/notes/N-para-101-portal-yaml.md +112 -0
  98. package/dist/university-content/notes/N-para-101-project-structure.md +143 -0
  99. package/dist/university-content/notes/N-para-101-purpose-files.md +121 -0
  100. package/dist/university-content/notes/N-para-101-tags-and-classification.md +93 -0
  101. package/dist/university-content/notes/N-para-101-welcome.md +51 -0
  102. package/dist/university-content/notes/N-para-201-architecture-review.md +175 -0
  103. package/dist/university-content/notes/N-para-201-aspect-graph.md +79 -0
  104. package/dist/university-content/notes/N-para-201-aspects-and-anchors.md +112 -0
  105. package/dist/university-content/notes/N-para-201-component-patterns.md +138 -0
  106. package/dist/university-content/notes/N-para-201-cross-cutting-concerns.md +145 -0
  107. package/dist/university-content/notes/N-para-201-disciplines.md +187 -0
  108. package/dist/university-content/notes/N-para-201-flows-deep-dive.md +119 -0
  109. package/dist/university-content/notes/N-para-201-gates-deep-dive.md +165 -0
  110. package/dist/university-content/notes/N-para-201-portal-protocol.md +133 -0
  111. package/dist/university-content/notes/N-para-201-signal-patterns.md +159 -0
  112. package/dist/university-content/notes/N-para-201-symbol-naming.md +149 -0
  113. package/dist/university-content/notes/N-para-301-context-management.md +53 -0
  114. package/dist/university-content/notes/N-para-301-decisions.md +99 -0
  115. package/dist/university-content/notes/N-para-301-doctor-and-validation.md +70 -0
  116. package/dist/university-content/notes/N-para-301-enforcement-levels.md +102 -0
  117. package/dist/university-content/notes/N-para-301-fragility-tracking.md +50 -0
  118. package/dist/university-content/notes/N-para-301-history-system.md +42 -0
  119. package/dist/university-content/notes/N-para-301-navigation-system.md +55 -0
  120. package/dist/university-content/notes/N-para-301-operations-review.md +55 -0
  121. package/dist/university-content/notes/N-para-301-paradigm-shift.md +93 -0
  122. package/dist/university-content/notes/N-para-301-protocols.md +113 -0
  123. package/dist/university-content/notes/N-para-301-ripple-analysis.md +53 -0
  124. package/dist/university-content/notes/N-para-301-sentinel-observability.md +87 -0
  125. package/dist/university-content/notes/N-para-301-sync-and-maintenance.md +57 -0
  126. package/dist/university-content/notes/N-para-301-wisdom-system.md +89 -0
  127. package/dist/university-content/notes/N-para-401-agent-identity.md +99 -0
  128. package/dist/university-content/notes/N-para-401-agent-interop.md +87 -0
  129. package/dist/university-content/notes/N-para-401-agent-roles.md +107 -0
  130. package/dist/university-content/notes/N-para-401-commit-conventions.md +82 -0
  131. package/dist/university-content/notes/N-para-401-mastery-review.md +71 -0
  132. package/dist/university-content/notes/N-para-401-mcp-tools-overview.md +102 -0
  133. package/dist/university-content/notes/N-para-401-multi-agent-coordination.md +80 -0
  134. package/dist/university-content/notes/N-para-401-notebooks-permissions.md +66 -0
  135. package/dist/university-content/notes/N-para-401-orchestration-workflow.md +101 -0
  136. package/dist/university-content/notes/N-para-401-pm-governance.md +71 -0
  137. package/dist/university-content/notes/N-para-401-provider-cascade.md +75 -0
  138. package/dist/university-content/notes/N-para-401-quick-check.md +95 -0
  139. package/dist/university-content/notes/N-para-501-advanced-workflows.md +122 -0
  140. package/dist/university-content/notes/N-para-501-aspect-graph-advanced.md +195 -0
  141. package/dist/university-content/notes/N-para-501-aspect-graph-internals.md +97 -0
  142. package/dist/university-content/notes/N-para-501-assessment-loops.md +116 -0
  143. package/dist/university-content/notes/N-para-501-conductor-workspace.md +77 -0
  144. package/dist/university-content/notes/N-para-501-habits-practice.md +164 -0
  145. package/dist/university-content/notes/N-para-501-hook-enforcement.md +100 -0
  146. package/dist/university-content/notes/N-para-501-lore-system.md +155 -0
  147. package/dist/university-content/notes/N-para-501-platform-agent-ui.md +108 -0
  148. package/dist/university-content/notes/N-para-501-review-compliance.md +72 -0
  149. package/dist/university-content/notes/N-para-501-sentinel-deep-dive.md +173 -0
  150. package/dist/university-content/notes/N-para-501-session-intelligence.md +104 -0
  151. package/dist/university-content/notes/N-para-501-symphony-a-mail.md +120 -0
  152. package/dist/university-content/notes/N-para-501-symphony-networking.md +119 -0
  153. package/dist/university-content/notes/N-para-501-task-management.md +100 -0
  154. package/dist/university-content/notes/N-para-601-agent-renaissance.md +121 -0
  155. package/dist/university-content/notes/N-para-601-attention-scoring.md +129 -0
  156. package/dist/university-content/notes/N-para-601-context-composition.md +146 -0
  157. package/dist/university-content/notes/N-para-601-data-sovereignty.md +140 -0
  158. package/dist/university-content/notes/N-para-601-event-stream.md +126 -0
  159. package/dist/university-content/notes/N-para-601-knowledge-streams.md +144 -0
  160. package/dist/university-content/notes/N-para-601-learning-loop.md +68 -0
  161. package/dist/university-content/notes/N-para-601-maestro-team-collab.md +136 -0
  162. package/dist/university-content/notes/N-para-601-nominations-debates.md +115 -0
  163. package/dist/university-content/notes/N-para-701-agent-notebooks.md +131 -0
  164. package/dist/university-content/notes/N-para-701-agent-pods-nevrland.md +182 -0
  165. package/dist/university-content/notes/N-para-701-agent-profiles.md +197 -0
  166. package/dist/university-content/notes/N-para-701-agent-roster.md +82 -0
  167. package/dist/university-content/notes/N-para-701-agent-state.md +180 -0
  168. package/dist/university-content/notes/N-para-701-learning-feedback-loop.md +188 -0
  169. package/dist/university-content/notes/N-para-701-model-tier-resolution.md +204 -0
  170. package/dist/university-content/notes/N-para-701-orchestration-enforcement.md +169 -0
  171. package/dist/university-content/notes/N-para-701-per-project-rosters.md +198 -0
  172. package/dist/university-content/notes/N-para-701-symphony-visibility.md +142 -0
  173. package/dist/university-content/paths/LP-para-001.yaml +29 -0
  174. package/dist/university-content/paths/LP-para-101.yaml +59 -0
  175. package/dist/university-content/paths/LP-para-201.yaml +69 -0
  176. package/dist/university-content/paths/LP-para-301.yaml +84 -0
  177. package/dist/university-content/paths/LP-para-401.yaml +74 -0
  178. package/dist/university-content/paths/LP-para-501.yaml +89 -0
  179. package/dist/university-content/paths/LP-para-601.yaml +59 -0
  180. package/dist/university-content/paths/LP-para-701.yaml +64 -0
  181. package/dist/university-content/quizzes/Q-para-001-build-something.yaml +46 -0
  182. package/dist/university-content/quizzes/Q-para-001-meet-the-team.yaml +46 -0
  183. package/dist/university-content/quizzes/Q-para-001-shift-setup.yaml +46 -0
  184. package/dist/university-content/quizzes/Q-para-101-component-types.yaml +46 -0
  185. package/dist/university-content/quizzes/Q-para-101-first-steps.yaml +56 -0
  186. package/dist/university-content/quizzes/Q-para-101-five-symbols.yaml +66 -0
  187. package/dist/university-content/quizzes/Q-para-101-paradigm-logger.yaml +56 -0
  188. package/dist/university-content/quizzes/Q-para-101-portal-yaml.yaml +56 -0
  189. package/dist/university-content/quizzes/Q-para-101-project-structure.yaml +66 -0
  190. package/dist/university-content/quizzes/Q-para-101-purpose-files.yaml +56 -0
  191. package/dist/university-content/quizzes/Q-para-101-tags-and-classification.yaml +56 -0
  192. package/dist/university-content/quizzes/Q-para-101-welcome.yaml +56 -0
  193. package/dist/university-content/quizzes/Q-para-201-architecture-review.yaml +66 -0
  194. package/dist/university-content/quizzes/Q-para-201-aspect-graph.yaml +46 -0
  195. package/dist/university-content/quizzes/Q-para-201-aspects-and-anchors.yaml +56 -0
  196. package/dist/university-content/quizzes/Q-para-201-component-patterns.yaml +56 -0
  197. package/dist/university-content/quizzes/Q-para-201-cross-cutting-concerns.yaml +56 -0
  198. package/dist/university-content/quizzes/Q-para-201-disciplines.yaml +66 -0
  199. package/dist/university-content/quizzes/Q-para-201-flows-deep-dive.yaml +66 -0
  200. package/dist/university-content/quizzes/Q-para-201-gates-deep-dive.yaml +66 -0
  201. package/dist/university-content/quizzes/Q-para-201-portal-protocol.yaml +56 -0
  202. package/dist/university-content/quizzes/Q-para-201-signal-patterns.yaml +56 -0
  203. package/dist/university-content/quizzes/Q-para-201-symbol-naming.yaml +66 -0
  204. package/dist/university-content/quizzes/Q-para-301-context-management.yaml +56 -0
  205. package/dist/university-content/quizzes/Q-para-301-decisions.yaml +76 -0
  206. package/dist/university-content/quizzes/Q-para-301-doctor-and-validation.yaml +66 -0
  207. package/dist/university-content/quizzes/Q-para-301-enforcement-levels.yaml +46 -0
  208. package/dist/university-content/quizzes/Q-para-301-fragility-tracking.yaml +46 -0
  209. package/dist/university-content/quizzes/Q-para-301-history-system.yaml +56 -0
  210. package/dist/university-content/quizzes/Q-para-301-navigation-system.yaml +56 -0
  211. package/dist/university-content/quizzes/Q-para-301-operations-review.yaml +66 -0
  212. package/dist/university-content/quizzes/Q-para-301-paradigm-shift.yaml +46 -0
  213. package/dist/university-content/quizzes/Q-para-301-protocols.yaml +56 -0
  214. package/dist/university-content/quizzes/Q-para-301-ripple-analysis.yaml +56 -0
  215. package/dist/university-content/quizzes/Q-para-301-sentinel-observability.yaml +46 -0
  216. package/dist/university-content/quizzes/Q-para-301-sync-and-maintenance.yaml +46 -0
  217. package/dist/university-content/quizzes/Q-para-301-wisdom-system.yaml +56 -0
  218. package/dist/university-content/quizzes/Q-para-401-agent-identity.yaml +66 -0
  219. package/dist/university-content/quizzes/Q-para-401-agent-interop.yaml +46 -0
  220. package/dist/university-content/quizzes/Q-para-401-agent-roles.yaml +56 -0
  221. package/dist/university-content/quizzes/Q-para-401-commit-conventions.yaml +56 -0
  222. package/dist/university-content/quizzes/Q-para-401-mastery-review.yaml +66 -0
  223. package/dist/university-content/quizzes/Q-para-401-mcp-tools-overview.yaml +66 -0
  224. package/dist/university-content/quizzes/Q-para-401-multi-agent-coordination.yaml +76 -0
  225. package/dist/university-content/quizzes/Q-para-401-notebooks-permissions.yaml +61 -0
  226. package/dist/university-content/quizzes/Q-para-401-orchestration-workflow.yaml +66 -0
  227. package/dist/university-content/quizzes/Q-para-401-pm-governance.yaml +66 -0
  228. package/dist/university-content/quizzes/Q-para-401-provider-cascade.yaml +56 -0
  229. package/dist/university-content/quizzes/Q-para-401-quick-check.yaml +46 -0
  230. package/dist/university-content/quizzes/Q-para-501-advanced-workflows.yaml +66 -0
  231. package/dist/university-content/quizzes/Q-para-501-aspect-graph-advanced.yaml +66 -0
  232. package/dist/university-content/quizzes/Q-para-501-aspect-graph-internals.yaml +66 -0
  233. package/dist/university-content/quizzes/Q-para-501-assessment-loops.yaml +46 -0
  234. package/dist/university-content/quizzes/Q-para-501-conductor-workspace.yaml +46 -0
  235. package/dist/university-content/quizzes/Q-para-501-habits-practice.yaml +56 -0
  236. package/dist/university-content/quizzes/Q-para-501-hook-enforcement.yaml +66 -0
  237. package/dist/university-content/quizzes/Q-para-501-lore-system.yaml +66 -0
  238. package/dist/university-content/quizzes/Q-para-501-platform-agent-ui.yaml +66 -0
  239. package/dist/university-content/quizzes/Q-para-501-review-compliance.yaml +61 -0
  240. package/dist/university-content/quizzes/Q-para-501-sentinel-deep-dive.yaml +86 -0
  241. package/dist/university-content/quizzes/Q-para-501-session-intelligence.yaml +66 -0
  242. package/dist/university-content/quizzes/Q-para-501-symphony-a-mail.yaml +66 -0
  243. package/dist/university-content/quizzes/Q-para-501-symphony-networking.yaml +66 -0
  244. package/dist/university-content/quizzes/Q-para-501-task-management.yaml +46 -0
  245. package/dist/university-content/quizzes/Q-para-601-agent-renaissance.yaml +66 -0
  246. package/dist/university-content/quizzes/Q-para-601-attention-scoring.yaml +56 -0
  247. package/dist/university-content/quizzes/Q-para-601-context-composition.yaml +66 -0
  248. package/dist/university-content/quizzes/Q-para-601-data-sovereignty.yaml +56 -0
  249. package/dist/university-content/quizzes/Q-para-601-event-stream.yaml +66 -0
  250. package/dist/university-content/quizzes/Q-para-601-knowledge-streams.yaml +66 -0
  251. package/dist/university-content/quizzes/Q-para-601-learning-loop.yaml +56 -0
  252. package/dist/university-content/quizzes/Q-para-601-maestro-team-collab.yaml +86 -0
  253. package/dist/university-content/quizzes/Q-para-601-nominations-debates.yaml +66 -0
  254. package/dist/university-content/quizzes/Q-para-701-agent-notebooks.yaml +66 -0
  255. package/dist/university-content/quizzes/Q-para-701-agent-pods-nevrland.yaml +66 -0
  256. package/dist/university-content/quizzes/Q-para-701-agent-profiles.yaml +66 -0
  257. package/dist/university-content/quizzes/Q-para-701-agent-roster.yaml +66 -0
  258. package/dist/university-content/quizzes/Q-para-701-agent-state.yaml +66 -0
  259. package/dist/university-content/quizzes/Q-para-701-learning-feedback-loop.yaml +66 -0
  260. package/dist/university-content/quizzes/Q-para-701-model-tier-resolution.yaml +66 -0
  261. package/dist/university-content/quizzes/Q-para-701-orchestration-enforcement.yaml +66 -0
  262. package/dist/university-content/quizzes/Q-para-701-per-project-rosters.yaml +66 -0
  263. package/dist/university-content/quizzes/Q-para-701-symphony-visibility.yaml +66 -0
  264. package/dist/university-content/quizzes/Q-plsat-v2.yaml +904 -0
  265. package/dist/university-content/quizzes/Q-plsat-v3.yaml +2909 -0
  266. package/dist/university-content/reference.json +2 -2
  267. package/dist/university-ui/assets/{index-CecQrfSn.js → index-nNgzO1il.js} +2 -2
  268. package/dist/university-ui/assets/{index-CecQrfSn.js.map → index-nNgzO1il.js.map} +1 -1
  269. package/dist/university-ui/index.html +1 -1
  270. package/dist/{upgrade-GX56QE3C.js → upgrade-NKN63VTY.js} +2 -2
  271. package/dist/validate-XUQZTF3H.js +9 -0
  272. package/dist/{watch-YCODNIET.js → watch-25GJHQYT.js} +1 -1
  273. package/lore-ui/dist/assets/{index-Bk-K0qgN.js → index-DKhNxgtW.js} +10 -10
  274. package/lore-ui/dist/index.html +1 -1
  275. package/package.json +2 -2
  276. package/platform-ui/dist/assets/{AmbientSection-BYjt75R1.js → AmbientSection-CwatqcBD.js} +1 -1
  277. package/platform-ui/dist/assets/{CanvasSection-rKvA_vZj.js → CanvasSection-dFAthehN.js} +1 -1
  278. package/platform-ui/dist/assets/{DocsSection-CI9K73M-.js → DocsSection-BZ2SFJBZ.js} +1 -1
  279. package/platform-ui/dist/assets/{GitSection-DSGj_c6S.js → GitSection-MNNYU1tO.js} +1 -1
  280. package/platform-ui/dist/assets/{GraphSection-CawN7pC5.js → GraphSection-COYjb4Pt.js} +1 -1
  281. package/platform-ui/dist/assets/LoreSection-B0hUbfsJ.js +1 -0
  282. package/platform-ui/dist/assets/{SentinelSection-DNgoYMH0.js → SentinelSection-BCxW1DCp.js} +1 -1
  283. package/platform-ui/dist/assets/{SymphonySection-C0zfcqv3.js → SymphonySection-BsucZRqy.js} +1 -1
  284. package/platform-ui/dist/assets/{TeamSection-Bzd3Dt9Q.js → TeamSection-C0QNTudW.js} +1 -1
  285. package/platform-ui/dist/assets/{UniversitySection-tBr62R0S.js → UniversitySection-DN1-g9pw.js} +1 -1
  286. package/platform-ui/dist/assets/{index-BaOmyn11.js → index-DwUT8pju.js} +2 -2
  287. package/platform-ui/dist/index.html +1 -1
  288. package/dist/add-P76GEMGF.js +0 -8
  289. package/dist/chunk-JQKKVAAN.js +0 -2
  290. package/dist/chunk-NQ47TA6C.js +0 -111
  291. package/dist/chunk-ODVKPZZ4.js +0 -2
  292. package/dist/chunk-Q2J542ST.js +0 -2
  293. package/dist/chunk-RBLK34IA.js +0 -11
  294. package/dist/chunk-RN4VE6P3.js +0 -521
  295. package/dist/chunk-WS2N27RX.js +0 -3
  296. package/dist/config-schema-GUQY2QN7.js +0 -2
  297. package/dist/decision-loader-2XPZE4EZ.js +0 -2
  298. package/dist/doctor-WMVULMQD.js +0 -2
  299. package/dist/list-5IUGP3ZB.js +0 -7
  300. package/dist/lore-loader-RVQI5GXL.js +0 -2
  301. package/dist/lore-loader-XY5MZRR2.js +0 -2
  302. package/dist/migrate-assessments-GEI5WMI2.js +0 -4
  303. package/dist/portal-compliance-6YR27IQU.js +0 -2
  304. package/dist/quiz-FE5UGAY2.js +0 -10
  305. package/dist/reindex-I6LPAKCC.js +0 -2
  306. package/dist/serve-OY6XYL7F.js +0 -12
  307. package/dist/server-2MNROHF6.js +0 -7
  308. package/dist/session-tracker-MWJAJA6Z.js +0 -2
  309. package/dist/show-BOAVWZPZ.js +0 -7
  310. package/dist/status-A37ECYNJ.js +0 -6
  311. package/dist/sync-DLUBV5HQ.js +0 -2
  312. package/dist/tools-5ITPEPSV.js +0 -2
  313. package/dist/university-content/courses/.purpose +0 -492
  314. package/dist/university-content/courses/para-001.json +0 -166
  315. package/dist/university-content/courses/para-101.json +0 -615
  316. package/dist/university-content/courses/para-201.json +0 -794
  317. package/dist/university-content/courses/para-301.json +0 -830
  318. package/dist/university-content/courses/para-401.json +0 -868
  319. package/dist/university-content/courses/para-501.json +0 -1166
  320. package/dist/university-content/courses/para-601.json +0 -719
  321. package/dist/university-content/courses/para-701.json +0 -807
  322. package/dist/university-content/plsat/.purpose +0 -162
  323. package/dist/university-content/plsat/v2.0.json +0 -760
  324. package/dist/university-content/plsat/v3.0.json +0 -3453
  325. package/dist/validate-C6SMKGYD.js +0 -9
  326. package/platform-ui/dist/assets/LoreSection-oO5dCe6O.js +0 -1
  327. /package/dist/{chunk-BV5PRPLB.js → chunk-IZSBGW6E.js} +0 -0
  328. /package/templates/paradigm/specs/{scan.md → probe.md} +0 -0
@@ -0,0 +1,55 @@
1
+ ---
2
+ id: N-para-301-operations-review
3
+ title: Operational Excellence
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-301
11
+ - the-operational-loop
12
+ - combining-tools-for
13
+ - metadata-maintenance-as
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 3
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-301.json
21
+ ---
22
+
23
+ ## Operational Excellence
24
+
25
+ This lesson brings together everything from PARA 301 into a cohesive daily workflow. Operational excellence in Paradigm is not about memorizing individual tools -- it is about building habits that keep your project healthy, your metadata accurate, and your development sessions productive.
26
+
27
+ ### The Operational Loop
28
+
29
+ Every development session follows a predictable pattern:
30
+
31
+ **1. Orient** -- Start by calling `paradigm_status` to see the project overview: how many symbols are defined, recent changes, any outstanding issues. If this is a continuation session, call `paradigm_session_recover` to load context from the previous session.
32
+
33
+ **2. Discover** -- Before touching code, check for existing protocols: call `paradigm_protocol_search` with your task description. If a match exists, follow its steps and skip exploration. Otherwise, call `paradigm_wisdom_context` with the symbols you plan to modify to learn team conventions and avoid known pitfalls. Use `paradigm_navigate` with the "context" intent to find all relevant files for your task.
34
+
35
+ **3. Assess Risk** -- Run `paradigm_ripple` on every symbol you plan to modify to understand the blast radius. Check `paradigm_history_fragility` on anything flagged as a dependency. If the task is complex (3+ files, security + implementation), call `paradigm_orchestrate_inline` with mode="plan" to get the right agent team.
36
+
37
+ **4. Implement** -- Write code, updating `.purpose` files as you go. If you add routes, update `portal.yaml`. If you add signals, register them. Do not defer metadata updates to "later" -- later never comes.
38
+
39
+ **5. Validate** -- Run `paradigm doctor` or `paradigm_purpose_validate` to catch any drift. Use `paradigm_flow_check` if you modified flows. Record the implementation with `paradigm_history_record`.
40
+
41
+ **6. Capture Knowledge** -- Did you discover an antipattern? Record it with `paradigm_wisdom_record`. Did you make an architectural decision? Record it with `paradigm_decision_record` (which auto-writes a companion lore `insight` for timeline coverage). Did the implementation follow a repeatable pattern? Record a protocol with `paradigm_protocol_record`. Did the implementation reveal a fragile area? Note it for the team.
42
+
43
+ **7. Monitor Context** -- Check `paradigm_session_health` periodically. If approaching limits, prepare a handoff.
44
+
45
+ ### Common Pitfalls
46
+
47
+ - **Skipping wisdom checks**: Leads to repeating mistakes the team already knows about
48
+ - **Skipping ripple analysis**: Leads to breaking downstream dependencies
49
+ - **Deferring metadata updates**: Leads to stale `.purpose` files and misleading navigation
50
+ - **Ignoring fragility warnings**: Leads to cascading failures in unstable areas
51
+ - **Not recording history**: Loses the trail that fragility analysis depends on
52
+
53
+ ### The Measure of Excellence
54
+
55
+ A well-operated Paradigm project has: accurate `.purpose` files that match the code, a `portal.yaml` that reflects all protected routes, wisdom entries that prevent repeated mistakes, history records that enable fragility analysis, and context handoffs that allow seamless multi-session work. When all of these are in place, every AI agent session starts with full context and every change is informed by the project's complete institutional knowledge.
@@ -0,0 +1,93 @@
1
+ ---
2
+ id: N-para-301-paradigm-shift
3
+ title: The paradigm shift Command
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-301
11
+ - paradigm-shift-is
12
+ - six-steps-init
13
+ - non-interactive-by-default
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 3
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-301.json
21
+ ---
22
+
23
+ ## One Command, Full Setup
24
+
25
+ `paradigm shift` is the universal onboarding command. It transforms any project directory into a Paradigm-aware workspace in a single run. Whether you are starting a new project or adopting Paradigm in an existing codebase, this is where you begin.
26
+
27
+ ```bash
28
+ paradigm shift
29
+ ```
30
+
31
+ ## What It Does (6 Steps)
32
+
33
+ The command runs six steps in sequence:
34
+
35
+ ### Step 1: Initialize
36
+ Creates the `.paradigm/` directory with `config.yaml`, `tags.yaml`, and starter files. If the directory already exists, it updates configuration without overwriting your customizations.
37
+
38
+ ### Step 2: Auto-Migrate
39
+ Detects if your project uses an older Paradigm version and applies breaking-change migrations automatically. This keeps projects up to date without manual migration effort.
40
+
41
+ ### Step 3: Scan & Index
42
+ Discovers all symbols in your codebase by reading `.purpose` files and `portal.yaml`. Builds the navigator index for fast symbol lookup. Skip this step with `--quick` for faster initialization.
43
+
44
+ ### Step 4: Sync IDEs
45
+ Generates instruction files for your AI tools:
46
+ - `CLAUDE.md` — Claude Code instructions
47
+ - `AGENTS.md` — Universal agent instructions
48
+ - `.cursor/rules/` — Cursor IDE rules
49
+
50
+ These files are regenerated from your Paradigm configuration every time you run shift or sync.
51
+
52
+ ### Step 5: Install Hooks
53
+ Sets up Git hooks (pre-commit, post-commit) and Claude Code/Cursor hooks for automated enforcement. The hooks run compliance checks based on your enforcement level.
54
+
55
+ ### Step 6: Roster & Model Tiers
56
+ Suggests an agent roster based on your detected project type (web, backend, mobile, etc.) and configures model tiers (tier-1/tier-2/tier-3) based on your environment.
57
+
58
+ ## Key Flags
59
+
60
+ | Flag | Effect |
61
+ |------|--------|
62
+ | `--quick` | Skip symbol scanning (fast init) |
63
+ | `--verify` | Run `paradigm doctor` health checks at the end |
64
+ | `--workspace <name>` | Create or join a multi-project workspace |
65
+ | `--force` | Reinitialize (overwrite existing config) |
66
+
67
+ ## When to Re-Run
68
+
69
+ Run `paradigm shift` again when:
70
+ - You upgrade Paradigm to a new version (auto-migrates)
71
+ - You want to refresh IDE instruction files after config changes
72
+ - You add the project to a workspace
73
+ - After major restructuring that changes project type
74
+
75
+ The command is idempotent — running it multiple times is safe. It updates what changed and leaves the rest alone.
76
+
77
+ ## What Comes Out
78
+
79
+ After `paradigm shift`, your project has:
80
+
81
+ ```
82
+ .paradigm/
83
+ config.yaml # Project configuration
84
+ tags.yaml # Tag taxonomy
85
+ roster.yaml # Agent team roster
86
+ agents.yaml # Agent tier assignments
87
+ CLAUDE.md # Claude Code instructions
88
+ AGENTS.md # Universal agent instructions
89
+ .purpose # Root purpose file (if new project)
90
+ portal.yaml # Auth topology (if gates detected)
91
+ ```
92
+
93
+ Plus Git hooks and IDE-specific instruction files, all derived from your Paradigm configuration.
@@ -0,0 +1,113 @@
1
+ ---
2
+ id: N-para-301-protocols
3
+ title: Protocols — Repeatable Patterns
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-301
11
+ - protocols-as-repeatable
12
+ - paradigmprotocolsearch--find
13
+ - paradigmprotocolrecord--capture
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 4
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-301.json
21
+ ---
22
+
23
+ ## Protocols — Repeatable Patterns
24
+
25
+ AI agents routinely spend tens of thousands of tokens exploring codebases to reverse-engineer implementation patterns before they can start working. In a well-structured project, the answer to "how do I add a new view?" is the same every time: create a component file, create a store, register a route, add CSS. But this knowledge lives nowhere explicit, so every agent re-discovers it from scratch.
26
+
27
+ Protocols solve this problem. They are procedural, step-by-step instructions with exact file references, learned from actual completed work. When an agent receives a task like "add a Settings page," it first calls `paradigm_protocol_search` with the task description. If a matching protocol exists, the agent gets back ordered steps, an exemplar file to study, and freshness information -- all within a few hundred tokens instead of exploring for thousands.
28
+
29
+ ### Storage and Format
30
+
31
+ Protocols are stored as `.protocol` files (YAML syntax, semantic extension) in `.paradigm/protocols/`. Each protocol has an ID, a name, a description, trigger phrases for fuzzy matching, tags for classification, an exemplar file (the canonical example to follow), and an ordered list of steps.
32
+
33
+ ```
34
+ .paradigm/protocols/
35
+ index.yaml # Auto-generated by reindex
36
+ add-view.protocol # One file per protocol
37
+ add-api-route.protocol
38
+ ```
39
+
40
+ ### Step Types
41
+
42
+ Protocol steps use four action types:
43
+
44
+ - **create** -- Create a new file. Specifies `target` (the file to create, with placeholders) and `template_from` (an existing file to follow as a model).
45
+ - **modify** -- Edit an existing file. Specifies `target`, `reference` (where in the file to make changes), and `notes` explaining what to add.
46
+ - **run** -- Execute a command. Specifies `command` and `notes`.
47
+ - **verify** -- Confirm something works. Specifies `notes` with what to check.
48
+
49
+ Steps support placeholders: `{Name}` for PascalCase and `{name}` for kebab-case. When following the protocol, the agent substitutes the actual name.
50
+
51
+ ### Searching for Protocols
52
+
53
+ The primary entry point is `paradigm_protocol_search`. Pass a natural language task description and it returns matching protocols ranked by relevance.
54
+
55
+ ```
56
+ paradigm_protocol_search({ task: "add a new settings page" })
57
+ ```
58
+
59
+ The search uses weighted fuzzy matching: trigger phrases (weight 3), tags (weight 2), name and description (weight 1), and step notes (weight 0.5). The protocol set per project is small (5-30 entries), so a full scan is efficient.
60
+
61
+ To get full details for a specific protocol, use `paradigm_protocol_get`:
62
+
63
+ ```
64
+ paradigm_protocol_get({ id: "P-add-view" })
65
+ ```
66
+
67
+ ### Recording Protocols
68
+
69
+ Protocols are captured *after* completing work, not before. Two paths lead to a new protocol:
70
+
71
+ 1. **Agent-initiated** -- After implementing a repeatable task, the agent calls `paradigm_protocol_record` with the steps it followed:
72
+
73
+ ```
74
+ paradigm_protocol_record({
75
+ name: "Add a new view",
76
+ description: "Create a new page with store, route, and CSS",
77
+ trigger: ["add view", "new page", "create view"],
78
+ tags: ["ui", "frontend"],
79
+ exemplar: "ui/src/views/LogsView.tsx",
80
+ steps: [
81
+ { action: "create", target: "ui/src/views/{Name}View.tsx", template_from: "ui/src/views/LogsView.tsx" },
82
+ { action: "modify", target: "ui/src/App.tsx", reference: "Route elements", notes: "Add Route" },
83
+ { action: "verify", notes: "Run build, check route loads" }
84
+ ],
85
+ recorded_from: "L-2026-03-01-001"
86
+ })
87
+ ```
88
+
89
+ 2. **Lore-prompted** -- When `paradigm_lore_record` is called, the response includes a `protocol_suggestion` if the session created new files following existing patterns. This nudges agents to capture repeatable work without manual intervention.
90
+
91
+ ### Freshness and Maintenance
92
+
93
+ Protocols go stale as code evolves. Three mechanisms keep them fresh:
94
+
95
+ - **Reindex validation** -- During `paradigm_reindex`, all protocol references are checked. Missing files mark the protocol as `broken`. An exemplar modified since `last_verified` marks it `stale`. All references valid means `current`.
96
+ - **On-use refresh** -- After successfully following a protocol, the agent calls `paradigm_protocol_update` with `refresh: true` to bump `last_verified` and fix outdated references.
97
+ - **Status visibility** -- `paradigm_status` includes protocol health (X current, Y stale, Z broken). Stale protocols surface naturally during normal workflow.
98
+
99
+ You can also explicitly validate protocols:
100
+
101
+ ```
102
+ paradigm_protocol_validate({ id: "P-add-view" })
103
+ ```
104
+
105
+ ### The Workflow
106
+
107
+ The protocol workflow integrates into the Paradigm operational loop:
108
+
109
+ 1. **Before implementing**: Call `paradigm_protocol_search` with your task description. If a match exists, follow the steps -- skip codebase exploration.
110
+ 2. **During implementation**: Use the protocol's exemplar as a reference. Follow each step in order.
111
+ 3. **After completion**: If no protocol existed and the work was repeatable, record one. If a protocol existed and you followed it successfully, call `paradigm_protocol_update` to refresh its timestamp.
112
+
113
+ This creates a virtuous cycle: each agent session that follows a protocol validates it, and each session that does repeatable work without a protocol can create one for future agents.
@@ -0,0 +1,53 @@
1
+ ---
2
+ id: N-para-301-ripple-analysis
3
+ title: Ripple Analysis
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-301
11
+ - paradigmripple
12
+ - direct-and-indirect
13
+ - depth-parameter-1-5
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 2
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-301.json
21
+ ---
22
+
23
+ ## Ripple Analysis
24
+
25
+ When you change a symbol, the effects can ripple outward through the codebase like a stone dropped in water. A modification to `#payment-service` might affect `$checkout-flow`, which depends on it. That flow might be used by `#checkout-form`, which is consumed by `#order-page`. Ripple analysis maps these dependency chains before you make changes, so you can understand the full blast radius of your modification.
26
+
27
+ The tool `paradigm_ripple` takes a symbol and an optional depth parameter (1-5, default 2) and returns everything that depends on it, both directly and indirectly. This is not just a list of imports -- it is a semantic dependency graph built from Paradigm's symbol relationships: which components reference this symbol, which flows include it as a step, which gates protect endpoints that use it, and which signals it emits that other components listen to.
28
+
29
+ ```
30
+ paradigm_ripple({
31
+ symbol: "#payment-service",
32
+ depth: 3
33
+ })
34
+
35
+ // Returns:
36
+ // Direct dependents (depth 1):
37
+ // $checkout-flow - uses #payment-service in step 3
38
+ // #refund-handler - calls #payment-service.refund()
39
+ // !payment-completed - emitted by #payment-service
40
+ //
41
+ // Indirect dependents (depth 2):
42
+ // #checkout-form - triggers $checkout-flow
43
+ // #order-history - listens to !payment-completed
44
+ //
45
+ // Indirect dependents (depth 3):
46
+ // #account-dashboard - renders #order-history
47
+ ```
48
+
49
+ Ripple analysis is **essential before any refactor**. The most common cause of unintended breakage is not understanding the full dependency tree. A developer renames a method on `#payment-service` thinking only `$checkout-flow` uses it, not realizing that `#refund-handler` also calls that method. Ripple analysis catches this.
50
+
51
+ The depth parameter controls how far out to look. Depth 1 shows only direct dependents. Depth 2 (the default) shows dependents of dependents. For large refactors, depth 3 or higher may be warranted. Keep in mind that higher depth values return more results and cost more tokens, so start at the default and increase only if needed.
52
+
53
+ A good practice is to run ripple analysis, review the affected symbols, then check the fragility of any flagged dependents before proceeding. If your modification would ripple into a fragile area, you may want to add extra safeguards or break the change into smaller increments. The combination of ripple analysis and fragility checking forms the core of Paradigm's change safety net.
@@ -0,0 +1,87 @@
1
+ ---
2
+ id: N-para-301-sentinel-observability
3
+ title: Sentinel & Observability
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-301
11
+ - incidents-map-errors
12
+ - failure-pattern-matching
13
+ - paradigmsentineltriage-for-filtering
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 3
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-301.json
21
+ ---
22
+
23
+ ## Sentinel & Observability
24
+
25
+ Paradigm Sentinel is the error tracking and observability system that maps runtime errors back to Paradigm symbols. When something breaks in production, Sentinel does not just show you a stack trace -- it tells you which `#component` failed, which `$flow` was interrupted, which `^gate` was involved, and whether there is a known failure pattern that matches.
26
+
27
+ Incidents are the core unit of Sentinel. Each incident records the error message, stack trace, environment, affected symbols, and the flow position (where in a multi-step flow the failure occurred). Incidents can be created automatically by instrumented code or manually via `paradigm_sentinel_record`.
28
+
29
+ ```
30
+ paradigm_sentinel_record({
31
+ error: {
32
+ message: "Stripe API returned 429: rate limited",
33
+ type: "RateLimitError",
34
+ code: "STRIPE_429"
35
+ },
36
+ symbols: {
37
+ component: "#payment-service",
38
+ flow: "$checkout-flow",
39
+ gate: "^authenticated"
40
+ },
41
+ environment: "production",
42
+ service: "api-server"
43
+ })
44
+ ```
45
+
46
+ **Pattern matching** is what makes Sentinel more than a log aggregator. You define failure patterns that describe known error signatures -- which error messages to look for, which symbols are typically involved, and what the resolution strategy is. When an incident is recorded, Sentinel matches it against known patterns and suggests resolutions.
47
+
48
+ ```
49
+ paradigm_sentinel_add_pattern({
50
+ id: "stripe-rate-limit",
51
+ name: "Stripe Rate Limit",
52
+ pattern: {
53
+ errorContains: ["429", "rate limit"],
54
+ symbols: { component: "#payment-service" }
55
+ },
56
+ resolution: {
57
+ description: "Implement exponential backoff retry",
58
+ strategy: "retry",
59
+ priority: "high"
60
+ }
61
+ })
62
+ ```
63
+
64
+ The triage workflow uses `paradigm_sentinel_triage` to filter and view incidents. You can filter by status (open, investigating, resolved), by symbol, by environment, or by search text in error messages. Once an incident is understood and fixed, mark it resolved with `paradigm_sentinel_resolve`, optionally linking the fix commit and matched pattern.
65
+
66
+ Sentinel also provides health metrics via `paradigm_sentinel_stats`. You can see incident counts over time periods (1d, 7d, 30d, 90d) and get health scores for specific symbols. A symbol with many recent incidents and low resolution rates has poor health -- another signal that pairs with fragility tracking to identify problem areas. The web UI, launched with `paradigm sentinel`, provides a visual dashboard for all of this.
67
+
68
+ ## Incident Grouping
69
+
70
+ When incidents pile up, grouping helps identify systemic issues. Sentinel's incident grouper clusters similar incidents using three signals: **symbol context similarity** (which components, flows, and gates are involved), **error message similarity** (Levenshtein distance between messages), and **stack trace fingerprinting** (normalizing stack frames by stripping line numbers and paths to capture structural similarity). A time-decay factor ensures recent incidents weigh more heavily in similarity calculations -- incidents from two weeks ago contribute half as much as fresh ones. The grouper's similarity threshold is configurable to tune sensitivity for your project.
71
+
72
+ ## Resolution Strategy Inference
73
+
74
+ When Sentinel suggests a failure pattern from grouped incidents, it infers the most likely resolution strategy from error message keywords:
75
+
76
+ | Strategy | Triggered By | Action |
77
+ |---|---|---|
78
+ | `retry` | timeout, network, ECONNREFUSED | Retry with backoff |
79
+ | `fallback` | unavailable, service down, 503 | Use alternative path |
80
+ | `fix-data` | validation, invalid, required, 404 | Correct the data |
81
+ | `fix-code` | General code errors | Change the code |
82
+ | `rollback` | regression, revert, broke after deploy | Roll back deployment |
83
+ | `config-change` | config, environment variable, missing key | Update configuration |
84
+ | `scale-up` | out of memory, OOM, capacity | Add resources |
85
+ | `investigate` | Mixed error types, unclear pattern | Needs human triage |
86
+ | `ignore` | Known non-issues | Suppress notifications |
87
+ | `escalate` | permission, 403, unauthorized | Needs authorization change |
@@ -0,0 +1,57 @@
1
+ ---
2
+ id: N-para-301-sync-and-maintenance
3
+ title: Sync & Maintenance
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-301
11
+ - paradigm-sync-for
12
+ - paradigm-scan-for
13
+ - ai-maintenance-protocol
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 3
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-301.json
21
+ ---
22
+
23
+ ## Sync & Maintenance
24
+
25
+ Paradigm metadata needs to stay synchronized with the actual code. As developers add features, rename files, and refactor modules, the `.purpose` files, `portal.yaml`, and `navigator.yaml` can drift out of date. Paradigm provides two key maintenance commands to keep everything aligned.
26
+
27
+ **`paradigm sync`** synchronizes metadata with the codebase. It detects when source files have moved, when new files appear that should be registered, and when existing registrations point to files that no longer exist. Think of it as a reconciliation between what Paradigm knows about and what actually exists on disk.
28
+
29
+ **`paradigm scan`** performs a full rebuild of the index and regenerates `navigator.yaml`. This is a heavier operation that re-reads every `.purpose` file, rebuilds the symbol graph, and produces a fresh structure map. Run scan when the index feels stale, when navigator.yaml is missing, or after bulk operations like branch merges that may have changed many files at once.
30
+
31
+ ```bash
32
+ # Light sync -- detect drift and reconcile
33
+ $ paradigm sync
34
+
35
+ # Full rebuild -- regenerate everything from .purpose files
36
+ $ paradigm scan
37
+ ```
38
+
39
+ Beyond these commands, the **AI Maintenance Protocol** defines when and how to update Paradigm files during development:
40
+
41
+ | Change Type | Required Paradigm Update |
42
+ |---|---|
43
+ | Add a feature | Create or update the nearest `.purpose` file with `#component` |
44
+ | Add a protected route | Update `portal.yaml` with the new route and its `^gates` |
45
+ | Add an event or signal | Add `!signal` to the emitting component's `.purpose` file |
46
+ | Add a multi-step process | Document as `$flow` with ordered steps |
47
+ | Rename or delete a symbol | Update all `.purpose` files that reference it |
48
+ | Discover a pattern or antipattern | Capture with `paradigm_wisdom_record` |
49
+ | Add a cross-cutting rule | Create `~aspect` with required code anchors |
50
+
51
+ The maintenance protocol is not optional -- it is how the metadata stays valuable. Stale metadata is worse than no metadata because it actively misleads. When `.purpose` files accurately reflect the code, AI agents can navigate efficiently, ripple analysis produces correct results, and the doctor finds real issues instead of false positives.
52
+
53
+ A practical rhythm for maintenance:
54
+ 1. **Before work**: `paradigm_wisdom_context` and `paradigm_ripple` on symbols you will touch
55
+ 2. **During work**: Update `.purpose` files as you go, not after
56
+ 3. **After work**: Run `paradigm doctor` to catch any drift, record wisdom if applicable
57
+ 4. **Periodically**: Run `paradigm scan` to rebuild the full index
@@ -0,0 +1,89 @@
1
+ ---
2
+ id: N-para-301-wisdom-system
3
+ title: Team Wisdom
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-18'
8
+ tags:
9
+ - course
10
+ - para-301
11
+ - two-wisdom-types
12
+ - paradigmwisdomcontext
13
+ - paradigmwisdomrecord
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 2
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-301.json
21
+ ---
22
+
23
+ ## Team Wisdom
24
+
25
+ Every development team accumulates knowledge over time: patterns that work, mistakes that keep recurring. Paradigm's wisdom system captures this institutional knowledge in a structured, queryable format so it is available to both human developers and AI agents.
26
+
27
+ There are two types of wisdom in Paradigm — preferences and antipatterns. Architectural decisions used to live here too, but in v6.0 they moved to a dedicated decision store; see "Where Decisions Went" below.
28
+
29
+ **Preferences** define "how we do things." These are team conventions, coding standards, and stylistic choices that go beyond what a linter can enforce. For example: "We always use optimistic UI updates for payment flows" or "Error messages must include the operation that failed, not just the error code."
30
+
31
+ **Antipatterns** record "what NOT to do" along with "what to do instead." Each antipattern has an ID, a description of the bad practice, a reason explaining why it is problematic, and an alternative showing the correct approach. For example: "Do not call the payment API directly from React components -- use the #payment-service abstraction layer instead."
32
+
33
+ ```yaml
34
+ # Example antipattern
35
+ api-001:
36
+ description: Calling external APIs directly from UI components
37
+ reason: Tight coupling, no error handling, no retry logic
38
+ alternative: Route all API calls through service components (#*-service)
39
+ symbols: ["#checkout-form", "#payment-service"]
40
+ ```
41
+
42
+ ## Where Decisions Went
43
+
44
+ Through v5, "decisions" were a third type of wisdom recorded via `paradigm_wisdom_record({ type: 'decision', ... })`. v6.0 split decisions out into their own store:
45
+
46
+ - **Tool:** `paradigm_decision_record` (CLI: `paradigm decision record`)
47
+ - **Storage:** `.paradigm/decisions/TD-*.yaml` — topic-addressable, not date-partitioned
48
+ - **Companion:** Each recorded decision auto-writes a lore `insight` entry so the project timeline still shows the moment the decision was made
49
+ - **Search:** `paradigm_decision_search` (filter by status, participant, symbol, tag, date range)
50
+
51
+ Calling `paradigm_wisdom_record({ type: 'decision' })` is no longer supported — `paradigm_wisdom_record` now accepts only `preference` and `antipattern`. The decision store carries the full ADR shape (proposed/supported/dissented participants, alternatives_considered, status lifecycle).
52
+
53
+ ```
54
+ // Capture a v6.0 architectural decision (not via wisdom_record):
55
+ paradigm_decision_record({
56
+ title: "Use Redis over in-memory cache for sessions",
57
+ decision: "Adopt Redis as the session backing store",
58
+ rationale: "Survives restarts, supports horizontal scale, observable via existing tooling",
59
+ participants: [
60
+ { id: "human/matt", role: "human", stance: "proposed" },
61
+ { id: "a-paradigm/architect", role: "agent", stance: "supported" },
62
+ { id: "a-paradigm/security", role: "agent", stance: "dissented" }
63
+ ],
64
+ alternatives_considered: [
65
+ { option: "in-memory Map", rejected_because: "lost on restart, not horizontally scalable" }
66
+ ],
67
+ symbols_affected: ["#session-store"],
68
+ status: "active"
69
+ })
70
+ ```
71
+
72
+ To retrieve wisdom before making changes, call `paradigm_wisdom_context` with the symbols you plan to modify. This returns all relevant preferences and antipatterns for those symbols. For decisions affecting those symbols, call `paradigm_decision_search({ symbol: '#x' })`. To capture new wisdom, use `paradigm_wisdom_record` to add antipatterns. For decisions, use `paradigm_decision_record`. The expertise tracking system also identifies who on the team knows the most about specific symbols, accessible via `paradigm_wisdom_expert`.
73
+
74
+ ```
75
+ // Before modifying checkout:
76
+ paradigm_wisdom_context({ symbols: ["#checkout-form", "$checkout-flow"] })
77
+
78
+ // After discovering a recurring mistake:
79
+ paradigm_wisdom_record({
80
+ type: "antipattern",
81
+ id: "checkout-003",
82
+ symbols: ["#checkout-form"],
83
+ description: "Using setTimeout for payment polling",
84
+ reason: "Unreliable, races with redirects, misses webhook events",
85
+ alternative: "Use the !payment-completed signal with a listener"
86
+ })
87
+ ```
88
+
89
+ The wisdom system is most valuable when it becomes a habit. After every debugging session, ask: "Is there an antipattern here we should record?" After every architectural discussion, ask: "Should this be a decision record?" — and if so, use `paradigm_decision_record`, not the wisdom system. The cost of capturing wisdom is minutes; the cost of not capturing it is repeating the same mistakes across sessions and team members.
@@ -0,0 +1,99 @@
1
+ ---
2
+ id: N-para-401-agent-identity
3
+ title: Agent Identity & Expertise Profiles
4
+ type: note
5
+ author: paradigm
6
+ created: '2026-04-22'
7
+ updated: '2026-04-22'
8
+ tags:
9
+ - course
10
+ - para-401
11
+ - agent-files-are
12
+ - two-storage-scopes
13
+ - expertise-auto-updates-via
14
+ symbols: []
15
+ difficulty: beginner
16
+ estimatedMinutes: 3
17
+ prerequisites: []
18
+ category: paradigm-core
19
+ origin: imported
20
+ source: courses/para-401.json
21
+ ---
22
+
23
+ ## Agent Identity & Expertise Profiles
24
+
25
+ Every Claude session starts blank. The project remembers — via lore, protocols, aspects — but the agent doesn't. An architect that has successfully designed auth systems 14 times has no memory of that expertise. The orchestrator cannot route tasks to the most qualified agent because qualification is not tracked.
26
+
27
+ Agent identity files (`.agent`) solve this with persistent YAML profiles that track expertise, personality, and cross-project patterns. They **overlay** the existing `agents.yaml` system and are fully backward compatible — when no `.agent` files exist, everything works exactly as before.
28
+
29
+ ### Storage & Merge Priority
30
+
31
+ Profiles live in two locations:
32
+
33
+ - **Global** (`~/.paradigm/agents/architect.agent`) — travels across projects
34
+ - **Project** (`.paradigm/agents/builder.agent`) — project-level overrides
35
+
36
+ Merge priority: **project `.agent` > global `.agent` > `agents.yaml`**. This means a project can override a global agent's default model or focus areas without modifying the shared identity.
37
+
38
+ ### Profile Structure
39
+
40
+ Each `.agent` file contains:
41
+
42
+ - **`id`** — Agent identifier (e.g., "architect")
43
+ - **`personality`** — Style (deliberate/rapid/exploratory/methodical), risk tolerance (conservative/balanced/aggressive), and verbosity (minimal/concise/detailed)
44
+ - **`expertise`** — Per-symbol entries with confidence (0.0-1.0), session count, and last touch date
45
+ - **`transferable`** — Cross-project patterns with success rates and linked protocols/lore
46
+ - **`contexts`** — Per-project adaptations: focus areas, preferred model, session count
47
+
48
+ ### Expertise Auto-Population
49
+
50
+ When lore is recorded with `paradigm_lore_record`, the relevant agent's expertise scores update automatically via exponential moving average:
51
+
52
+ ```
53
+ For each symbol in symbols_touched:
54
+ if existing entry:
55
+ sessions++
56
+ confidence = 0.7 * old_confidence + 0.3 * lore_confidence
57
+ else:
58
+ create entry with confidence = lore_confidence (or 0.5 default)
59
+ ```
60
+
61
+ Assessment verdicts from `paradigm_lore_assess` also feed into expertise. A verdict of `correct` nudges confidence up, `incorrect` nudges it down.
62
+
63
+ ### Querying Expertise
64
+
65
+ `paradigm_agent_expertise` takes a symbol and returns agents ranked by confidence:
66
+
67
+ ```
68
+ paradigm_agent_expertise({ symbol: "#payment-service" })
69
+ // Returns: [{ agentId: "architect", confidence: 0.92, sessions: 14 }, ...]
70
+ ```
71
+
72
+ This enables **symbol-to-agent routing** — the orchestrator can prefer the agent most experienced with the symbols a task touches.
73
+
74
+ ### Orchestration Enrichment
75
+
76
+ When `paradigm_orchestrate_inline` builds agent prompts, agents with `.agent` profiles receive a preamble:
77
+
78
+ ```markdown
79
+ ## Agent Identity: architect
80
+ **Style:** deliberate | **Risk:** conservative | **Verbosity:** concise
81
+
82
+ ## Your Expertise on Relevant Symbols
83
+ - #auth-middleware: confidence 0.92 (14 sessions)
84
+ - $checkout-flow: confidence 0.88 (8 sessions)
85
+
86
+ ## Transferable Patterns
87
+ - portal-gate-pattern: 95% success (learned in a-paradigm, applied in 2 projects)
88
+ ```
89
+
90
+ This goes BEFORE the role-specific prompt, giving the agent self-awareness about its strengths.
91
+
92
+ ### CLI Commands
93
+
94
+ - `paradigm agent list` — Show all profiles with top expertise
95
+ - `paradigm agent show <id>` — Full profile with expertise table
96
+ - `paradigm agent create <id> --global` — Create new identity file
97
+ - `paradigm agent sync <id>` — Bootstrap expertise from existing project lore
98
+
99
+ Agent identities are a foundation for future capabilities: curated notebooks, model cascading, and knowledge graduation across projects.