create-egregore 0.20.2 → 0.21.0-runtime-mvp.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 (706) hide show
  1. package/assets/egregore-launcher.js +1013 -16
  2. package/bin/cli.js +11 -0
  3. package/lib/claude-runtime.js +192 -0
  4. package/lib/local.js +38 -31
  5. package/lib/pi-runtime.js +1 -0
  6. package/lib/prime-runtime.js +1 -0
  7. package/lib/runtime-identity.js +146 -0
  8. package/lib/setup.js +116 -17
  9. package/package.json +10 -6
  10. package/runtime/claude/.claude/context/commit-format.md +110 -0
  11. package/runtime/claude/.claude/context/git-language.md +46 -0
  12. package/runtime/claude/.claude/context/notification-consent.md +66 -0
  13. package/runtime/claude/.claude/context/pr-format.md +67 -0
  14. package/runtime/claude/.claude/context/telemetry.md +133 -0
  15. package/runtime/claude/.claude/hooks/boundary-check.sh +333 -0
  16. package/runtime/claude/.claude/hooks/branch-guard.sh +231 -0
  17. package/runtime/claude/.claude/hooks/card-context.sh +38 -0
  18. package/runtime/claude/.claude/hooks/emissary-detect.sh +53 -0
  19. package/runtime/claude/.claude/hooks/memory-refresh.sh +67 -0
  20. package/runtime/claude/.claude/hooks/onboarding-guard.sh +86 -0
  21. package/runtime/claude/.claude/hooks/retrieval-context.sh +43 -0
  22. package/runtime/claude/.claude/rules/voice-bedrock.md +73 -0
  23. package/runtime/claude/.claude/settings.json +131 -0
  24. package/runtime/claude/.claude/skills/activity/SKILL.md +68 -0
  25. package/runtime/claude/.claude/skills/announce/SKILL.md +54 -0
  26. package/runtime/claude/.claude/skills/archive/SKILL.md +71 -0
  27. package/runtime/claude/.claude/skills/branch/SKILL.md +147 -0
  28. package/runtime/claude/.claude/skills/checkup/SKILL.md +159 -0
  29. package/runtime/claude/.claude/skills/commit/SKILL.md +103 -0
  30. package/runtime/claude/.claude/skills/contribute/SKILL.md +343 -0
  31. package/runtime/claude/.claude/skills/create-skill/SKILL.md +135 -0
  32. package/runtime/claude/.claude/skills/dark-mode/SKILL.md +410 -0
  33. package/runtime/claude/.claude/skills/dashboard/SKILL.md +43 -0
  34. package/runtime/claude/.claude/skills/deep-reflect/REPORT.md +140 -0
  35. package/runtime/claude/.claude/skills/deep-reflect/RESEARCH.md +132 -0
  36. package/runtime/claude/.claude/skills/deep-reflect/ROLES.md +104 -0
  37. package/runtime/claude/.claude/skills/deep-reflect/SKILL.md +170 -0
  38. package/runtime/claude/.claude/skills/delete-user/SKILL.md +150 -0
  39. package/runtime/claude/.claude/skills/emissary/SKILL.md +220 -0
  40. package/runtime/claude/.claude/skills/handoff/SKILL.md +124 -0
  41. package/runtime/claude/.claude/skills/harvest/AUDIT.md +546 -0
  42. package/runtime/claude/.claude/skills/harvest/FORMAT.md +436 -0
  43. package/runtime/claude/.claude/skills/harvest/PROCESS.md +395 -0
  44. package/runtime/claude/.claude/skills/harvest/QUESTION_PALETTE.md +76 -0
  45. package/runtime/claude/.claude/skills/harvest/SKILL.md +100 -0
  46. package/runtime/claude/.claude/skills/ingest/SKILL.md +112 -0
  47. package/runtime/claude/.claude/skills/ingest-corpus/SKILL.md +187 -0
  48. package/runtime/claude/.claude/skills/ingest-notion/SKILL.md +214 -0
  49. package/runtime/claude/.claude/skills/ingest-user-interview/SKILL.md +65 -0
  50. package/runtime/claude/.claude/skills/ingest-user-interview/references/analysis-contract.md +125 -0
  51. package/runtime/claude/.claude/skills/invite/SKILL.md +111 -0
  52. package/runtime/claude/.claude/skills/issue/SKILL.md +104 -0
  53. package/runtime/claude/.claude/skills/me/SKILL.md +81 -0
  54. package/runtime/claude/.claude/skills/meeting/SKILL.md +76 -0
  55. package/runtime/claude/.claude/skills/meeting/references/analysis-contract.md +102 -0
  56. package/runtime/claude/.claude/skills/note/SKILL.md +71 -0
  57. package/runtime/claude/.claude/skills/notion-connect/SKILL.md +124 -0
  58. package/runtime/claude/.claude/skills/onboarding/SKILL.md +159 -0
  59. package/runtime/claude/.claude/skills/pr/SKILL.md +85 -0
  60. package/runtime/claude/.claude/skills/pull/SKILL.md +79 -0
  61. package/runtime/claude/.claude/skills/push/SKILL.md +47 -0
  62. package/runtime/claude/.claude/skills/quest/SKILL.md +121 -0
  63. package/runtime/claude/.claude/skills/reflect/SKILL.md +69 -0
  64. package/runtime/claude/.claude/skills/review-pr/SKILL.md +276 -0
  65. package/runtime/claude/.claude/skills/save/SKILL.md +92 -0
  66. package/runtime/claude/.claude/skills/slack-connect/SKILL.md +148 -0
  67. package/runtime/claude/.claude/skills/summon/SKILL.md +240 -0
  68. package/runtime/claude/.claude/skills/sync-repos/SKILL.md +82 -0
  69. package/runtime/claude/.claude/skills/teams-connect/SKILL.md +216 -0
  70. package/runtime/claude/.claude/skills/telegram-connect/SKILL.md +110 -0
  71. package/runtime/claude/.claude/skills/telemetry/SKILL.md +117 -0
  72. package/runtime/claude/.claude/skills/test/SKILL.md +87 -0
  73. package/runtime/claude/.claude/skills/the-spiral/SKILL.md +492 -0
  74. package/runtime/claude/.claude/skills/tui-design/SKILL.md +188 -0
  75. package/runtime/claude/.claude/skills/tutorial/SKILL.md +100 -0
  76. package/runtime/claude/.claude/skills/update/SKILL.md +265 -0
  77. package/runtime/claude/.claude/skills/view/SKILL.md +393 -0
  78. package/runtime/claude/.claude/skills/view/compose-scaffold.html +221 -0
  79. package/runtime/claude/.claude/skills/visual-explain/SKILL.md +132 -0
  80. package/runtime/claude/.claude/skills/wrap/SKILL.md +98 -0
  81. package/runtime/claude/CLAUDE.md +447 -0
  82. package/runtime/claude/bin/activity-action.sh +92 -0
  83. package/runtime/claude/bin/activity-data.sh +17 -0
  84. package/runtime/claude/bin/agent.sh +783 -0
  85. package/runtime/claude/bin/artifact-register.sh +164 -0
  86. package/runtime/claude/bin/artifact-writeback.sh +53 -0
  87. package/runtime/claude/bin/artifacts.sh +288 -0
  88. package/runtime/claude/bin/attendant.sh +707 -0
  89. package/runtime/claude/bin/autosave.sh +112 -0
  90. package/runtime/claude/bin/boundary.sh +253 -0
  91. package/runtime/claude/bin/build-sealed-dataroom.mjs +722 -0
  92. package/runtime/claude/bin/capture-reconcile.sh +69 -0
  93. package/runtime/claude/bin/capture-run.sh +357 -0
  94. package/runtime/claude/bin/codex-install-skills.sh +78 -0
  95. package/runtime/claude/bin/codex-render-spec.mjs +462 -0
  96. package/runtime/claude/bin/codex-session-start.sh +275 -0
  97. package/runtime/claude/bin/codex-skill-render.mjs +349 -0
  98. package/runtime/claude/bin/codex-sync-skills.sh +237 -0
  99. package/runtime/claude/bin/connect-refresh.sh +33 -0
  100. package/runtime/claude/bin/contribute-guard.sh +79 -0
  101. package/runtime/claude/bin/corpus_map.py +806 -0
  102. package/runtime/claude/bin/corpus_survey.py +304 -0
  103. package/runtime/claude/bin/dashboard-data.sh +18 -0
  104. package/runtime/claude/bin/github-auth.sh +121 -0
  105. package/runtime/claude/bin/graph-batch.sh +86 -0
  106. package/runtime/claude/bin/graph-op.sh +1106 -0
  107. package/runtime/claude/bin/graph-projection.sh +54 -0
  108. package/runtime/claude/bin/graph-wal.sh +242 -0
  109. package/runtime/claude/bin/graph.sh +267 -0
  110. package/runtime/claude/bin/handoff-lifecycle-job.sh +146 -0
  111. package/runtime/claude/bin/handoff-lifecycle.sh +280 -0
  112. package/runtime/claude/bin/handoff-pr-backfill.sh +86 -0
  113. package/runtime/claude/bin/handoff-preview.sh +169 -0
  114. package/runtime/claude/bin/handoff-run.sh +692 -0
  115. package/runtime/claude/bin/handoff-save-egregore.sh +224 -0
  116. package/runtime/claude/bin/index-handoff.sh +322 -0
  117. package/runtime/claude/bin/ingest-graph.sh +86 -0
  118. package/runtime/claude/bin/ingest-item.sh +10 -0
  119. package/runtime/claude/bin/ingest-surface.html +495 -0
  120. package/runtime/claude/bin/ingest.py +1011 -0
  121. package/runtime/claude/bin/ingest.sh +308 -0
  122. package/runtime/claude/bin/ingest_graph.py +856 -0
  123. package/runtime/claude/bin/ingest_surface.py +544 -0
  124. package/runtime/claude/bin/invite.sh +6 -0
  125. package/runtime/claude/bin/issue.sh +10 -0
  126. package/runtime/claude/bin/knowledge.sh +10 -0
  127. package/runtime/claude/bin/lib/artifact-id.sh +46 -0
  128. package/runtime/claude/bin/lib/config.sh +136 -0
  129. package/runtime/claude/bin/lib/context.sh +642 -0
  130. package/runtime/claude/bin/lib/dashboard-artifact.sh +242 -0
  131. package/runtime/claude/bin/lib/ensure-develop.sh +183 -0
  132. package/runtime/claude/bin/lib/git-message.sh +37 -0
  133. package/runtime/claude/bin/lib/git-sync.sh +494 -0
  134. package/runtime/claude/bin/lib/greeting.sh +548 -0
  135. package/runtime/claude/bin/lib/handoff-meta.sh +97 -0
  136. package/runtime/claude/bin/lib/hash.sh +13 -0
  137. package/runtime/claude/bin/lib/identity.sh +213 -0
  138. package/runtime/claude/bin/lib/metrics.sh +374 -0
  139. package/runtime/claude/bin/lib/noncode.sh +31 -0
  140. package/runtime/claude/bin/lib/permissions.sh +106 -0
  141. package/runtime/claude/bin/lib/time.sh +56 -0
  142. package/runtime/claude/bin/lib/worktree-links.sh +85 -0
  143. package/runtime/claude/bin/node-run.sh +42 -0
  144. package/runtime/claude/bin/notification.sh +6 -0
  145. package/runtime/claude/bin/notify.sh +636 -0
  146. package/runtime/claude/bin/observe-context.sh +14 -0
  147. package/runtime/claude/bin/onboarding.sh +6 -0
  148. package/runtime/claude/bin/person.py +634 -0
  149. package/runtime/claude/bin/person.sh +481 -0
  150. package/runtime/claude/bin/pi-render-spec.mjs +140 -0
  151. package/runtime/claude/bin/post-update.sh +37 -0
  152. package/runtime/claude/bin/prime-render-spec.mjs +147 -0
  153. package/runtime/claude/bin/publish-artifact.sh +324 -0
  154. package/runtime/claude/bin/publish-references.sh +144 -0
  155. package/runtime/claude/bin/quest.sh +9 -0
  156. package/runtime/claude/bin/question.sh +8 -0
  157. package/runtime/claude/bin/repo-state.sh +96 -0
  158. package/runtime/claude/bin/research-ingest.sh +7 -0
  159. package/runtime/claude/bin/restore-owned-skills.sh +67 -0
  160. package/runtime/claude/bin/retrieval_eval.py +385 -0
  161. package/runtime/claude/bin/runtime-identity.sh +70 -0
  162. package/runtime/claude/bin/runtime-upgrade.sh +43 -0
  163. package/runtime/claude/bin/scroll.sh +9 -0
  164. package/runtime/claude/bin/search.sh +318 -0
  165. package/runtime/claude/bin/session-autosave.sh +220 -0
  166. package/runtime/claude/bin/session-log.sh +199 -0
  167. package/runtime/claude/bin/session-start.sh +696 -0
  168. package/runtime/claude/bin/settings.sh +532 -0
  169. package/runtime/claude/bin/startup-check.sh +136 -0
  170. package/runtime/claude/bin/statusline.sh +41 -0
  171. package/runtime/claude/bin/telemetry.sh +666 -0
  172. package/runtime/claude/bin/test-changes.sh +344 -0
  173. package/runtime/claude/bin/thread.sh +9 -0
  174. package/runtime/claude/bin/todo.sh +9 -0
  175. package/runtime/claude/bin/view-render.sh +126 -0
  176. package/runtime/claude/bin/worktree-create.sh +145 -0
  177. package/runtime/claude/bin/worktree-remove.sh +50 -0
  178. package/runtime/claude/bin/worktree.sh +198 -0
  179. package/runtime/claude/egregore_runtime/__init__.py +228 -0
  180. package/runtime/claude/egregore_runtime/adapters/__init__.py +5 -0
  181. package/runtime/claude/egregore_runtime/adapters/invitation.py +237 -0
  182. package/runtime/claude/egregore_runtime/adapters/notification.py +59 -0
  183. package/runtime/claude/egregore_runtime/adapters/qmd.py +1701 -0
  184. package/runtime/claude/egregore_runtime/adapters/qmd_cli.py +210 -0
  185. package/runtime/claude/egregore_runtime/adapters/qmd_embed_worker.py +59 -0
  186. package/runtime/claude/egregore_runtime/admin_gate.py +102 -0
  187. package/runtime/claude/egregore_runtime/artifacts.py +523 -0
  188. package/runtime/claude/egregore_runtime/contracts.py +499 -0
  189. package/runtime/claude/egregore_runtime/entitlements.py +85 -0
  190. package/runtime/claude/egregore_runtime/errors.py +10 -0
  191. package/runtime/claude/egregore_runtime/graph.py +356 -0
  192. package/runtime/claude/egregore_runtime/handoff_lookup.py +196 -0
  193. package/runtime/claude/egregore_runtime/harness_cli.py +1221 -0
  194. package/runtime/claude/egregore_runtime/identity.py +734 -0
  195. package/runtime/claude/egregore_runtime/identity_cli.py +91 -0
  196. package/runtime/claude/egregore_runtime/ingest.py +575 -0
  197. package/runtime/claude/egregore_runtime/ingest_cli.py +254 -0
  198. package/runtime/claude/egregore_runtime/ingest_index_cli.py +147 -0
  199. package/runtime/claude/egregore_runtime/invitation_cli.py +51 -0
  200. package/runtime/claude/egregore_runtime/invitations.py +116 -0
  201. package/runtime/claude/egregore_runtime/issue_cli.py +305 -0
  202. package/runtime/claude/egregore_runtime/issues.py +359 -0
  203. package/runtime/claude/egregore_runtime/knowledge.py +376 -0
  204. package/runtime/claude/egregore_runtime/knowledge_cli.py +173 -0
  205. package/runtime/claude/egregore_runtime/lifecycle.py +888 -0
  206. package/runtime/claude/egregore_runtime/lifecycle_cli.py +269 -0
  207. package/runtime/claude/egregore_runtime/notification_cli.py +125 -0
  208. package/runtime/claude/egregore_runtime/notifications.py +230 -0
  209. package/runtime/claude/egregore_runtime/observe.py +342 -0
  210. package/runtime/claude/egregore_runtime/onboarding.py +290 -0
  211. package/runtime/claude/egregore_runtime/onboarding_cli.py +110 -0
  212. package/runtime/claude/egregore_runtime/policy.py +144 -0
  213. package/runtime/claude/egregore_runtime/profile.py +193 -0
  214. package/runtime/claude/egregore_runtime/quest_cli.py +216 -0
  215. package/runtime/claude/egregore_runtime/question_cli.py +180 -0
  216. package/runtime/claude/egregore_runtime/questions.py +304 -0
  217. package/runtime/claude/egregore_runtime/quests.py +419 -0
  218. package/runtime/claude/egregore_runtime/readiness.py +379 -0
  219. package/runtime/claude/egregore_runtime/research_ingest.py +256 -0
  220. package/runtime/claude/egregore_runtime/research_ingest_cli.py +44 -0
  221. package/runtime/claude/egregore_runtime/runtime.py +464 -0
  222. package/runtime/claude/egregore_runtime/scroll_cli.py +185 -0
  223. package/runtime/claude/egregore_runtime/scrolls.py +726 -0
  224. package/runtime/claude/egregore_runtime/status.py +412 -0
  225. package/runtime/claude/egregore_runtime/status_cli.py +174 -0
  226. package/runtime/claude/egregore_runtime/sync.py +218 -0
  227. package/runtime/claude/egregore_runtime/teamsync.py +139 -0
  228. package/runtime/claude/egregore_runtime/telemetry.py +640 -0
  229. package/runtime/claude/egregore_runtime/thread_cli.py +173 -0
  230. package/runtime/claude/egregore_runtime/threads.py +517 -0
  231. package/runtime/claude/egregore_runtime/todo_cli.py +142 -0
  232. package/runtime/claude/egregore_runtime/todos.py +244 -0
  233. package/runtime/claude/egregore_runtime/upgrade.py +770 -0
  234. package/runtime/claude/egregore_runtime/upgrade_worker.py +53 -0
  235. package/runtime/claude/egregore_runtime/writeback.py +391 -0
  236. package/runtime/claude/egregore_runtime/writeback_cli.py +114 -0
  237. package/runtime/claude/manifest.json +284 -0
  238. package/runtime/codex/.codex/hooks/search-hint.js +21 -52
  239. package/runtime/codex/.codex/hooks.json +3 -3
  240. package/runtime/codex/.codex/skills/activity/SKILL.md +23 -66
  241. package/runtime/codex/.codex/skills/announce/SKILL.md +27 -50
  242. package/runtime/codex/.codex/skills/archive/SKILL.md +21 -36
  243. package/runtime/codex/.codex/skills/checkup/SKILL.md +77 -36
  244. package/runtime/codex/.codex/skills/dark-mode/SKILL.md +1 -1
  245. package/runtime/codex/.codex/skills/dashboard/SKILL.md +17 -47
  246. package/runtime/codex/.codex/skills/handoff/SKILL.md +84 -133
  247. package/runtime/codex/.codex/skills/harvest/SKILL.md +32 -117
  248. package/runtime/codex/.codex/skills/ingest/SKILL.md +47 -25
  249. package/runtime/codex/.codex/skills/ingest-user-interview/SKILL.md +18 -36
  250. package/runtime/codex/.codex/skills/ingest-user-interview/references/analysis-contract.md +42 -0
  251. package/runtime/codex/.codex/skills/invite/SKILL.md +21 -35
  252. package/runtime/codex/.codex/skills/issue/SKILL.md +60 -41
  253. package/runtime/codex/.codex/skills/me/SKILL.md +1 -1
  254. package/runtime/codex/.codex/skills/meeting/SKILL.md +16 -36
  255. package/runtime/codex/.codex/skills/meeting/references/analysis-contract.md +48 -0
  256. package/runtime/codex/.codex/skills/note/SKILL.md +30 -25
  257. package/runtime/codex/.codex/skills/onboarding/SKILL.md +36 -41
  258. package/runtime/codex/.codex/skills/pull/SKILL.md +1 -1
  259. package/runtime/codex/.codex/skills/quest/SKILL.md +27 -66
  260. package/runtime/codex/.codex/skills/reflect/SKILL.md +22 -36
  261. package/runtime/codex/.codex/skills/save/SKILL.md +2 -2
  262. package/runtime/codex/.codex/skills/telemetry/SKILL.md +1 -1
  263. package/runtime/codex/.codex/skills/test/SKILL.md +1 -1
  264. package/runtime/codex/.codex/skills/tutorial/SKILL.md +40 -41
  265. package/runtime/codex/.codex/skills/view/SKILL.md +115 -111
  266. package/runtime/codex/.codex/skills/wrap/SKILL.md +45 -41
  267. package/runtime/codex/.codex/spec-manifest.json +9 -9
  268. package/runtime/codex/AGENTS.md +62 -58
  269. package/runtime/codex/bin/activity-action.sh +92 -0
  270. package/runtime/codex/bin/activity-data.sh +12 -233
  271. package/runtime/codex/bin/agent.sh +84 -100
  272. package/runtime/codex/bin/artifact-register.sh +164 -0
  273. package/runtime/codex/bin/artifact-writeback.sh +53 -0
  274. package/runtime/codex/bin/artifacts.sh +288 -0
  275. package/runtime/codex/bin/build-sealed-dataroom.mjs +722 -0
  276. package/runtime/codex/bin/capture-run.sh +18 -2
  277. package/runtime/codex/bin/codex-render-spec.mjs +41 -16
  278. package/runtime/codex/bin/codex-session-start.sh +14 -4
  279. package/runtime/codex/bin/codex-skill-render.mjs +9 -7
  280. package/runtime/codex/bin/corpus_map.py +806 -0
  281. package/runtime/codex/bin/corpus_survey.py +304 -0
  282. package/runtime/codex/bin/dashboard-data.sh +11 -171
  283. package/runtime/codex/bin/github-auth.sh +121 -0
  284. package/runtime/codex/bin/graph-batch.sh +7 -0
  285. package/runtime/codex/bin/graph-op.sh +4 -0
  286. package/runtime/codex/bin/graph-projection.sh +54 -0
  287. package/runtime/codex/bin/graph-wal.sh +13 -0
  288. package/runtime/codex/bin/graph.sh +44 -0
  289. package/runtime/codex/bin/handoff-lifecycle-job.sh +146 -0
  290. package/runtime/codex/bin/handoff-lifecycle.sh +280 -0
  291. package/runtime/codex/bin/handoff-preview.sh +169 -0
  292. package/runtime/codex/bin/handoff-run.sh +42 -26
  293. package/runtime/codex/bin/ingest-graph.sh +6 -0
  294. package/runtime/codex/bin/ingest-item.sh +10 -0
  295. package/runtime/codex/bin/ingest.sh +59 -30
  296. package/runtime/codex/bin/invite.sh +6 -0
  297. package/runtime/codex/bin/issue.sh +10 -0
  298. package/runtime/codex/bin/knowledge.sh +10 -0
  299. package/runtime/codex/bin/lib/config.sh +20 -0
  300. package/runtime/codex/bin/lib/context.sh +46 -25
  301. package/runtime/codex/bin/lib/git-sync.sh +70 -6
  302. package/runtime/codex/bin/lib/greeting.sh +34 -5
  303. package/runtime/codex/bin/lib/handoff-meta.sh +97 -0
  304. package/runtime/codex/bin/lib/worktree-links.sh +6 -0
  305. package/runtime/codex/bin/node-run.sh +42 -0
  306. package/runtime/codex/bin/notification.sh +6 -0
  307. package/runtime/codex/bin/observe-context.sh +14 -0
  308. package/runtime/codex/bin/onboarding.sh +6 -0
  309. package/runtime/codex/bin/person.py +4 -0
  310. package/runtime/codex/bin/person.sh +43 -10
  311. package/runtime/codex/bin/pi-render-spec.mjs +140 -0
  312. package/runtime/codex/bin/post-update.sh +37 -0
  313. package/runtime/codex/bin/prime-render-spec.mjs +147 -0
  314. package/runtime/codex/bin/publish-artifact.sh +55 -2
  315. package/runtime/codex/bin/quest.sh +9 -0
  316. package/runtime/codex/bin/question.sh +8 -0
  317. package/runtime/codex/bin/research-ingest.sh +7 -0
  318. package/runtime/codex/bin/restore-owned-skills.sh +67 -0
  319. package/runtime/codex/bin/retrieval_eval.py +385 -0
  320. package/runtime/codex/bin/runtime-identity.sh +70 -0
  321. package/runtime/codex/bin/runtime-upgrade.sh +43 -0
  322. package/runtime/codex/bin/scroll.sh +9 -0
  323. package/runtime/codex/bin/search.sh +231 -195
  324. package/runtime/codex/bin/settings.sh +174 -5
  325. package/runtime/codex/bin/startup-check.sh +136 -0
  326. package/runtime/codex/bin/telemetry.sh +522 -247
  327. package/runtime/codex/bin/test-changes.sh +344 -0
  328. package/runtime/codex/bin/thread.sh +9 -0
  329. package/runtime/codex/bin/todo.sh +9 -0
  330. package/runtime/codex/bin/view-render.sh +126 -0
  331. package/runtime/codex/bin/worktree-create.sh +19 -5
  332. package/runtime/codex/egregore_runtime/__init__.py +228 -0
  333. package/runtime/codex/egregore_runtime/adapters/__init__.py +5 -0
  334. package/runtime/codex/egregore_runtime/adapters/invitation.py +237 -0
  335. package/runtime/codex/egregore_runtime/adapters/notification.py +59 -0
  336. package/runtime/codex/egregore_runtime/adapters/qmd.py +1701 -0
  337. package/runtime/codex/egregore_runtime/adapters/qmd_cli.py +210 -0
  338. package/runtime/codex/egregore_runtime/adapters/qmd_embed_worker.py +59 -0
  339. package/runtime/codex/egregore_runtime/admin_gate.py +102 -0
  340. package/runtime/codex/egregore_runtime/artifacts.py +523 -0
  341. package/runtime/codex/egregore_runtime/contracts.py +499 -0
  342. package/runtime/codex/egregore_runtime/entitlements.py +85 -0
  343. package/runtime/codex/egregore_runtime/errors.py +10 -0
  344. package/runtime/codex/egregore_runtime/graph.py +356 -0
  345. package/runtime/codex/egregore_runtime/handoff_lookup.py +196 -0
  346. package/runtime/codex/egregore_runtime/harness_cli.py +1221 -0
  347. package/runtime/codex/egregore_runtime/identity.py +734 -0
  348. package/runtime/codex/egregore_runtime/identity_cli.py +91 -0
  349. package/runtime/codex/egregore_runtime/ingest.py +575 -0
  350. package/runtime/codex/egregore_runtime/ingest_cli.py +254 -0
  351. package/runtime/codex/egregore_runtime/ingest_index_cli.py +147 -0
  352. package/runtime/codex/egregore_runtime/invitation_cli.py +51 -0
  353. package/runtime/codex/egregore_runtime/invitations.py +116 -0
  354. package/runtime/codex/egregore_runtime/issue_cli.py +305 -0
  355. package/runtime/codex/egregore_runtime/issues.py +359 -0
  356. package/runtime/codex/egregore_runtime/knowledge.py +376 -0
  357. package/runtime/codex/egregore_runtime/knowledge_cli.py +173 -0
  358. package/runtime/codex/egregore_runtime/lifecycle.py +888 -0
  359. package/runtime/codex/egregore_runtime/lifecycle_cli.py +269 -0
  360. package/runtime/codex/egregore_runtime/notification_cli.py +125 -0
  361. package/runtime/codex/egregore_runtime/notifications.py +230 -0
  362. package/runtime/codex/egregore_runtime/observe.py +342 -0
  363. package/runtime/codex/egregore_runtime/onboarding.py +290 -0
  364. package/runtime/codex/egregore_runtime/onboarding_cli.py +110 -0
  365. package/runtime/codex/egregore_runtime/policy.py +144 -0
  366. package/runtime/codex/egregore_runtime/profile.py +193 -0
  367. package/runtime/codex/egregore_runtime/quest_cli.py +216 -0
  368. package/runtime/codex/egregore_runtime/question_cli.py +180 -0
  369. package/runtime/codex/egregore_runtime/questions.py +304 -0
  370. package/runtime/codex/egregore_runtime/quests.py +419 -0
  371. package/runtime/codex/egregore_runtime/readiness.py +379 -0
  372. package/runtime/codex/egregore_runtime/research_ingest.py +256 -0
  373. package/runtime/codex/egregore_runtime/research_ingest_cli.py +44 -0
  374. package/runtime/codex/egregore_runtime/runtime.py +464 -0
  375. package/runtime/codex/egregore_runtime/scroll_cli.py +185 -0
  376. package/runtime/codex/egregore_runtime/scrolls.py +726 -0
  377. package/runtime/codex/egregore_runtime/status.py +412 -0
  378. package/runtime/codex/egregore_runtime/status_cli.py +174 -0
  379. package/runtime/codex/egregore_runtime/sync.py +218 -0
  380. package/runtime/codex/egregore_runtime/teamsync.py +139 -0
  381. package/runtime/codex/egregore_runtime/telemetry.py +640 -0
  382. package/runtime/codex/egregore_runtime/thread_cli.py +173 -0
  383. package/runtime/codex/egregore_runtime/threads.py +517 -0
  384. package/runtime/codex/egregore_runtime/todo_cli.py +142 -0
  385. package/runtime/codex/egregore_runtime/todos.py +244 -0
  386. package/runtime/codex/egregore_runtime/upgrade.py +770 -0
  387. package/runtime/codex/egregore_runtime/upgrade_worker.py +53 -0
  388. package/runtime/codex/egregore_runtime/writeback.py +391 -0
  389. package/runtime/codex/egregore_runtime/writeback_cli.py +114 -0
  390. package/runtime/codex/manifest.json +98 -1
  391. package/runtime/pi/.codex/hooks/search-hint.js +21 -52
  392. package/runtime/pi/.codex/hooks.json +3 -3
  393. package/runtime/pi/.codex/skills/activity/SKILL.md +23 -66
  394. package/runtime/pi/.codex/skills/announce/SKILL.md +27 -50
  395. package/runtime/pi/.codex/skills/archive/SKILL.md +21 -36
  396. package/runtime/pi/.codex/skills/checkup/SKILL.md +77 -36
  397. package/runtime/pi/.codex/skills/dark-mode/SKILL.md +1 -1
  398. package/runtime/pi/.codex/skills/dashboard/SKILL.md +17 -47
  399. package/runtime/pi/.codex/skills/handoff/SKILL.md +84 -133
  400. package/runtime/pi/.codex/skills/harvest/SKILL.md +32 -117
  401. package/runtime/pi/.codex/skills/ingest/SKILL.md +47 -25
  402. package/runtime/pi/.codex/skills/ingest-user-interview/SKILL.md +18 -36
  403. package/runtime/pi/.codex/skills/ingest-user-interview/references/analysis-contract.md +42 -0
  404. package/runtime/pi/.codex/skills/invite/SKILL.md +21 -35
  405. package/runtime/pi/.codex/skills/issue/SKILL.md +60 -41
  406. package/runtime/pi/.codex/skills/me/SKILL.md +1 -1
  407. package/runtime/pi/.codex/skills/meeting/SKILL.md +16 -36
  408. package/runtime/pi/.codex/skills/meeting/references/analysis-contract.md +48 -0
  409. package/runtime/pi/.codex/skills/note/SKILL.md +30 -25
  410. package/runtime/pi/.codex/skills/onboarding/SKILL.md +36 -41
  411. package/runtime/pi/.codex/skills/pull/SKILL.md +1 -1
  412. package/runtime/pi/.codex/skills/quest/SKILL.md +27 -66
  413. package/runtime/pi/.codex/skills/reflect/SKILL.md +22 -36
  414. package/runtime/pi/.codex/skills/save/SKILL.md +2 -2
  415. package/runtime/pi/.codex/skills/telemetry/SKILL.md +1 -1
  416. package/runtime/pi/.codex/skills/test/SKILL.md +1 -1
  417. package/runtime/pi/.codex/skills/tutorial/SKILL.md +40 -41
  418. package/runtime/pi/.codex/skills/view/SKILL.md +115 -111
  419. package/runtime/pi/.codex/skills/wrap/SKILL.md +45 -41
  420. package/runtime/pi/.codex/spec-manifest.json +9 -9
  421. package/runtime/pi/.pi/APPEND_SYSTEM.md +57 -48
  422. package/runtime/pi/.pi/extensions/egregore.ts +7 -0
  423. package/runtime/pi/.pi/spec-manifest.json +2 -2
  424. package/runtime/pi/AGENTS.md +62 -58
  425. package/runtime/pi/bin/activity-action.sh +92 -0
  426. package/runtime/pi/bin/activity-data.sh +12 -233
  427. package/runtime/pi/bin/agent.sh +84 -100
  428. package/runtime/pi/bin/artifact-register.sh +164 -0
  429. package/runtime/pi/bin/artifact-writeback.sh +53 -0
  430. package/runtime/pi/bin/artifacts.sh +288 -0
  431. package/runtime/pi/bin/build-sealed-dataroom.mjs +722 -0
  432. package/runtime/pi/bin/capture-run.sh +18 -2
  433. package/runtime/pi/bin/codex-render-spec.mjs +41 -16
  434. package/runtime/pi/bin/codex-session-start.sh +14 -4
  435. package/runtime/pi/bin/codex-skill-render.mjs +9 -7
  436. package/runtime/pi/bin/corpus_map.py +806 -0
  437. package/runtime/pi/bin/corpus_survey.py +304 -0
  438. package/runtime/pi/bin/dashboard-data.sh +11 -171
  439. package/runtime/pi/bin/github-auth.sh +121 -0
  440. package/runtime/pi/bin/graph-batch.sh +7 -0
  441. package/runtime/pi/bin/graph-op.sh +4 -0
  442. package/runtime/pi/bin/graph-projection.sh +54 -0
  443. package/runtime/pi/bin/graph-wal.sh +13 -0
  444. package/runtime/pi/bin/graph.sh +44 -0
  445. package/runtime/pi/bin/handoff-lifecycle-job.sh +146 -0
  446. package/runtime/pi/bin/handoff-lifecycle.sh +280 -0
  447. package/runtime/pi/bin/handoff-preview.sh +169 -0
  448. package/runtime/pi/bin/handoff-run.sh +42 -26
  449. package/runtime/pi/bin/ingest-graph.sh +6 -0
  450. package/runtime/pi/bin/ingest-item.sh +10 -0
  451. package/runtime/pi/bin/ingest.sh +59 -30
  452. package/runtime/pi/bin/invite.sh +6 -0
  453. package/runtime/pi/bin/issue.sh +10 -0
  454. package/runtime/pi/bin/knowledge.sh +10 -0
  455. package/runtime/pi/bin/lib/config.sh +20 -0
  456. package/runtime/pi/bin/lib/context.sh +46 -25
  457. package/runtime/pi/bin/lib/git-sync.sh +70 -6
  458. package/runtime/pi/bin/lib/greeting.sh +34 -5
  459. package/runtime/pi/bin/lib/handoff-meta.sh +97 -0
  460. package/runtime/pi/bin/lib/worktree-links.sh +6 -0
  461. package/runtime/pi/bin/node-run.sh +42 -0
  462. package/runtime/pi/bin/notification.sh +6 -0
  463. package/runtime/pi/bin/observe-context.sh +14 -0
  464. package/runtime/pi/bin/onboarding.sh +6 -0
  465. package/runtime/pi/bin/person.py +4 -0
  466. package/runtime/pi/bin/person.sh +43 -10
  467. package/runtime/pi/bin/pi-observe-context.mjs +93 -0
  468. package/runtime/pi/bin/pi-product-workflows.mjs +1 -1
  469. package/runtime/pi/bin/pi-render-spec.mjs +1 -1
  470. package/runtime/pi/bin/post-update.sh +37 -0
  471. package/runtime/pi/bin/prime-render-spec.mjs +147 -0
  472. package/runtime/pi/bin/publish-artifact.sh +55 -2
  473. package/runtime/pi/bin/quest.sh +9 -0
  474. package/runtime/pi/bin/question.sh +8 -0
  475. package/runtime/pi/bin/research-ingest.sh +7 -0
  476. package/runtime/pi/bin/restore-owned-skills.sh +67 -0
  477. package/runtime/pi/bin/retrieval_eval.py +385 -0
  478. package/runtime/pi/bin/runtime-identity.sh +70 -0
  479. package/runtime/pi/bin/runtime-upgrade.sh +43 -0
  480. package/runtime/pi/bin/scroll.sh +9 -0
  481. package/runtime/pi/bin/search.sh +231 -195
  482. package/runtime/pi/bin/settings.sh +174 -5
  483. package/runtime/pi/bin/startup-check.sh +136 -0
  484. package/runtime/pi/bin/telemetry.sh +522 -247
  485. package/runtime/pi/bin/test-changes.sh +344 -0
  486. package/runtime/pi/bin/thread.sh +9 -0
  487. package/runtime/pi/bin/todo.sh +9 -0
  488. package/runtime/pi/bin/view-render.sh +126 -0
  489. package/runtime/pi/bin/worktree-create.sh +19 -5
  490. package/runtime/pi/egregore_runtime/__init__.py +228 -0
  491. package/runtime/pi/egregore_runtime/adapters/__init__.py +5 -0
  492. package/runtime/pi/egregore_runtime/adapters/invitation.py +237 -0
  493. package/runtime/pi/egregore_runtime/adapters/notification.py +59 -0
  494. package/runtime/pi/egregore_runtime/adapters/qmd.py +1701 -0
  495. package/runtime/pi/egregore_runtime/adapters/qmd_cli.py +210 -0
  496. package/runtime/pi/egregore_runtime/adapters/qmd_embed_worker.py +59 -0
  497. package/runtime/pi/egregore_runtime/admin_gate.py +102 -0
  498. package/runtime/pi/egregore_runtime/artifacts.py +523 -0
  499. package/runtime/pi/egregore_runtime/contracts.py +499 -0
  500. package/runtime/pi/egregore_runtime/entitlements.py +85 -0
  501. package/runtime/pi/egregore_runtime/errors.py +10 -0
  502. package/runtime/pi/egregore_runtime/graph.py +356 -0
  503. package/runtime/pi/egregore_runtime/handoff_lookup.py +196 -0
  504. package/runtime/pi/egregore_runtime/harness_cli.py +1221 -0
  505. package/runtime/pi/egregore_runtime/identity.py +734 -0
  506. package/runtime/pi/egregore_runtime/identity_cli.py +91 -0
  507. package/runtime/pi/egregore_runtime/ingest.py +575 -0
  508. package/runtime/pi/egregore_runtime/ingest_cli.py +254 -0
  509. package/runtime/pi/egregore_runtime/ingest_index_cli.py +147 -0
  510. package/runtime/pi/egregore_runtime/invitation_cli.py +51 -0
  511. package/runtime/pi/egregore_runtime/invitations.py +116 -0
  512. package/runtime/pi/egregore_runtime/issue_cli.py +305 -0
  513. package/runtime/pi/egregore_runtime/issues.py +359 -0
  514. package/runtime/pi/egregore_runtime/knowledge.py +376 -0
  515. package/runtime/pi/egregore_runtime/knowledge_cli.py +173 -0
  516. package/runtime/pi/egregore_runtime/lifecycle.py +888 -0
  517. package/runtime/pi/egregore_runtime/lifecycle_cli.py +269 -0
  518. package/runtime/pi/egregore_runtime/notification_cli.py +125 -0
  519. package/runtime/pi/egregore_runtime/notifications.py +230 -0
  520. package/runtime/pi/egregore_runtime/observe.py +342 -0
  521. package/runtime/pi/egregore_runtime/onboarding.py +290 -0
  522. package/runtime/pi/egregore_runtime/onboarding_cli.py +110 -0
  523. package/runtime/pi/egregore_runtime/policy.py +144 -0
  524. package/runtime/pi/egregore_runtime/profile.py +193 -0
  525. package/runtime/pi/egregore_runtime/quest_cli.py +216 -0
  526. package/runtime/pi/egregore_runtime/question_cli.py +180 -0
  527. package/runtime/pi/egregore_runtime/questions.py +304 -0
  528. package/runtime/pi/egregore_runtime/quests.py +419 -0
  529. package/runtime/pi/egregore_runtime/readiness.py +379 -0
  530. package/runtime/pi/egregore_runtime/research_ingest.py +256 -0
  531. package/runtime/pi/egregore_runtime/research_ingest_cli.py +44 -0
  532. package/runtime/pi/egregore_runtime/runtime.py +464 -0
  533. package/runtime/pi/egregore_runtime/scroll_cli.py +185 -0
  534. package/runtime/pi/egregore_runtime/scrolls.py +726 -0
  535. package/runtime/pi/egregore_runtime/status.py +412 -0
  536. package/runtime/pi/egregore_runtime/status_cli.py +174 -0
  537. package/runtime/pi/egregore_runtime/sync.py +218 -0
  538. package/runtime/pi/egregore_runtime/teamsync.py +139 -0
  539. package/runtime/pi/egregore_runtime/telemetry.py +640 -0
  540. package/runtime/pi/egregore_runtime/thread_cli.py +173 -0
  541. package/runtime/pi/egregore_runtime/threads.py +517 -0
  542. package/runtime/pi/egregore_runtime/todo_cli.py +142 -0
  543. package/runtime/pi/egregore_runtime/todos.py +244 -0
  544. package/runtime/pi/egregore_runtime/upgrade.py +770 -0
  545. package/runtime/pi/egregore_runtime/upgrade_worker.py +53 -0
  546. package/runtime/pi/egregore_runtime/writeback.py +391 -0
  547. package/runtime/pi/egregore_runtime/writeback_cli.py +114 -0
  548. package/runtime/pi/manifest.json +98 -1
  549. package/runtime/prime/.codex/hooks/search-hint.js +21 -52
  550. package/runtime/prime/.codex/hooks.json +3 -3
  551. package/runtime/prime/.codex/skills/activity/SKILL.md +23 -66
  552. package/runtime/prime/.codex/skills/announce/SKILL.md +27 -50
  553. package/runtime/prime/.codex/skills/archive/SKILL.md +21 -36
  554. package/runtime/prime/.codex/skills/checkup/SKILL.md +77 -36
  555. package/runtime/prime/.codex/skills/dark-mode/SKILL.md +1 -1
  556. package/runtime/prime/.codex/skills/dashboard/SKILL.md +17 -47
  557. package/runtime/prime/.codex/skills/handoff/SKILL.md +84 -133
  558. package/runtime/prime/.codex/skills/harvest/SKILL.md +32 -117
  559. package/runtime/prime/.codex/skills/ingest/SKILL.md +47 -25
  560. package/runtime/prime/.codex/skills/ingest-user-interview/SKILL.md +18 -36
  561. package/runtime/prime/.codex/skills/ingest-user-interview/references/analysis-contract.md +42 -0
  562. package/runtime/prime/.codex/skills/invite/SKILL.md +21 -35
  563. package/runtime/prime/.codex/skills/issue/SKILL.md +60 -41
  564. package/runtime/prime/.codex/skills/me/SKILL.md +1 -1
  565. package/runtime/prime/.codex/skills/meeting/SKILL.md +16 -36
  566. package/runtime/prime/.codex/skills/meeting/references/analysis-contract.md +48 -0
  567. package/runtime/prime/.codex/skills/note/SKILL.md +30 -25
  568. package/runtime/prime/.codex/skills/onboarding/SKILL.md +36 -41
  569. package/runtime/prime/.codex/skills/pull/SKILL.md +1 -1
  570. package/runtime/prime/.codex/skills/quest/SKILL.md +27 -66
  571. package/runtime/prime/.codex/skills/reflect/SKILL.md +22 -36
  572. package/runtime/prime/.codex/skills/save/SKILL.md +2 -2
  573. package/runtime/prime/.codex/skills/telemetry/SKILL.md +1 -1
  574. package/runtime/prime/.codex/skills/test/SKILL.md +1 -1
  575. package/runtime/prime/.codex/skills/tutorial/SKILL.md +40 -41
  576. package/runtime/prime/.codex/skills/view/SKILL.md +115 -111
  577. package/runtime/prime/.codex/skills/wrap/SKILL.md +45 -41
  578. package/runtime/prime/.codex/spec-manifest.json +9 -9
  579. package/runtime/prime/.prime/agent/APPEND_SYSTEM.md +57 -48
  580. package/runtime/prime/.prime/agent/extensions/egregore.ts +7 -0
  581. package/runtime/prime/.prime/agent/spec-manifest.json +2 -2
  582. package/runtime/prime/AGENTS.md +62 -58
  583. package/runtime/prime/bin/activity-action.sh +92 -0
  584. package/runtime/prime/bin/activity-data.sh +12 -233
  585. package/runtime/prime/bin/agent.sh +84 -100
  586. package/runtime/prime/bin/artifact-register.sh +164 -0
  587. package/runtime/prime/bin/artifact-writeback.sh +53 -0
  588. package/runtime/prime/bin/artifacts.sh +288 -0
  589. package/runtime/prime/bin/build-sealed-dataroom.mjs +722 -0
  590. package/runtime/prime/bin/capture-run.sh +18 -2
  591. package/runtime/prime/bin/codex-render-spec.mjs +41 -16
  592. package/runtime/prime/bin/codex-session-start.sh +14 -4
  593. package/runtime/prime/bin/codex-skill-render.mjs +9 -7
  594. package/runtime/prime/bin/corpus_map.py +806 -0
  595. package/runtime/prime/bin/corpus_survey.py +304 -0
  596. package/runtime/prime/bin/dashboard-data.sh +11 -171
  597. package/runtime/prime/bin/github-auth.sh +121 -0
  598. package/runtime/prime/bin/graph-batch.sh +7 -0
  599. package/runtime/prime/bin/graph-op.sh +4 -0
  600. package/runtime/prime/bin/graph-projection.sh +54 -0
  601. package/runtime/prime/bin/graph-wal.sh +13 -0
  602. package/runtime/prime/bin/graph.sh +44 -0
  603. package/runtime/prime/bin/handoff-lifecycle-job.sh +146 -0
  604. package/runtime/prime/bin/handoff-lifecycle.sh +280 -0
  605. package/runtime/prime/bin/handoff-preview.sh +169 -0
  606. package/runtime/prime/bin/handoff-run.sh +42 -26
  607. package/runtime/prime/bin/ingest-graph.sh +6 -0
  608. package/runtime/prime/bin/ingest-item.sh +10 -0
  609. package/runtime/prime/bin/ingest.sh +59 -30
  610. package/runtime/prime/bin/invite.sh +6 -0
  611. package/runtime/prime/bin/issue.sh +10 -0
  612. package/runtime/prime/bin/knowledge.sh +10 -0
  613. package/runtime/prime/bin/lib/config.sh +20 -0
  614. package/runtime/prime/bin/lib/context.sh +46 -25
  615. package/runtime/prime/bin/lib/git-sync.sh +70 -6
  616. package/runtime/prime/bin/lib/greeting.sh +34 -5
  617. package/runtime/prime/bin/lib/handoff-meta.sh +97 -0
  618. package/runtime/prime/bin/lib/worktree-links.sh +6 -0
  619. package/runtime/prime/bin/node-run.sh +42 -0
  620. package/runtime/prime/bin/notification.sh +6 -0
  621. package/runtime/prime/bin/observe-context.sh +14 -0
  622. package/runtime/prime/bin/onboarding.sh +6 -0
  623. package/runtime/prime/bin/person.py +4 -0
  624. package/runtime/prime/bin/person.sh +43 -10
  625. package/runtime/prime/bin/pi-observe-context.mjs +93 -0
  626. package/runtime/prime/bin/pi-product-workflows.mjs +1 -1
  627. package/runtime/prime/bin/pi-render-spec.mjs +140 -0
  628. package/runtime/prime/bin/post-update.sh +37 -0
  629. package/runtime/prime/bin/prime-render-spec.mjs +1 -1
  630. package/runtime/prime/bin/publish-artifact.sh +55 -2
  631. package/runtime/prime/bin/quest.sh +9 -0
  632. package/runtime/prime/bin/question.sh +8 -0
  633. package/runtime/prime/bin/research-ingest.sh +7 -0
  634. package/runtime/prime/bin/restore-owned-skills.sh +67 -0
  635. package/runtime/prime/bin/retrieval_eval.py +385 -0
  636. package/runtime/prime/bin/runtime-identity.sh +70 -0
  637. package/runtime/prime/bin/runtime-upgrade.sh +43 -0
  638. package/runtime/prime/bin/scroll.sh +9 -0
  639. package/runtime/prime/bin/search.sh +231 -195
  640. package/runtime/prime/bin/settings.sh +174 -5
  641. package/runtime/prime/bin/startup-check.sh +136 -0
  642. package/runtime/prime/bin/telemetry.sh +522 -247
  643. package/runtime/prime/bin/test-changes.sh +344 -0
  644. package/runtime/prime/bin/thread.sh +9 -0
  645. package/runtime/prime/bin/todo.sh +9 -0
  646. package/runtime/prime/bin/view-render.sh +126 -0
  647. package/runtime/prime/bin/worktree-create.sh +19 -5
  648. package/runtime/prime/egregore_runtime/__init__.py +228 -0
  649. package/runtime/prime/egregore_runtime/adapters/__init__.py +5 -0
  650. package/runtime/prime/egregore_runtime/adapters/invitation.py +237 -0
  651. package/runtime/prime/egregore_runtime/adapters/notification.py +59 -0
  652. package/runtime/prime/egregore_runtime/adapters/qmd.py +1701 -0
  653. package/runtime/prime/egregore_runtime/adapters/qmd_cli.py +210 -0
  654. package/runtime/prime/egregore_runtime/adapters/qmd_embed_worker.py +59 -0
  655. package/runtime/prime/egregore_runtime/admin_gate.py +102 -0
  656. package/runtime/prime/egregore_runtime/artifacts.py +523 -0
  657. package/runtime/prime/egregore_runtime/contracts.py +499 -0
  658. package/runtime/prime/egregore_runtime/entitlements.py +85 -0
  659. package/runtime/prime/egregore_runtime/errors.py +10 -0
  660. package/runtime/prime/egregore_runtime/graph.py +356 -0
  661. package/runtime/prime/egregore_runtime/handoff_lookup.py +196 -0
  662. package/runtime/prime/egregore_runtime/harness_cli.py +1221 -0
  663. package/runtime/prime/egregore_runtime/identity.py +734 -0
  664. package/runtime/prime/egregore_runtime/identity_cli.py +91 -0
  665. package/runtime/prime/egregore_runtime/ingest.py +575 -0
  666. package/runtime/prime/egregore_runtime/ingest_cli.py +254 -0
  667. package/runtime/prime/egregore_runtime/ingest_index_cli.py +147 -0
  668. package/runtime/prime/egregore_runtime/invitation_cli.py +51 -0
  669. package/runtime/prime/egregore_runtime/invitations.py +116 -0
  670. package/runtime/prime/egregore_runtime/issue_cli.py +305 -0
  671. package/runtime/prime/egregore_runtime/issues.py +359 -0
  672. package/runtime/prime/egregore_runtime/knowledge.py +376 -0
  673. package/runtime/prime/egregore_runtime/knowledge_cli.py +173 -0
  674. package/runtime/prime/egregore_runtime/lifecycle.py +888 -0
  675. package/runtime/prime/egregore_runtime/lifecycle_cli.py +269 -0
  676. package/runtime/prime/egregore_runtime/notification_cli.py +125 -0
  677. package/runtime/prime/egregore_runtime/notifications.py +230 -0
  678. package/runtime/prime/egregore_runtime/observe.py +342 -0
  679. package/runtime/prime/egregore_runtime/onboarding.py +290 -0
  680. package/runtime/prime/egregore_runtime/onboarding_cli.py +110 -0
  681. package/runtime/prime/egregore_runtime/policy.py +144 -0
  682. package/runtime/prime/egregore_runtime/profile.py +193 -0
  683. package/runtime/prime/egregore_runtime/quest_cli.py +216 -0
  684. package/runtime/prime/egregore_runtime/question_cli.py +180 -0
  685. package/runtime/prime/egregore_runtime/questions.py +304 -0
  686. package/runtime/prime/egregore_runtime/quests.py +419 -0
  687. package/runtime/prime/egregore_runtime/readiness.py +379 -0
  688. package/runtime/prime/egregore_runtime/research_ingest.py +256 -0
  689. package/runtime/prime/egregore_runtime/research_ingest_cli.py +44 -0
  690. package/runtime/prime/egregore_runtime/runtime.py +464 -0
  691. package/runtime/prime/egregore_runtime/scroll_cli.py +185 -0
  692. package/runtime/prime/egregore_runtime/scrolls.py +726 -0
  693. package/runtime/prime/egregore_runtime/status.py +412 -0
  694. package/runtime/prime/egregore_runtime/status_cli.py +174 -0
  695. package/runtime/prime/egregore_runtime/sync.py +218 -0
  696. package/runtime/prime/egregore_runtime/teamsync.py +139 -0
  697. package/runtime/prime/egregore_runtime/telemetry.py +640 -0
  698. package/runtime/prime/egregore_runtime/thread_cli.py +173 -0
  699. package/runtime/prime/egregore_runtime/threads.py +517 -0
  700. package/runtime/prime/egregore_runtime/todo_cli.py +142 -0
  701. package/runtime/prime/egregore_runtime/todos.py +244 -0
  702. package/runtime/prime/egregore_runtime/upgrade.py +770 -0
  703. package/runtime/prime/egregore_runtime/upgrade_worker.py +53 -0
  704. package/runtime/prime/egregore_runtime/writeback.py +391 -0
  705. package/runtime/prime/egregore_runtime/writeback_cli.py +114 -0
  706. package/runtime/prime/manifest.json +98 -1
@@ -0,0 +1,131 @@
1
+ {
2
+ "permissions": {
3
+ "allow": [
4
+ "Bash",
5
+ "Read",
6
+ "Write",
7
+ "Edit"
8
+ ],
9
+ "deny": [
10
+ "Edit(~/.egregore/instances.json)"
11
+ ],
12
+ "additionalDirectories": [
13
+ "memory"
14
+ ]
15
+ },
16
+ "defaultMode": "acceptEdits",
17
+ "hooks": {
18
+ "SessionStart": [
19
+ {
20
+ "matcher": "startup",
21
+ "hooks": [
22
+ {
23
+ "type": "command",
24
+ "command": "\"$CLAUDE_PROJECT_DIR\"/bin/session-start.sh"
25
+ }
26
+ ]
27
+ }
28
+ ],
29
+ "UserPromptSubmit": [
30
+ {
31
+ "matcher": "",
32
+ "hooks": [
33
+ {
34
+ "type": "command",
35
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/memory-refresh.sh"
36
+ },
37
+ {
38
+ "type": "command",
39
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/emissary-detect.sh"
40
+ },
41
+ {
42
+ "type": "command",
43
+ "command": "\"$CLAUDE_PROJECT_DIR\"/bin/observe-context.sh claude",
44
+ "timeout": 45
45
+ }
46
+ ]
47
+ }
48
+ ],
49
+ "PreToolUse": [
50
+ {
51
+ "matcher": "Read|Edit|Write|Bash|Glob|Grep",
52
+ "hooks": [
53
+ {
54
+ "type": "command",
55
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/boundary-check.sh"
56
+ }
57
+ ]
58
+ },
59
+ {
60
+ "matcher": "Edit|Write|Bash|EnterWorktree|EnterPlanMode",
61
+ "hooks": [
62
+ {
63
+ "type": "command",
64
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/onboarding-guard.sh"
65
+ }
66
+ ]
67
+ },
68
+ {
69
+ "matcher": "Edit|Write|Bash|EnterPlanMode",
70
+ "hooks": [
71
+ {
72
+ "type": "command",
73
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/branch-guard.sh"
74
+ }
75
+ ]
76
+ }
77
+ ],
78
+ "PostToolUse": [
79
+ {
80
+ "matcher": "Bash",
81
+ "hooks": [
82
+ {
83
+ "type": "command",
84
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/retrieval-context.sh"
85
+ },
86
+ {
87
+ "type": "command",
88
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/card-context.sh"
89
+ }
90
+ ]
91
+ }
92
+ ],
93
+ "WorktreeCreate": [
94
+ {
95
+ "matcher": "",
96
+ "hooks": [
97
+ {
98
+ "type": "command",
99
+ "command": "\"$CLAUDE_PROJECT_DIR\"/bin/worktree-create.sh"
100
+ }
101
+ ]
102
+ }
103
+ ],
104
+ "WorktreeRemove": [
105
+ {
106
+ "matcher": "",
107
+ "hooks": [
108
+ {
109
+ "type": "command",
110
+ "command": "\"$CLAUDE_PROJECT_DIR\"/bin/worktree-remove.sh"
111
+ }
112
+ ]
113
+ }
114
+ ],
115
+ "SessionEnd": [
116
+ {
117
+ "matcher": "",
118
+ "hooks": [
119
+ {
120
+ "type": "command",
121
+ "command": "\"$CLAUDE_PROJECT_DIR\"/bin/session-log.sh"
122
+ }
123
+ ]
124
+ }
125
+ ]
126
+ },
127
+ "statusLine": {
128
+ "type": "command",
129
+ "command": "\"$CLAUDE_PROJECT_DIR\"/bin/statusline.sh"
130
+ }
131
+ }
@@ -0,0 +1,68 @@
1
+ ---
2
+ name: activity
3
+ description: "Explicit Activity card only. Use when the user names /activity or directly asks to show, open, or render the Activity dashboard/card. Never use it to answer or synthesize what the team is focused on, busy with, prioritizing, or doing; analytical organizational questions use Search/Runtime QMD."
4
+ ---
5
+
6
+ # Activity
7
+
8
+ Use this bounded status card only when the user names Activity or directly asks
9
+ to display its dashboard/card. "Explicit" means display intent, not merely a
10
+ question about the team. Questions asking for explanation or synthesis of
11
+ current focus, themes, priorities, or work use attached
12
+ `EGREGORE_ORG_CONTEXT_V1` evidence or exactly one Search workflow query when
13
+ that evidence is absent. The same applies to returning to earlier work. Never
14
+ use Activity as discovery or analysis fallback.
15
+
16
+ Render the team view immediately. The renderer's stdout IS the product card:
17
+ fully visible the moment rendering finishes, appearing exactly once in the
18
+ conversation. Never copy, regenerate, summarize, or repeat the
19
+ card — or any of its rows — in your reply. The card's own closing question is
20
+ the prompt for the next turn; after the command, add nothing beyond an
21
+ answer to something the user separately asked.
22
+
23
+ ## When to invoke
24
+
25
+ Explicit Activity card only. Use when the user names /activity or directly asks to show, open, or render the Activity dashboard/card. Never use it to answer or synthesize what the team is focused on, busy with, prioritizing, or doing; analytical organizational questions use Search/Runtime QMD.
26
+
27
+ ## Read path
28
+
29
+ Fetch exactly one authorized Runtime snapshot and render it:
30
+
31
+ ```bash
32
+ bash bin/activity-data.sh 2>/dev/null \
33
+ | bash bin/node-run.sh bin/codex-skill-render.mjs activity-card -
34
+ ```
35
+
36
+ Do not sync repositories, query memory again, or call implementation
37
+ infrastructure directly. The snapshot already contains bounded
38
+ canonical sessions, questions, quests, todos, and lifecycle-resolved handoffs.
39
+ Canonical Markdown/Git wins over every projection.
40
+
41
+ Connected enrichment is a separate capability-authorized adapter. Use it only
42
+ when the user explicitly asks for Connected/projected status by setting
43
+ `EGREGORE_STATUS_CONNECTED_ENRICH=1` for the same single data command. Never
44
+ replace canonical lifecycle fields with the returned projection payload.
45
+
46
+ ## Handoff actions
47
+
48
+ For `activity done N`, `activity expire N`, or `activity reopen N`:
49
+
50
+ 1. Fetch one snapshot as above.
51
+ 2. Map `N` to `handoffs_to_me[N-1]`.
52
+ 3. Run one typed transition:
53
+
54
+ ```bash
55
+ bash bin/activity-action.sh <done|expire|reopen> "<sessionId>" \
56
+ --expected-revision "<lifecycleRevision>"
57
+ ```
58
+
59
+ Report the resulting canonical state. Never accept graph state as lifecycle
60
+ authority, silently complete work by age, or record focus through graph calls.
61
+
62
+ ## Rendering rules
63
+
64
+ - Never print raw JSON or narrate routine commands.
65
+ - Preserve the shared 72-column activity card.
66
+ - Show Local status without graph/setup messaging.
67
+ - End the turn after the card; act on the user's reply next turn.
68
+ - Use `/activity quests` to show the snapshot's full bounded quest list.
@@ -0,0 +1,54 @@
1
+ ---
2
+ name: announce
3
+ description: "Draft, preview, and explicitly send an Egregore group announcement. Use for /announce, telling the team something, or notifying everyone—not a direct message or structured handoff."
4
+ ---
5
+
6
+ # Egregore announce
7
+
8
+ Draft one concise group message. The request authorizes drafting, never
9
+ dispatch or artifact publication. Reuse sufficient `EGREGORE_ORG_CONTEXT_V1`;
10
+ do not repeat organizational retrieval merely to decorate the message.
11
+
12
+ Preserve quoted wording exactly. Otherwise use 2–5 lines: what changed, the
13
+ relevant branch/artifact when already authorized, and the requested action.
14
+ Notification consent and publication consent are separate. Never publish a
15
+ referenced artifact automatically; publication is a separate
16
+ `SHARE` workflow with its own source/destination approval.
17
+
18
+ Write the final draft to a private temporary file and prepare one actor-bound
19
+ Runtime plan:
20
+
21
+ ```bash
22
+ MESSAGE_FILE="$(mktemp "${TMPDIR:-/tmp}/egregore-announce.XXXXXX")"
23
+ chmod 600 "$MESSAGE_FILE"
24
+ printf '%s' "$MESSAGE" > "$MESSAGE_FILE"
25
+ PLAN_JSON=$(bash bin/notification.sh plan --kind group --message-file "$MESSAGE_FILE")
26
+ rm -f "$MESSAGE_FILE"
27
+ ```
28
+
29
+ Show one dedicated **Send / Edit / Cancel** checkpoint containing the exact
30
+ organization, group, every delivery/channel, and final message returned by the
31
+ plan. Edit cancels the old plan before creating a new one. Cancel calls:
32
+
33
+ ```bash
34
+ bash bin/notification.sh cancel "$PLAN_ID"
35
+ ```
36
+
37
+ Only a fresh **Send** response for that exact checkpoint authorizes:
38
+
39
+ ```bash
40
+ APPROVAL_JSON=$(bash bin/notification.sh approve \
41
+ "$PLAN_ID" "$DIGEST" APPROVE_EXACT_NOTIFICATION)
42
+ APPROVAL_TOKEN=$(printf '%s' "$APPROVAL_JSON" | jq -r '.approval_token')
43
+ bash bin/notification.sh dispatch "$PLAN_ID" "$APPROVAL_TOKEN"
44
+ ```
45
+
46
+ Report the returned delivery receipt. Never retry from old approval, change a
47
+ destination, or fall back to another channel. Local instances without a
48
+ notification capability stop after preview and return the text for manual use.
49
+ The Runtime service owns ActorContext authorization, exact-plan binding,
50
+ transport, and content-free telemetry.
51
+
52
+ ## When to invoke
53
+
54
+ Draft, preview, and explicitly send an Egregore group announcement. Use for /announce, telling the team something, or notifying everyone—not a direct message or structured handoff.
@@ -0,0 +1,71 @@
1
+ ---
2
+ name: archive
3
+ description: "Capture an effective prompting or steering technique as a reusable canonical pattern. Use when a prompt chain worked especially well; use /reflect for insight about the work and /note for a private thought."
4
+ ---
5
+
6
+ # Archive
7
+
8
+ Capture a reusable human-to-agent steering technique as a typed `pattern` with
9
+ subtype `prompt-chain`.
10
+
11
+ ## When to invoke
12
+
13
+ Capture an effective prompting or steering technique as a reusable canonical pattern. Use when a prompt chain worked especially well; use /reflect for insight about the work and /note for a private thought.
14
+
15
+ ## Modes
16
+
17
+ - No arguments: inspect this session for a meaningful steering chain. If the
18
+ session is too short or no chain exists, ask the user to describe one.
19
+ - Arguments: treat them as the technique; a single principle is a one-move
20
+ chain.
21
+
22
+ Each move records its type, trigger, intervention, effect, and distilled
23
+ principle. Useful initial move types include inversion, calibration, scoping,
24
+ elevation, reframing, grounding, sequencing, contradiction, analogy, and
25
+ provocation; extend the vocabulary when needed.
26
+
27
+ ## Context and dedupe
28
+
29
+ Reuse attached `EGREGORE_ORG_CONTEXT_V1` evidence. Do not repeat retrieval when
30
+ it already contains sufficient related patterns. If a named gap remains, make
31
+ one `bash bin/search.sh query "<technique concept>" -n 6` call and open only a
32
+ likely duplicate through `bash bin/search.sh open`. Never query implementation
33
+ infrastructure or storage directly.
34
+
35
+ ## Flow
36
+
37
+ 1. Extract a chain name, when-to-use guidance, ordered moves, outcome, topics,
38
+ workstream, and explicit relations.
39
+ 2. For a three-or-more move chain, show the complete breakdown. For shorter
40
+ chains, show the compact proposal. Wait for `y`, edits, or `skip`.
41
+ 3. Render the accepted pattern body to a temporary file and invoke exactly one
42
+ canonical command:
43
+
44
+ ```bash
45
+ bash bin/knowledge.sh create \
46
+ --type pattern \
47
+ --subtype prompt-chain \
48
+ --title "{chain name}" \
49
+ --input "$TMP_ARTIFACT" \
50
+ --topic prompt-chain \
51
+ --topic "{topic}" \
52
+ --workstream "{workstream}"
53
+ ```
54
+
55
+ Add `--relationship "RELATION:TARGET"` only for explicit links. The Runtime
56
+ resolves ActorContext, authorizes, assigns stable identity/provenance, persists
57
+ canonical Markdown, records Git provenance, refreshes retrieval, starts
58
+ background embedding, and emits content-free telemetry.
59
+
60
+ ## Boundaries
61
+
62
+ - Archive captures an AI-steering technique, not a work decision or private
63
+ scratch thought.
64
+ - Do not separately run `/save`, Git, QMD, graph, telemetry, publishing,
65
+ sharing, or notifications.
66
+ - Graph projection is optional and advisory. Canonical Markdown wins.
67
+ - Publishing, external sharing, or notification requires a separate permitted,
68
+ explicitly consented action.
69
+
70
+ Report the canonical path and writeback status. Preserve the compact
71
+ `◇ ARCHIVE` confirmation style for rich output.
@@ -0,0 +1,147 @@
1
+ ---
2
+ name: branch
3
+ description: "Create a working branch from what you are about to work on. Use for /branch, or any request to start a new branch before making changes."
4
+ ---
5
+
6
+ Create a working branch from what you're working on.
7
+
8
+ ## When to invoke
9
+
10
+ User says: "/branch", "create a branch", "start a new branch", or any request to begin a working branch for what they're about to do
11
+
12
+ Description: $ARGUMENTS
13
+
14
+ ## What to do
15
+
16
+ Resolve the core repo's configured base first:
17
+ ```bash
18
+ BASE_BRANCH=$(bash -c 'SCRIPT_DIR="$PWD"; CONFIG="$PWD/egregore.json"; . "$PWD/bin/lib/config.sh" && _get_base_branch') ||
19
+ { echo "Could not resolve the configured base branch; stopping before Git changes." >&2; exit 1; }
20
+ ```
21
+
22
+ 1. Derive a topic slug from the description (lowercase, hyphens, no special chars, max 40 chars)
23
+ 2. Determine branch type from description:
24
+ - `dev/{author}/{topic-slug}` — default for session work
25
+ - `feature/{topic-slug}` — explicit feature work
26
+ - `bugfix/{topic-slug}` — bug fixes
27
+ 3. Call `EnterWorktree` with `name` set to the topic slug
28
+
29
+ The WorktreeCreate hook handles everything: fetches the configured base branch, creates the branch, creates the worktree, sets up symlinks.
30
+
31
+ **Fallback:** If `EnterWorktree` fails, fall back to: `git checkout --no-track -b {branch-name} "origin/$BASE_BRANCH"`
32
+
33
+ The task branch must not inherit `origin/$BASE_BRANCH` as its upstream. The
34
+ first `/push` sets upstream with `-u origin "$BRANCH"`, creating and tracking
35
+ the same-name remote task branch.
36
+
37
+ ## Deriving the topic slug
38
+
39
+ Extract the essence of what the user said into a short, meaningful slug:
40
+ - "auth flow in frontend" → `auth-flow`
41
+ - "fix the payment endpoint bug" → `fix-payment-endpoint`
42
+ - "refactoring the token store" → `refactor-token-store`
43
+ - "working on oauth implementation" → `oauth-implementation`
44
+
45
+ If no description is given, use today's date: `YYYY-MM-DD`
46
+
47
+ ## Branch type detection
48
+
49
+ - Description mentions "fix", "bug", "broken", "crash" → `bugfix/`
50
+ - Description mentions "feature", "add", "implement", "new" → `feature/`
51
+ - Otherwise → `dev/{author}/` (general session work)
52
+
53
+ ## Resuming existing branches
54
+
55
+ Before creating, check if a matching branch already exists:
56
+ ```bash
57
+ git branch --list "dev/$AUTHOR/*$SLUG*" "feature/*$SLUG*" "bugfix/*$SLUG*"
58
+ ```
59
+
60
+ If a match is found, offer to resume it instead of creating a new one.
61
+
62
+ ## Reusing current worktree
63
+
64
+ If already in a worktree and the user needs a new branch (e.g., after their PR was merged):
65
+ 1. Do NOT exit the worktree or create a new one
66
+ 2. Create the new branch and checkout within the existing worktree:
67
+ ```bash
68
+ git fetch origin "$BASE_BRANCH" --quiet
69
+ git checkout --no-track -b dev/$AUTHOR/$NEW_SLUG "origin/$BASE_BRANCH"
70
+ ```
71
+ 3. The worktree directory stays the same — only the branch changes
72
+ 4. Confirm: `Switched to dev/$AUTHOR/$NEW_SLUG (same worktree).`
73
+
74
+ ## Example
75
+
76
+ ```
77
+ > /branch auth flow
78
+
79
+ Creating branch...
80
+
81
+ git fetch origin "$BASE_BRANCH" --quiet
82
+ git branch dev/alice/auth-flow "origin/$BASE_BRANCH"
83
+ EnterWorktree → .claude/worktrees/auth-flow/
84
+ git checkout dev/alice/auth-flow
85
+ bash <main-dir>/bin/worktree.sh setup "$(pwd)" "<main-dir>"
86
+ ✓ Created dev/alice/auth-flow (worktree, from configured base)
87
+
88
+ Ready to work. /save when done.
89
+ ```
90
+
91
+ ```
92
+ > /branch fix payment endpoint bug
93
+
94
+ Creating branch...
95
+
96
+ git fetch origin "$BASE_BRANCH" --quiet
97
+ git branch bugfix/fix-payment-endpoint "origin/$BASE_BRANCH"
98
+ EnterWorktree → .claude/worktrees/fix-payment-endpoint/
99
+ git checkout bugfix/fix-payment-endpoint
100
+ ✓ Created bugfix/fix-payment-endpoint (worktree, from configured base)
101
+
102
+ Ready to work. /save when done.
103
+ ```
104
+
105
+ ```
106
+ > /branch
107
+
108
+ No description given. Using today's date.
109
+
110
+ git branch dev/alice/2026-02-12 "origin/$BASE_BRANCH"
111
+ EnterWorktree → .claude/worktrees/2026-02-12/
112
+ git checkout dev/alice/2026-02-12
113
+ ✓ Created dev/alice/2026-02-12 (worktree, from configured base)
114
+
115
+ Ready to work. /save when done.
116
+ ```
117
+
118
+ ## Managed repos
119
+
120
+ If the user's description references a managed repo (listed in `egregore.json` → `repos[]`), create the branch in that repo's sibling directory instead of the hub.
121
+
122
+ Resolve the repo's base branch first:
123
+ ```bash
124
+ BASE_BRANCH=$(bash -c 'SCRIPT_DIR="$PWD"; CONFIG="$PWD/egregore.json"; . "$PWD/bin/lib/config.sh" && _get_base_branch "$1"' _ "$REPO") ||
125
+ { echo "Could not resolve the configured base branch; stopping before Git changes." >&2; exit 1; }
126
+ REPO_DIR="$(cd .. && pwd)/$REPO"
127
+ git -C "$REPO_DIR" fetch origin "$BASE_BRANCH" --quiet
128
+ git -C "$REPO_DIR" checkout --no-track -b dev/$AUTHOR/$TOPIC_SLUG "origin/$BASE_BRANCH"
129
+ ```
130
+
131
+ Use `git -C` with absolute paths — never `cd` into the repo.
132
+
133
+ ```
134
+ > /branch auth flow in frontend
135
+
136
+ Creating branch in frontend...
137
+
138
+ git -C ../frontend fetch origin main --quiet
139
+ git -C ../frontend checkout --no-track -b dev/alice/auth-flow origin/main
140
+ ✓ Created dev/alice/auth-flow in frontend (from main)
141
+
142
+ Ready to work. /save when done.
143
+ ```
144
+
145
+ ## Next
146
+
147
+ Make your changes, then `/commit` or `/save` when ready.
@@ -0,0 +1,159 @@
1
+ ---
2
+ name: checkup
3
+ description: "Run diagnostics on an Egregore environment and render a health report, repairing safe local Runtime problems when possible. Use for /checkup, a health check, or when something is broken and the root cause is unclear."
4
+ ---
5
+
6
+ # Egregore checkup
7
+
8
+ Diagnose the Egregore Runtime first. Treat canonical Markdown and its
9
+ instance-owned Local Retriever as the product baseline. Graph, control-plane,
10
+ and notification probes are explicit Connected integrations; their failure
11
+ must never make canonical Local Runtime state look unavailable.
12
+
13
+ ## When to invoke
14
+
15
+ Run diagnostics on an Egregore environment and render a health report, repairing safe local Runtime problems when possible. Use for /checkup, a health check, or when something is broken and the root cause is unclear.
16
+
17
+ ## Procedure
18
+
19
+ Detect mode without attempting a network call:
20
+
21
+ ```bash
22
+ MODE=$(jq -r '.mode // empty' egregore.json 2>/dev/null)
23
+ API_URL=$(jq -r '.api_url // empty' egregore.json 2>/dev/null)
24
+ if [ "$MODE" = "local" ] || [ -z "$API_URL" ]; then
25
+ MODE="local"
26
+ else
27
+ MODE="connected"
28
+ fi
29
+ ```
30
+
31
+ Run three sequential batches. Parallelize only within a batch.
32
+
33
+ 1. Runtime and local configuration.
34
+ 2. Connected integrations, only when `MODE=connected`.
35
+ 3. Workspace and Git checks.
36
+
37
+ Never run Connected network probes beside local checks; a timeout must not
38
+ cancel or obscure the Runtime result.
39
+
40
+ ## Batch 1: canonical Runtime
41
+
42
+ Read the one typed Runtime health surface as JSON:
43
+
44
+ ```bash
45
+ EGREGORE_ROOT="$PWD" PYTHONPATH="$PWD${PYTHONPATH:+:$PYTHONPATH}" \
46
+ python3 -m egregore_runtime.harness_cli status --json
47
+ ```
48
+
49
+ Do not invoke `qmd`, inspect QMD process tables, guess ports, or read another
50
+ instance's runtime directory. The adapter owns those mechanics. Interpret the
51
+ returned fields as follows:
52
+
53
+ - `canonical_state_ready` — foundational. Fail only when canonical memory is
54
+ unavailable.
55
+ - `adapter=qmd-local`, `collection`, and `index_path` — the resolved
56
+ instance-owned Local Retriever. Display these without exposing another
57
+ instance or deriving ownership yourself.
58
+ - `runtime_state`, `runtime_pid`, and `runtime_endpoint` — owned worker
59
+ readiness. `semantic_ready` is healthy; `semantic_index_building` is a
60
+ warning with lexical fallback; `runtime_unavailable` is repairable.
61
+ - `bm25_ready` — local keyword readiness. Warn when false.
62
+ - `semantic_ready` and `embedding_state` — semantic readiness. A warming or
63
+ missing model is degraded, not canonical data loss.
64
+ - `index_spec_version`, `index_revision`, and `source_revision` — freshness.
65
+ Report drift; never repair it by editing index files.
66
+ - `warnings` — show concise, redacted messages.
67
+
68
+ Also validate `egregore.json`, the canonical `memory` link/repository, and the
69
+ mode-appropriate key names in `.env`. Never print secret values. Local mode
70
+ requires no control-plane key.
71
+
72
+ If the Runtime worker or indexes are unavailable while canonical memory is
73
+ ready, run the safe Runtime lifecycle adapter once:
74
+
75
+ ```bash
76
+ bash bin/search.sh start
77
+ ```
78
+
79
+ Then re-read Runtime health once. This starts or reuses only the worker owned
80
+ by this Egregore instance and schedules semantic warming behind the adapter.
81
+
82
+ ## Batch 2: Connected integrations
83
+
84
+ Skip this batch completely in local mode. In connected mode, label every row
85
+ as an integration, keep it outside the foundational Runtime verdict, and run:
86
+
87
+ ```bash
88
+ timeout 10 bash bin/graph-projection.sh verify --enable 2>&1; echo "EXIT:$?"
89
+ timeout 10 bash bin/notification.sh status 2>&1; echo "EXIT:$?"
90
+ ```
91
+
92
+ - **Control plane / Graph projection** — pass when the gateway accepts the
93
+ configured credentials and the projection is reachable. Offline, auth, or
94
+ stale projection results are Connected warnings; canonical Markdown remains
95
+ authoritative.
96
+ - **Notification adapter** — read the sanitized Runtime `status` field. Treat
97
+ `ok` (connected) or `configured` (local) as healthy. Telegram is optional
98
+ and never part of Runtime readiness.
99
+
100
+ Do not auto-replace API keys, repair graph state, publish, or send a
101
+ notification. Report the exact integration boundary that failed.
102
+
103
+ ## Batch 3: workspace
104
+
105
+ Check locally:
106
+
107
+ - the configured base branch exists and compare it with `origin/<base>` only
108
+ when an origin is already configured;
109
+ - the current worktree and memory repository are clean or clearly report their
110
+ dirty-file counts;
111
+ - the framework version is readable locally. Do not fetch merely to render a
112
+ health report;
113
+ - the shell launcher points at this instance when a launcher is configured.
114
+
115
+ Never mutate Git, canonical memory, or framework files during diagnosis.
116
+ Offer `$pull`, `$update`, or `$setup` as the next Egregore action when relevant;
117
+ do not tell the user to construct repair commands manually.
118
+
119
+ ## Rendering
120
+
121
+ Render one compact diagnostic box. In connected mode add a separate
122
+ `CONNECTED INTEGRATIONS` section after `RUNTIME`; in local mode omit it.
123
+
124
+ ```text
125
+ ┌──────────────────────────────────────────────────────────────────────┐
126
+ │ ⊕ CHECKUP {date} │
127
+ ├──────────────────────────────────────────────────────────────────────┤
128
+ │ CONFIG │
129
+ │ ✓ Instance — {org} ({mode}) │
130
+ │ │
131
+ │ RUNTIME │
132
+ │ ✓ Canonical memory — ready · source {source_revision} │
133
+ │ ✓ Local Retriever — qmd-local {adapter_version} · owned │
134
+ │ ⚠ Semantic index — warming · lexical fallback ready │
135
+ │ ✓ Worker — pid {pid} · {endpoint} │
136
+ │ │
137
+ │ CONNECTED INTEGRATIONS │
138
+ │ ⚠ Control plane / Graph — offline · canonical state unaffected │
139
+ │ ✓ Telegram — connected │
140
+ │ │
141
+ │ WORKSPACE │
142
+ │ ✓ Memory repository — clean │
143
+ │ ✓ Git — {base} synced │
144
+ ├──────────────────────────────────────────────────────────────────────┤
145
+ │ Runtime ready · {warnings} warnings · integrations {state} │
146
+ └──────────────────────────────────────────────────────────────────────┘
147
+ ```
148
+
149
+ Use `✓`, `⚠`, and `✗` for pass, degraded, and unavailable. State the Runtime
150
+ verdict independently from Connected integration health. After a safe Runtime
151
+ repair, append only the rechecked result.
152
+
153
+ ## Rules
154
+
155
+ - Never expose raw JSON, tokens, environment values, or unformatted probes.
156
+ - Never use Graph or a control-plane response as canonical health authority.
157
+ - Never call QMD directly; instance ownership belongs to Egregore Runtime.
158
+ - Never send, publish, commit, pull, or push as part of checkup.
159
+ - Emit telemetry only through the normal command wrapper, best-effort.