@a-company/paradigm 5.37.11 → 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 (362) hide show
  1. package/dist/{accept-orchestration-SBZVK3H4.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/{aggregate-W66DM3GA.js → aggregate-A5S5MTCC.js} +1 -1
  6. package/dist/{ambient-76YMUA5Q.js → ambient-BE3SQXNN.js} +1 -1
  7. package/dist/{ambient-WTLYUAQM.js → ambient-NVKQCW2A.js} +12 -12
  8. package/dist/{assess-UFPYEJKP.js → assess-63WXHWJV.js} +1 -1
  9. package/dist/{beacon-5QVYV5DF.js → beacon-QVUD3MGP.js} +1 -1
  10. package/dist/{calibration-OLJYB5HN.js → calibration-BDHGYJOK.js} +1 -1
  11. package/dist/{chunk-SI6SV76D.js → chunk-3DZK54RU.js} +72 -19
  12. package/dist/{chunk-CHVQNRRT.js → chunk-4PSD5R7N.js} +2 -2
  13. package/dist/chunk-6SKSV5B2.js +24 -0
  14. package/dist/{chunk-KFNHCQ4R.js → chunk-FEYOQMZ5.js} +1 -1
  15. package/dist/{chunk-NEJ4ZLCY.js → chunk-GAFKOFAV.js} +1 -1
  16. package/dist/chunk-GRZQIKST.js +2 -0
  17. package/dist/{chunk-RLCH7DXQ.js → chunk-K7X3Z3GL.js} +1 -1
  18. package/dist/chunk-LPBCQM5Y.js +6 -0
  19. package/dist/{chunk-T6IDXUUA.js → chunk-LWAIVOSF.js} +1 -1
  20. package/dist/{chunk-74SGKSRQ.js → chunk-M2HKWR25.js} +1 -1
  21. package/dist/{chunk-BOYQAMGC.js → chunk-M3PPXJU4.js} +1 -1
  22. package/dist/chunk-PHEX6LU4.js +111 -0
  23. package/dist/chunk-Q527BPUF.js +2 -0
  24. package/dist/chunk-R5ECMBIV.js +11 -0
  25. package/dist/{chunk-X3U3IGYT.js → chunk-TBWWFRL5.js} +1 -1
  26. package/dist/{chunk-MQIG6SMF.js → chunk-TNVWGPCE.js} +1 -1
  27. package/dist/{chunk-SUU6M4JH.js → chunk-TOYQ2QCB.js} +1 -1
  28. package/dist/chunk-TZDYIPVU.js +521 -0
  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-AGFPVSX5.js → chunk-VXIIVMTM.js} +1 -1
  33. package/dist/{chunk-ORDKEGII.js → chunk-WESTEMIM.js} +1 -1
  34. package/dist/{chunk-LBQBWIEX.js → chunk-Y4P4SGZV.js} +1 -1
  35. package/dist/{chunk-DOCDDDTD.js → chunk-YNDPSWOE.js} +5 -5
  36. package/dist/chunk-Z5QW6USC.js +2 -0
  37. package/dist/chunk-ZJQY5PPP.js +7 -0
  38. package/dist/{commands-LMUD5L6R.js → commands-ANRJNG2W.js} +1 -1
  39. package/dist/compliance-BNFWQPKM.js +6 -0
  40. package/dist/config-schema-FLHRVZMI.js +2 -0
  41. package/dist/{constellation-CG7C4WFE.js → constellation-NWLXYATA.js} +1 -1
  42. package/dist/{context-audit-XRPT3OU2.js → context-audit-JVCA6GSV.js} +1 -1
  43. package/dist/{cost-IDNVMAEV.js → cost-24UZSS2P.js} +1 -1
  44. package/dist/{cursorrules-U5O4G5T4.js → cursorrules-ZXPXPZ3P.js} +1 -1
  45. package/dist/decision-loader-HELL2AMX.js +2 -0
  46. package/dist/{delete-P5VULXR4.js → delete-2C6ALLYY.js} +1 -1
  47. package/dist/{diff-JVEYCXUC.js → diff-MF55KQZH.js} +1 -1
  48. package/dist/{dist-KGRCLBJP-2QAPFYNF.js → dist-GQ42YS5N-4HIJZVBB.js} +10 -10
  49. package/dist/dist-JZZJLVMR.js +2 -0
  50. package/dist/{dist-3ZCH25SG.js → dist-OG6MM4VY.js} +1 -1
  51. package/dist/dist-SE67SOXB.js +2 -0
  52. package/dist/{docs-USDAF26F.js → docs-O37YLLRN.js} +1 -1
  53. package/dist/doctor-IG5XM4C4.js +2 -0
  54. package/dist/{edit-GUU3HBVW.js → edit-P3MDAZLU.js} +1 -1
  55. package/dist/{flow-POQP27WA.js → flow-BGXOVE2V.js} +1 -1
  56. package/dist/{hooks-IG2GOAHP.js → hooks-TFMMMB2H.js} +1 -1
  57. package/dist/index.js +6 -6
  58. package/dist/init-M44SO65G.js +2 -0
  59. package/dist/init-V4KSEKPK.js +2 -0
  60. package/dist/{integrity-UYDOOJDP.js → integrity-ROO3G43N.js} +1 -1
  61. package/dist/{list-YKIQNKGB.js → list-2XIWUEMA.js} +1 -1
  62. package/dist/list-CFHINXIS.js +12 -0
  63. package/dist/lore-loader-D2ISOASW.js +2 -0
  64. package/dist/lore-loader-PXFKMKAN.js +2 -0
  65. package/dist/mcp.js +19 -11
  66. package/dist/metrics-UESGUHTA.js +2 -0
  67. package/dist/{migrate-IBDE7VK4.js → migrate-Z5UQN57G.js} +1 -1
  68. package/dist/migrate-assessments-YSITX7KM.js +4 -0
  69. package/dist/migrate-decisions-NPLQOEEH.js +6 -0
  70. package/dist/migrate-plsat-EM2ACIQ3.js +6 -0
  71. package/dist/{nomination-engine-EALA5MGI.js → nomination-engine-QPZJH6XO.js} +1 -1
  72. package/dist/{notebook-loader-PXNRBBXD.js → notebook-loader-3J2OFMS3.js} +1 -1
  73. package/dist/{orchestrate-RCAMBOIB.js → orchestrate-RID7HHHH.js} +1 -1
  74. package/dist/{platform-server-DNAMH4YI.js → platform-server-UD45NTGV.js} +1 -1
  75. package/dist/portal-check-DV2VSJ5E.js +8 -0
  76. package/dist/{portal-compliance-4MG5F2GI.js → portal-compliance-JONQ4SOP.js} +1 -1
  77. package/dist/{probe-B22G2JKF.js → probe-5HAXULAD.js} +1 -1
  78. package/dist/{providers-AWA7WLLM.js → providers-4PXMWA7V.js} +1 -1
  79. package/dist/quiz-WYIZJG5K.js +10 -0
  80. package/dist/{record-YXPB34MY.js → record-N3VNYYKJ.js} +1 -1
  81. package/dist/reindex-FWPD2VGM.js +2 -0
  82. package/dist/{retag-N5XF3KXP.js → retag-72R2OSZV.js} +1 -1
  83. package/dist/{review-77QI6VOC.js → review-2INNWLTW.js} +1 -1
  84. package/dist/{review-6UAH6V3R.js → review-VMSX2PKI.js} +1 -1
  85. package/dist/{ripple-ZGDITCGB.js → ripple-FNZI47SH.js} +1 -1
  86. package/dist/{sentinel-HYAZ3CO5.js → sentinel-EFPEX246.js} +1 -1
  87. package/dist/{sentinel-bridge-VR357PKL.js → sentinel-bridge-UR2MKARY.js} +1 -1
  88. package/dist/sentinel.js +1 -1
  89. package/dist/{serve-U47GULB6.js → serve-MO35XIZE.js} +1 -1
  90. package/dist/serve-OQYUO7CR.js +12 -0
  91. package/dist/{server-4YNUIK4W.js → server-4D77LCST.js} +1 -1
  92. package/dist/server-FGUL2FWQ.js +7 -0
  93. package/dist/session-tracker-KGORN6B5.js +2 -0
  94. package/dist/{session-work-log-PAKXOFGL.js → session-work-log-4IEVE4KK.js} +1 -1
  95. package/dist/{session-work-log-ZP45TREI.js → session-work-log-EE4UIZ33.js} +1 -1
  96. package/dist/{setup-3F5IK7MO.js → setup-ZSEC72BS.js} +2 -2
  97. package/dist/{shift-FDADESC4.js → shift-TVNY2CQF.js} +6 -6
  98. package/dist/{show-PJ5LFLIL.js → show-JH7LJ5MT.js} +1 -1
  99. package/dist/show-WVHAL4VU.js +7 -0
  100. package/dist/{snapshot-L2G56RPL.js → snapshot-3IYB67D4.js} +1 -1
  101. package/dist/{spawn-M5BAV252.js → spawn-UH5RENSE.js} +1 -1
  102. package/dist/{status-77M3SDIF.js → status-DB3KNLW3.js} +1 -1
  103. package/dist/status-S7Z5FVIE.js +6 -0
  104. package/dist/{summary-LXLHFRN7.js → summary-WLI3NF4G.js} +2 -2
  105. package/dist/{sweep-HU74OPVW.js → sweep-7TZFN5NS.js} +1 -1
  106. package/dist/sync-55U6QPIA.js +2 -0
  107. package/dist/{sync-llms-7CAI74QL.js → sync-llms-GF7DDQDI.js} +1 -1
  108. package/dist/team-MGT66HZQ.js +2 -0
  109. package/dist/{test-BQJMS4Y2.js → test-WLEPZQFC.js} +1 -1
  110. package/dist/{timeline-K3ZFKJ3R.js → timeline-RK7O2SCM.js} +1 -1
  111. package/dist/tools-QJHAVYI6.js +2 -0
  112. package/dist/university-content/notes/N-para-001-build-something.md +126 -0
  113. package/dist/university-content/notes/N-para-001-meet-the-team.md +85 -0
  114. package/dist/university-content/notes/N-para-001-shift-setup.md +74 -0
  115. package/dist/university-content/notes/N-para-101-component-types.md +99 -0
  116. package/dist/university-content/notes/N-para-101-first-steps.md +134 -0
  117. package/dist/university-content/notes/N-para-101-five-symbols.md +128 -0
  118. package/dist/university-content/notes/N-para-101-paradigm-logger.md +89 -0
  119. package/dist/university-content/notes/N-para-101-portal-yaml.md +112 -0
  120. package/dist/university-content/notes/N-para-101-project-structure.md +143 -0
  121. package/dist/university-content/notes/N-para-101-purpose-files.md +121 -0
  122. package/dist/university-content/notes/N-para-101-tags-and-classification.md +93 -0
  123. package/dist/university-content/notes/N-para-101-welcome.md +51 -0
  124. package/dist/university-content/notes/N-para-201-architecture-review.md +175 -0
  125. package/dist/university-content/notes/N-para-201-aspect-graph.md +79 -0
  126. package/dist/university-content/notes/N-para-201-aspects-and-anchors.md +112 -0
  127. package/dist/university-content/notes/N-para-201-component-patterns.md +138 -0
  128. package/dist/university-content/notes/N-para-201-cross-cutting-concerns.md +145 -0
  129. package/dist/university-content/notes/N-para-201-disciplines.md +187 -0
  130. package/dist/university-content/notes/N-para-201-flows-deep-dive.md +119 -0
  131. package/dist/university-content/notes/N-para-201-gates-deep-dive.md +165 -0
  132. package/dist/university-content/notes/N-para-201-portal-protocol.md +133 -0
  133. package/dist/university-content/notes/N-para-201-signal-patterns.md +159 -0
  134. package/dist/university-content/notes/N-para-201-symbol-naming.md +149 -0
  135. package/dist/university-content/notes/N-para-301-context-management.md +53 -0
  136. package/dist/university-content/notes/N-para-301-decisions.md +99 -0
  137. package/dist/university-content/notes/N-para-301-doctor-and-validation.md +70 -0
  138. package/dist/university-content/notes/N-para-301-enforcement-levels.md +102 -0
  139. package/dist/university-content/notes/N-para-301-fragility-tracking.md +50 -0
  140. package/dist/university-content/notes/N-para-301-history-system.md +42 -0
  141. package/dist/university-content/notes/N-para-301-navigation-system.md +55 -0
  142. package/dist/university-content/notes/N-para-301-operations-review.md +55 -0
  143. package/dist/university-content/notes/N-para-301-paradigm-shift.md +93 -0
  144. package/dist/university-content/notes/N-para-301-protocols.md +113 -0
  145. package/dist/university-content/notes/N-para-301-ripple-analysis.md +53 -0
  146. package/dist/university-content/notes/N-para-301-sentinel-observability.md +87 -0
  147. package/dist/university-content/notes/N-para-301-sync-and-maintenance.md +57 -0
  148. package/dist/university-content/notes/N-para-301-wisdom-system.md +89 -0
  149. package/dist/university-content/notes/N-para-401-agent-identity.md +99 -0
  150. package/dist/university-content/notes/N-para-401-agent-interop.md +87 -0
  151. package/dist/university-content/notes/N-para-401-agent-roles.md +107 -0
  152. package/dist/university-content/notes/N-para-401-commit-conventions.md +82 -0
  153. package/dist/university-content/notes/N-para-401-mastery-review.md +71 -0
  154. package/dist/university-content/notes/N-para-401-mcp-tools-overview.md +102 -0
  155. package/dist/university-content/notes/N-para-401-multi-agent-coordination.md +80 -0
  156. package/dist/university-content/notes/N-para-401-notebooks-permissions.md +66 -0
  157. package/dist/university-content/notes/N-para-401-orchestration-workflow.md +101 -0
  158. package/dist/university-content/notes/N-para-401-pm-governance.md +71 -0
  159. package/dist/university-content/notes/N-para-401-provider-cascade.md +75 -0
  160. package/dist/university-content/notes/N-para-401-quick-check.md +95 -0
  161. package/dist/university-content/notes/N-para-501-advanced-workflows.md +122 -0
  162. package/dist/university-content/notes/N-para-501-aspect-graph-advanced.md +195 -0
  163. package/dist/university-content/notes/N-para-501-aspect-graph-internals.md +97 -0
  164. package/dist/university-content/notes/N-para-501-assessment-loops.md +116 -0
  165. package/dist/university-content/notes/N-para-501-conductor-workspace.md +77 -0
  166. package/dist/university-content/notes/N-para-501-habits-practice.md +164 -0
  167. package/dist/university-content/notes/N-para-501-hook-enforcement.md +100 -0
  168. package/dist/university-content/notes/N-para-501-lore-system.md +155 -0
  169. package/dist/university-content/notes/N-para-501-platform-agent-ui.md +108 -0
  170. package/dist/university-content/notes/N-para-501-review-compliance.md +72 -0
  171. package/dist/university-content/notes/N-para-501-sentinel-deep-dive.md +173 -0
  172. package/dist/university-content/notes/N-para-501-session-intelligence.md +104 -0
  173. package/dist/university-content/notes/N-para-501-symphony-a-mail.md +120 -0
  174. package/dist/university-content/notes/N-para-501-symphony-networking.md +119 -0
  175. package/dist/university-content/notes/N-para-501-task-management.md +100 -0
  176. package/dist/university-content/notes/N-para-601-agent-renaissance.md +121 -0
  177. package/dist/university-content/notes/N-para-601-attention-scoring.md +129 -0
  178. package/dist/university-content/notes/N-para-601-context-composition.md +146 -0
  179. package/dist/university-content/notes/N-para-601-data-sovereignty.md +140 -0
  180. package/dist/university-content/notes/N-para-601-event-stream.md +126 -0
  181. package/dist/university-content/notes/N-para-601-knowledge-streams.md +144 -0
  182. package/dist/university-content/notes/N-para-601-learning-loop.md +68 -0
  183. package/dist/university-content/notes/N-para-601-maestro-team-collab.md +136 -0
  184. package/dist/university-content/notes/N-para-601-nominations-debates.md +115 -0
  185. package/dist/university-content/notes/N-para-701-agent-notebooks.md +131 -0
  186. package/dist/university-content/notes/N-para-701-agent-pods-nevrland.md +182 -0
  187. package/dist/university-content/notes/N-para-701-agent-profiles.md +197 -0
  188. package/dist/university-content/notes/N-para-701-agent-roster.md +82 -0
  189. package/dist/university-content/notes/N-para-701-agent-state.md +180 -0
  190. package/dist/university-content/notes/N-para-701-learning-feedback-loop.md +188 -0
  191. package/dist/university-content/notes/N-para-701-model-tier-resolution.md +204 -0
  192. package/dist/university-content/notes/N-para-701-orchestration-enforcement.md +169 -0
  193. package/dist/university-content/notes/N-para-701-per-project-rosters.md +198 -0
  194. package/dist/university-content/notes/N-para-701-symphony-visibility.md +142 -0
  195. package/dist/university-content/paths/LP-para-001.yaml +29 -0
  196. package/dist/university-content/paths/LP-para-101.yaml +59 -0
  197. package/dist/university-content/paths/LP-para-201.yaml +69 -0
  198. package/dist/university-content/paths/LP-para-301.yaml +84 -0
  199. package/dist/university-content/paths/LP-para-401.yaml +74 -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-501-advanced-workflows.yaml +66 -0
  253. package/dist/university-content/quizzes/Q-para-501-aspect-graph-advanced.yaml +66 -0
  254. package/dist/university-content/quizzes/Q-para-501-aspect-graph-internals.yaml +66 -0
  255. package/dist/university-content/quizzes/Q-para-501-assessment-loops.yaml +46 -0
  256. package/dist/university-content/quizzes/Q-para-501-conductor-workspace.yaml +46 -0
  257. package/dist/university-content/quizzes/Q-para-501-habits-practice.yaml +56 -0
  258. package/dist/university-content/quizzes/Q-para-501-hook-enforcement.yaml +66 -0
  259. package/dist/university-content/quizzes/Q-para-501-lore-system.yaml +66 -0
  260. package/dist/university-content/quizzes/Q-para-501-platform-agent-ui.yaml +66 -0
  261. package/dist/university-content/quizzes/Q-para-501-review-compliance.yaml +61 -0
  262. package/dist/university-content/quizzes/Q-para-501-sentinel-deep-dive.yaml +86 -0
  263. package/dist/university-content/quizzes/Q-para-501-session-intelligence.yaml +66 -0
  264. package/dist/university-content/quizzes/Q-para-501-symphony-a-mail.yaml +66 -0
  265. package/dist/university-content/quizzes/Q-para-501-symphony-networking.yaml +66 -0
  266. package/dist/university-content/quizzes/Q-para-501-task-management.yaml +46 -0
  267. package/dist/university-content/quizzes/Q-para-601-agent-renaissance.yaml +66 -0
  268. package/dist/university-content/quizzes/Q-para-601-attention-scoring.yaml +56 -0
  269. package/dist/university-content/quizzes/Q-para-601-context-composition.yaml +66 -0
  270. package/dist/university-content/quizzes/Q-para-601-data-sovereignty.yaml +56 -0
  271. package/dist/university-content/quizzes/Q-para-601-event-stream.yaml +66 -0
  272. package/dist/university-content/quizzes/Q-para-601-knowledge-streams.yaml +66 -0
  273. package/dist/university-content/quizzes/Q-para-601-learning-loop.yaml +56 -0
  274. package/dist/university-content/quizzes/Q-para-601-maestro-team-collab.yaml +86 -0
  275. package/dist/university-content/quizzes/Q-para-601-nominations-debates.yaml +66 -0
  276. package/dist/university-content/quizzes/Q-para-701-agent-notebooks.yaml +66 -0
  277. package/dist/university-content/quizzes/Q-para-701-agent-pods-nevrland.yaml +66 -0
  278. package/dist/university-content/quizzes/Q-para-701-agent-profiles.yaml +66 -0
  279. package/dist/university-content/quizzes/Q-para-701-agent-roster.yaml +66 -0
  280. package/dist/university-content/quizzes/Q-para-701-agent-state.yaml +66 -0
  281. package/dist/university-content/quizzes/Q-para-701-learning-feedback-loop.yaml +66 -0
  282. package/dist/university-content/quizzes/Q-para-701-model-tier-resolution.yaml +66 -0
  283. package/dist/university-content/quizzes/Q-para-701-orchestration-enforcement.yaml +66 -0
  284. package/dist/university-content/quizzes/Q-para-701-per-project-rosters.yaml +66 -0
  285. package/dist/university-content/quizzes/Q-para-701-symphony-visibility.yaml +66 -0
  286. package/dist/university-content/quizzes/Q-plsat-v2.yaml +904 -0
  287. package/dist/university-content/quizzes/Q-plsat-v3.yaml +2909 -0
  288. package/dist/university-content/reference.json +2 -2
  289. package/dist/university-ui/assets/{index-CecQrfSn.js → index-nNgzO1il.js} +2 -2
  290. package/dist/university-ui/assets/{index-CecQrfSn.js.map → index-nNgzO1il.js.map} +1 -1
  291. package/dist/university-ui/index.html +1 -1
  292. package/dist/{upgrade-GX56QE3C.js → upgrade-NKN63VTY.js} +2 -2
  293. package/dist/{validate-VZXTJHGO.js → validate-BB6LRWIY.js} +1 -1
  294. package/dist/validate-XUQZTF3H.js +9 -0
  295. package/dist/{watch-YCODNIET.js → watch-25GJHQYT.js} +1 -1
  296. package/dist/workspace-VMSPYIBV.js +2 -0
  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 +3 -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/templates/paradigm/specs/symbols.md +4 -2
  313. package/dist/add-P76GEMGF.js +0 -8
  314. package/dist/chunk-3TR6LLXP.js +0 -111
  315. package/dist/chunk-G7XFK2GI.js +0 -11
  316. package/dist/chunk-J6KWGCHN.js +0 -24
  317. package/dist/chunk-JQKKVAAN.js +0 -2
  318. package/dist/chunk-ODVKPZZ4.js +0 -2
  319. package/dist/chunk-Q2J542ST.js +0 -2
  320. package/dist/chunk-QT2LKB3P.js +0 -7
  321. package/dist/chunk-SHD27BQX.js +0 -6
  322. package/dist/chunk-WS2N27RX.js +0 -3
  323. package/dist/chunk-YT52WLBF.js +0 -521
  324. package/dist/compliance-WJINB5DM.js +0 -6
  325. package/dist/config-schema-GUQY2QN7.js +0 -2
  326. package/dist/decision-loader-2XPZE4EZ.js +0 -2
  327. package/dist/dist-R3RWD35F.js +0 -2
  328. package/dist/dist-VXCZWVVJ.js +0 -2
  329. package/dist/doctor-QJ47XAUP.js +0 -2
  330. package/dist/init-HIBRSVUB.js +0 -2
  331. package/dist/list-5IUGP3ZB.js +0 -7
  332. package/dist/lore-loader-RVQI5GXL.js +0 -2
  333. package/dist/lore-loader-XY5MZRR2.js +0 -2
  334. package/dist/migrate-assessments-GEI5WMI2.js +0 -4
  335. package/dist/portal-check-Z3OCQEQR.js +0 -8
  336. package/dist/quiz-FE5UGAY2.js +0 -10
  337. package/dist/reindex-FO5VMZVQ.js +0 -2
  338. package/dist/serve-OY6XYL7F.js +0 -12
  339. package/dist/server-2MNROHF6.js +0 -7
  340. package/dist/session-tracker-MWJAJA6Z.js +0 -2
  341. package/dist/show-BOAVWZPZ.js +0 -7
  342. package/dist/status-A37ECYNJ.js +0 -6
  343. package/dist/sync-DLUBV5HQ.js +0 -2
  344. package/dist/team-NSP6PMPS.js +0 -2
  345. package/dist/tools-CERDNVCG.js +0 -2
  346. package/dist/university-content/courses/.purpose +0 -492
  347. package/dist/university-content/courses/para-001.json +0 -166
  348. package/dist/university-content/courses/para-101.json +0 -615
  349. package/dist/university-content/courses/para-201.json +0 -794
  350. package/dist/university-content/courses/para-301.json +0 -830
  351. package/dist/university-content/courses/para-401.json +0 -868
  352. package/dist/university-content/courses/para-501.json +0 -1166
  353. package/dist/university-content/courses/para-601.json +0 -719
  354. package/dist/university-content/courses/para-701.json +0 -807
  355. package/dist/university-content/plsat/.purpose +0 -162
  356. package/dist/university-content/plsat/v2.0.json +0 -760
  357. package/dist/university-content/plsat/v3.0.json +0 -3453
  358. package/dist/validate-C6SMKGYD.js +0 -9
  359. package/dist/workspace-MKSQN7B2.js +0 -2
  360. package/platform-ui/dist/assets/LoreSection-oO5dCe6O.js +0 -1
  361. /package/dist/{chunk-BV5PRPLB.js → chunk-IZSBGW6E.js} +0 -0
  362. /package/templates/paradigm/specs/{scan.md → probe.md} +0 -0
@@ -0,0 +1,66 @@
1
+ id: Q-para-501-advanced-workflows
2
+ title: 'PARA 501: Advanced Systems — The Complete Workflow'
3
+ description: 'Quiz for lesson: The Complete Workflow'
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: In the complete workflow, why does `paradigm_habits_check(preflight)` run BEFORE `paradigm_ripple` and `paradigm_wisdom_context`?
19
+ choices:
20
+ A: To block the session if discovery habits were violated in the previous session
21
+ B: To verify that the agent intends to call discovery tools — the habit check reminds and tracks, while the actual tools provide the context
22
+ C: Because habits must always run first regardless of workflow position
23
+ D: To generate the list of symbols that ripple and wisdom should check
24
+ E: The order does not matter — they can run in any sequence
25
+ correct: B
26
+ explanation: The preflight habits check evaluates whether discovery habits (ripple, navigate, wisdom) are being followed. It runs early to remind and track compliance. The actual MCP tools (ripple, wisdom_context) run after to provide the substantive context. The habit check is about behavioral discipline; the tools are about information gathering.
27
+ - id: q2
28
+ question: An agent implements a feature, updates .purpose files, but forgets to record lore before committing. The session modified 5 source files. What sequence of events occurs?
29
+ choices:
30
+ A: Pre-commit hook blocks the commit until lore is recorded
31
+ B: Stop hook blocks, citing missing lore entry → agent records lore → re-attempts commit → stop hook passes
32
+ C: Commit succeeds but the next session receives a warning about missing lore
33
+ D: The post-write hook retroactively creates a lore entry from tracked files
34
+ E: The commit succeeds — lore is enforced by habits, not hooks
35
+ correct: B
36
+ explanation: The stop hook checks for lore entries when 3+ source files were modified. With 5 files and no lore entry, it blocks. The agent must then call `paradigm_lore_record` with the session summary, and re-attempt the commit. The pre-commit hook only rebuilds the index — it doesn't check compliance. Lore enforcement lives in the stop hook.
37
+ - id: q3
38
+ question: How does Sentinel benefit from the Habits system?
39
+ choices:
40
+ A: Sentinel directly calls habit checks during incident recording
41
+ B: Practice profiles show correlations between skipped habits and incident rates, providing evidence for severity upgrades
42
+ C: Habits automatically resolve Sentinel incidents when compliance is high
43
+ D: Sentinel and Habits are independent systems with no interaction
44
+ E: Habits disable Sentinel checks when compliance is above 90%
45
+ correct: B
46
+ explanation: The feedback loop between Habits and Sentinel works through practice profiles. When an agent frequently skips `ripple-before-modify` and the symbols it touches have higher incident rates, the practice profile surfaces this correlation. This provides data-driven evidence to upgrade the habit's severity from advisory to warn or block — closing the loop between behavior and outcomes.
47
+ - id: q4
48
+ question: What is the relationship between Lore entries and Session checkpoints?
49
+ choices:
50
+ A: They are the same thing — checkpoints are stored as lore entries
51
+ B: Checkpoints are ephemeral (7-day expiry) for crash recovery; lore entries are permanent for institutional memory
52
+ C: Lore entries are auto-generated from checkpoints at session end
53
+ D: Checkpoints replace lore entries in Paradigm v2
54
+ E: Lore entries expire after 30 days; checkpoints are permanent
55
+ correct: B
56
+ explanation: 'Checkpoints and lore serve different purposes with different lifespans. Checkpoints are ephemeral snapshots for crash recovery — they expire after 7 days because their value is immediate continuity. Lore entries are permanent project history — they capture decisions, learnings, and context that remain valuable months or years later. You need both: checkpoints for resilience, lore for memory.'
57
+ - id: q5
58
+ question: A team's practice profile shows high compliance across all categories, yet incidents keep occurring in `#payment-service`. What system should they investigate?
59
+ choices:
60
+ A: Habits — add more habits targeting the payment service
61
+ B: Hooks — the stop hook might not be running for payment-related changes
62
+ C: Sentinel — check `paradigm_sentinel_patterns` and `paradigm_sentinel_stats` for the symbol to identify recurring failure patterns and resolution gaps
63
+ D: Lore — the payment service lore entries might be inaccurate
64
+ E: Session Intelligence — breadcrumbs might be losing payment context
65
+ correct: C
66
+ explanation: High habit compliance means the behavioral discipline is fine — agents are doing the right things. If incidents persist despite good practices, the issue is likely in the code or architecture, not the process. Sentinel's pattern analysis (`paradigm_sentinel_patterns`) can reveal if the same failure keeps recurring despite resolutions, and `paradigm_sentinel_stats` can show the symbol's incident rate and resolution effectiveness. The answer lives in the incident data, not the compliance data.
@@ -0,0 +1,66 @@
1
+ id: Q-para-501-aspect-graph-advanced
2
+ title: 'PARA 501: Advanced Systems — The Aspect Graph at Scale'
3
+ description: 'Quiz for lesson: The Aspect Graph at Scale'
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: How many built-in detectors does paradigm_aspect_suggest_scan use, and which of these is NOT one of them?
19
+ choices:
20
+ A: 8 built-in detectors; 'database schema' is not one of them
21
+ B: 6 built-in detectors; 'magic numbers' is not one of them
22
+ C: 8 built-in detectors; 'rate limits' IS one of them (trick question)
23
+ D: 10 built-in detectors; 'feature flags' is not one of them
24
+ E: 5 built-in detectors; 'environment checks' is not one of them
25
+ correct: A
26
+ explanation: 'paradigm_aspect_suggest_scan uses 8 built-in detectors: magic numbers, hardcoded strings, rate limits, time values, environment checks, feature flags, regex patterns, and assertion guards. ''Database schema'' is not among them. Custom detectors can be added via .paradigm/aspect-detectors.yaml to extend the detection system.'
27
+ - id: q2
28
+ question: 'You want to find all rules that enforce constraints on #payment-service through the aspect graph. Which query approach is most effective?'
29
+ choices:
30
+ A: 'paradigm_aspect_search({ query: ''payment rules'' }) to find them by text'
31
+ B: 'paradigm_aspect_graph({ symbol: ''#payment-service'', hops: 1 }) filtered by ''enforced-by'' edge relation'
32
+ C: 'paradigm_aspect_heatmap({ limit: 100 }) and manually scan for payment-related aspects'
33
+ D: 'paradigm_aspect_drift({ aspectId: ''#payment-service'' }) to find stale rules'
34
+ E: 'paradigm_ripple({ symbol: ''#payment-service'' }) without any graph filtering'
35
+ correct: B
36
+ explanation: An edge-filtered graph query at 1 hop with the 'enforced-by' relation is the most direct approach. It returns exactly the aspects that enforce rules on the target component. Search (A) finds by text, not by graph relationship. Heatmap (C) ranks by usage, not by target. Drift (D) checks anchor freshness, not relationships.
37
+ - id: q3
38
+ question: Your CI pipeline should fail when aspect anchors have drifted. Which command configuration achieves this?
39
+ choices:
40
+ A: paradigm doctor with no flags — drift is always a blocking error
41
+ B: paradigm doctor --strict — treats drifted anchors as errors that cause a non-zero exit code
42
+ C: paradigm scan --fix — automatically fixes drifted anchors
43
+ D: paradigm_aspect_drift with no arguments — checks all aspects and exits non-zero on drift
44
+ E: paradigm lint --strict — lint checks include drift detection
45
+ correct: B
46
+ explanation: paradigm doctor --strict treats warnings (including drifted anchors) as errors, producing a non-zero exit code that fails the CI step. Without --strict, drifted anchors are warnings that do not block. paradigm scan rebuilds the index but does not check drift. paradigm lint checks .purpose file structure, not anchor content hashes.
47
+ - id: q4
48
+ question: A new project's aspect search always falls to Tier 3 (fuzzy matching). How do you warm the learning system so common queries use Tier 1?
49
+ choices:
50
+ A: Manually edit the search_weights SQLite table to insert mappings
51
+ B: Run paradigm_reindex with a --warm-search flag
52
+ C: Run common queries with paradigm_aspect_search, then confirm the best results with paradigm_aspect_confirm for each query
53
+ D: Wait for 100+ searches to accumulate — Tier 1 learns automatically without confirmation
54
+ E: Set limits.searchLearningRate to a higher value in config.yaml
55
+ correct: C
56
+ explanation: The learning system requires explicit confirmation via paradigm_aspect_confirm. When you search for a term and confirm the best result, the confirmed aspect gets +1.0 weight for that query. After 3-5 confirmations, the weight exceeds the Tier 1 threshold and future queries return instantly. There is no automatic learning without confirmation — the system relies on user feedback to improve.
57
+ - id: q5
58
+ question: During a quarterly governance review, the heatmap shows that 30 aspects out of 120 have zero access across all types (search, ripple, navigate, direct). What does this indicate and what should you do?
59
+ choices:
60
+ A: These aspects are well-documented and need no changes — zero access means no issues
61
+ B: Delete all 30 immediately — unused aspects are always stale
62
+ C: These aspects may be stale, poorly named, or irrelevant — evaluate each for removal, renaming, or consolidation as part of the governance review
63
+ D: Increase their severity to 'critical' to force agents to access them
64
+ E: Move them to a separate 'archive' section in the .purpose files
65
+ correct: C
66
+ explanation: Zero-access aspects are candidates for review, not automatic deletion. Some may be legitimate but poorly named (rename to improve discoverability). Some may be truly stale with drifted anchors (remove or update). Some may have been superseded by newer aspects (consolidate with supersedes edges). The governance review evaluates each case individually.
@@ -0,0 +1,66 @@
1
+ id: Q-para-501-aspect-graph-internals
2
+ title: 'PARA 501: Advanced Systems — Aspect Graph Internals'
3
+ description: 'Quiz for lesson: Aspect Graph Internals'
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: What is the default maxDepth for recursive ripple in the aspect graph?
19
+ choices:
20
+ A: 3 — to keep traversals fast and focused
21
+ B: 5 — balancing depth of discovery with performance
22
+ C: 10 — the maximum allowed value
23
+ D: Unlimited — ripple traverses until minWeight is reached
24
+ E: 1 — only direct connections are followed by default
25
+ correct: B
26
+ explanation: The default maxDepth for recursive ripple is 5, with a maximum configurable value of 10. This default balances discovery depth with performance — at 5 hops, you see a meaningful neighborhood without traversing the entire graph. The minWeight threshold (default 0.1) provides additional pruning by cutting off low-confidence paths before they reach maxDepth.
27
+ - id: q2
28
+ question: What happens to search weights when a result is confirmed via paradigm_aspect_confirm?
29
+ choices:
30
+ A: The confirmed result gets +0.5 weight and all others are deleted
31
+ B: The confirmed result gets +1.0 weight and all other results for the same query decay by *0.95
32
+ C: All results for the query get +1.0 weight to reinforce the entire set
33
+ D: The confirmed result is permanently pinned and decay is disabled
34
+ E: The confirmed result replaces all other entries for that query
35
+ correct: B
36
+ explanation: The search learning system adds +1.0 to the confirmed result's weight for that query and multiplies all other existing results for the same query by 0.95 (a 5% decay). This self-correcting mechanism lets the best result rise to the top over time while alternatives gradually fade. The decay only applies to aspects that have existing search_weights entries for the query — it does not penalize unrelated aspects.
37
+ - id: q3
38
+ question: Which SQLite table stores aspect access frequency for the heatmap tool?
39
+ choices:
40
+ A: aspects — in an access_count column
41
+ B: edges — access frequency is tracked per edge
42
+ C: search_weights — all access types feed into search weights
43
+ D: heatmap — with columns for aspect_id, access_type, count, and last_accessed
44
+ E: anchors — access is tracked per anchor location
45
+ correct: D
46
+ explanation: The `heatmap` table stores aspect access frequency with columns for `aspect_id`, `access_type` (search, ripple, navigate, direct), `count`, and `last_accessed`. This dedicated table allows the `paradigm_aspect_heatmap` tool to rank aspects by usage frequency and break down how each aspect is typically discovered — whether through search, ripple analysis, navigation, or direct access.
47
+ - id: q4
48
+ question: What is the queue limit for recursive ripple BFS traversal?
49
+ choices:
50
+ A: 100 nodes — to keep memory usage minimal
51
+ B: 500 nodes — a balance between coverage and performance
52
+ C: 1000 nodes — preventing runaway traversals in dense graphs
53
+ D: Unlimited — the queue grows until maxDepth is reached
54
+ E: 10000 nodes — large enough for enterprise-scale graphs
55
+ correct: C
56
+ explanation: The BFS queue limit is 1000 nodes. This prevents runaway traversals in densely connected aspect graphs where the number of reachable nodes could grow exponentially with depth. When the queue exceeds 1000 entries, the oldest entries are dropped, ensuring the algorithm completes in bounded time and memory regardless of graph density.
57
+ - id: q5
58
+ question: How are aspect edges inferred from existing data during materialization?
59
+ choices:
60
+ A: By analyzing import statements in source code files
61
+ B: From applies-to references with weight 0.5 and origin 'inferred', and from shared lore references with origin 'learned'
62
+ C: By running static analysis on anchor code blocks
63
+ D: From git commit history showing which aspects changed together
64
+ E: Only explicit edges are created — no inference occurs
65
+ correct: B
66
+ explanation: The materialization pipeline creates inferred edges in two ways. First, `materializeAspects` generates edges from `applies-to` references with weight 0.5 and origin 'inferred' — when an aspect applies to a component, a relationship edge is created. Second, `inferLoreEdges` scans for aspects sharing lore references and creates edges with origin 'learned' and weight proportional to the overlap. These supplement explicit YAML edges to build a richer graph.
@@ -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.