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
  {
@@ -88,7 +88,7 @@ Sequence: **intent → safe workspace → relevant context → consequential ass
88
88
  When the user continues the current branch's work or asks to resume — sequence: **continuation intent → prior workspace → restored context → open threads → resumed execution**:
89
89
 
90
90
  - 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.
91
- - 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.
91
+ - 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.
92
92
  - Name only unresolved items that could change the next move, state the next outcome briefly, and continue without replaying setup.
93
93
 
94
94
  ### Handoff claiming
@@ -157,22 +157,20 @@ In connected mode, infrastructure credentials (Neo4j, Telegram) live on the API
157
157
 
158
158
  ---
159
159
 
160
- ## Knowledge Graph
160
+ ## Optional Knowledge Graph Projection
161
161
 
162
- **Connected mode only.** For the following intents, the named read must be the
163
- first retrieval action. Run the exact command with its safe default limit before
164
- opening files, running broad grep, inspecting `graph-op.sh`, or writing Cypher:
162
+ **Connected mode only, explicit opt-in only, and never part of default
163
+ retrieval.** Egregore Runtime Observe backed by the instance-owned QMD adapter
164
+ is the default organizational retrieval path in every mode. Never infer graph
165
+ use from words such as handoff, question, meeting, status, current work, or
166
+ lineage. Those intents still enter Runtime/QMD unless the user explicitly asks
167
+ for graph relationships or a workflow explicitly requests optional Connected
168
+ enrichment.
165
169
 
166
- - current work addressed to someone → `bash bin/graph-op.sh open-handoffs "<user>"`
167
- - unanswered questions for someone → `bash bin/graph-op.sh pending-questions "<user>"`
168
- - handoff → implementation → branch/PR/direction → `bash bin/graph-op.sh lineage "<topic>"`
169
- - company/person/topic across meetings → `bash bin/graph-op.sh meeting-history "<entity-or-topic>"`
170
-
171
- A question about calls, meetings, transcripts, demos, or how a conversation
172
- evolved is always `meeting-history` intent when it names a company, person, or
173
- topic—even when it does not ask for "current" or "live" state. Pass the shortest
174
- discriminative entity or topic (for example, `meeting-history "42CAP"`), not the
175
- whole question.
170
+ For an explicit graph-projection request, use the smallest named read that
171
+ answers it: `open-handoffs`, `pending-questions`, `lineage`, or
172
+ `meeting-history`. Verify projection freshness/coverage and open its canonical
173
+ `evidencePath` before acting. Canonical Markdown wins on disagreement.
176
174
 
177
175
  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.
178
176
 
@@ -180,47 +178,52 @@ Run `catalog` only when the route is unclear. Named reads return bounded stable
180
178
 
181
179
  ## Egregore Retrieval Beat
182
180
 
183
- Egregore's organizational search is a product surface, not indistinguishable
184
- agent tool use. For each user-directed lookup of organizational knowledge,
185
- show exactly one visible attribution line:
181
+ For each user-directed organizational lookup, show exactly one visible line:
186
182
 
187
183
  - memory-only retrieval:
188
184
  `⌕ Egregore · searching your organization’s memory`
189
185
  - retrieval that actually queries the connected graph:
190
186
  `⌕ Egregore Connect · searching your organization’s memory and relationships`
191
187
 
192
- **Visibility is the contract.** Emit the applicable line verbatim as a
188
+ Runtime owns retrieval; no agent feature flag does. `EGREGORE_ORG_CONTEXT_V1`
189
+ is only the schema label. When attached, authorized retrieval is complete:
190
+ never query again that turn, and state any evidence gap. `OPENED_BY_OBSERVE`
191
+ means the evidence is open. A later explicit search starts a new turn.
192
+
193
+ **Visibility is the contract.** Emit it verbatim as a
193
194
  standalone assistant message before the first Bash, Grep, Glob, Read, or other
194
- retrieval tool call. Shell/tool output does not satisfy this requirement:
195
- Claude Code and other harnesses may collapse it. Do not paraphrase the line or
196
- replace it with generic narration such as “I’ll search org memory.”
195
+ retrieval tool call.
196
+ Shell/tool output does not satisfy this requirement. Do not paraphrase the line.
197
197
 
198
- Use the memory form for local/filesystem-only organizational retrieval. Use the
199
- Connect form when the retrieval route will query the connected graph, including
200
- automatic graph enrichment in `bin/search.sh query`, a graph-only named read,
201
- or exploratory Cypher. Emit once for the whole retrieval episode, not once per
202
- hop. The banner printed by `bin/search.sh` remains a direct-shell fallback and
203
- does not replace the assistant-visible beat.
198
+ Use the memory form normally; use Connect only for an explicit graph traversal
199
+ that actually runs. Emit once per episode. A `bin/search.sh` banner is only a
200
+ shell fallback and does not replace this visible beat.
204
201
 
205
- **Routing is part of the contract.** For organizational history, decisions,
206
- handoffs, meetings, people, pricing, strategy, or other shared-memory content,
207
- the first retrieval action is:
202
+ **Routing:** Organizational recall always enters Egregore Runtime. The model is
203
+ the semantic intent authority, deciding from meaning rather than fixed phrases.
204
+ Observe is optional prefetch; a prefetch miss never means recall is unnecessary.
205
+ Without sufficient attached context, make exactly one Runtime/QMD call:
208
206
 
209
207
  ```bash
210
- bash bin/search.sh query "<concept>" -n 6
208
+ bash bin/search.sh query "<concept>" -n 6 --compact
211
209
  ```
212
210
 
213
- Do not start by resolving `memory/` to its sibling repository, changing
214
- directory into that absolute path, or improvising `grep`/`ls` over it. The
215
- search entry point owns keyword/semantic selection and automatically attaches
216
- graph state in connected mode. Read or grep the returned `memory/...` source
217
- paths only after the ranked call when verification needs the full document.
218
- Native Grep/Glob remain the right first action for repository code, filenames,
219
- and exact error strings—not organizational recall.
220
-
221
- Do not emit the beat for native repository/code search, Git inspection, startup
222
- context hydration, graph writes, ingestion projection, background sync,
223
- maintenance, or command-internal queries that are not answering a user lookup.
211
+ Search output is model-internal: show only the retrieval line and receipts —
212
+ never ranked blocks, file/rank/excerpt metadata, or raw JSON.
213
+
214
+ Do not resolve `memory/` to its sibling repo or start with raw `grep`/`ls`.
215
+ Search owns lexical/semantic selection and attaches no graph by default. Open a
216
+ source only when its excerpt cannot support a necessary claim. For current
217
+ team/person synthesis, retain known organization/member names and choose
218
+ `--recent-days` plus `--min-evidence`. Use native
219
+ Grep/Glob for code and exact errors. `/activity`, `/dashboard`, and `/project`
220
+ display bounded status surfaces only when named or directly requested as a
221
+ card. Questions asking for an explained synthesis of current organizational
222
+ work are Runtime/QMD recall, as is prior-work discovery. Do not run full
223
+ hybrid retrieval on unrelated prompts or infer graph from recall intent.
224
+
225
+ Do not emit the beat for code search, Git inspection, startup hydration, graph
226
+ writes, ingestion, background sync, maintenance, or internal queries.
224
227
  Never name `Egregore Connect` unless a graph read will actually run.
225
228
 
226
229
  ---
@@ -320,7 +323,7 @@ Repos in `egregore.json` → `repos[]` are cloned as siblings (`../{repo}/`). Ea
320
323
 
321
324
  ## Working Conventions
322
325
 
323
- - Check memory before starting unfamiliar work — `bash bin/search.sh query "topic"` (hybrid search over all of `memory/`)
326
+ - For unfamiliar org work, use Observe context; if absent, run `bash bin/search.sh query "topic" --compact`.
324
327
  - Document significant decisions in `memory/knowledge/decisions/`
325
328
  - After substantial sessions, log to `memory/handoffs/` and update `index.md`
326
329
 
@@ -352,10 +355,16 @@ Invoke commands from user intent — don't wait for the slash. Each command file
352
355
 
353
356
  **Disambiguation:**
354
357
  - 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)
355
- - 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.
356
- - 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.
358
+ - Finding things — **organizational recall starts with automatic Observe**.
359
+ Never query twice in one prompt. Without its context block, use
360
+ `bash bin/search.sh query`. Use Grep/Glob for code and exact errors, not org
361
+ recall. Do not `cd` into the sibling memory repository.
362
+ - 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.
357
363
  - 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)
358
- - Status: `/dashboard` (personal) · `/activity` (org-wide)
364
+ - Explicit bounded status: `/dashboard` (personal) · `/activity` (org-wide) ·
365
+ `/project` (named project). These display cards when named or directly
366
+ requested. Analytical questions about organizational work and specific
367
+ prior-work continuation route through Runtime/QMD recall.
359
368
  - Ending: `/wrap` (personal closure) · `/handoff` (notes for others) · `/save` (still working)
360
369
  - Tasks: `/todo` (personal) · `/quest` (team exploration) · `/issue` (something broken)
361
370
  - Questions: `/ask [person]` (async) · just ask (agent answers from context)
@@ -405,7 +414,7 @@ Egregore runs in one of two configurations, set by `mode` in `egregore.json`. De
405
414
  - If a feature requires the hosted service and has no upsell gate, say so plainly ("this isn't available in this configuration") and stop.
406
415
  - 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.
407
416
 
408
- **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.
417
+ **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.
409
418
 
410
419
  ---
411
420