@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,46 @@
1
+ id: Q-para-501-assessment-loops
2
+ title: 'PARA 501: Advanced Systems — Lore as Unified Project Memory'
3
+ description: 'Quiz for lesson: Lore as Unified Project Memory'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: q1
18
+ question: You have completed a three-session effort to add rate limiting. You want to record a retrospective grouped with other rate-limiting work. What is the correct approach?
19
+ choices:
20
+ A: 'Call `paradigm_lore_record` with `type: "retro"`, a body with your reflection, and `tags: ["arc:rate-limiting"]`'
21
+ B: 'Call `paradigm_assessment_record` with `arc_id: "arc-rate-limiting"` and `type: "retro"`'
22
+ C: 'Call `paradigm_lore_record` with `type: "milestone"` — completing features is always a milestone'
23
+ D: Create a separate `.paradigm/assessments/` directory and write the entry manually
24
+ E: 'Call `paradigm_lore_record` with `type: "agent-session"` — all lore is session-level'
25
+ correct: A
26
+ explanation: 'Reflective entries are recorded via `paradigm_lore_record` with the appropriate type and arc tag. A retro with `tags: ["arc:rate-limiting"]` groups it with other entries in that arc. The body field holds the detailed reflection. The assessment tools (B) are deprecated wrappers. Milestones (C) mark significant project events, not feature completions. Agent-session (E) is for automated session records, not deliberate reflections.'
27
+ - id: q2
28
+ question: 'A lore entry has `linked_lore: [L-2026-02-10-003, L-2026-02-12-001]` and `linked_commits: [a1b2c3d]`. What does this cross-referencing enable?'
29
+ choices:
30
+ A: It automatically updates the linked entries with backlinks
31
+ B: It creates traceability — readers can drill from the synthesized insight down to the specific sessions and code changes
32
+ C: It prevents the referenced lore entries from being deleted
33
+ D: It triggers Sentinel to check those commits for incidents
34
+ E: It merges the linked entries into a single combined entry
35
+ correct: B
36
+ explanation: Cross-references create a traceability chain. A reader encountering an insight entry can follow `linked_lore` to see the full session context, and `linked_commits` to see the exact code changes. This is the core value of linking — each entry adds interpretation to what it references, with links to drill down for evidence.
37
+ - id: q3
38
+ question: You want to find every retrospective in the `arc:auth-hardening` arc that mentions `#payment-service`. Which approach is correct?
39
+ choices:
40
+ A: 'Call `paradigm_lore_search` with `tag: "arc:auth-hardening"`, `type: "retro"`, and `symbol: "#payment-service"`'
41
+ B: 'Call `paradigm_assessment_search` with `symbol: "#payment-service"` — it searches the old assessment system'
42
+ C: 'Call `paradigm_lore_search` with `tags: ["arc:auth-hardening", "retro"]`'
43
+ D: 'Call `paradigm_search` with `query: "payment retro auth"` — general search covers lore'
44
+ E: Read every file in `.paradigm/lore/entries/` and filter manually
45
+ correct: A
46
+ explanation: '`paradigm_lore_search` supports combining filters: `tag` for arc prefix matching, `type` for entry type, and `symbol` for symbol references. These filters combine (AND logic), so you get only retro entries in the auth-hardening arc that touch the payment service. The assessment tools (B) are deprecated. Using `tags` array (C) uses OR logic, not AND. General search (D) searches the symbol index, not lore content.'
@@ -0,0 +1,46 @@
1
+ id: Q-para-501-conductor-workspace
2
+ title: 'PARA 501: Advanced Systems — Conductor: Visual Mission Control'
3
+ description: 'Quiz for lesson: Conductor: Visual Mission Control'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: q1
18
+ question: During orchestration, the security agent sends an approval-request via Symphony asking to modify portal.yaml. Where would you see and respond to this in Conductor?
19
+ choices:
20
+ A: In the terminal session where the agent is running
21
+ B: In the Symphony thread view — approval-request is a task protocol intent that appears as a message you can approve or reject
22
+ C: In the agent health dashboard under the security agent's metrics
23
+ D: In the Sentinel event feed as a security incident
24
+ E: You cannot — approval requests only work via CLI
25
+ correct: B
26
+ explanation: Symphony messages, including task protocol intents like approval-request, appear in Conductor's thread view in real time. The task protocol is designed for human-agent coordination — you see the request, read the context, and respond with approval-response directly in the thread view. This is one of Conductor's key advantages over CLI-only workflows.
27
+ - id: q2
28
+ question: You want to work on the frontend and backend of a feature simultaneously with two Claude Code sessions. How would you set this up in Conductor?
29
+ choices:
30
+ A: Launch two separate Conductor apps
31
+ B: Use workspace mode with a split-h or split-v layout preset, launching one terminal session per pane
32
+ C: Conductor only supports one session at a time
33
+ D: Use the agent health dashboard to assign work to two agents
34
+ E: Use Symphony to relay messages between two CLI sessions instead
35
+ correct: B
36
+ explanation: Conductor's workspace mode is a tiling window manager for Claude Code sessions. Choose a split layout preset (horizontal or vertical), and each pane gets its own terminal session. Both sessions connect to Symphony, so they can coordinate via inter-agent messaging while you watch both in a single window.
37
+ - id: q3
38
+ question: Conductor's ML features (gaze tracking, gesture recognition, voice commands) all run locally via CoreML. Why is this significant?
39
+ choices:
40
+ A: CoreML is faster than cloud APIs for all tasks
41
+ B: It means zero cloud cost, zero data leaving your machine, and zero network latency — critical for a developer tool that sees your code and screen
42
+ C: Apple requires all macOS apps to use CoreML
43
+ D: Cloud ML services do not support gaze tracking
44
+ E: It is not significant — it is just an implementation detail
45
+ correct: B
46
+ explanation: For a developer tool that has access to your codebase, screen content, and camera feed, privacy is paramount. Local-only ML means your data never leaves your machine — no cloud processing, no storage, no costs. The zero-latency benefit is a bonus, but the privacy guarantee is the real reason this design choice matters.
@@ -0,0 +1,56 @@
1
+ id: Q-para-501-habits-practice
2
+ title: 'PARA 501: Advanced Systems — Habits & Practice'
3
+ description: 'Quiz for lesson: Habits & Practice'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: q1
18
+ question: A project wants the `ripple-before-modify` habit to block session completion instead of just advising. How should they configure this?
19
+ choices:
20
+ A: 'Delete the seed habit and create a new one with `severity: block`'
21
+ B: 'Add an override in `.paradigm/habits.yaml` setting `severity: block` for `ripple-before-modify`'
22
+ C: Edit the seed-habits.json file directly in node_modules
23
+ D: Create a global override in `~/.paradigm/habits.yaml` — project-level overrides cannot change severity
24
+ E: Set `PARADIGM_HABIT_SEVERITY=block` environment variable
25
+ correct: B
26
+ explanation: Project-level overrides in `.paradigm/habits.yaml` can change any field of a seed habit, including severity. The three-layer merge means project settings override global settings, which override seed defaults. You never edit seed habits directly.
27
+ - id: q2
28
+ question: 'An agent''s practice profile shows: discovery compliance 95%, verification 40%, testing 30%. The agent frequently skips `verify-before-done` and `test-new-components`. What does this pattern reveal?'
29
+ choices:
30
+ A: The agent is good at exploring but poor at following through — it rushes to finish without validating
31
+ B: The discovery habits are too easy and should be made harder
32
+ C: The agent needs more seed habits in the testing category
33
+ D: This is a healthy pattern — discovery is the most important category
34
+ E: The verification and testing habits should be disabled since the agent skips them
35
+ correct: A
36
+ explanation: High discovery compliance with low verification and testing shows an agent that does good pre-work but doesn't follow through with validation. This is the 'explore well, ship hastily' antipattern. The fix is to upgrade verification and testing habits to `warn` or `block` severity, not to disable them.
37
+ - id: q3
38
+ question: The `record-lore-for-significant` habit fires on which trigger and at what threshold?
39
+ choices:
40
+ A: '`preflight` — checks if lore was recorded in the previous session'
41
+ B: '`on-stop` — checks if lore was recorded when 3+ source files were modified'
42
+ C: '`postflight` — always checks for lore regardless of file count'
43
+ D: '`on-commit` — requires lore for every commit'
44
+ E: '`on-stop` — checks if lore was recorded when any files were modified'
45
+ correct: B
46
+ explanation: The `record-lore-for-significant` habit triggers `on-stop` (before session end) and uses the `lore-recorded` check type, which fires when 3 or more source files were modified. This threshold captures significant sessions while ignoring trivial edits.
47
+ - id: q4
48
+ question: Practice profiles show that skipping `wisdom-before-implement` correlates with a 3x incident rate. What action should the team take?
49
+ choices:
50
+ A: Disable the habit since it is not preventing incidents anyway
51
+ B: Upgrade its severity from `advisory` to `warn` or `block` based on the evidence
52
+ C: Add more discovery habits to compensate
53
+ D: The correlation is coincidental — ignore it
54
+ E: Move the habit from `preflight` to `on-stop` trigger
55
+ correct: B
56
+ explanation: Incident correlations provide concrete evidence for severity decisions. A 3x incident rate when skipping wisdom checks is strong evidence that the check prevents real problems. Upgrading to `warn` makes it visible; upgrading to `block` enforces it. This is the feedback loop in action — practice data drives policy changes.
@@ -0,0 +1,66 @@
1
+ id: Q-para-501-hook-enforcement
2
+ title: 'PARA 501: Advanced Systems — Hook Enforcement & Automation'
3
+ description: 'Quiz for lesson: Hook Enforcement & Automation'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: q1
18
+ question: You modified 4 source files and updated one .purpose file but did not record a lore entry. The stop hook runs. What happens?
19
+ choices:
20
+ A: It passes — the .purpose update satisfies all requirements
21
+ B: 'It blocks on two violations: .purpose freshness for the other 3 files, and missing lore entry for a 4-file session'
22
+ C: It blocks only on the missing lore entry — 4 files exceeds the 3-file threshold
23
+ D: It passes — .purpose coverage is sufficient, lore is optional
24
+ E: It blocks only on .purpose freshness — the other 3 files need coverage
25
+ correct: C
26
+ explanation: The stop hook checks multiple conditions independently. The '.purpose freshness' check passes because you did update a .purpose file (the '2+ source files with 0 paradigm updates' check fails only when zero paradigm files were touched). However, 4 modified source files exceeds the 3-file lore recording threshold, so the missing lore entry causes a block. Whether the other files need .purpose coverage depends on whether they have covering .purpose files in ancestor directories.
27
+ - id: q2
28
+ question: The post-write hook just fired after you edited `src/services/payment.ts`. Which of these files would it skip tracking?
29
+ choices:
30
+ A: '`src/services/payment.ts` — it tracks this file'
31
+ B: '`.paradigm/config.yaml` — it skips paradigm directory files'
32
+ C: '`src/middleware/auth.ts` — it would track this too'
33
+ D: '`package.json` — it skips .json files'
34
+ E: Both B and D are skipped
35
+ correct: E
36
+ explanation: The post-write hook skips non-source files (.json, .yaml, .md, .lock, .env, .gitignore) and paradigm directories (.paradigm/, .claude/, .cursor/). Both `.paradigm/config.yaml` (paradigm directory) and `package.json` (.json extension) are skipped. Only actual source code files like .ts, .js, .rs, .py are tracked in .pending-review.
37
+ - id: q3
38
+ question: What does the pre-commit hook do, and can it block a commit?
39
+ choices:
40
+ A: Runs all habit checks and blocks if any severity=block habits are violated
41
+ B: Validates portal.yaml and blocks if gates are undefined
42
+ C: Rebuilds the symbol index and stages the updated files — never blocks
43
+ D: Checks .purpose freshness and blocks if files are stale
44
+ E: Records a lore entry for the commit — never blocks
45
+ correct: C
46
+ explanation: 'The pre-commit hook has a single job: rebuild the symbol index (`paradigm index --quiet`) and stage the rebuilt files (scan-index.json, navigator.yaml, flow-index.json) so they are included in the commit. It always exits 0 — it never blocks. This ensures every commit has a fresh index without manual intervention.'
47
+ - id: q4
48
+ question: The stop hook detects that `src/routes/api.ts` contains Express `.post()` calls but `portal.yaml` does not exist. What happens?
49
+ choices:
50
+ A: Advisory warning — portal.yaml is recommended but not required
51
+ B: The hook blocks — route patterns detected without portal.yaml is a violation
52
+ C: The hook skips this check — portal.yaml is only required for projects that already have one
53
+ D: The hook creates a minimal portal.yaml automatically
54
+ E: The hook blocks only if the route handles user data
55
+ correct: B
56
+ explanation: The stop hook scans modified files for route declaration patterns (`.get()`, `.post()`, etc.). If route patterns are found and portal.yaml was neither present in the project nor modified during the session, the hook blocks. This enforces the rule that all protected routes must be declared in portal.yaml.
57
+ - id: q5
58
+ question: 'You are blocked by the stop hook. The violations list shows: ''stale aspect anchor: src/old/audit.ts no longer exists''. How do you fix this?'
59
+ choices:
60
+ A: Delete the aspect from the .purpose file — aspects with stale anchors are invalid
61
+ B: Create an empty file at `src/old/audit.ts` to satisfy the anchor check
62
+ C: Update the anchor path in the .purpose file to point to the new location of the audit code
63
+ D: Run `paradigm_aspect_check` — it auto-fixes stale anchors
64
+ E: Ignore it — stale anchors are advisory only
65
+ correct: C
66
+ explanation: Aspects require valid code anchors. If the file was moved or renamed, update the anchor path in the .purpose file to point to the new location. If the code was deleted entirely, you may need to remove the aspect or create new enforcement code. Creating an empty file (B) is a hack that defeats the purpose. `paradigm_aspect_check` validates but doesn't auto-fix.
@@ -0,0 +1,66 @@
1
+ id: Q-para-501-lore-system
2
+ title: 'PARA 501: Advanced Systems — The Lore System'
3
+ description: 'Quiz for lesson: The Lore System'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: q1
18
+ question: You just finished a 40-minute session where you added caching to the API, modifying 5 files and creating 2 new ones. You also decided to use Redis over in-memory caching. Which lore entry type is most appropriate?
19
+ choices:
20
+ A: '`paradigm_decision_record` for the Redis choice and skip the lore entry — the implementation rides along'
21
+ B: '`agent-session` — because this captures the full work session including the decision'
22
+ C: '`milestone` — because adding caching is a significant achievement'
23
+ D: '`review` — because you reviewed caching options before choosing'
24
+ E: '`human-note` — because you want to record the Redis rationale'
25
+ correct: B
26
+ explanation: 'When you have both implementation work AND an architectural choice, record an `agent-session` lore entry whose `decisions` field captures the Redis-vs-in-memory rationale; for a *standalone* decision without implementation, use `paradigm_decision_record` (the v6.0 dedicated decision store — the `decision` lore type was removed). Choice A would be correct for a standalone decision, but here you also have 5 modified files and 2 created — that''s session work that needs an `agent-session` entry.'
27
+ - id: q2
28
+ question: Where does a lore entry created on February 21, 2026 (the third entry that day) get stored?
29
+ choices:
30
+ A: '`.paradigm/lore/L-2026-02-21-003.yaml`'
31
+ B: '`.paradigm/lore/entries/2026-02-21/L-2026-02-21-003.yaml`'
32
+ C: '`.paradigm/lore/entries/L-2026-02-21-003.yaml`'
33
+ D: '`.paradigm/lore/2026/02/21/003.yaml`'
34
+ E: '`.paradigm/history/lore/2026-02-21-003.yaml`'
35
+ correct: B
36
+ explanation: 'Lore uses date-partitioned storage: `.paradigm/lore/entries/{YYYY-MM-DD}/L-{date}-{NNN}.yaml`. The date directory groups entries by day, and the sequence number (003) auto-increments within each day.'
37
+ - id: q3
38
+ question: You want to find all lore entries related to the payment system from the last month. Which MCP tool and approach is correct?
39
+ choices:
40
+ A: '`paradigm_lore_timeline` with a symbol filter'
41
+ B: '`paradigm_lore_search` with `symbol: ''#payment-service''` and `dateFrom` set to 30 days ago'
42
+ C: '`paradigm_search` with `query: ''payment''` and `type: ''lore''`'
43
+ D: Read all files in `.paradigm/lore/entries/` and grep for 'payment'
44
+ E: '`paradigm_lore_record` with a search query parameter'
45
+ correct: B
46
+ explanation: '`paradigm_lore_search` accepts filters including `symbol` (to match entries that touched a specific symbol) and `dateFrom`/`dateTo` for time ranges. `paradigm_lore_timeline` gives a high-level overview but doesn''t support detailed filtering. `paradigm_search` searches the symbol index, not lore entries.'
47
+ - id: q4
48
+ question: An agent modified 2 source files and did not record a lore entry. What happens at session end?
49
+ choices:
50
+ A: The stop hook blocks the session — all modifications require lore entries
51
+ B: Nothing — the 2-file threshold is below the recording trigger
52
+ C: A warning is issued but the session completes normally
53
+ D: The system auto-generates a lore entry from the git diff
54
+ E: The post-write hook retroactively creates a minimal entry
55
+ correct: B
56
+ explanation: The lore recording threshold is 3+ modified source files. With only 2 files modified, the session is not considered significant enough to require a lore entry. The stop hook only enforces lore recording when 3 or more source files were modified.
57
+ - id: q5
58
+ question: 'A team lead reviews a lore entry and gives it completeness: 3, quality: 5. What does this tell you?'
59
+ choices:
60
+ A: The entry is high quality but missing some information about what was done
61
+ B: The entry is poorly written but covers everything
62
+ C: The review scores are contradictory and invalid
63
+ D: The entry should be deleted and re-recorded
64
+ E: Both scores must be the same for a valid review
65
+ correct: A
66
+ explanation: Completeness and quality are independent scores. A completeness of 3 means the entry is missing some details (perhaps decisions weren't documented or files weren't fully listed). A quality of 5 means what IS there is excellent — well-written, accurate, and useful. The review suggests the entry should be enriched with more detail while preserving its good writing.
@@ -0,0 +1,66 @@
1
+ id: Q-para-501-platform-agent-ui
2
+ title: 'PARA 501: Advanced Systems — Platform & Agent-Driven UI'
3
+ description: 'Quiz for lesson: Platform & Agent-Driven UI'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: q1
18
+ question: 'An AI agent calls `paradigm_platform_navigate({ section: ''graph'', symbol: ''#payment-service'' })` while the user is actively typing in the lore section. What happens in the browser?'
19
+ choices:
20
+ A: The browser immediately switches to the graph section and selects the node
21
+ B: The command fails with an error because the user is in a different section
22
+ C: 'A prompt appears: ''Agent wants to show you #payment-service — [Go there] [Dismiss]'' — the user decides'
23
+ D: The agent's command is queued and executes when the user next switches sections
24
+ E: The browser switches to graph but keeps the lore section visible in a split view
25
+ correct: C
26
+ explanation: 'When the user is active (last interaction <5s ago), the agent''s navigation creates a pending navigation prompt instead of auto-navigating. The user sees ''Agent wants to show you #payment-service — [Go there] [Dismiss]'' and chooses whether to follow. This is the conflict resolution model: user always wins.'
27
+ - id: q2
28
+ question: What is the communication pipeline when an MCP tool like `paradigm_platform_highlight` sends a command to the browser?
29
+ choices:
30
+ A: MCP tool → direct WebSocket connection to browser → UI update
31
+ B: MCP tool → writes to file → browser polls file every 500ms → UI update
32
+ C: MCP tool → HTTP POST to Platform server → server broadcasts via WebSocket → browser Zustand store → UI update
33
+ D: MCP tool → writes to scan-index.json → browser watches index file → UI update
34
+ E: MCP tool → sends message via Symphony mailbox → browser reads mailbox → UI update
35
+ correct: C
36
+ explanation: The pipeline is MCP → HTTP POST → WebSocket broadcast → browser. The MCP tool calls the platform-bridge helper which POSTs to /api/platform/agent-command. The server validates the command, updates server-side state (presence, highlights), and broadcasts a typed WebSocket message (e.g., agent:highlight) to all connected browsers. The browser's useAgentEffects hook receives the message and dispatches to the Zustand agentStore.
37
+ - id: q3
38
+ question: 'The user clicks the ''Mute'' button in the Platform header. An agent then calls `paradigm_platform_annotate({ type: ''toast'', message: ''Found a bug in #auth'' })`. What happens?'
39
+ choices:
40
+ A: The toast appears but with reduced opacity
41
+ B: 'The command returns `{ annotated: false, reason: ''Agent actions are muted by user'' }` and no toast appears'
42
+ C: The toast is queued and shown when the user unmutes
43
+ D: The command throws an error that the agent must handle
44
+ E: The toast appears regardless — mute only affects navigation, not annotations
45
+ correct: B
46
+ explanation: 'When the user mutes agent actions, ALL agent effects are silently discarded — navigate, highlight, annotate, and clear commands all return a response with `reason: ''Agent actions are muted by user''`. The server checks UserStateTracker.isMuted() before broadcasting. The agent can detect this via `paradigm_platform_observe` which returns `{ muted: true }`.'
47
+ - id: q4
48
+ question: How does the Platform determine an agent's display color in the header presence indicator?
49
+ choices:
50
+ A: Each agent chooses its color when connecting via WebSocket
51
+ B: Colors are assigned sequentially from a fixed palette (first agent = blue, second = green, etc.)
52
+ C: The color is deterministically computed from a hash of the agent's Symphony identity string ({project}/{role})
53
+ D: Colors are stored in .paradigm/config.yaml under platform.agentColors
54
+ E: All agents share the same color — they're distinguished by name only
55
+ correct: C
56
+ explanation: 'Agent colors are deterministic: the AgentPresenceManager computes a hash of the agentId string (e.g., ''a-paradigm/core'') and maps it to one of 8 predefined colors. This means the same agent always gets the same color across sessions, making it recognizable. The identity reuses Symphony''s {project}/{role} pattern.'
57
+ - id: q5
58
+ question: An agent wants to understand what the user is currently looking at before deciding what to highlight. Which approach is correct?
59
+ choices:
60
+ A: Read the platformStore.ts file to check the activeSection variable
61
+ B: Call `paradigm_platform_observe()` which returns the current section, selected symbol, theme, mute state, and connected agents
62
+ C: Call `paradigm_status` which includes the Platform UI state in its output
63
+ D: Check the browser's localStorage via a Bash command
64
+ E: 'Call `paradigm_navigate({ intent: ''context'' })` which includes Platform UI state'
65
+ correct: B
66
+ explanation: 'paradigm_platform_observe is the dedicated tool for reading UI state. It sends an ''observe'' command to the Platform server, which returns the UserStateTracker''s accumulated state: current section, selected symbol, theme, mute status, connected agents, and optionally active highlights/annotations. This is real-time data from the server, not a file read.'
@@ -0,0 +1,61 @@
1
+ id: Q-para-501-review-compliance
2
+ title: 'PARA 501: Advanced Systems — Automated Review Pipeline & Compliance Checking'
3
+ description: 'Quiz for lesson: Automated Review Pipeline & Compliance Checking'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: Q-501-RC-001
18
+ question: paradigm review --ci finds 2 blocking and 3 improvement findings. What's the exit code?
19
+ options:
20
+ - Exit code 0 — improvements are non-blocking
21
+ - Exit code 1 — any blocking findings cause non-zero exit in CI mode
22
+ - Exit code 2 — one per blocking finding
23
+ - Exit code 5 — total findings count
24
+ correct: 1
25
+ explanation: In CI mode, any blocking findings cause exit code 1. Improvements and notes do not affect the exit code.
26
+ - id: Q-501-RC-002
27
+ question: 'A project has no features: section in config.yaml. How many MCP tools are loaded?'
28
+ options:
29
+ - Only core tools (~15)
30
+ - Core + explicitly enabled features
31
+ - All of them — auto-detection is generous, defaulting to current behavior
32
+ - None — features must be explicitly configured
33
+ correct: 2
34
+ explanation: No features config + generous auto-detection = all tools loaded, matching pre-4.0 behavior for backward compat.
35
+ - id: Q-501-RC-003
36
+ question: 'You call paradigm_search with response_format: ''concise''. What fields are returned?'
37
+ options:
38
+ - Full results with descriptions, paths, and fuzzy matches
39
+ - Only { symbol, type } per result — descriptions and secondary data stripped
40
+ - Only symbol names as a flat array
41
+ - Compressed binary format
42
+ correct: 1
43
+ explanation: Concise mode strips results to { symbol, type } per entry and removes fuzzyMatched, fuzzyNote, suggestions, workspace data.
44
+ - id: Q-501-RC-004
45
+ question: An agent needs the graph generation tool but it's in the advanced tier. What does it do?
46
+ options:
47
+ - Request an admin to enable it in config.yaml
48
+ - 'Call paradigm_tool_activate with feature: ''graph'''
49
+ - Modify the agent's permissions to include graph tools
50
+ - Restart the session with --enable-graph flag
51
+ correct: 1
52
+ explanation: paradigm_tool_activate enables advanced-tier modules for the current session. The tools become available immediately.
53
+ - id: Q-501-RC-005
54
+ question: What's the relationship between paradigm review Stage 1 and paradigm_pm_postflight?
55
+ options:
56
+ - They are completely independent with different checks
57
+ - paradigm review calls paradigm_pm_postflight internally
58
+ - They share the same compliance logic extracted into compliance-checker.ts
59
+ - paradigm_pm_postflight is deprecated in favor of paradigm review
60
+ correct: 2
61
+ explanation: Both use compliance-checker.ts for shared compliance logic — purpose coverage, portal gates, aspect anchors, and broken refs.
@@ -0,0 +1,86 @@
1
+ id: Q-para-501-sentinel-deep-dive
2
+ title: 'PARA 501: Advanced Systems — Sentinel Deep Dive'
3
+ description: 'Quiz for lesson: Sentinel Deep Dive'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: q1
18
+ question: An incident record shows `flowPosition.actual` has 3 entries and `flowPosition.expected` has 5. The `failedAt` field points to the third step. What does this tell you?
19
+ choices:
20
+ A: Three out of five flow steps completed successfully before the failure
21
+ B: The flow is missing 2 step definitions and needs to be updated
22
+ C: The third step failed, preventing the last 2 steps (including their signals) from executing
23
+ D: Only the last 2 steps need to be investigated
24
+ E: The flow validation is broken and should be re-run
25
+ correct: C
26
+ explanation: The `actual` array shows what actually executed, `expected` shows what should have. Three steps executed, meaning the first two succeeded and the third (`failedAt`) is where the failure occurred. The remaining 2 expected steps (in `missing`) never ran because execution stopped at the failure point.
27
+ - id: q2
28
+ question: 'A failure pattern has confidence scores: timesMatched=20, timesResolved=15, timesRecurred=5. What does a recurrence rate of 25% suggest?'
29
+ choices:
30
+ A: The pattern is highly effective and should be trusted
31
+ B: The resolution strategy may not fully address the root cause — the fix works sometimes but the issue returns
32
+ C: The pattern's matching criteria are too broad and catching unrelated incidents
33
+ D: 25% is normal and healthy for any pattern
34
+ E: The pattern should be deleted and replaced
35
+ correct: B
36
+ explanation: timesRecurred (5) out of timesResolved (15) gives a 33% recurrence rate after resolution. This suggests the resolution strategy addresses symptoms but not the root cause. The pattern still has value (it resolves 67% permanently), but the resolution description should be updated with a more thorough fix, or a second pattern created for the recurring variant.
37
+ - id: q3
38
+ question: You receive a 2 AM production alert. What is the correct Sentinel-powered response sequence?
39
+ choices:
40
+ A: '`paradigm_sentinel_triage` → `paradigm_sentinel_record` → fix → `paradigm_sentinel_resolve`'
41
+ B: '`paradigm_sentinel_record` → `paradigm_sentinel_patterns` → `paradigm_wisdom_context` → fix → `paradigm_sentinel_resolve`'
42
+ C: '`paradigm_status` → read all files → find bug → `paradigm_sentinel_record`'
43
+ D: '`paradigm_sentinel_stats` → identify hotspot → fix → `paradigm_sentinel_resolve`'
44
+ E: '`paradigm_sentinel_record` → `paradigm_orchestrate_inline` → deploy agents → wait'
45
+ correct: B
46
+ explanation: First, record the incident with `paradigm_sentinel_record` to start the clock and capture the error. Then check `paradigm_sentinel_patterns` for known fixes — this could save hours if the failure matches an existing pattern. Then check `paradigm_wisdom_context` for antipatterns on the failing component. Fix with full context, then resolve. Recording first is critical — you can't triage what you haven't recorded.
47
+ - id: q4
48
+ question: Sentinel ships with 26 seed patterns. Which pattern source would a team-created pattern from a post-mortem use?
49
+ choices:
50
+ A: '`community`'
51
+ B: '`imported`'
52
+ C: '`manual`'
53
+ D: '`suggested`'
54
+ E: '`seed`'
55
+ correct: C
56
+ explanation: 'Patterns have four sources: `manual` (team-created), `suggested` (auto-generated by Sentinel from incident groups), `imported` (from another project), and `community` (shared open-source patterns). A pattern created by the team during a post-mortem is `manual`. The seed patterns that ship with Paradigm use `manual` source as well.'
57
+ - id: q5
58
+ question: Two incidents share the same component (#auth-service) and error type (TypeError) but different flows. Sentinel's similarity threshold is 0.6. Will they be grouped?
59
+ choices:
60
+ A: Yes — sharing a component and error type exceeds the 0.6 threshold
61
+ B: No — different flows always prevent grouping
62
+ C: It depends on what other symbolic context they share — 0.6 means 60% overlap required
63
+ D: Only if they occurred within the same hour
64
+ E: Only if a human manually groups them
65
+ correct: C
66
+ explanation: The 0.6 similarity threshold means 60% of symbolic context must overlap. Sharing a component and error type provides some overlap, but different flows reduce it. Whether they cross 0.6 depends on other shared context — same gate, same environment, similar error message. Grouping is automatic but similarity-driven, not based on any single field.
67
+ - id: q6
68
+ question: How do you connect the Paradigm logger to Sentinel's observability pipeline?
69
+ choices:
70
+ A: Replace all `log.component()` calls with `sentinel.log()` calls throughout your codebase
71
+ B: 'Call `enableSentinel({ endpoint: ''...'' })` once — it registers a SentinelTransport via addTransport with zero changes to existing logging code'
72
+ C: Configure a `sentinel` key in `.paradigm/config.yaml` and restart the application
73
+ D: Import SentinelTransport in every file that uses the logger
74
+ E: Set the `SENTINEL_ENDPOINT` environment variable — the logger auto-detects it
75
+ correct: B
76
+ explanation: The SentinelTransport bridge is designed for zero-code-change adoption. Calling `enableSentinel()` once creates a SentinelTransport and registers it with the logger via `addTransport`. From that point, all existing `log.component()`, `log.gate()`, and `log.signal()` calls are automatically forwarded to Sentinel. No changes to individual logging calls are needed.
77
+ - id: q7
78
+ question: You want to track API response latency in Sentinel. Which metric type should you use?
79
+ choices:
80
+ A: '`counter` — increment it by the latency value on each request'
81
+ B: '`gauge` — set it to the current response time'
82
+ C: '`histogram` — record each response time to build a distribution over time'
83
+ D: '`timer` — Sentinel has a dedicated timer metric type for latency'
84
+ E: '`counter` with a `latency` label containing the value'
85
+ correct: C
86
+ explanation: Histogram is the correct metric type for distributions like response latency. A histogram records individual values and lets you compute percentiles (p50, p95, p99), averages, and distributions over time. A counter only tracks cumulative totals, a gauge only captures point-in-time snapshots, and there is no dedicated timer type — histograms serve that purpose.
@@ -0,0 +1,66 @@
1
+ id: Q-para-501-session-intelligence
2
+ title: 'PARA 501: Advanced Systems — Session Intelligence'
3
+ description: 'Quiz for lesson: Session Intelligence'
4
+ author: paradigm
5
+ created: '2026-04-22'
6
+ updated: '2026-04-22'
7
+ tags:
8
+ - course
9
+ - para-501
10
+ symbols: []
11
+ difficulty: beginner
12
+ passThreshold: 0.7
13
+ category: paradigm-core
14
+ origin: imported
15
+ source: courses/para-501.json
16
+ questions:
17
+ - id: q1
18
+ question: You have finished implementing a feature and are about to write tests. Which checkpoint phase should you save?
19
+ choices:
20
+ A: '`implementing` — you just finished implementing'
21
+ B: '`validating` — you are transitioning from implementation to validation'
22
+ C: '`complete` — the feature code is done'
23
+ D: '`testing` — you are about to test'
24
+ E: '`planning` — you need to plan the tests first'
25
+ correct: B
26
+ explanation: Checkpoint at the phase you are entering, not the one you are leaving. The `validating` phase captures the state after implementation is complete but before tests/review. If the session crashes now, recovery knows implementation is done and testing is the next step. `complete` is only for when everything (including tests) is finished.
27
+ - id: q2
28
+ question: What is the maximum number of breadcrumbs stored, and what happens when the limit is reached?
29
+ choices:
30
+ A: 100 breadcrumbs, then the file is archived and a new one starts
31
+ B: 50 breadcrumbs, then the oldest are dropped as new ones are added
32
+ C: Unlimited — breadcrumbs grow until the session ends
33
+ D: 50 breadcrumbs, then tracking stops until the next session
34
+ E: 25 breadcrumbs per phase, resetting at each checkpoint
35
+ correct: B
36
+ explanation: Breadcrumbs have a hard cap of 50 entries with auto-rotation — when the 51st breadcrumb is recorded, the oldest one is dropped. This keeps the file small and focused on recent activity while still providing enough trail for meaningful recovery.
37
+ - id: q3
38
+ question: A team discovers that 'always validate JWT expiry before refresh' prevents bugs across 4 different projects. What should they do?
39
+ choices:
40
+ A: Add the wisdom to each project's `.paradigm/wisdom/` individually
41
+ B: Use `paradigm_wisdom_promote` to move it to `~/.paradigm/wisdom/` for global scope
42
+ C: Create a new seed habit for JWT validation
43
+ D: Add it to the CLAUDE.md file in each project
44
+ E: Record it as a lore entry in the most recent project
45
+ correct: B
46
+ explanation: When wisdom proves valuable across multiple projects, `paradigm_wisdom_promote` copies it from project scope (`.paradigm/wisdom/`) to global scope (`~/.paradigm/wisdom/`). This makes it available automatically in every future session across all projects. Adding it individually (A) or to CLAUDE.md (D) works but doesn't leverage the Global Brain.
47
+ - id: q4
48
+ question: Your session is at 82% context usage. What should you do?
49
+ choices:
50
+ A: Continue working — 82% is still plenty of room
51
+ B: Immediately stop and call `paradigm_handoff_prepare` with summary and next steps
52
+ C: Call `paradigm_session_health` to confirm, then proactively prepare a handoff while finishing current work
53
+ D: Delete old messages to free up context space
54
+ E: Save a checkpoint and keep working until 95%
55
+ correct: C
56
+ explanation: At 80-85%, the recommendation is proactive handoff preparation. Call `paradigm_session_health` to confirm the recommendation, then prepare the handoff with `paradigm_handoff_prepare` while completing your current task. Waiting until 95% (E) risks running out of context mid-task. The sweet spot is preparing the handoff while you still have room to finish current work cleanly.
57
+ - id: q5
58
+ question: A new session starts and the agent calls `paradigm_status`. What happens with session recovery?
59
+ choices:
60
+ A: The agent must explicitly call `paradigm_session_recover` — recovery is never automatic
61
+ B: Recovery data is automatically surfaced on the first Paradigm tool call
62
+ C: Recovery only works if the previous session saved a checkpoint
63
+ D: The agent must read `.paradigm/session-checkpoint.json` manually
64
+ E: Recovery data is shown only if the previous session crashed
65
+ correct: B
66
+ explanation: Auto-recovery is triggered on the first Paradigm MCP tool call in a new session — whether that is `paradigm_status`, `paradigm_navigate`, or any other tool. The system surfaces the last checkpoint and recent breadcrumbs without the agent needing to explicitly request recovery. This ensures continuity even if the agent doesn't know to ask.