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,45 +1,86 @@
1
1
  ---
2
2
  name: checkup
3
- description: 'Run diagnostics on your Egregore environment and render a health report, auto-fixing what it can. Use for /checkup, a health check, or when something is broken and the root cause is unclear.'
3
+ description: 'Run diagnostics on an Egregore environment and render a health report, repairing safe local Runtime problems when possible. Use for $checkup, a health check, or when something is broken and the root cause is unclear.'
4
4
  ---
5
5
 
6
- <!-- generated-by: bin/codex-sync-skills.sh -->
6
+ # Egregore checkup
7
7
 
8
- # Egregore checkup Adapter
8
+ Native Codex Egregore skill. Diagnose canonical Egregore Runtime health before
9
+ optional integrations. Do not invoke Claude commands or read QMD internals.
9
10
 
10
- This is fallback coverage for a long-tail Egregore workflow that has not been
11
- ported to a hand-written Codex-native skill yet.
11
+ ## Structured UX parity
12
12
 
13
- Use the project shell and filesystem directly. Do not invoke Claude Code
14
- commands. Translate interactive choices to structured Codex question tooling
15
- when it is available; otherwise render compact numbered choices with an
16
- `Other:` option and wait for the user.
13
+ Render the same compact `⊕ CHECKUP` box as the Claude surface: `CONFIG`,
14
+ `RUNTIME`, optional `CONNECTED INTEGRATIONS`, then `WORKSPACE`. Preserve the
15
+ separate Runtime and integration verdicts; never expose raw JSON or probe
16
+ output.
17
17
 
18
- ## Structured UX parity
18
+ ## Procedure
19
+
20
+ Detect mode from `egregore.json`. Treat an explicit local mode or absent
21
+ `api_url` as local. Run three sequential batches so network timeouts cannot
22
+ obscure local health.
23
+
24
+ ### 1. Canonical Runtime
25
+
26
+ Read the typed Runtime health surface once:
27
+
28
+ ```bash
29
+ EGREGORE_ROOT="$PWD" PYTHONPATH="$PWD${PYTHONPATH:+:$PYTHONPATH}" \
30
+ python3 -m egregore_runtime.harness_cli status --json
31
+ ```
32
+
33
+ Interpret only the returned contract:
34
+
35
+ - `canonical_state_ready` is foundational.
36
+ - `adapter=qmd-local`, `collection`, and `index_path` identify the
37
+ instance-owned Local Retriever.
38
+ - `runtime_state`, `runtime_pid`, and `runtime_endpoint` report owned worker
39
+ readiness.
40
+ - `bm25_ready`, `semantic_ready`, and `embedding_state` distinguish ready,
41
+ lexical fallback, and warming states.
42
+ - `index_spec_version`, `index_revision`, and `source_revision` report
43
+ freshness.
44
+
45
+ Never invoke `qmd`, inspect process tables, guess a port, or inspect another
46
+ instance's runtime directory. If canonical memory is ready but the owned worker
47
+ or index is unavailable, run `bash bin/search.sh start` once and re-read the
48
+ same Runtime health surface once. Semantic warming is a warning, not data loss.
49
+
50
+ Validate `egregore.json`, the `memory` link/repository, and only the required
51
+ key names in `.env`; never print secret values.
52
+
53
+ ### 2. Connected integrations
54
+
55
+ Skip entirely in local mode. In connected mode, run graph/control-plane and
56
+ notification probes with ten-second timeouts:
57
+
58
+ ```bash
59
+ timeout 10 bash bin/graph-projection.sh verify --enable 2>&1; echo "EXIT:$?"
60
+ timeout 10 bash bin/notification.sh status 2>&1; echo "EXIT:$?"
61
+ ```
62
+
63
+ Classify graph/control-plane failures as Connected integration warnings;
64
+ canonical Markdown remains authoritative. Read the notification Runtime's
65
+ sanitized JSON `status` field:
66
+ `ok` (connected) or `configured` (local) is healthy. Never replace API keys,
67
+ repair projections, send notifications, or publish from checkup.
68
+
69
+ ### 3. Workspace
70
+
71
+ Check the configured base branch, current worktree, memory repository, local
72
+ framework version, and any configured launcher. Do not fetch, pull, commit,
73
+ push, publish, or mutate canonical memory. Offer `$pull`, `$update`, or `$setup`
74
+ as Egregore next actions when needed.
75
+
76
+ ## Report
77
+
78
+ Use `✓`, `⚠`, and `✗`. In local mode omit `CONNECTED INTEGRATIONS`. End with:
79
+
80
+ ```text
81
+ Runtime {ready|degraded|unavailable} · {N} warnings · integrations {state}
82
+ ```
19
83
 
20
- This workflow has a Claude skill with user-visible structured output. After
21
- reading `.claude/skills/checkup/SKILL.md`, reproduce the same visible UX in Codex:
22
-
23
- - Preserve TUI boxes, markdown tables, rich cards, browser artifact rendering,
24
- exact confirmation blocks, and "no preamble" rules from the source skill.
25
- - Use the source skill's frame width, section order, labels, status footer,
26
- and examples as the contract for the final response.
27
- - Never replace a required box/table/card/artifact view with a prose summary
28
- unless the user explicitly asks for a summary.
29
- - When the source says to output a TUI box directly, paste that box as the
30
- visible response, preferably in a `text` fenced block.
31
- - Never show raw JSON, raw command output, or unformatted script output when
32
- the source skill requires formatted status or rendered output.
33
-
34
- 1. Read `.claude/skills/checkup/SKILL.md` for the workflow details.
35
- 2. Run the referenced `bin/` scripts directly from Codex.
36
- 3. Treat graph and publish steps as best-effort unless that workflow explicitly
37
- says they are required.
38
- 4. For every external notification, follow
39
- `.claude/context/notification-consent.md`: plan without sending, then show
40
- a separate exact Send / Edit / Cancel checkpoint. Never infer notification
41
- consent from the workflow request or a batch approval.
42
- 5. Keep local-mode behavior filesystem-first and avoid graph or notification
43
- calls when `egregore.json` declares `"mode": "local"`.
44
- 6. Never call the deprecated `egregore-handoff` CLI for Egregore project
45
- handoffs.
84
+ Derive Runtime readiness from canonical/Local Retriever state, never from
85
+ Graph, control-plane, or Telegram health. Emit telemetry only through the
86
+ normal command wrapper, best-effort.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: dark-mode
3
- description: 'Use when generating or modifying any visual output that renders in a browser or artifact viewer: HTML pages, CSS, React SSR components, Egregore artifacts, markdown renderers, web components, design-system tokens, Tailwind themes, or standalone demos. Triggers on requests involving dark mode, theme toggles, color systems, card surfaces, browser rendering, or visual polish. The load-bearing lesson: if React SSR emits an inline hex color through `style={}`, CSS dark-mode overrides cannot reach it, so every theme-sensitive color must be emitted as `var(--token)` rather than a resolved hex. Do not use for TUI output, plain markdown files, or non-visual code.'
3
+ description: 'Use when authoring or modifying browser-rendered visual output: HTML, CSS, React SSR, artifact templates, markdown renderers, design tokens, themes, or composed pages. Do not invoke for an ordinary /view render—the checked-in renderer already owns its theme contract. The load-bearing rule is that theme-sensitive colors must be emitted as `var(--token)`, never resolved inline hex.'
4
4
  ---
5
5
 
6
6
  <!-- generated-by: bin/codex-sync-skills.sh -->
@@ -1,59 +1,29 @@
1
1
  ---
2
2
  name: dashboard
3
- description: Show the current user's Egregore dashboard, recent sessions, open threads, and current work from Codex when the user invokes /dashboard or $dashboard, or asks for their dashboard.
3
+ description: Explicit personal-status surface for /dashboard, $dashboard, or a direct request for the whole personal overview. Do not use it to find or resume one specific prior handoff, project, or work thread; that is semantic organizational recall through Runtime/QMD.
4
4
  ---
5
5
 
6
6
  # Egregore Dashboard
7
7
 
8
- Native Codex Egregore skill. Render the personal dashboard immediately from
9
- `bin/dashboard-data.sh` and the shared renderer.
8
+ Use this bounded status card only when the user explicitly asks for Dashboard
9
+ or the whole personal overview. A request to return to one earlier piece of
10
+ work must use attached `EGREGORE_ORG_CONTEXT_V1` evidence or exactly one Search
11
+ workflow query when that evidence is absent. Never use Dashboard as discovery
12
+ fallback.
10
13
 
11
- ## Flow
12
-
13
- 1. Map user range words to ISO-ish ranges:
14
- - empty or `week` -> `P7D`
15
- - `today` -> `P1D`
16
- - `month` -> `P30D`
17
- - `all` -> `P365D`
18
- 2. Run `bash bin/dashboard-data.sh "" "$TIME_RANGE"` with network escalation
19
- and capture stdout as JSON. This command performs the graph API call
20
- internally; a normal sandboxed Codex shell can make a healthy graph look
21
- unreachable.
22
- 3. Classify graph status:
23
-
24
- ```bash
25
- node bin/codex-skill-render.mjs classify-graph --mode connected
26
- ```
27
-
28
- If the network-enabled command still returns `retry` because the reason is
29
- `unreachable`, render the filesystem fallback and mention that the graph service
30
- was unreachable after a network-enabled attempt. If network escalation is denied
31
- or unavailable, run the command without escalation, render the fallback, and
32
- say Codex graph network access was not granted; do not claim the graph itself
33
- was unreachable.
34
-
35
- 4. Render:
14
+ Map the range to `P1D`, `P7D`, `P30D`, or `P365D`, then fetch and render one
15
+ authorized Runtime snapshot:
36
16
 
37
17
  ```bash
38
- node bin/codex-skill-render.mjs dashboard-card <json-file>
18
+ bash bin/dashboard-data.sh "$TIME_RANGE" 2>/dev/null \
19
+ | bash bin/node-run.sh bin/codex-skill-render.mjs dashboard-card -
39
20
  ```
40
21
 
41
- Paste the rendered card exactly in the visible response, preferably in a
42
- `text` fenced block. Do not paraphrase the card into bullets unless the user
43
- asks for a summary.
44
-
45
- 5. End with a compact next-action prompt. Use structured Codex question
46
- tooling when available; otherwise render numbered choices plus `Other:`.
47
-
48
- ## Rules
22
+ Paste the card exactly and stop. Never expose raw JSON, sync repositories, or
23
+ call QMD, graph, GitHub, Supabase, or a control-plane API. Canonical Markdown
24
+ and Runtime lifecycle state are authoritative.
49
25
 
50
- - Never show raw JSON.
51
- - Do not narrate each command step unless something blocks the workflow; the
52
- final visible response should lead with the rendered card.
53
- - Structured UX parity is required: preserve the rendered dashboard TUI card,
54
- no preamble, no prose-only replacement, and no raw collector output.
55
- - Do not call `bin/graph.sh` directly; `bin/dashboard-data.sh` is the data
56
- boundary.
57
- - In local mode, do not mention graph setup; memory files are the source of
58
- truth.
59
- - Do not use Claude Code commands.
26
+ Connected enrichment is optional and explicit: set
27
+ `EGREGORE_STATUS_CONNECTED_ENRICH=1` only when the user asks for projected
28
+ Connected status. It is capability/permission gated and cannot override the
29
+ canonical snapshot.
@@ -1,166 +1,117 @@
1
1
  ---
2
2
  name: handoff
3
- description: Create an internal Egregore team handoff when the user invokes /handoff or $handoff, asks to hand off work, or wants to pass context to a teammate or future self.
3
+ description: Create an internal Egregore team handoff when the user invokes /handoff or $handoff, asks to pass work or context, or wants an operational continuation record for a teammate or future self. Route external or executable capsules to $emissary.
4
4
  ---
5
5
 
6
- # Egregore Handoff
7
-
8
- Native Codex Egregore skill. This creates an internal team handoff in
9
- `memory/handoffs/`, indexes it, publishes it when possible, and may prepare an
10
- external notification proposal. External runnable packets are emissaries; if the user
11
- asks for one or provides an `egregore.xyz/emissary/e/` link, use the emissary
12
- tooling instead.
13
-
14
- `/handoff` is pure addressed capture. Do not triage incoming handoffs here;
15
- route “show/close my handoffs” to `$activity`. Personal session closure without
16
- an addressed recipient belongs to `$wrap`.
17
-
18
- ## Flow
19
-
20
- 1. Run `bin/agent.sh sync`.
21
- 2. Resolve the author from `.egregore-state.json` `github_username`, then
22
- `name`, then git config.
23
- 3. Parse a short topic and optional recipient from the user request. Match the
24
- recipient against `memory/people/*.md`; omit the recipient when uncertain.
25
- 4. Classify the content before drafting:
26
- - **Supplied content**: the user pasted substantial prose, supplied a
27
- document, or approved exact wording. Preserve wording, order, headings,
28
- lists, code, and links. Add only capture frontmatter with
29
- `content_mode: supplied`. Do not create a composed JSON or attach session
30
- artifacts unless the user asks.
31
- - **Generated content**: the user supplied only a topic or fragmentary
32
- notes. Draft the canonical markdown record with these sections:
33
- - `## Briefing`
34
- - `## Key Decisions`
35
- - `## Current State`
36
- - `## Open Threads`
37
- - `## Next Steps`
38
- - `## Entry Points`
39
- Use this metadata contract even when the user supplied only prose:
6
+ # Egregore handoff
7
+
8
+ Create one typed handoff in `memory/handoffs/`. Canonical Markdown and Git
9
+ provenance are authoritative. Runtime owns authorization, stable identity,
10
+ persistence, provenance, retrieval refresh, background embedding, and
11
+ content-free telemetry.
12
+
13
+ Use this only for internal handoffs. Route external capsules to `$emissary`,
14
+ pending-work triage to `$activity`, and personal closure to `$wrap`.
15
+
16
+ ## Bounded capture
17
+
18
+ A handoff records known context; it is not a research, audit, planning, or
19
+ verification ritual.
20
+
21
+ - Use the user's prompt, current conversation, and attached
22
+ `EGREGORE_ORG_CONTEXT_V1`. When that context is attached, do not repeat
23
+ organizational retrieval.
24
+ - If no organizational context is attached and the requested handoff
25
+ semantically depends on prior organizational work that is absent from the
26
+ conversation, follow the actor context's one Runtime/QMD recall instruction.
27
+ This is the only allowed retrieval: use its returned evidence without a
28
+ second query or opening more sources.
29
+ - Do not otherwise search, inspect Git, read repository files, query
30
+ migration/skill manifests, run status/tests, or spawn agents to improve the
31
+ handoff.
32
+ - Include branches, files, decisions, tests, and remaining work only when
33
+ already known from those inputs. Label uncertainty briefly; if the handoff
34
+ cannot be drafted responsibly, ask one focused question instead of exploring.
35
+ - “To myself” resolves to `Actor display name` in the attached
36
+ `EGREGORE_ACTOR_CONTEXT_V1`. Never infer it from the OS username, Git, or
37
+ GitHub. If that block is unavailable, ask for the handle rather than
38
+ guessing. Do not perform a people-directory lookup. Ask once only for a
39
+ genuinely ambiguous teammate.
40
+ - Infer `intent`: `action`, `feedback`, or `fyi`.
41
+
42
+ Before approval, use at most one optional Runtime/QMD recall command, followed
43
+ by the preview command below.
44
+ After approval, use exactly one shell command: writeback plus card rendering.
45
+ Do not perform notification or publication work unless separately requested.
46
+
47
+ ## Canonical Markdown
48
+
49
+ Use this envelope:
40
50
 
41
51
  ```markdown
42
52
  ---
43
53
  capture_schema: egregore-capture/v1
44
54
  capture_mode: addressed
45
55
  kind: addressed
46
- from: <author>
47
- addressed_to: <recipient, if any>
56
+ from: <actor handle>
57
+ addressed_to: <recipient, if known>
48
58
  date: YYYY-MM-DD
49
59
  topic: <topic>
50
60
  intent: <action | feedback | fyi>
51
61
  content_mode: <supplied | generated>
52
- claim: <one-line claim>
62
+ claim: <one-line current state>
53
63
  ask: <what the receiver should do>
54
64
  ---
55
- ```
56
-
57
- 5. Build the preview. For supplied content, render the Markdown directly
58
- through the native handoff renderer and verify fidelity:
59
-
60
- ```bash
61
- node packages/egregore-artifacts/bin/cli.js handoff "$BODY_FILE" \
62
- --verify-fidelity
63
- ```
64
-
65
- For generated content, compose the HTML view from that record. Markdown is
66
- canonical; the JSON is
67
- only a presentation map. Give every JSON section a stable `id` and add a
68
- top-level `sourceMap` from every authored `##` heading to the section that
69
- contains its complete text:
70
-
71
- ```json
72
- {
73
- "kind": "handoff",
74
- "kicker": "Handoff",
75
- "topic": "<topic>",
76
- "claim": "<one-line claim>",
77
- "sourceMap": {
78
- "Briefing": "briefing",
79
- "Key Decisions": "decisions",
80
- "Current State": "current-state",
81
- "Open Threads": "open-threads",
82
- "Next Steps": "next-steps",
83
- "Entry Points": "entry-points"
84
- },
85
- "sections": [
86
- {"id":"briefing","label":"Briefing","component":"prose","body":"<complete Briefing text>"}
87
- ]
88
- }
89
- ```
90
65
 
91
- Pick richer components when they fit, but copy all authored content into
92
- the mapped destination. Never independently summarize the Markdown into the
93
- JSON. For command-heavy sections, keep command headings, explanatory text,
94
- fenced commands, and expected output verbatim.
95
-
96
- Render generated content with semantic coverage enabled:
97
-
98
- ```bash
99
- node packages/egregore-artifacts/bin/cli.js composed "$COMPOSED_FILE" \
100
- --source "$BODY_FILE" --verify-fidelity
66
+ <canonical handoff body>
101
67
  ```
102
68
 
103
- 6. Show the actual browser HTML before publishing. This is the approval
104
- surface—not a list of component names.
69
+ Preserve supplied wording, order, headings, lists, code, and links. For
70
+ generated content, use only the useful subset of Briefing, Current State, Open
71
+ Threads, and Next Steps. Keep it operational and concise.
105
72
 
106
- Stop for confirmation after the browser preview. If validation fails, fix
107
- the mapping/content and render again. Skip confirmation only when the user
108
- explicitly said to send without preview.
73
+ ## One-command preview
109
74
 
110
- 7. After confirmation, run one orchestration command:
75
+ Pipe the exact canonical Markdown once to the private preview bridge. It stores
76
+ the approved bytes in an OS-private, short-lived record and returns an opaque
77
+ `HANDOFF_PREVIEW_TOKEN`. Retain that token for the approval turn. Do not create
78
+ checkout or draft files yourself. The bridge renders with `--verify-fidelity`.
79
+ If the renderer reports that its local dependencies are missing, stop and
80
+ report that prerequisite. Never install packages or repeat the full preview
81
+ command inside the handoff workflow.
111
82
 
112
83
  ```bash
113
- TMPDIR="$(mktemp -d -t codex-handoff-XXXXXX)"
114
- TMPDIR="$TMPDIR" bash bin/capture-run.sh --mode addressed --author "$AUTHOR" \
115
- --topic "$TOPIC" ${RECIPIENT_ARG} --content-mode "$CONTENT_MODE" \
116
- ${COMPOSED_ARG} < "$BODY_FILE"
84
+ bash bin/handoff-preview.sh preview \
85
+ --author "$AUTHOR" --recipient "$RECIPIENT" --topic "$TOPIC" \
86
+ --intent "$INTENT" --content-mode "$CONTENT_MODE" <<'EGREGORE_HANDOFF'
87
+ <exact canonical Markdown>
88
+ EGREGORE_HANDOFF
117
89
  ```
118
90
 
119
- Use `COMPOSED_ARG=(--composed "$COMPOSED_FILE")` only for generated content.
91
+ Show the browser preview and wait for approval unless explicitly waived.
92
+ Preview is not canonical writeback. Preview approval is not sharing consent.
120
93
 
121
- Use `--recipient "$RECIPIENT"` only when a clear teammate or future-self
122
- recipient is known. Do not pass `--no-publish` unless the user explicitly
123
- asked for a dry run. The runner may plan a notification, but never dispatches.
94
+ ## One-command approval
124
95
 
125
- 8. Read `$TMPDIR/handoff-run-result.json` and render:
96
+ After approval, submit only the opaque token returned by preview. Never replay,
97
+ regenerate, or include the canonical Markdown in the approval command. The
98
+ bridge consumes the exact previewed bytes, performs one Runtime transaction,
99
+ and renders the deterministic result card in the same invocation:
126
100
 
127
101
  ```bash
128
- node bin/codex-skill-render.mjs handoff-card "$TMPDIR/handoff-run-result.json"
102
+ bash bin/handoff-preview.sh approve "<HANDOFF_PREVIEW_TOKEN>"
129
103
  ```
130
104
 
131
- Paste the rendered card exactly in the visible response, preferably in a
132
- `text` fenced block. Do not paraphrase the card into bullets unless the user
133
- asks for a summary.
134
-
135
- 9. If the result has `notifyStatus: "approval_required"`, follow
136
- `.claude/context/notification-consent.md`. In a separate checkpoint, show
137
- the exact organization, recipient/group, every channel/delivery, and exact
138
- message from `notifyPlan`; offer Send / Edit / Cancel and wait. Only a Send
139
- response to that preview permits one `approve` + `dispatch`. A local direct
140
- message never falls back to a group.
105
+ The token is private, expires after six hours, and is consumed after a
106
+ successful canonical write. Do not add a cleanup trap or recursive deletion to
107
+ the approved command; the bridge manages only its exact private records.
141
108
 
142
- 10. Fire the detached save helper when appropriate:
143
-
144
- ```bash
145
- ( bash bin/handoff-save-egregore.sh "$AUTHOR" "$TOPIC" >/dev/null 2>&1 & ) >/dev/null 2>&1
146
- ```
109
+ Omit `--recipient` from the preview command only for an unaddressed
110
+ continuation. Runtime performs authorize → canonical persist → Git provenance
111
+ → retrieval update → background embed → telemetry. Return the card verbatim
112
+ and canonical `memory/...` path. Do not print raw JSON. Do not run a second save
113
+ or manage Git, QMD, graph, publication, or notification.
147
114
 
148
- 11. Report the `memory/...` path and hosted link from the result JSON when a
149
- link exists.
150
-
151
- ## Rules
152
-
153
- - Do not call `egregore-handoff` for project handoffs.
154
- - Do not use Claude Code commands.
155
- - Keep the briefing concise and operational; include exact files, branches,
156
- commands, open questions, and verification state when relevant.
157
- - Supplied content is authoritative. Do not replace it with a session summary,
158
- presentation JSON, related artifacts, or repo state.
159
- - The artifact is a view of the handoff, never a summary of it. Publishing
160
- must fail when any non-empty authored section is unmapped or loses content.
161
- - Structured UX parity is required: the rendered card is the acknowledgment.
162
- Do not add a preamble such as "Handoff created successfully." Preserve the
163
- 72-column TUI/card shape, status footer, links below the box, and warning
164
- placement used by the Egregore handoff workflow.
165
- - Creating or approving the handoff is not notification consent. Never approve
166
- or dispatch from detached work.
115
+ If writeback fails, report the concise error and stop. External sharing is a
116
+ separate `SHARE` action requiring an explicit user request and exact
117
+ destination/payload approval.
@@ -1,131 +1,46 @@
1
1
  ---
2
2
  name: harvest
3
- description: Run an adaptive Egregore harvest from Codex when the user invokes /harvest or $harvest to elicit tacit context, preferences, positions, and team judgment.
3
+ description: "Run an adaptive Egregore harvest with $harvest to elicit tacit context, preferences, positions, constraints, or team judgment and preserve an attributed synthesis. Use for structured interviews and alignment scans, not casual questions or fixed surveys."
4
4
  ---
5
5
 
6
- # Egregore Harvest
6
+ # Harvest
7
7
 
8
- Native Codex Egregore skill. A harvest is a structured elicitation process that
9
- turns tacit context into durable organizational memory.
8
+ Read `PROCESS.md` and `FORMAT.md` completely from the Claude harvest skill
9
+ directory before questioning. Read `QUESTION_PALETTE.md` completely. Use `AUDIT.md` §14 only for
10
+ a pasted decision-surface return; its legacy persistence recipes are not the
11
+ Runtime path.
10
12
 
11
- ## Parse
13
+ Parse topic plus optional respondents, seed, resume id, and disclosure mode.
14
+ Reuse attached `EGREGORE_ORG_CONTEXT_V1`. Search once only for a named gap and
15
+ open exact evidence through `bin/search.sh`; never query infrastructure.
12
16
 
13
- Accept a topic plus optional flags:
17
+ Follow the adaptive seed → generate → evaluate → checkpoint → cascade →
18
+ synthesize rhythm. Ask one interaction at a time, preserve freeform escape,
19
+ record question intent, attribute evidence, and never force convergence. Blind
20
+ mode prevents another respondent's content from shaping questions. Dispatch
21
+ the frozen question set unchanged for a blind shared-artifact round. After the declared
22
+ completion condition seals evidence, corrections start a new round;
23
+ there is no automatic second pass.
14
24
 
15
- - `--respondents a,b`
16
- - `--seed path`
17
- - `--resume id`
18
- - `--mode blind|disclosed|comparative`
25
+ For an absent respondent, create one canonical pending question using
26
+ `bash bin/question.sh create` with harvest id, session id, turn, intent, and
27
+ context mode. This is not notification consent.
19
28
 
20
- Resolve the initiator from `.egregore-state.json`, then git config. Mint IDs as
21
- `harvest-YYYY-MM-DD-topic-slug` and
22
- `harvest-YYYY-MM-DD-topic-slug-respondent`.
29
+ For decision-shaped rounds, render locally with the existing safe Meridian
30
+ surface. Never publish or deliver implicitly. Returned `UNDECIDED` answers stay
31
+ open; do not write graph or event-log projections directly.
23
32
 
24
- ## State
25
-
26
- Markdown is canonical. Persist under:
27
-
28
- ```text
29
- memory/knowledge/harvests/{date}-{slug}/
30
- manifest.md
31
- sessions/{handle}.md
32
- synthesis.md
33
- ```
34
-
35
- Single-respondent harvests may use one flat markdown file when that is simpler.
36
- Every manifest records topic, intent, initiator, respondents, disclosure mode,
37
- status, seed paths, and role-sheet assumptions.
38
-
39
- Connected mode may also call `bin/graph-op.sh` helpers, but graph writes are
40
- best-effort and must never block markdown state.
41
-
42
- ## Process
43
-
44
- 1. Sync memory with `bin/agent.sh sync`.
45
- 2. If `--resume` is present, reload the manifest, sessions, and prior
46
- evaluations before asking anything new.
47
- 3. Build a role sheet for each respondent from `memory/people/*.md`, recent
48
- handoffs, wraps, quests, and optionally graph context.
49
- 4. Clarify the harvest intent when topic, respondents, dimensions, or
50
- disclosure mode are under-specified. Use structured Codex question tooling
51
- when available; otherwise ask one numbered question at a time with `Other:`.
52
- 5. Read `QUESTION_PALETTE.md` completely. Ask situated questions with an
53
- explicit `question_intent`, an answer shape that fits it, and grounding in
54
- the role sheet, seed, the respondent's own prior answers, or attributed
55
- positions allowed by the disclosure setting. Blind mode must not use
56
- another respondent's answer content, even invisibly. Record a one-sentence
57
- reason when departing from the palette's closest intent row.
58
- 6. Persist every turn immediately with turn number, question, intent, answer,
59
- and evaluation. Apply the palette's satisficing and sycophancy guards when
60
- evaluating. For absent respondents, create async questions with:
33
+ Show the attributed synthesis for acceptance, render its complete Markdown to
34
+ a temporary file, then call exactly once:
61
35
 
62
36
  ```bash
63
- bin/agent.sh ask --from "$INITIATOR" --to "$RESPONDENT" --topic "$TOPIC" --question "$QUESTION" --harvest-id "$HARVEST_ID" --harvest-session-id "$HARVEST_SESSION_ID" --turn "$TURN" --question-intent "$QUESTION_INTENT" --context-mode "$DISCLOSURE_MODE"
37
+ bash bin/knowledge.sh create --type finding --subtype harvest-synthesis \
38
+ --title "{topic} — harvest synthesis" --input "$TMP_SYNTHESIS" \
39
+ --topic harvest --topic "{topic}" --workstream "{workstream}"
64
40
  ```
65
41
 
66
- 7. In connected mode, follow `.claude/context/notification-consent.md` for
67
- each async respondent: prepare one direct notification, show its exact
68
- recipient/channel/message in a separate checkpoint, and dispatch once only
69
- after that approval. Selecting respondents is not notification consent and
70
- approvals cannot be batched.
71
- 8. Continue until present respondents reach diminishing returns and async
72
- respondents are either answered, pending, or explicitly skipped.
73
-
74
- ## Multi-respondent rounds
75
-
76
- Preference, estimate, and position intents default to `blind`. When everyone
77
- should answer the same inquiry, freeze one source version and question set
78
- before collection and send the identical artifact to each respondent.
79
-
80
- While collection is open, a respondent may correct their own response. Append
81
- the correction, use their latest finalized response as canonical, and count
82
- distinct finalized respondents rather than submissions. After the declared
83
- completion condition seals the evidence, it is immutable; a changed position
84
- starts a new round. There is no automatic second pass after disclosure.
85
-
86
- Attribute disclosed positions and preserve their reasoning. Never turn them
87
- into an anonymous aggregate such as "most of the team thinks." A majority may
88
- be named with its respondents, but it is not collective alignment.
89
-
90
- ## Synthesis
91
-
92
- Write `synthesis.md` with:
93
-
94
- - L0: compact portrait of the harvest.
95
- - L1: useful patterns, preferences, constraints, and positions.
96
- - L2: respondent or theme slices, chosen based on the material.
97
- - L3: decisions, open questions, follow-ups, and reusable context.
98
-
99
- Evidence should be attributed. Quotes support synthesized positions; they do
100
- not replace them.
101
-
102
- After synthesis, mark the manifest complete, commit and push memory:
103
-
104
- ```bash
105
- git -C memory add knowledge/harvests
106
- git -C memory commit -m "harvest: $TOPIC" --quiet
107
- git -C memory push origin main --quiet
108
- ```
109
-
110
- Emit telemetry best-effort in the background.
111
-
112
- ## Output
113
-
114
- Structured UX parity is required. When a harvest completes or checkpoints,
115
- render the Egregore harvest TUI instead of a prose-only recap:
116
-
117
- - Use a 72-column outer box with standard top/separator/content/bottom lines.
118
- - Header: `HARVEST`, initiator, and date.
119
- - Body: topic, respondents, disclosure mode, synthesis path, and a one-line
120
- layer summary when available.
121
- - Footer: harvested/synthesized/saved/pushed state and `Visible in /activity.`
122
- - If graph writes are skipped or unavailable, reflect that in the footer
123
- without saying the harvest failed when markdown was saved.
124
-
125
- ## Rules
126
-
127
- - Ask one question at a time for present respondents.
128
- - Never impose an answer-shape quota or preset question flow.
129
- - Make low-confidence role assumptions visible when they shape questions.
130
- - Local mode skips graph and notification calls.
131
- - Do not use Claude Code commands.
42
+ Runtime owns authorization, stable provenance, canonical Markdown/Git,
43
+ retrieval refresh, background embedding, and telemetry. Do not call Git, QMD,
44
+ graph, control-plane storage, telemetry, publishing, sharing, or notification
45
+ mechanics directly. External delivery requires separate permission and exact
46
+ explicit consent. Report the canonical path and writeback status in the harvest TUI.