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
@@ -1,156 +1,160 @@
1
1
  ---
2
2
  name: view
3
- description: 'Render Egregore data and documents as branded browser artifacts. Use when the user invokes /view or $view, asks to show something visually, open it in a browser, make a document readable or presentable, render a quest/handoff/activity/board/network, or synthesize a visual artifact from a topic.'
3
+ description: 'Render Egregore data and documents as branded local browser artifacts. Use for $view, requests to show something visually, open it in a browser, make a document presentable, render a quest/handoff/activity/board/network, or synthesize a visual artifact from a topic. Publishing is a separate explicit SHARE action.'
4
4
  ---
5
5
 
6
6
  # Egregore View
7
7
 
8
- Native Codex Egregore skill. Use only inside an Egregore checkout.
9
-
10
- Resolve a file or live Egregore surface, render it with the in-repo artifact
11
- tooling, open it, and report the concrete output path. Run the workflow inline;
12
- do not invoke Claude Code commands or delegate through Loom.
8
+ Native Codex Egregore skill. Resolve authorized content, render locally, open
9
+ the result, and report its concrete path. Run inline; Codex does not route
10
+ through Loom or minion.
13
11
 
14
12
  ## Structured UX parity
15
13
 
16
- The visible result is the browser artifact and a compact receipt. Preserve the
17
- typed artifact templates, designed document composition, exact file path, and
18
- stable board URL when available. Do not replace the artifact with a prose
19
- summary or expose raw renderer output.
20
-
21
- ## Resolve the request
22
-
23
- 1. Verify `bin/agent.sh` exists. If not, say this is not an Egregore checkout.
24
- 2. Parse an optional type followed by a name:
25
- - `quest` from `memory/quests/`
26
- - `handoff` from `memory/handoffs/` recursively
27
- - `activity`, `board`, or `network` with no source file
28
- - `document` for any markdown file
29
- 3. Treat an argument containing `/` or ending in `.md` as a direct path. Use it
30
- if it exists and infer the type from its directory.
31
- 4. With no explicit type, search in this order: quests, handoffs, knowledge.
32
- Prefer exact basename matches, then case-insensitive partial matches. For
33
- handoffs, prefer the newest matching dated path.
34
- 5. If several files match, use structured Codex question tooling when
35
- available; otherwise ask one concise plain-text question listing the paths.
36
- 6. If no file matches and the input is a topic or question, synthesize a
37
- temporary markdown document from relevant memory, repository files, and
38
- conversation context at
39
- `/tmp/egregore-artifacts/synthesized-<slug>.md`. If the input clearly names
40
- a missing file, report it as missing instead of inventing a document.
41
-
42
- ## Select the renderer
43
-
44
- Prefer the checked-out package so local changes are exercised and no package
45
- download is needed:
14
+ Preserve typed artifact templates, designed document composition, the exact
15
+ local file path, and an approved hosted URL when one was actually returned.
16
+ Never replace the browser artifact with prose or expose raw renderer output.
17
+
18
+ ## Source boundary
19
+
20
+ Resolve deictic requests from the current conversation before organizational
21
+ retrieval. When `this`, `that`, `it`, or `the above` unambiguously refers to
22
+ the single artifact just created, accepted, or shown, reuse its full content
23
+ already in context and stage it verbatim. If that content is collapsed or the
24
+ prior receipt supplies only a canonical path, open that exact path once through
25
+ `bin/search.sh open`; do not run `bin/search.sh query` to rediscover a known
26
+ artifact.
27
+
28
+ Resolve organizational sources from the attached authorized
29
+ `EGREGORE_ORG_CONTEXT_V1` block first. Reuse its opened content and do not
30
+ repeat retrieval or reopen it merely for verification. Stage attached content
31
+ as a temporary render source.
32
+
33
+ When the requested organizational source is absent, run Runtime Observe once:
34
+
35
+ ```bash
36
+ bash bin/search.sh query "<artifact name and optional type>" -n 6
37
+ bash bin/search.sh open "<selected memory/... path>"
38
+ ```
39
+
40
+ Open only a selected returned canonical path and write it to a temporary render
41
+ source. Never scan `memory/`, call QMD or Graph, or pass a raw canonical path to
42
+ the renderer. A direct `memory/...` request still goes through
43
+ `bin/search.sh open`. An explicit non-memory path inside the current repository
44
+ may be rendered as a repository document, but is not organizational memory.
45
+
46
+ If several authorized results match, ask one concise choice question. If no
47
+ specific file exists and the request is a topic, synthesize only from the
48
+ attached context or one Observe result. Read repository code only when the user
49
+ explicitly requested codebase synthesis.
50
+
51
+ ## Artifact types
52
+
53
+ - `quest` and `handoff` — infer from the authorized canonical path, render the
54
+ staged content with the matching typed template.
55
+ - `document` — any authorized markdown or explicit repository document.
56
+ - `activity`, `board`, and `network` — use the renderer's typed Runtime-backed
57
+ live surface without pre-scanning memory.
58
+
59
+ ## Local renderer
60
+
61
+ Prefer the checked-out renderer and always run Node through Egregore's runtime
62
+ adapter. A source checkout must never fall through to a stale global renderer:
46
63
 
47
64
  ```bash
48
- RENDER="npx egregore-artifacts@latest"
49
65
  if [ -f packages/egregore-artifacts/bin/cli.js ] && \
50
66
  [ -d packages/egregore-artifacts/node_modules/react ]; then
51
- RENDER="node packages/egregore-artifacts/bin/cli.js"
67
+ RENDER=(bash bin/node-run.sh packages/egregore-artifacts/bin/cli.js)
68
+ elif [ -f packages/egregore-artifacts/bin/cli.js ]; then
69
+ echo "The checked-out artifact renderer is missing its local dependencies." >&2
70
+ exit 1
71
+ elif command -v egregore-artifacts >/dev/null 2>&1; then
72
+ RENDER=(bash bin/node-run.sh "$(command -v egregore-artifacts)")
73
+ else
74
+ echo "The local artifact renderer is not installed for this instance." >&2
75
+ exit 1
52
76
  fi
53
77
  ```
54
78
 
55
- If the local package exists without dependencies, install its dependencies or
56
- use the `npx` fallback. Do not block a render on optional connected services.
57
-
58
- ## Render typed artifacts
79
+ Do not run `npx`, install packages, or contact a package registry as a hidden
80
+ fallback. Do not probe alternate renderers with `--help`; invoke the selected
81
+ renderer exactly once and use its reported HTML path rather than guessing it.
59
82
 
60
83
  Run the matching command:
61
84
 
62
85
  ```bash
63
- $RENDER quest <quest-file>
64
- $RENDER handoff <handoff-file>
65
- $RENDER activity
66
- $RENDER board
67
- $RENDER network
68
- $RENDER document <markdown-file>
86
+ "${RENDER[@]}" quest <staged-source>
87
+ "${RENDER[@]}" handoff <staged-source>
88
+ "${RENDER[@]}" document <staged-source>
89
+ "${RENDER[@]}" activity
90
+ "${RENDER[@]}" board
91
+ "${RENDER[@]}" network
69
92
  ```
70
93
 
71
- Use the renderer's reported HTML path rather than guessing it.
94
+ For documents, use the checked-out generative-UI synthesis graph when present:
95
+ select objective, audience, register, palette, and grammar from the content,
96
+ resolve a brief, and pass `--brief`. Never fetch the design layer; render
97
+ without a brief when it is unavailable.
72
98
 
73
- For documents, walk the generative-UI synthesis graph in
74
- `packages/design-system/generative-ui/skill/SKILL.md`: select one id each for
75
- objective, audience, register, palette, and grammar from the document's
76
- substance, record one line of judgment for each, resolve the brief, and pass it
77
- with `--brief`. If that layer is unavailable, render without the brief.
99
+ The deterministic renderer already owns its light/dark theme contract. Do not
100
+ invoke or reread a separate visual-theme skill for an ordinary render. Apply
101
+ the Dark Mode contract only while authoring composed HTML or changing renderer
102
+ code.
78
103
 
79
- ## Compose flagship documents
104
+ ## Explicit composition
80
105
 
81
- Composition is the default for a multi-section strategy, briefing, explainer,
82
- analysis, decision document, or anything explicitly requested as composed,
83
- presentable, client-facing, designed, or `--compose`. Use the fast renderer for
84
- typed artifacts, short utility documents, `--fast`, or `--floor`.
106
+ Compose inline only when the user explicitly asks for `--compose`, a
107
+ designed/flagship artifact, a client-facing treatment, or the design trace.
108
+ Otherwise use the deterministic renderer.
85
109
 
86
110
  For composition:
87
111
 
88
- 1. Read the source document in full.
112
+ 1. Use only the staged authorized source.
89
113
  2. Copy `.codex/skills/view/assets/compose-scaffold.html` to
90
114
  `/tmp/egregore-artifacts/composed-<slug>.html`.
91
- 3. Fill every placeholder and walk the generative-UI graph for the manifest's
92
- register, palette, grammar, and trail.
93
- 4. Transform rather than mirror the markdown:
94
- - write a two-tone claim-led hero and italic standfirst;
95
- - make section headings state findings, not repeat source headings;
96
- - choose components by meaning: ledger for Q/A, claims for numbers, panels
97
- for options, steps for sequences, feature rows for capability/status,
98
- threads for decisions, gap cards for negatives, and a readout for the
99
- honest bottom line;
100
- - create one anchored navigation item per composed section.
101
- 5. Keep every theme-sensitive color as `var(--token)`. Never emit inline hex
102
- colors in composed content. Preserve the scaffold's no-flash theme restore,
103
- `<html data-theme>`, and light/auto/dark behavior.
104
- 6. Verify no placeholders remain, open the HTML with the platform browser
105
- opener, and report `Renderer: composed (band 5, inline)`.
106
-
107
- ## Publish the stable board
108
-
109
- After `$RENDER board`, publish best-effort only when `egregore.json` declares a
110
- connected configuration:
115
+ 3. Choose editorial or technical register before writing. Preserve technical
116
+ claims and convert structure, not voice.
117
+ 4. Fill every placeholder, choose components by meaning, and create one nav
118
+ anchor per section.
119
+ 5. Keep theme-sensitive colors as `var(--token)` and verify every used token in
120
+ vellum and nocturne themes.
121
+ 6. Open the completed HTML and report
122
+ `Renderer: composed (band 5, inline)`.
111
123
 
112
- ```bash
113
- _API_URL=$(jq -r '.api_url // empty' egregore.json 2>/dev/null)
114
- _MODE=$(jq -r '.mode // empty' egregore.json 2>/dev/null)
115
- if [ -n "$_API_URL" ] && [ "$_MODE" != "local" ]; then
116
- ORG_NAME=$(jq -r '.org_name // .slug' egregore.json)
117
- bash bin/publish-artifact.sh board memory/board/board.json \
118
- --id board \
119
- --title "Project Board — $ORG_NAME" \
120
- --author "$ORG_NAME" \
121
- --description "Latest board for $ORG_NAME" 2>/dev/null &
122
- fi
123
- ```
124
+ ## SHARE is separate
125
+
126
+ Local render/open is the complete default action. Never publish, replace a
127
+ stable hosted view, or publish linked references because the user asked to
128
+ view something.
129
+
130
+ Only when the user explicitly requests publishing:
131
+
132
+ 1. Authorize `SHARE` for the exact staged artifact.
133
+ 2. Show a Publish / Cancel checkpoint containing organization, destination,
134
+ title, source, and whether a stable URL will be replaced.
135
+ 3. After approval, invoke the Runtime publication adapter once. For the board,
136
+ the existing stable-id adapter may use `--id board`.
137
+ 4. Report a hosted URL only when the adapter actually returns it.
124
138
 
125
- The local artifact remains the successful result if publishing fails. In local
126
- mode, do not call graph or notification services.
139
+ Notification consent and SHARE consent are separate. A publish approval never
140
+ authorizes a message, and a notification approval never authorizes publishing.
127
141
 
128
142
  ## Report
129
143
 
130
- Return only the useful receipt after the browser opens:
144
+ After local open:
131
145
 
132
146
  ```text
133
147
  ✓ Artifact opened in browser
134
148
  File: /tmp/egregore-artifacts/<rendered-file>.html
135
149
  ```
136
150
 
137
- For a connected board, append:
138
-
139
- ```text
140
- ◆ https://egregore.xyz/view/<org-slug>/board (stable — refresh for latest)
141
- ```
142
-
143
- Emit telemetry best-effort after completion:
144
-
145
- ```bash
146
- bash bin/telemetry.sh emit "command" '{"command":"view"}' 2>/dev/null &
147
- ```
151
+ Append a hosted URL only after an approved SHARE action succeeds. Emit
152
+ telemetry best-effort through `bin/telemetry.sh`; telemetry is not publication.
148
153
 
149
154
  ## Rules
150
155
 
151
- - Keep filesystem resolution sufficient in local mode; the graph is optional.
152
- - Preserve auto-linked backtick references handled by
153
- `bin/publish-references.sh` when publishing markdown.
154
- - Never install a global renderer package as the first choice.
156
+ - Reuse attached `EGREGORE_ORG_CONTEXT_V1`; Observe at most once if absent.
157
+ - Never bypass Runtime authorization with filesystem, QMD, Graph, or API reads.
158
+ - Never make a hidden network call or package installation.
159
+ - Never publish without a fresh explicit SHARE checkpoint.
155
160
  - Never call the deprecated `egregore-handoff` CLI.
156
- - Never claim publishing succeeded unless a URL was actually returned.
@@ -1,58 +1,62 @@
1
1
  ---
2
2
  name: wrap
3
- description: Wrap an Egregore session when the user invokes /wrap or $wrap, or says they are done, wrapping up, or at a stopping point in Codex.
3
+ description: Wrap an Egregore session when the user invokes /wrap or $wrap, or says they are done, wrapping up, or at a stopping point. This creates personal canonical closure; route assigned continuation to $handoff and save-without-closing to $save.
4
4
  ---
5
5
 
6
- # Egregore Wrap
6
+ # Egregore wrap
7
7
 
8
- Native Codex Egregore skill. Use this inside an Egregore checkout with
9
- `bin/agent.sh`. The command routes through `bin/capture-run.sh --mode personal`.
10
- It writes the personal record first, appends graph and handoff-completion events
11
- to the local WAL, and reconciles them detached; do not wait for or repeat that
12
- background work.
8
+ Create one personal session record in `memory/wraps/`. A wrap records the
9
+ current actor's completed work, verification, and open threads. It is not a
10
+ handoff, publication, notification, or automatic completion of another
11
+ artifact.
12
+
13
+ Canonical Markdown and Git provenance are authoritative. The Egregore Runtime
14
+ owns authorization, ActorContext resolution, persistence, provenance,
15
+ retrieval refresh, background embedding, and content-free telemetry.
13
16
 
14
17
  ## Flow
15
18
 
16
- 1. Synthesize a topic, a one to three sentence summary, and concise open notes
17
- from the current session.
18
- 2. If the session has ambiguous or potentially misleading state, confirm with
19
- the user. Use structured Codex question tooling when available; otherwise
20
- show numbered choices plus `Other:` and wait.
21
- 3. Resolve the author from `.egregore-state.json` `github_username`, then
22
- `name`, then git config.
23
- 4. Write the notes to a temp markdown file.
24
- 5. Run:
19
+ 1. Reuse the conversation and relevant `EGREGORE_ORG_CONTEXT_V1` evidence. Do
20
+ not repeat organizational retrieval just to prepare a wrap.
21
+ 2. Derive a short topic, a two-to-four sentence summary, completed outcomes,
22
+ verification, and concise open threads. Never present unverified work as
23
+ complete.
24
+ 3. Confirm once only when the summary is materially ambiguous. Preserve exact
25
+ user-supplied wrap wording without another approval loop.
26
+ 4. If project changes need delivery, invoke `$save` once before wrapping. Do
27
+ not implement Git mechanics here or save again after the wrap succeeds.
28
+ 5. Write a temporary Markdown body with the relevant subset of `Summary`,
29
+ `Completed`, `Verification`, and `Open Threads`.
30
+ 6. Call the Runtime-neutral adapter exactly once:
25
31
 
26
32
  ```bash
27
- bin/agent.sh wrap --from "$AUTHOR" --topic "$TOPIC" --summary "$SUMMARY" --body-file "$BODY_FILE"
33
+ bash bin/agent.sh wrap \
34
+ --topic "$TOPIC" \
35
+ --summary "$SUMMARY" \
36
+ --body-file "$BODY_FILE"
28
37
  ```
29
38
 
30
- 6. If `git status --porcelain` reports repo changes after the wrap, run:
39
+ The adapter performs one canonical transaction:
31
40
 
32
- ```bash
33
- bin/agent.sh save --message "Wrap: $TOPIC" --topic "$TOPIC"
34
- ```
41
+ `authorize → persist Markdown → Git provenance → retrieval update → background embed → telemetry`
42
+
43
+ Do not call `artifact-writeback.sh`, `capture-run.sh`, Git, QMD, graph,
44
+ telemetry, publication, or notification mechanics directly. On failure, report
45
+ the concise error and stop; never bypass the Runtime boundary.
46
+
47
+ ## Wrap is not handoff lifecycle
35
48
 
36
- 7. Report the `memory/wraps/...` path and whether code changes were saved.
49
+ - Use `$handoff` when another person must receive or continue work.
50
+ - A wrap never silently completes, expires, or supersedes a handoff, quest,
51
+ todo, or thread. Age alone is never completion evidence.
52
+ - Its canonical receipt may be cited by a later, explicitly authorized
53
+ lifecycle transition, which must verify actor membership, target revision,
54
+ and typed evidence separately.
55
+ - Open threads remain in the wrap even if promoted through their own Runtime
56
+ quest/todo/thread action.
37
57
 
38
58
  ## Output
39
59
 
40
- Structured UX parity is required. Finish with the standard Egregore wrap
41
- confirmation TUI, not a prose-only summary:
42
-
43
- - Use a 72-column outer box with only the four standard line patterns:
44
- top rule, separator rule, content line, bottom rule.
45
- - Header: `WRAP`, author, and date.
46
- - Body: topic, one compact summary, open threads or "No open threads", and
47
- the `memory/wraps/...` path.
48
- - Footer: saved/pushed status. If code changes were saved, show that. If the
49
- wrap only touched memory, say so.
50
- - Output the box directly, preferably in a `text` fenced block, with no
51
- narration before it.
52
-
53
- ## Rules
54
-
55
- - Do not use Claude Code commands.
56
- - Do not invent finished work. Separate completed work, verification, and open
57
- follow-ups.
58
- - If save fails, report the failure and leave the local commits untouched.
60
+ Return a compact receipt with actor label, topic, summary, open-thread count,
61
+ the `memory/wraps/...` path, and project save/writeback status. Do not claim
62
+ graph, publish, notify, or share effects that did not happen.
@@ -5,7 +5,7 @@
5
5
  {
6
6
  "section": "(intro)",
7
7
  "action": "replace",
8
- "sourceHash": "a33ca691aacf",
8
+ "sourceHash": "feebbe4543e2",
9
9
  "note": "Reframed for Codex: names AGENTS.md as the delivery surface and the manifest; \"organizations using Claude Code\" generalized."
10
10
  },
11
11
  {
@@ -35,7 +35,7 @@
35
35
  {
36
36
  "section": "After Greeting — BRANCH ON FIRST RESPONSE",
37
37
  "action": "replace",
38
- "sourceHash": "3bac01c0a00a",
38
+ "sourceHash": "58978a357792",
39
39
  "note": "EnterWorktree -> bin/agent.sh branch with git checkout fallback; AskUserQuestion -> numbered options in plain text; branch-guard mapped to .codex/hooks/branch-guard.js with instruction fallback; plan-mode note dropped (no plan mode on Codex); /branch + /onboarding -> skill tokens. Handoff claiming and repoState auto-checkout bash kept verbatim (pure git); surrounding prose compressed 2026-08 for the 32 KiB budget, every rule retained."
40
40
  },
41
41
  {
@@ -45,15 +45,15 @@
45
45
  "note": "Kept verbatim — shell facts, runtime-neutral."
46
46
  },
47
47
  {
48
- "section": "Knowledge Graph",
48
+ "section": "Optional Knowledge Graph Projection",
49
49
  "action": "keep",
50
- "sourceHash": "b5d9a149f1a6",
51
- "note": "Kept verbatim — bin/graph.sh is runtime-neutral."
50
+ "sourceHash": "557b6fe48eca",
51
+ "note": "Kept verbatim — graph traversal remains an explicit optional adapter and canonical evidence wins."
52
52
  },
53
53
  {
54
54
  "section": "Egregore Retrieval Beat",
55
55
  "action": "keep",
56
- "sourceHash": "0c4d4715fb13",
56
+ "sourceHash": "6c5cbb0d1c9a",
57
57
  "note": "Kept verbatim — product attribution applies across runtimes."
58
58
  },
59
59
  {
@@ -95,13 +95,13 @@
95
95
  {
96
96
  "section": "Working Conventions",
97
97
  "action": "keep",
98
- "sourceHash": "2e4ec18b72a6",
98
+ "sourceHash": "5001a5c9e645",
99
99
  "note": "Kept verbatim."
100
100
  },
101
101
  {
102
102
  "section": "Command Awareness",
103
103
  "action": "keep",
104
- "sourceHash": "be00d1fc715f",
104
+ "sourceHash": "40ddb59f17b1",
105
105
  "note": "Prepended the Codex command surface (skill tokens, native vs adapter split, $save abstraction); disambiguation map kept with /x -> $x token rendering. Tokens with no Codex skill (e.g. /loop, a Claude Code harness feature) are left as-is."
106
106
  },
107
107
  {
@@ -119,7 +119,7 @@
119
119
  {
120
120
  "section": "Mode",
121
121
  "action": "keep",
122
- "sourceHash": "0f74e18fd1b4",
122
+ "sourceHash": "8a821c2f41c0",
123
123
  "note": "Kept; /env and /checkup rendered as $skill tokens."
124
124
  },
125
125
  {
@@ -86,7 +86,7 @@ Sequence: **intent → safe workspace → relevant context → consequential ass
86
86
  When the user continues the current branch's work or asks to resume — sequence: **continuation intent → prior workspace → restored context → open threads → resumed execution**:
87
87
 
88
88
  - Do not create a new workspace for the same topic. After confirming relevance, say: `I found your previous work on **{topic}** and restored its workspace and context.` Show `Workspace: {branch} (worktree).` secondarily.
89
- - Retrieve relevant decisions, handoffs, or prior work; keep the Retrieval Beat and `↳ Context restored:` receipt. Never claim context was restored from a branch name alone.
89
+ - Interpret continuation from meaning, not fixed phrases. Reuse sufficient `EGREGORE_ORG_CONTEXT_V1`; otherwise make exactly one `bash bin/search.sh query "<concept>" -n 6 --compact` call. Keep the Retrieval Beat and `↳ Context restored:` receipt. Never infer context from a branch or substitute status dashboards, Git, Graph, or raw memory scans.
90
90
  - Name only unresolved items that could change the next move, state the next outcome briefly, and continue without replaying setup.
91
91
 
92
92
  ### Handoff claiming
@@ -155,22 +155,20 @@ In connected mode, infrastructure credentials (Neo4j, Telegram) live on the API
155
155
 
156
156
  ---
157
157
 
158
- ## Knowledge Graph
158
+ ## Optional Knowledge Graph Projection
159
159
 
160
- **Connected mode only.** For the following intents, the named read must be the
161
- first retrieval action. Run the exact command with its safe default limit before
162
- opening files, running broad grep, inspecting `graph-op.sh`, or writing Cypher:
160
+ **Connected mode only, explicit opt-in only, and never part of default
161
+ retrieval.** Egregore Runtime Observe backed by the instance-owned QMD adapter
162
+ is the default organizational retrieval path in every mode. Never infer graph
163
+ use from words such as handoff, question, meeting, status, current work, or
164
+ lineage. Those intents still enter Runtime/QMD unless the user explicitly asks
165
+ for graph relationships or a workflow explicitly requests optional Connected
166
+ enrichment.
163
167
 
164
- - current work addressed to someone → `bash bin/graph-op.sh open-handoffs "<user>"`
165
- - unanswered questions for someone → `bash bin/graph-op.sh pending-questions "<user>"`
166
- - handoff → implementation → branch/PR/direction → `bash bin/graph-op.sh lineage "<topic>"`
167
- - company/person/topic across meetings → `bash bin/graph-op.sh meeting-history "<entity-or-topic>"`
168
-
169
- A question about calls, meetings, transcripts, demos, or how a conversation
170
- evolved is always `meeting-history` intent when it names a company, person, or
171
- topic—even when it does not ask for "current" or "live" state. Pass the shortest
172
- discriminative entity or topic (for example, `meeting-history "42CAP"`), not the
173
- whole question.
168
+ For an explicit graph-projection request, use the smallest named read that
169
+ answers it: `open-handoffs`, `pending-questions`, `lineage`, or
170
+ `meeting-history`. Verify projection freshness/coverage and open its canonical
171
+ `evidencePath` before acting. Canonical Markdown wins on disagreement.
174
172
 
175
173
  Run `catalog` only when the route is unclear. Named reads return bounded stable fields and exact canonical `evidencePath` pointers; open only the returned files needed to answer. When a read reports partial coverage, use `unprojectedPaths` rather than claiming those files are represented in the graph. Use `bin/graph.sh` for unsupported Neo4j queries and never construct curl calls directly. See DEVELOPMENT.md §1 for the schema. In local mode there is no graph; read `memory/` directly.
176
174
 
@@ -178,47 +176,52 @@ Run `catalog` only when the route is unclear. Named reads return bounded stable
178
176
 
179
177
  ## Egregore Retrieval Beat
180
178
 
181
- Egregore's organizational search is a product surface, not indistinguishable
182
- agent tool use. For each user-directed lookup of organizational knowledge,
183
- show exactly one visible attribution line:
179
+ For each user-directed organizational lookup, show exactly one visible line:
184
180
 
185
181
  - memory-only retrieval:
186
182
  `⌕ Egregore · searching your organization’s memory`
187
183
  - retrieval that actually queries the connected graph:
188
184
  `⌕ Egregore Connect · searching your organization’s memory and relationships`
189
185
 
190
- **Visibility is the contract.** Emit the applicable line verbatim as a
186
+ Runtime owns retrieval; no agent feature flag does. `EGREGORE_ORG_CONTEXT_V1`
187
+ is only the schema label. When attached, authorized retrieval is complete:
188
+ never query again that turn, and state any evidence gap. `OPENED_BY_OBSERVE`
189
+ means the evidence is open. A later explicit search starts a new turn.
190
+
191
+ **Visibility is the contract.** Emit it verbatim as a
191
192
  standalone assistant message before the first Bash, Grep, Glob, Read, or other
192
- retrieval tool call. Shell/tool output does not satisfy this requirement:
193
- Claude Code and other harnesses may collapse it. Do not paraphrase the line or
194
- replace it with generic narration such as “I’ll search org memory.”
193
+ retrieval tool call.
194
+ Shell/tool output does not satisfy this requirement. Do not paraphrase the line.
195
195
 
196
- Use the memory form for local/filesystem-only organizational retrieval. Use the
197
- Connect form when the retrieval route will query the connected graph, including
198
- automatic graph enrichment in `bin/search.sh query`, a graph-only named read,
199
- or exploratory Cypher. Emit once for the whole retrieval episode, not once per
200
- hop. The banner printed by `bin/search.sh` remains a direct-shell fallback and
201
- does not replace the assistant-visible beat.
196
+ Use the memory form normally; use Connect only for an explicit graph traversal
197
+ that actually runs. Emit once per episode. A `bin/search.sh` banner is only a
198
+ shell fallback and does not replace this visible beat.
202
199
 
203
- **Routing is part of the contract.** For organizational history, decisions,
204
- handoffs, meetings, people, pricing, strategy, or other shared-memory content,
205
- the first retrieval action is:
200
+ **Routing:** Organizational recall always enters Egregore Runtime. The model is
201
+ the semantic intent authority, deciding from meaning rather than fixed phrases.
202
+ Observe is optional prefetch; a prefetch miss never means recall is unnecessary.
203
+ Without sufficient attached context, make exactly one Runtime/QMD call:
206
204
 
207
205
  ```bash
208
- bash bin/search.sh query "<concept>" -n 6
206
+ bash bin/search.sh query "<concept>" -n 6 --compact
209
207
  ```
210
208
 
211
- Do not start by resolving `memory/` to its sibling repository, changing
212
- directory into that absolute path, or improvising `grep`/`ls` over it. The
213
- search entry point owns keyword/semantic selection and automatically attaches
214
- graph state in connected mode. Read or grep the returned `memory/...` source
215
- paths only after the ranked call when verification needs the full document.
216
- Native Grep/Glob remain the right first action for repository code, filenames,
217
- and exact error strings—not organizational recall.
218
-
219
- Do not emit the beat for native repository/code search, Git inspection, startup
220
- context hydration, graph writes, ingestion projection, background sync,
221
- maintenance, or command-internal queries that are not answering a user lookup.
209
+ Search output is model-internal: show only the retrieval line and receipts —
210
+ never ranked blocks, file/rank/excerpt metadata, or raw JSON.
211
+
212
+ Do not resolve `memory/` to its sibling repo or start with raw `grep`/`ls`.
213
+ Search owns lexical/semantic selection and attaches no graph by default. Open a
214
+ source only when its excerpt cannot support a necessary claim. For current
215
+ team/person synthesis, retain known organization/member names and choose
216
+ `--recent-days` plus `--min-evidence`. Use native
217
+ Grep/Glob for code and exact errors. `/activity`, `/dashboard`, and `/project`
218
+ display bounded status surfaces only when named or directly requested as a
219
+ card. Questions asking for an explained synthesis of current organizational
220
+ work are Runtime/QMD recall, as is prior-work discovery. Do not run full
221
+ hybrid retrieval on unrelated prompts or infer graph from recall intent.
222
+
223
+ Do not emit the beat for code search, Git inspection, startup hydration, graph
224
+ writes, ingestion, background sync, maintenance, or internal queries.
222
225
  Never name `Egregore Connect` unless a graph read will actually run.
223
226
 
224
227
  ---
@@ -318,7 +321,7 @@ Repos in `egregore.json` → `repos[]` are cloned as siblings (`../{repo}/`). Ea
318
321
 
319
322
  ## Working Conventions
320
323
 
321
- - Check memory before starting unfamiliar work — `bash bin/search.sh query "topic"` (hybrid search over all of `memory/`)
324
+ - For unfamiliar org work, use Observe context; if absent, run `bash bin/search.sh query "topic" --compact`.
322
325
  - Document significant decisions in `memory/knowledge/decisions/`
323
326
  - After substantial sessions, log to `memory/handoffs/` and update `index.md`
324
327
 
@@ -344,10 +347,16 @@ Invoke commands from user intent — don't wait for the slash. Each command file
344
347
 
345
348
  **Disambiguation:**
346
349
  - Knowledge: `/reflect` (share-ready) · `/note` (half-baked) · `/deep-reflect` (deep research over memory — questions AND cross-referencing) · `/archive` (AI patterns) · `/audit` (evidence-mined forensic sweep of the org's own record — any target)
347
- - Finding things — **organizational recall starts with `bash bin/search.sh query`** (ranked filesystem retrieval in OSS; automatic relationship/status enrichment in Connect). Use `bin/graph.sh` named reads first only for a pure relationship/status traversal. Use Grep/Glob first for repository code, filenames, and exact error strings—not shared-memory recall. Do not `cd` into the sibling memory repository.
348
- - Finding **something you generated** (a scroll, handoff, emissary, decision, any hosted egregore.xyz link): `bash bin/artifacts.sh find <query>`. Every generative surface already records into memory — hosted artifacts self-register into `memory/artifacts/` at publish (and the record is committed+pushed, so it's findable from *any* session, not just the one that made it); handoffs land in `memory/handoffs/`, emissaries in `memory/handoffs/outbound/`, decisions/findings/patterns in `memory/knowledge/`. The finder searches **all** of them, ranks title/topic matches above passing body mentions, tags each hit by type (`[document]`/`[handoff]`/`[emissary]`/`[decision]`), and surfaces the shareable URL. Findable by **content, not just name**, across all three layers — grep-first for OSS, folding in search + graph when available. *"bring me the artifact where I laid out our GTM plan"* → this.
350
+ - Finding things — **organizational recall starts with automatic Observe**.
351
+ Never query twice in one prompt. Without its context block, use
352
+ `bash bin/search.sh query`. Use Grep/Glob for code and exact errors, not org
353
+ recall. Do not `cd` into the sibling memory repository.
354
+ - Finding **something you generated** (a scroll, handoff, emissary, decision, any hosted egregore.xyz link): `bash bin/artifacts.sh find <query>`. Every generative surface records into memory — hosted artifacts self-register into `memory/artifacts/` at publish (committed+pushed, findable from any session); handoffs in `memory/handoffs/`, emissaries in `memory/handoffs/outbound/`, decisions/findings/patterns in `memory/knowledge/`. The finder searches all of them by **content, not just name**, ranks title/topic matches above body mentions, tags hits by type (`[document]`/`[handoff]`/`[emissary]`/`[decision]`), and surfaces the shareable URL — grep-first in OSS, search + graph when available. *"bring me the artifact where I laid out our GTM plan"* → this.
349
355
  - Artifacts with questions: `/scroll` (living paper + embedded harvest, updates in place) · `/view` (static render) · `/harvest` (elicitation, no published face) · `/mock` (pre-build walkthrough of decided design — gauge per stop, verdict copy-back)
350
- - Status: `/dashboard` (personal) · `/activity` (org-wide)
356
+ - Explicit bounded status: `/dashboard` (personal) · `/activity` (org-wide) ·
357
+ `/project` (named project). These display cards when named or directly
358
+ requested. Analytical questions about organizational work and specific
359
+ prior-work continuation route through Runtime/QMD recall.
351
360
  - Ending: `/wrap` (personal closure) · `/handoff` (notes for others) · `/save` (still working)
352
361
  - Tasks: `/todo` (personal) · `/quest` (team exploration) · `/issue` (something broken)
353
362
  - Questions: `/ask [person]` (async) · just ask (agent answers from context)
@@ -397,7 +406,7 @@ Egregore runs in one of two configurations, set by `mode` in `egregore.json`. De
397
406
  - If a feature requires the hosted service and has no upsell gate, say so plainly ("this isn't available in this configuration") and stop.
398
407
  - Calling `bin/graph.sh` or `bin/notify.sh` in local mode is harmless — they fail soft and return empty results — but there is no need to call them; prefer reading `memory/` directly.
399
408
 
400
- **Connected mode** (`"mode": "connected"`, `api_url` set) — the hosted configuration, used by organizations on the hosted service. Full feature set: Neo4j knowledge graph via `bin/graph.sh`, Telegram notifications via `bin/notify.sh`, dashboard publication, API-backed context gathering on session start. Use `/env` to check API key, `/checkup` for diagnostics. If the graph is offline, show troubleshooting.
409
+ **Connected mode** (`"mode": "connected"`, `api_url` set) — the hosted configuration, used by organizations on the hosted service. Shared control-plane services include accounts, organizations, memberships, invitations, and entitlements. Optional derived graph projection, notifications, and hosted surfaces remain explicit adapters. Local organizational content and retrieval stay local unless a future capability is explicitly enabled. Use `/env` to check API key and `/checkup` for diagnostics.
401
410
 
402
411
  ---
403
412