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.
- package/assets/egregore-launcher.js +1013 -16
- package/bin/cli.js +11 -0
- package/lib/claude-runtime.js +192 -0
- package/lib/local.js +38 -31
- package/lib/pi-runtime.js +1 -0
- package/lib/prime-runtime.js +1 -0
- package/lib/runtime-identity.js +146 -0
- package/lib/setup.js +116 -17
- package/package.json +10 -6
- package/runtime/claude/.claude/context/commit-format.md +110 -0
- package/runtime/claude/.claude/context/git-language.md +46 -0
- package/runtime/claude/.claude/context/notification-consent.md +66 -0
- package/runtime/claude/.claude/context/pr-format.md +67 -0
- package/runtime/claude/.claude/context/telemetry.md +133 -0
- package/runtime/claude/.claude/hooks/boundary-check.sh +333 -0
- package/runtime/claude/.claude/hooks/branch-guard.sh +231 -0
- package/runtime/claude/.claude/hooks/card-context.sh +38 -0
- package/runtime/claude/.claude/hooks/emissary-detect.sh +53 -0
- package/runtime/claude/.claude/hooks/memory-refresh.sh +67 -0
- package/runtime/claude/.claude/hooks/onboarding-guard.sh +86 -0
- package/runtime/claude/.claude/hooks/retrieval-context.sh +43 -0
- package/runtime/claude/.claude/rules/voice-bedrock.md +73 -0
- package/runtime/claude/.claude/settings.json +131 -0
- package/runtime/claude/.claude/skills/activity/SKILL.md +68 -0
- package/runtime/claude/.claude/skills/announce/SKILL.md +54 -0
- package/runtime/claude/.claude/skills/archive/SKILL.md +71 -0
- package/runtime/claude/.claude/skills/branch/SKILL.md +147 -0
- package/runtime/claude/.claude/skills/checkup/SKILL.md +159 -0
- package/runtime/claude/.claude/skills/commit/SKILL.md +103 -0
- package/runtime/claude/.claude/skills/contribute/SKILL.md +343 -0
- package/runtime/claude/.claude/skills/create-skill/SKILL.md +135 -0
- package/runtime/claude/.claude/skills/dark-mode/SKILL.md +410 -0
- package/runtime/claude/.claude/skills/dashboard/SKILL.md +43 -0
- package/runtime/claude/.claude/skills/deep-reflect/REPORT.md +140 -0
- package/runtime/claude/.claude/skills/deep-reflect/RESEARCH.md +132 -0
- package/runtime/claude/.claude/skills/deep-reflect/ROLES.md +104 -0
- package/runtime/claude/.claude/skills/deep-reflect/SKILL.md +170 -0
- package/runtime/claude/.claude/skills/delete-user/SKILL.md +150 -0
- package/runtime/claude/.claude/skills/emissary/SKILL.md +220 -0
- package/runtime/claude/.claude/skills/handoff/SKILL.md +124 -0
- package/runtime/claude/.claude/skills/harvest/AUDIT.md +546 -0
- package/runtime/claude/.claude/skills/harvest/FORMAT.md +436 -0
- package/runtime/claude/.claude/skills/harvest/PROCESS.md +395 -0
- package/runtime/claude/.claude/skills/harvest/QUESTION_PALETTE.md +76 -0
- package/runtime/claude/.claude/skills/harvest/SKILL.md +100 -0
- package/runtime/claude/.claude/skills/ingest/SKILL.md +112 -0
- package/runtime/claude/.claude/skills/ingest-corpus/SKILL.md +187 -0
- package/runtime/claude/.claude/skills/ingest-notion/SKILL.md +214 -0
- package/runtime/claude/.claude/skills/ingest-user-interview/SKILL.md +65 -0
- package/runtime/claude/.claude/skills/ingest-user-interview/references/analysis-contract.md +125 -0
- package/runtime/claude/.claude/skills/invite/SKILL.md +111 -0
- package/runtime/claude/.claude/skills/issue/SKILL.md +104 -0
- package/runtime/claude/.claude/skills/me/SKILL.md +81 -0
- package/runtime/claude/.claude/skills/meeting/SKILL.md +76 -0
- package/runtime/claude/.claude/skills/meeting/references/analysis-contract.md +102 -0
- package/runtime/claude/.claude/skills/note/SKILL.md +71 -0
- package/runtime/claude/.claude/skills/notion-connect/SKILL.md +124 -0
- package/runtime/claude/.claude/skills/onboarding/SKILL.md +159 -0
- package/runtime/claude/.claude/skills/pr/SKILL.md +85 -0
- package/runtime/claude/.claude/skills/pull/SKILL.md +79 -0
- package/runtime/claude/.claude/skills/push/SKILL.md +47 -0
- package/runtime/claude/.claude/skills/quest/SKILL.md +121 -0
- package/runtime/claude/.claude/skills/reflect/SKILL.md +69 -0
- package/runtime/claude/.claude/skills/review-pr/SKILL.md +276 -0
- package/runtime/claude/.claude/skills/save/SKILL.md +92 -0
- package/runtime/claude/.claude/skills/slack-connect/SKILL.md +148 -0
- package/runtime/claude/.claude/skills/summon/SKILL.md +240 -0
- package/runtime/claude/.claude/skills/sync-repos/SKILL.md +82 -0
- package/runtime/claude/.claude/skills/teams-connect/SKILL.md +216 -0
- package/runtime/claude/.claude/skills/telegram-connect/SKILL.md +110 -0
- package/runtime/claude/.claude/skills/telemetry/SKILL.md +117 -0
- package/runtime/claude/.claude/skills/test/SKILL.md +87 -0
- package/runtime/claude/.claude/skills/the-spiral/SKILL.md +492 -0
- package/runtime/claude/.claude/skills/tui-design/SKILL.md +188 -0
- package/runtime/claude/.claude/skills/tutorial/SKILL.md +100 -0
- package/runtime/claude/.claude/skills/update/SKILL.md +265 -0
- package/runtime/claude/.claude/skills/view/SKILL.md +393 -0
- package/runtime/claude/.claude/skills/view/compose-scaffold.html +221 -0
- package/runtime/claude/.claude/skills/visual-explain/SKILL.md +132 -0
- package/runtime/claude/.claude/skills/wrap/SKILL.md +98 -0
- package/runtime/claude/CLAUDE.md +447 -0
- package/runtime/claude/bin/activity-action.sh +92 -0
- package/runtime/claude/bin/activity-data.sh +17 -0
- package/runtime/claude/bin/agent.sh +783 -0
- package/runtime/claude/bin/artifact-register.sh +164 -0
- package/runtime/claude/bin/artifact-writeback.sh +53 -0
- package/runtime/claude/bin/artifacts.sh +288 -0
- package/runtime/claude/bin/attendant.sh +707 -0
- package/runtime/claude/bin/autosave.sh +112 -0
- package/runtime/claude/bin/boundary.sh +253 -0
- package/runtime/claude/bin/build-sealed-dataroom.mjs +722 -0
- package/runtime/claude/bin/capture-reconcile.sh +69 -0
- package/runtime/claude/bin/capture-run.sh +357 -0
- package/runtime/claude/bin/codex-install-skills.sh +78 -0
- package/runtime/claude/bin/codex-render-spec.mjs +462 -0
- package/runtime/claude/bin/codex-session-start.sh +275 -0
- package/runtime/claude/bin/codex-skill-render.mjs +349 -0
- package/runtime/claude/bin/codex-sync-skills.sh +237 -0
- package/runtime/claude/bin/connect-refresh.sh +33 -0
- package/runtime/claude/bin/contribute-guard.sh +79 -0
- package/runtime/claude/bin/corpus_map.py +806 -0
- package/runtime/claude/bin/corpus_survey.py +304 -0
- package/runtime/claude/bin/dashboard-data.sh +18 -0
- package/runtime/claude/bin/github-auth.sh +121 -0
- package/runtime/claude/bin/graph-batch.sh +86 -0
- package/runtime/claude/bin/graph-op.sh +1106 -0
- package/runtime/claude/bin/graph-projection.sh +54 -0
- package/runtime/claude/bin/graph-wal.sh +242 -0
- package/runtime/claude/bin/graph.sh +267 -0
- package/runtime/claude/bin/handoff-lifecycle-job.sh +146 -0
- package/runtime/claude/bin/handoff-lifecycle.sh +280 -0
- package/runtime/claude/bin/handoff-pr-backfill.sh +86 -0
- package/runtime/claude/bin/handoff-preview.sh +169 -0
- package/runtime/claude/bin/handoff-run.sh +692 -0
- package/runtime/claude/bin/handoff-save-egregore.sh +224 -0
- package/runtime/claude/bin/index-handoff.sh +322 -0
- package/runtime/claude/bin/ingest-graph.sh +86 -0
- package/runtime/claude/bin/ingest-item.sh +10 -0
- package/runtime/claude/bin/ingest-surface.html +495 -0
- package/runtime/claude/bin/ingest.py +1011 -0
- package/runtime/claude/bin/ingest.sh +308 -0
- package/runtime/claude/bin/ingest_graph.py +856 -0
- package/runtime/claude/bin/ingest_surface.py +544 -0
- package/runtime/claude/bin/invite.sh +6 -0
- package/runtime/claude/bin/issue.sh +10 -0
- package/runtime/claude/bin/knowledge.sh +10 -0
- package/runtime/claude/bin/lib/artifact-id.sh +46 -0
- package/runtime/claude/bin/lib/config.sh +136 -0
- package/runtime/claude/bin/lib/context.sh +642 -0
- package/runtime/claude/bin/lib/dashboard-artifact.sh +242 -0
- package/runtime/claude/bin/lib/ensure-develop.sh +183 -0
- package/runtime/claude/bin/lib/git-message.sh +37 -0
- package/runtime/claude/bin/lib/git-sync.sh +494 -0
- package/runtime/claude/bin/lib/greeting.sh +548 -0
- package/runtime/claude/bin/lib/handoff-meta.sh +97 -0
- package/runtime/claude/bin/lib/hash.sh +13 -0
- package/runtime/claude/bin/lib/identity.sh +213 -0
- package/runtime/claude/bin/lib/metrics.sh +374 -0
- package/runtime/claude/bin/lib/noncode.sh +31 -0
- package/runtime/claude/bin/lib/permissions.sh +106 -0
- package/runtime/claude/bin/lib/time.sh +56 -0
- package/runtime/claude/bin/lib/worktree-links.sh +85 -0
- package/runtime/claude/bin/node-run.sh +42 -0
- package/runtime/claude/bin/notification.sh +6 -0
- package/runtime/claude/bin/notify.sh +636 -0
- package/runtime/claude/bin/observe-context.sh +14 -0
- package/runtime/claude/bin/onboarding.sh +6 -0
- package/runtime/claude/bin/person.py +634 -0
- package/runtime/claude/bin/person.sh +481 -0
- package/runtime/claude/bin/pi-render-spec.mjs +140 -0
- package/runtime/claude/bin/post-update.sh +37 -0
- package/runtime/claude/bin/prime-render-spec.mjs +147 -0
- package/runtime/claude/bin/publish-artifact.sh +324 -0
- package/runtime/claude/bin/publish-references.sh +144 -0
- package/runtime/claude/bin/quest.sh +9 -0
- package/runtime/claude/bin/question.sh +8 -0
- package/runtime/claude/bin/repo-state.sh +96 -0
- package/runtime/claude/bin/research-ingest.sh +7 -0
- package/runtime/claude/bin/restore-owned-skills.sh +67 -0
- package/runtime/claude/bin/retrieval_eval.py +385 -0
- package/runtime/claude/bin/runtime-identity.sh +70 -0
- package/runtime/claude/bin/runtime-upgrade.sh +43 -0
- package/runtime/claude/bin/scroll.sh +9 -0
- package/runtime/claude/bin/search.sh +318 -0
- package/runtime/claude/bin/session-autosave.sh +220 -0
- package/runtime/claude/bin/session-log.sh +199 -0
- package/runtime/claude/bin/session-start.sh +696 -0
- package/runtime/claude/bin/settings.sh +532 -0
- package/runtime/claude/bin/startup-check.sh +136 -0
- package/runtime/claude/bin/statusline.sh +41 -0
- package/runtime/claude/bin/telemetry.sh +666 -0
- package/runtime/claude/bin/test-changes.sh +344 -0
- package/runtime/claude/bin/thread.sh +9 -0
- package/runtime/claude/bin/todo.sh +9 -0
- package/runtime/claude/bin/view-render.sh +126 -0
- package/runtime/claude/bin/worktree-create.sh +145 -0
- package/runtime/claude/bin/worktree-remove.sh +50 -0
- package/runtime/claude/bin/worktree.sh +198 -0
- package/runtime/claude/egregore_runtime/__init__.py +228 -0
- package/runtime/claude/egregore_runtime/adapters/__init__.py +5 -0
- package/runtime/claude/egregore_runtime/adapters/invitation.py +237 -0
- package/runtime/claude/egregore_runtime/adapters/notification.py +59 -0
- package/runtime/claude/egregore_runtime/adapters/qmd.py +1701 -0
- package/runtime/claude/egregore_runtime/adapters/qmd_cli.py +210 -0
- package/runtime/claude/egregore_runtime/adapters/qmd_embed_worker.py +59 -0
- package/runtime/claude/egregore_runtime/admin_gate.py +102 -0
- package/runtime/claude/egregore_runtime/artifacts.py +523 -0
- package/runtime/claude/egregore_runtime/contracts.py +499 -0
- package/runtime/claude/egregore_runtime/entitlements.py +85 -0
- package/runtime/claude/egregore_runtime/errors.py +10 -0
- package/runtime/claude/egregore_runtime/graph.py +356 -0
- package/runtime/claude/egregore_runtime/handoff_lookup.py +196 -0
- package/runtime/claude/egregore_runtime/harness_cli.py +1221 -0
- package/runtime/claude/egregore_runtime/identity.py +734 -0
- package/runtime/claude/egregore_runtime/identity_cli.py +91 -0
- package/runtime/claude/egregore_runtime/ingest.py +575 -0
- package/runtime/claude/egregore_runtime/ingest_cli.py +254 -0
- package/runtime/claude/egregore_runtime/ingest_index_cli.py +147 -0
- package/runtime/claude/egregore_runtime/invitation_cli.py +51 -0
- package/runtime/claude/egregore_runtime/invitations.py +116 -0
- package/runtime/claude/egregore_runtime/issue_cli.py +305 -0
- package/runtime/claude/egregore_runtime/issues.py +359 -0
- package/runtime/claude/egregore_runtime/knowledge.py +376 -0
- package/runtime/claude/egregore_runtime/knowledge_cli.py +173 -0
- package/runtime/claude/egregore_runtime/lifecycle.py +888 -0
- package/runtime/claude/egregore_runtime/lifecycle_cli.py +269 -0
- package/runtime/claude/egregore_runtime/notification_cli.py +125 -0
- package/runtime/claude/egregore_runtime/notifications.py +230 -0
- package/runtime/claude/egregore_runtime/observe.py +342 -0
- package/runtime/claude/egregore_runtime/onboarding.py +290 -0
- package/runtime/claude/egregore_runtime/onboarding_cli.py +110 -0
- package/runtime/claude/egregore_runtime/policy.py +144 -0
- package/runtime/claude/egregore_runtime/profile.py +193 -0
- package/runtime/claude/egregore_runtime/quest_cli.py +216 -0
- package/runtime/claude/egregore_runtime/question_cli.py +180 -0
- package/runtime/claude/egregore_runtime/questions.py +304 -0
- package/runtime/claude/egregore_runtime/quests.py +419 -0
- package/runtime/claude/egregore_runtime/readiness.py +379 -0
- package/runtime/claude/egregore_runtime/research_ingest.py +256 -0
- package/runtime/claude/egregore_runtime/research_ingest_cli.py +44 -0
- package/runtime/claude/egregore_runtime/runtime.py +464 -0
- package/runtime/claude/egregore_runtime/scroll_cli.py +185 -0
- package/runtime/claude/egregore_runtime/scrolls.py +726 -0
- package/runtime/claude/egregore_runtime/status.py +412 -0
- package/runtime/claude/egregore_runtime/status_cli.py +174 -0
- package/runtime/claude/egregore_runtime/sync.py +218 -0
- package/runtime/claude/egregore_runtime/teamsync.py +139 -0
- package/runtime/claude/egregore_runtime/telemetry.py +640 -0
- package/runtime/claude/egregore_runtime/thread_cli.py +173 -0
- package/runtime/claude/egregore_runtime/threads.py +517 -0
- package/runtime/claude/egregore_runtime/todo_cli.py +142 -0
- package/runtime/claude/egregore_runtime/todos.py +244 -0
- package/runtime/claude/egregore_runtime/upgrade.py +770 -0
- package/runtime/claude/egregore_runtime/upgrade_worker.py +53 -0
- package/runtime/claude/egregore_runtime/writeback.py +391 -0
- package/runtime/claude/egregore_runtime/writeback_cli.py +114 -0
- package/runtime/claude/manifest.json +284 -0
- package/runtime/codex/.codex/hooks/search-hint.js +21 -52
- package/runtime/codex/.codex/hooks.json +3 -3
- package/runtime/codex/.codex/skills/activity/SKILL.md +23 -66
- package/runtime/codex/.codex/skills/announce/SKILL.md +27 -50
- package/runtime/codex/.codex/skills/archive/SKILL.md +21 -36
- package/runtime/codex/.codex/skills/checkup/SKILL.md +77 -36
- package/runtime/codex/.codex/skills/dark-mode/SKILL.md +1 -1
- package/runtime/codex/.codex/skills/dashboard/SKILL.md +17 -47
- package/runtime/codex/.codex/skills/handoff/SKILL.md +84 -133
- package/runtime/codex/.codex/skills/harvest/SKILL.md +32 -117
- package/runtime/codex/.codex/skills/ingest/SKILL.md +47 -25
- package/runtime/codex/.codex/skills/ingest-user-interview/SKILL.md +18 -36
- package/runtime/codex/.codex/skills/ingest-user-interview/references/analysis-contract.md +42 -0
- package/runtime/codex/.codex/skills/invite/SKILL.md +21 -35
- package/runtime/codex/.codex/skills/issue/SKILL.md +60 -41
- package/runtime/codex/.codex/skills/me/SKILL.md +1 -1
- package/runtime/codex/.codex/skills/meeting/SKILL.md +16 -36
- package/runtime/codex/.codex/skills/meeting/references/analysis-contract.md +48 -0
- package/runtime/codex/.codex/skills/note/SKILL.md +30 -25
- package/runtime/codex/.codex/skills/onboarding/SKILL.md +36 -41
- package/runtime/codex/.codex/skills/pull/SKILL.md +1 -1
- package/runtime/codex/.codex/skills/quest/SKILL.md +27 -66
- package/runtime/codex/.codex/skills/reflect/SKILL.md +22 -36
- package/runtime/codex/.codex/skills/save/SKILL.md +2 -2
- package/runtime/codex/.codex/skills/telemetry/SKILL.md +1 -1
- package/runtime/codex/.codex/skills/test/SKILL.md +1 -1
- package/runtime/codex/.codex/skills/tutorial/SKILL.md +40 -41
- package/runtime/codex/.codex/skills/view/SKILL.md +115 -111
- package/runtime/codex/.codex/skills/wrap/SKILL.md +45 -41
- package/runtime/codex/.codex/spec-manifest.json +9 -9
- package/runtime/codex/AGENTS.md +62 -58
- package/runtime/codex/bin/activity-action.sh +92 -0
- package/runtime/codex/bin/activity-data.sh +12 -233
- package/runtime/codex/bin/agent.sh +84 -100
- package/runtime/codex/bin/artifact-register.sh +164 -0
- package/runtime/codex/bin/artifact-writeback.sh +53 -0
- package/runtime/codex/bin/artifacts.sh +288 -0
- package/runtime/codex/bin/build-sealed-dataroom.mjs +722 -0
- package/runtime/codex/bin/capture-run.sh +18 -2
- package/runtime/codex/bin/codex-render-spec.mjs +41 -16
- package/runtime/codex/bin/codex-session-start.sh +14 -4
- package/runtime/codex/bin/codex-skill-render.mjs +9 -7
- package/runtime/codex/bin/corpus_map.py +806 -0
- package/runtime/codex/bin/corpus_survey.py +304 -0
- package/runtime/codex/bin/dashboard-data.sh +11 -171
- package/runtime/codex/bin/github-auth.sh +121 -0
- package/runtime/codex/bin/graph-batch.sh +7 -0
- package/runtime/codex/bin/graph-op.sh +4 -0
- package/runtime/codex/bin/graph-projection.sh +54 -0
- package/runtime/codex/bin/graph-wal.sh +13 -0
- package/runtime/codex/bin/graph.sh +44 -0
- package/runtime/codex/bin/handoff-lifecycle-job.sh +146 -0
- package/runtime/codex/bin/handoff-lifecycle.sh +280 -0
- package/runtime/codex/bin/handoff-preview.sh +169 -0
- package/runtime/codex/bin/handoff-run.sh +42 -26
- package/runtime/codex/bin/ingest-graph.sh +6 -0
- package/runtime/codex/bin/ingest-item.sh +10 -0
- package/runtime/codex/bin/ingest.sh +59 -30
- package/runtime/codex/bin/invite.sh +6 -0
- package/runtime/codex/bin/issue.sh +10 -0
- package/runtime/codex/bin/knowledge.sh +10 -0
- package/runtime/codex/bin/lib/config.sh +20 -0
- package/runtime/codex/bin/lib/context.sh +46 -25
- package/runtime/codex/bin/lib/git-sync.sh +70 -6
- package/runtime/codex/bin/lib/greeting.sh +34 -5
- package/runtime/codex/bin/lib/handoff-meta.sh +97 -0
- package/runtime/codex/bin/lib/worktree-links.sh +6 -0
- package/runtime/codex/bin/node-run.sh +42 -0
- package/runtime/codex/bin/notification.sh +6 -0
- package/runtime/codex/bin/observe-context.sh +14 -0
- package/runtime/codex/bin/onboarding.sh +6 -0
- package/runtime/codex/bin/person.py +4 -0
- package/runtime/codex/bin/person.sh +43 -10
- package/runtime/codex/bin/pi-render-spec.mjs +140 -0
- package/runtime/codex/bin/post-update.sh +37 -0
- package/runtime/codex/bin/prime-render-spec.mjs +147 -0
- package/runtime/codex/bin/publish-artifact.sh +55 -2
- package/runtime/codex/bin/quest.sh +9 -0
- package/runtime/codex/bin/question.sh +8 -0
- package/runtime/codex/bin/research-ingest.sh +7 -0
- package/runtime/codex/bin/restore-owned-skills.sh +67 -0
- package/runtime/codex/bin/retrieval_eval.py +385 -0
- package/runtime/codex/bin/runtime-identity.sh +70 -0
- package/runtime/codex/bin/runtime-upgrade.sh +43 -0
- package/runtime/codex/bin/scroll.sh +9 -0
- package/runtime/codex/bin/search.sh +231 -195
- package/runtime/codex/bin/settings.sh +174 -5
- package/runtime/codex/bin/startup-check.sh +136 -0
- package/runtime/codex/bin/telemetry.sh +522 -247
- package/runtime/codex/bin/test-changes.sh +344 -0
- package/runtime/codex/bin/thread.sh +9 -0
- package/runtime/codex/bin/todo.sh +9 -0
- package/runtime/codex/bin/view-render.sh +126 -0
- package/runtime/codex/bin/worktree-create.sh +19 -5
- package/runtime/codex/egregore_runtime/__init__.py +228 -0
- package/runtime/codex/egregore_runtime/adapters/__init__.py +5 -0
- package/runtime/codex/egregore_runtime/adapters/invitation.py +237 -0
- package/runtime/codex/egregore_runtime/adapters/notification.py +59 -0
- package/runtime/codex/egregore_runtime/adapters/qmd.py +1701 -0
- package/runtime/codex/egregore_runtime/adapters/qmd_cli.py +210 -0
- package/runtime/codex/egregore_runtime/adapters/qmd_embed_worker.py +59 -0
- package/runtime/codex/egregore_runtime/admin_gate.py +102 -0
- package/runtime/codex/egregore_runtime/artifacts.py +523 -0
- package/runtime/codex/egregore_runtime/contracts.py +499 -0
- package/runtime/codex/egregore_runtime/entitlements.py +85 -0
- package/runtime/codex/egregore_runtime/errors.py +10 -0
- package/runtime/codex/egregore_runtime/graph.py +356 -0
- package/runtime/codex/egregore_runtime/handoff_lookup.py +196 -0
- package/runtime/codex/egregore_runtime/harness_cli.py +1221 -0
- package/runtime/codex/egregore_runtime/identity.py +734 -0
- package/runtime/codex/egregore_runtime/identity_cli.py +91 -0
- package/runtime/codex/egregore_runtime/ingest.py +575 -0
- package/runtime/codex/egregore_runtime/ingest_cli.py +254 -0
- package/runtime/codex/egregore_runtime/ingest_index_cli.py +147 -0
- package/runtime/codex/egregore_runtime/invitation_cli.py +51 -0
- package/runtime/codex/egregore_runtime/invitations.py +116 -0
- package/runtime/codex/egregore_runtime/issue_cli.py +305 -0
- package/runtime/codex/egregore_runtime/issues.py +359 -0
- package/runtime/codex/egregore_runtime/knowledge.py +376 -0
- package/runtime/codex/egregore_runtime/knowledge_cli.py +173 -0
- package/runtime/codex/egregore_runtime/lifecycle.py +888 -0
- package/runtime/codex/egregore_runtime/lifecycle_cli.py +269 -0
- package/runtime/codex/egregore_runtime/notification_cli.py +125 -0
- package/runtime/codex/egregore_runtime/notifications.py +230 -0
- package/runtime/codex/egregore_runtime/observe.py +342 -0
- package/runtime/codex/egregore_runtime/onboarding.py +290 -0
- package/runtime/codex/egregore_runtime/onboarding_cli.py +110 -0
- package/runtime/codex/egregore_runtime/policy.py +144 -0
- package/runtime/codex/egregore_runtime/profile.py +193 -0
- package/runtime/codex/egregore_runtime/quest_cli.py +216 -0
- package/runtime/codex/egregore_runtime/question_cli.py +180 -0
- package/runtime/codex/egregore_runtime/questions.py +304 -0
- package/runtime/codex/egregore_runtime/quests.py +419 -0
- package/runtime/codex/egregore_runtime/readiness.py +379 -0
- package/runtime/codex/egregore_runtime/research_ingest.py +256 -0
- package/runtime/codex/egregore_runtime/research_ingest_cli.py +44 -0
- package/runtime/codex/egregore_runtime/runtime.py +464 -0
- package/runtime/codex/egregore_runtime/scroll_cli.py +185 -0
- package/runtime/codex/egregore_runtime/scrolls.py +726 -0
- package/runtime/codex/egregore_runtime/status.py +412 -0
- package/runtime/codex/egregore_runtime/status_cli.py +174 -0
- package/runtime/codex/egregore_runtime/sync.py +218 -0
- package/runtime/codex/egregore_runtime/teamsync.py +139 -0
- package/runtime/codex/egregore_runtime/telemetry.py +640 -0
- package/runtime/codex/egregore_runtime/thread_cli.py +173 -0
- package/runtime/codex/egregore_runtime/threads.py +517 -0
- package/runtime/codex/egregore_runtime/todo_cli.py +142 -0
- package/runtime/codex/egregore_runtime/todos.py +244 -0
- package/runtime/codex/egregore_runtime/upgrade.py +770 -0
- package/runtime/codex/egregore_runtime/upgrade_worker.py +53 -0
- package/runtime/codex/egregore_runtime/writeback.py +391 -0
- package/runtime/codex/egregore_runtime/writeback_cli.py +114 -0
- package/runtime/codex/manifest.json +98 -1
- package/runtime/pi/.codex/hooks/search-hint.js +21 -52
- package/runtime/pi/.codex/hooks.json +3 -3
- package/runtime/pi/.codex/skills/activity/SKILL.md +23 -66
- package/runtime/pi/.codex/skills/announce/SKILL.md +27 -50
- package/runtime/pi/.codex/skills/archive/SKILL.md +21 -36
- package/runtime/pi/.codex/skills/checkup/SKILL.md +77 -36
- package/runtime/pi/.codex/skills/dark-mode/SKILL.md +1 -1
- package/runtime/pi/.codex/skills/dashboard/SKILL.md +17 -47
- package/runtime/pi/.codex/skills/handoff/SKILL.md +84 -133
- package/runtime/pi/.codex/skills/harvest/SKILL.md +32 -117
- package/runtime/pi/.codex/skills/ingest/SKILL.md +47 -25
- package/runtime/pi/.codex/skills/ingest-user-interview/SKILL.md +18 -36
- package/runtime/pi/.codex/skills/ingest-user-interview/references/analysis-contract.md +42 -0
- package/runtime/pi/.codex/skills/invite/SKILL.md +21 -35
- package/runtime/pi/.codex/skills/issue/SKILL.md +60 -41
- package/runtime/pi/.codex/skills/me/SKILL.md +1 -1
- package/runtime/pi/.codex/skills/meeting/SKILL.md +16 -36
- package/runtime/pi/.codex/skills/meeting/references/analysis-contract.md +48 -0
- package/runtime/pi/.codex/skills/note/SKILL.md +30 -25
- package/runtime/pi/.codex/skills/onboarding/SKILL.md +36 -41
- package/runtime/pi/.codex/skills/pull/SKILL.md +1 -1
- package/runtime/pi/.codex/skills/quest/SKILL.md +27 -66
- package/runtime/pi/.codex/skills/reflect/SKILL.md +22 -36
- package/runtime/pi/.codex/skills/save/SKILL.md +2 -2
- package/runtime/pi/.codex/skills/telemetry/SKILL.md +1 -1
- package/runtime/pi/.codex/skills/test/SKILL.md +1 -1
- package/runtime/pi/.codex/skills/tutorial/SKILL.md +40 -41
- package/runtime/pi/.codex/skills/view/SKILL.md +115 -111
- package/runtime/pi/.codex/skills/wrap/SKILL.md +45 -41
- package/runtime/pi/.codex/spec-manifest.json +9 -9
- package/runtime/pi/.pi/APPEND_SYSTEM.md +57 -48
- package/runtime/pi/.pi/extensions/egregore.ts +7 -0
- package/runtime/pi/.pi/spec-manifest.json +2 -2
- package/runtime/pi/AGENTS.md +62 -58
- package/runtime/pi/bin/activity-action.sh +92 -0
- package/runtime/pi/bin/activity-data.sh +12 -233
- package/runtime/pi/bin/agent.sh +84 -100
- package/runtime/pi/bin/artifact-register.sh +164 -0
- package/runtime/pi/bin/artifact-writeback.sh +53 -0
- package/runtime/pi/bin/artifacts.sh +288 -0
- package/runtime/pi/bin/build-sealed-dataroom.mjs +722 -0
- package/runtime/pi/bin/capture-run.sh +18 -2
- package/runtime/pi/bin/codex-render-spec.mjs +41 -16
- package/runtime/pi/bin/codex-session-start.sh +14 -4
- package/runtime/pi/bin/codex-skill-render.mjs +9 -7
- package/runtime/pi/bin/corpus_map.py +806 -0
- package/runtime/pi/bin/corpus_survey.py +304 -0
- package/runtime/pi/bin/dashboard-data.sh +11 -171
- package/runtime/pi/bin/github-auth.sh +121 -0
- package/runtime/pi/bin/graph-batch.sh +7 -0
- package/runtime/pi/bin/graph-op.sh +4 -0
- package/runtime/pi/bin/graph-projection.sh +54 -0
- package/runtime/pi/bin/graph-wal.sh +13 -0
- package/runtime/pi/bin/graph.sh +44 -0
- package/runtime/pi/bin/handoff-lifecycle-job.sh +146 -0
- package/runtime/pi/bin/handoff-lifecycle.sh +280 -0
- package/runtime/pi/bin/handoff-preview.sh +169 -0
- package/runtime/pi/bin/handoff-run.sh +42 -26
- package/runtime/pi/bin/ingest-graph.sh +6 -0
- package/runtime/pi/bin/ingest-item.sh +10 -0
- package/runtime/pi/bin/ingest.sh +59 -30
- package/runtime/pi/bin/invite.sh +6 -0
- package/runtime/pi/bin/issue.sh +10 -0
- package/runtime/pi/bin/knowledge.sh +10 -0
- package/runtime/pi/bin/lib/config.sh +20 -0
- package/runtime/pi/bin/lib/context.sh +46 -25
- package/runtime/pi/bin/lib/git-sync.sh +70 -6
- package/runtime/pi/bin/lib/greeting.sh +34 -5
- package/runtime/pi/bin/lib/handoff-meta.sh +97 -0
- package/runtime/pi/bin/lib/worktree-links.sh +6 -0
- package/runtime/pi/bin/node-run.sh +42 -0
- package/runtime/pi/bin/notification.sh +6 -0
- package/runtime/pi/bin/observe-context.sh +14 -0
- package/runtime/pi/bin/onboarding.sh +6 -0
- package/runtime/pi/bin/person.py +4 -0
- package/runtime/pi/bin/person.sh +43 -10
- package/runtime/pi/bin/pi-observe-context.mjs +93 -0
- package/runtime/pi/bin/pi-product-workflows.mjs +1 -1
- package/runtime/pi/bin/pi-render-spec.mjs +1 -1
- package/runtime/pi/bin/post-update.sh +37 -0
- package/runtime/pi/bin/prime-render-spec.mjs +147 -0
- package/runtime/pi/bin/publish-artifact.sh +55 -2
- package/runtime/pi/bin/quest.sh +9 -0
- package/runtime/pi/bin/question.sh +8 -0
- package/runtime/pi/bin/research-ingest.sh +7 -0
- package/runtime/pi/bin/restore-owned-skills.sh +67 -0
- package/runtime/pi/bin/retrieval_eval.py +385 -0
- package/runtime/pi/bin/runtime-identity.sh +70 -0
- package/runtime/pi/bin/runtime-upgrade.sh +43 -0
- package/runtime/pi/bin/scroll.sh +9 -0
- package/runtime/pi/bin/search.sh +231 -195
- package/runtime/pi/bin/settings.sh +174 -5
- package/runtime/pi/bin/startup-check.sh +136 -0
- package/runtime/pi/bin/telemetry.sh +522 -247
- package/runtime/pi/bin/test-changes.sh +344 -0
- package/runtime/pi/bin/thread.sh +9 -0
- package/runtime/pi/bin/todo.sh +9 -0
- package/runtime/pi/bin/view-render.sh +126 -0
- package/runtime/pi/bin/worktree-create.sh +19 -5
- package/runtime/pi/egregore_runtime/__init__.py +228 -0
- package/runtime/pi/egregore_runtime/adapters/__init__.py +5 -0
- package/runtime/pi/egregore_runtime/adapters/invitation.py +237 -0
- package/runtime/pi/egregore_runtime/adapters/notification.py +59 -0
- package/runtime/pi/egregore_runtime/adapters/qmd.py +1701 -0
- package/runtime/pi/egregore_runtime/adapters/qmd_cli.py +210 -0
- package/runtime/pi/egregore_runtime/adapters/qmd_embed_worker.py +59 -0
- package/runtime/pi/egregore_runtime/admin_gate.py +102 -0
- package/runtime/pi/egregore_runtime/artifacts.py +523 -0
- package/runtime/pi/egregore_runtime/contracts.py +499 -0
- package/runtime/pi/egregore_runtime/entitlements.py +85 -0
- package/runtime/pi/egregore_runtime/errors.py +10 -0
- package/runtime/pi/egregore_runtime/graph.py +356 -0
- package/runtime/pi/egregore_runtime/handoff_lookup.py +196 -0
- package/runtime/pi/egregore_runtime/harness_cli.py +1221 -0
- package/runtime/pi/egregore_runtime/identity.py +734 -0
- package/runtime/pi/egregore_runtime/identity_cli.py +91 -0
- package/runtime/pi/egregore_runtime/ingest.py +575 -0
- package/runtime/pi/egregore_runtime/ingest_cli.py +254 -0
- package/runtime/pi/egregore_runtime/ingest_index_cli.py +147 -0
- package/runtime/pi/egregore_runtime/invitation_cli.py +51 -0
- package/runtime/pi/egregore_runtime/invitations.py +116 -0
- package/runtime/pi/egregore_runtime/issue_cli.py +305 -0
- package/runtime/pi/egregore_runtime/issues.py +359 -0
- package/runtime/pi/egregore_runtime/knowledge.py +376 -0
- package/runtime/pi/egregore_runtime/knowledge_cli.py +173 -0
- package/runtime/pi/egregore_runtime/lifecycle.py +888 -0
- package/runtime/pi/egregore_runtime/lifecycle_cli.py +269 -0
- package/runtime/pi/egregore_runtime/notification_cli.py +125 -0
- package/runtime/pi/egregore_runtime/notifications.py +230 -0
- package/runtime/pi/egregore_runtime/observe.py +342 -0
- package/runtime/pi/egregore_runtime/onboarding.py +290 -0
- package/runtime/pi/egregore_runtime/onboarding_cli.py +110 -0
- package/runtime/pi/egregore_runtime/policy.py +144 -0
- package/runtime/pi/egregore_runtime/profile.py +193 -0
- package/runtime/pi/egregore_runtime/quest_cli.py +216 -0
- package/runtime/pi/egregore_runtime/question_cli.py +180 -0
- package/runtime/pi/egregore_runtime/questions.py +304 -0
- package/runtime/pi/egregore_runtime/quests.py +419 -0
- package/runtime/pi/egregore_runtime/readiness.py +379 -0
- package/runtime/pi/egregore_runtime/research_ingest.py +256 -0
- package/runtime/pi/egregore_runtime/research_ingest_cli.py +44 -0
- package/runtime/pi/egregore_runtime/runtime.py +464 -0
- package/runtime/pi/egregore_runtime/scroll_cli.py +185 -0
- package/runtime/pi/egregore_runtime/scrolls.py +726 -0
- package/runtime/pi/egregore_runtime/status.py +412 -0
- package/runtime/pi/egregore_runtime/status_cli.py +174 -0
- package/runtime/pi/egregore_runtime/sync.py +218 -0
- package/runtime/pi/egregore_runtime/teamsync.py +139 -0
- package/runtime/pi/egregore_runtime/telemetry.py +640 -0
- package/runtime/pi/egregore_runtime/thread_cli.py +173 -0
- package/runtime/pi/egregore_runtime/threads.py +517 -0
- package/runtime/pi/egregore_runtime/todo_cli.py +142 -0
- package/runtime/pi/egregore_runtime/todos.py +244 -0
- package/runtime/pi/egregore_runtime/upgrade.py +770 -0
- package/runtime/pi/egregore_runtime/upgrade_worker.py +53 -0
- package/runtime/pi/egregore_runtime/writeback.py +391 -0
- package/runtime/pi/egregore_runtime/writeback_cli.py +114 -0
- package/runtime/pi/manifest.json +98 -1
- package/runtime/prime/.codex/hooks/search-hint.js +21 -52
- package/runtime/prime/.codex/hooks.json +3 -3
- package/runtime/prime/.codex/skills/activity/SKILL.md +23 -66
- package/runtime/prime/.codex/skills/announce/SKILL.md +27 -50
- package/runtime/prime/.codex/skills/archive/SKILL.md +21 -36
- package/runtime/prime/.codex/skills/checkup/SKILL.md +77 -36
- package/runtime/prime/.codex/skills/dark-mode/SKILL.md +1 -1
- package/runtime/prime/.codex/skills/dashboard/SKILL.md +17 -47
- package/runtime/prime/.codex/skills/handoff/SKILL.md +84 -133
- package/runtime/prime/.codex/skills/harvest/SKILL.md +32 -117
- package/runtime/prime/.codex/skills/ingest/SKILL.md +47 -25
- package/runtime/prime/.codex/skills/ingest-user-interview/SKILL.md +18 -36
- package/runtime/prime/.codex/skills/ingest-user-interview/references/analysis-contract.md +42 -0
- package/runtime/prime/.codex/skills/invite/SKILL.md +21 -35
- package/runtime/prime/.codex/skills/issue/SKILL.md +60 -41
- package/runtime/prime/.codex/skills/me/SKILL.md +1 -1
- package/runtime/prime/.codex/skills/meeting/SKILL.md +16 -36
- package/runtime/prime/.codex/skills/meeting/references/analysis-contract.md +48 -0
- package/runtime/prime/.codex/skills/note/SKILL.md +30 -25
- package/runtime/prime/.codex/skills/onboarding/SKILL.md +36 -41
- package/runtime/prime/.codex/skills/pull/SKILL.md +1 -1
- package/runtime/prime/.codex/skills/quest/SKILL.md +27 -66
- package/runtime/prime/.codex/skills/reflect/SKILL.md +22 -36
- package/runtime/prime/.codex/skills/save/SKILL.md +2 -2
- package/runtime/prime/.codex/skills/telemetry/SKILL.md +1 -1
- package/runtime/prime/.codex/skills/test/SKILL.md +1 -1
- package/runtime/prime/.codex/skills/tutorial/SKILL.md +40 -41
- package/runtime/prime/.codex/skills/view/SKILL.md +115 -111
- package/runtime/prime/.codex/skills/wrap/SKILL.md +45 -41
- package/runtime/prime/.codex/spec-manifest.json +9 -9
- package/runtime/prime/.prime/agent/APPEND_SYSTEM.md +57 -48
- package/runtime/prime/.prime/agent/extensions/egregore.ts +7 -0
- package/runtime/prime/.prime/agent/spec-manifest.json +2 -2
- package/runtime/prime/AGENTS.md +62 -58
- package/runtime/prime/bin/activity-action.sh +92 -0
- package/runtime/prime/bin/activity-data.sh +12 -233
- package/runtime/prime/bin/agent.sh +84 -100
- package/runtime/prime/bin/artifact-register.sh +164 -0
- package/runtime/prime/bin/artifact-writeback.sh +53 -0
- package/runtime/prime/bin/artifacts.sh +288 -0
- package/runtime/prime/bin/build-sealed-dataroom.mjs +722 -0
- package/runtime/prime/bin/capture-run.sh +18 -2
- package/runtime/prime/bin/codex-render-spec.mjs +41 -16
- package/runtime/prime/bin/codex-session-start.sh +14 -4
- package/runtime/prime/bin/codex-skill-render.mjs +9 -7
- package/runtime/prime/bin/corpus_map.py +806 -0
- package/runtime/prime/bin/corpus_survey.py +304 -0
- package/runtime/prime/bin/dashboard-data.sh +11 -171
- package/runtime/prime/bin/github-auth.sh +121 -0
- package/runtime/prime/bin/graph-batch.sh +7 -0
- package/runtime/prime/bin/graph-op.sh +4 -0
- package/runtime/prime/bin/graph-projection.sh +54 -0
- package/runtime/prime/bin/graph-wal.sh +13 -0
- package/runtime/prime/bin/graph.sh +44 -0
- package/runtime/prime/bin/handoff-lifecycle-job.sh +146 -0
- package/runtime/prime/bin/handoff-lifecycle.sh +280 -0
- package/runtime/prime/bin/handoff-preview.sh +169 -0
- package/runtime/prime/bin/handoff-run.sh +42 -26
- package/runtime/prime/bin/ingest-graph.sh +6 -0
- package/runtime/prime/bin/ingest-item.sh +10 -0
- package/runtime/prime/bin/ingest.sh +59 -30
- package/runtime/prime/bin/invite.sh +6 -0
- package/runtime/prime/bin/issue.sh +10 -0
- package/runtime/prime/bin/knowledge.sh +10 -0
- package/runtime/prime/bin/lib/config.sh +20 -0
- package/runtime/prime/bin/lib/context.sh +46 -25
- package/runtime/prime/bin/lib/git-sync.sh +70 -6
- package/runtime/prime/bin/lib/greeting.sh +34 -5
- package/runtime/prime/bin/lib/handoff-meta.sh +97 -0
- package/runtime/prime/bin/lib/worktree-links.sh +6 -0
- package/runtime/prime/bin/node-run.sh +42 -0
- package/runtime/prime/bin/notification.sh +6 -0
- package/runtime/prime/bin/observe-context.sh +14 -0
- package/runtime/prime/bin/onboarding.sh +6 -0
- package/runtime/prime/bin/person.py +4 -0
- package/runtime/prime/bin/person.sh +43 -10
- package/runtime/prime/bin/pi-observe-context.mjs +93 -0
- package/runtime/prime/bin/pi-product-workflows.mjs +1 -1
- package/runtime/prime/bin/pi-render-spec.mjs +140 -0
- package/runtime/prime/bin/post-update.sh +37 -0
- package/runtime/prime/bin/prime-render-spec.mjs +1 -1
- package/runtime/prime/bin/publish-artifact.sh +55 -2
- package/runtime/prime/bin/quest.sh +9 -0
- package/runtime/prime/bin/question.sh +8 -0
- package/runtime/prime/bin/research-ingest.sh +7 -0
- package/runtime/prime/bin/restore-owned-skills.sh +67 -0
- package/runtime/prime/bin/retrieval_eval.py +385 -0
- package/runtime/prime/bin/runtime-identity.sh +70 -0
- package/runtime/prime/bin/runtime-upgrade.sh +43 -0
- package/runtime/prime/bin/scroll.sh +9 -0
- package/runtime/prime/bin/search.sh +231 -195
- package/runtime/prime/bin/settings.sh +174 -5
- package/runtime/prime/bin/startup-check.sh +136 -0
- package/runtime/prime/bin/telemetry.sh +522 -247
- package/runtime/prime/bin/test-changes.sh +344 -0
- package/runtime/prime/bin/thread.sh +9 -0
- package/runtime/prime/bin/todo.sh +9 -0
- package/runtime/prime/bin/view-render.sh +126 -0
- package/runtime/prime/bin/worktree-create.sh +19 -5
- package/runtime/prime/egregore_runtime/__init__.py +228 -0
- package/runtime/prime/egregore_runtime/adapters/__init__.py +5 -0
- package/runtime/prime/egregore_runtime/adapters/invitation.py +237 -0
- package/runtime/prime/egregore_runtime/adapters/notification.py +59 -0
- package/runtime/prime/egregore_runtime/adapters/qmd.py +1701 -0
- package/runtime/prime/egregore_runtime/adapters/qmd_cli.py +210 -0
- package/runtime/prime/egregore_runtime/adapters/qmd_embed_worker.py +59 -0
- package/runtime/prime/egregore_runtime/admin_gate.py +102 -0
- package/runtime/prime/egregore_runtime/artifacts.py +523 -0
- package/runtime/prime/egregore_runtime/contracts.py +499 -0
- package/runtime/prime/egregore_runtime/entitlements.py +85 -0
- package/runtime/prime/egregore_runtime/errors.py +10 -0
- package/runtime/prime/egregore_runtime/graph.py +356 -0
- package/runtime/prime/egregore_runtime/handoff_lookup.py +196 -0
- package/runtime/prime/egregore_runtime/harness_cli.py +1221 -0
- package/runtime/prime/egregore_runtime/identity.py +734 -0
- package/runtime/prime/egregore_runtime/identity_cli.py +91 -0
- package/runtime/prime/egregore_runtime/ingest.py +575 -0
- package/runtime/prime/egregore_runtime/ingest_cli.py +254 -0
- package/runtime/prime/egregore_runtime/ingest_index_cli.py +147 -0
- package/runtime/prime/egregore_runtime/invitation_cli.py +51 -0
- package/runtime/prime/egregore_runtime/invitations.py +116 -0
- package/runtime/prime/egregore_runtime/issue_cli.py +305 -0
- package/runtime/prime/egregore_runtime/issues.py +359 -0
- package/runtime/prime/egregore_runtime/knowledge.py +376 -0
- package/runtime/prime/egregore_runtime/knowledge_cli.py +173 -0
- package/runtime/prime/egregore_runtime/lifecycle.py +888 -0
- package/runtime/prime/egregore_runtime/lifecycle_cli.py +269 -0
- package/runtime/prime/egregore_runtime/notification_cli.py +125 -0
- package/runtime/prime/egregore_runtime/notifications.py +230 -0
- package/runtime/prime/egregore_runtime/observe.py +342 -0
- package/runtime/prime/egregore_runtime/onboarding.py +290 -0
- package/runtime/prime/egregore_runtime/onboarding_cli.py +110 -0
- package/runtime/prime/egregore_runtime/policy.py +144 -0
- package/runtime/prime/egregore_runtime/profile.py +193 -0
- package/runtime/prime/egregore_runtime/quest_cli.py +216 -0
- package/runtime/prime/egregore_runtime/question_cli.py +180 -0
- package/runtime/prime/egregore_runtime/questions.py +304 -0
- package/runtime/prime/egregore_runtime/quests.py +419 -0
- package/runtime/prime/egregore_runtime/readiness.py +379 -0
- package/runtime/prime/egregore_runtime/research_ingest.py +256 -0
- package/runtime/prime/egregore_runtime/research_ingest_cli.py +44 -0
- package/runtime/prime/egregore_runtime/runtime.py +464 -0
- package/runtime/prime/egregore_runtime/scroll_cli.py +185 -0
- package/runtime/prime/egregore_runtime/scrolls.py +726 -0
- package/runtime/prime/egregore_runtime/status.py +412 -0
- package/runtime/prime/egregore_runtime/status_cli.py +174 -0
- package/runtime/prime/egregore_runtime/sync.py +218 -0
- package/runtime/prime/egregore_runtime/teamsync.py +139 -0
- package/runtime/prime/egregore_runtime/telemetry.py +640 -0
- package/runtime/prime/egregore_runtime/thread_cli.py +173 -0
- package/runtime/prime/egregore_runtime/threads.py +517 -0
- package/runtime/prime/egregore_runtime/todo_cli.py +142 -0
- package/runtime/prime/egregore_runtime/todos.py +244 -0
- package/runtime/prime/egregore_runtime/upgrade.py +770 -0
- package/runtime/prime/egregore_runtime/upgrade_worker.py +53 -0
- package/runtime/prime/egregore_runtime/writeback.py +391 -0
- package/runtime/prime/egregore_runtime/writeback_cli.py +114 -0
- package/runtime/prime/manifest.json +98 -1
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
{
|
|
2
|
+
"permissions": {
|
|
3
|
+
"allow": [
|
|
4
|
+
"Bash",
|
|
5
|
+
"Read",
|
|
6
|
+
"Write",
|
|
7
|
+
"Edit"
|
|
8
|
+
],
|
|
9
|
+
"deny": [
|
|
10
|
+
"Edit(~/.egregore/instances.json)"
|
|
11
|
+
],
|
|
12
|
+
"additionalDirectories": [
|
|
13
|
+
"memory"
|
|
14
|
+
]
|
|
15
|
+
},
|
|
16
|
+
"defaultMode": "acceptEdits",
|
|
17
|
+
"hooks": {
|
|
18
|
+
"SessionStart": [
|
|
19
|
+
{
|
|
20
|
+
"matcher": "startup",
|
|
21
|
+
"hooks": [
|
|
22
|
+
{
|
|
23
|
+
"type": "command",
|
|
24
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/bin/session-start.sh"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"UserPromptSubmit": [
|
|
30
|
+
{
|
|
31
|
+
"matcher": "",
|
|
32
|
+
"hooks": [
|
|
33
|
+
{
|
|
34
|
+
"type": "command",
|
|
35
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/memory-refresh.sh"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"type": "command",
|
|
39
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/emissary-detect.sh"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"type": "command",
|
|
43
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/bin/observe-context.sh claude",
|
|
44
|
+
"timeout": 45
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"PreToolUse": [
|
|
50
|
+
{
|
|
51
|
+
"matcher": "Read|Edit|Write|Bash|Glob|Grep",
|
|
52
|
+
"hooks": [
|
|
53
|
+
{
|
|
54
|
+
"type": "command",
|
|
55
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/boundary-check.sh"
|
|
56
|
+
}
|
|
57
|
+
]
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"matcher": "Edit|Write|Bash|EnterWorktree|EnterPlanMode",
|
|
61
|
+
"hooks": [
|
|
62
|
+
{
|
|
63
|
+
"type": "command",
|
|
64
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/onboarding-guard.sh"
|
|
65
|
+
}
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"matcher": "Edit|Write|Bash|EnterPlanMode",
|
|
70
|
+
"hooks": [
|
|
71
|
+
{
|
|
72
|
+
"type": "command",
|
|
73
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/branch-guard.sh"
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"PostToolUse": [
|
|
79
|
+
{
|
|
80
|
+
"matcher": "Bash",
|
|
81
|
+
"hooks": [
|
|
82
|
+
{
|
|
83
|
+
"type": "command",
|
|
84
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/retrieval-context.sh"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"type": "command",
|
|
88
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/card-context.sh"
|
|
89
|
+
}
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"WorktreeCreate": [
|
|
94
|
+
{
|
|
95
|
+
"matcher": "",
|
|
96
|
+
"hooks": [
|
|
97
|
+
{
|
|
98
|
+
"type": "command",
|
|
99
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/bin/worktree-create.sh"
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"WorktreeRemove": [
|
|
105
|
+
{
|
|
106
|
+
"matcher": "",
|
|
107
|
+
"hooks": [
|
|
108
|
+
{
|
|
109
|
+
"type": "command",
|
|
110
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/bin/worktree-remove.sh"
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"SessionEnd": [
|
|
116
|
+
{
|
|
117
|
+
"matcher": "",
|
|
118
|
+
"hooks": [
|
|
119
|
+
{
|
|
120
|
+
"type": "command",
|
|
121
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/bin/session-log.sh"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
]
|
|
126
|
+
},
|
|
127
|
+
"statusLine": {
|
|
128
|
+
"type": "command",
|
|
129
|
+
"command": "\"$CLAUDE_PROJECT_DIR\"/bin/statusline.sh"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: activity
|
|
3
|
+
description: "Explicit Activity card only. Use when the user names /activity or directly asks to show, open, or render the Activity dashboard/card. Never use it to answer or synthesize what the team is focused on, busy with, prioritizing, or doing; analytical organizational questions use Search/Runtime QMD."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Activity
|
|
7
|
+
|
|
8
|
+
Use this bounded status card only when the user names Activity or directly asks
|
|
9
|
+
to display its dashboard/card. "Explicit" means display intent, not merely a
|
|
10
|
+
question about the team. Questions asking for explanation or synthesis of
|
|
11
|
+
current focus, themes, priorities, or work use attached
|
|
12
|
+
`EGREGORE_ORG_CONTEXT_V1` evidence or exactly one Search workflow query when
|
|
13
|
+
that evidence is absent. The same applies to returning to earlier work. Never
|
|
14
|
+
use Activity as discovery or analysis fallback.
|
|
15
|
+
|
|
16
|
+
Render the team view immediately. The renderer's stdout IS the product card:
|
|
17
|
+
fully visible the moment rendering finishes, appearing exactly once in the
|
|
18
|
+
conversation. Never copy, regenerate, summarize, or repeat the
|
|
19
|
+
card — or any of its rows — in your reply. The card's own closing question is
|
|
20
|
+
the prompt for the next turn; after the command, add nothing beyond an
|
|
21
|
+
answer to something the user separately asked.
|
|
22
|
+
|
|
23
|
+
## When to invoke
|
|
24
|
+
|
|
25
|
+
Explicit Activity card only. Use when the user names /activity or directly asks to show, open, or render the Activity dashboard/card. Never use it to answer or synthesize what the team is focused on, busy with, prioritizing, or doing; analytical organizational questions use Search/Runtime QMD.
|
|
26
|
+
|
|
27
|
+
## Read path
|
|
28
|
+
|
|
29
|
+
Fetch exactly one authorized Runtime snapshot and render it:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
bash bin/activity-data.sh 2>/dev/null \
|
|
33
|
+
| bash bin/node-run.sh bin/codex-skill-render.mjs activity-card -
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Do not sync repositories, query memory again, or call implementation
|
|
37
|
+
infrastructure directly. The snapshot already contains bounded
|
|
38
|
+
canonical sessions, questions, quests, todos, and lifecycle-resolved handoffs.
|
|
39
|
+
Canonical Markdown/Git wins over every projection.
|
|
40
|
+
|
|
41
|
+
Connected enrichment is a separate capability-authorized adapter. Use it only
|
|
42
|
+
when the user explicitly asks for Connected/projected status by setting
|
|
43
|
+
`EGREGORE_STATUS_CONNECTED_ENRICH=1` for the same single data command. Never
|
|
44
|
+
replace canonical lifecycle fields with the returned projection payload.
|
|
45
|
+
|
|
46
|
+
## Handoff actions
|
|
47
|
+
|
|
48
|
+
For `activity done N`, `activity expire N`, or `activity reopen N`:
|
|
49
|
+
|
|
50
|
+
1. Fetch one snapshot as above.
|
|
51
|
+
2. Map `N` to `handoffs_to_me[N-1]`.
|
|
52
|
+
3. Run one typed transition:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
bash bin/activity-action.sh <done|expire|reopen> "<sessionId>" \
|
|
56
|
+
--expected-revision "<lifecycleRevision>"
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Report the resulting canonical state. Never accept graph state as lifecycle
|
|
60
|
+
authority, silently complete work by age, or record focus through graph calls.
|
|
61
|
+
|
|
62
|
+
## Rendering rules
|
|
63
|
+
|
|
64
|
+
- Never print raw JSON or narrate routine commands.
|
|
65
|
+
- Preserve the shared 72-column activity card.
|
|
66
|
+
- Show Local status without graph/setup messaging.
|
|
67
|
+
- End the turn after the card; act on the user's reply next turn.
|
|
68
|
+
- Use `/activity quests` to show the snapshot's full bounded quest list.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: announce
|
|
3
|
+
description: "Draft, preview, and explicitly send an Egregore group announcement. Use for /announce, telling the team something, or notifying everyone—not a direct message or structured handoff."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Egregore announce
|
|
7
|
+
|
|
8
|
+
Draft one concise group message. The request authorizes drafting, never
|
|
9
|
+
dispatch or artifact publication. Reuse sufficient `EGREGORE_ORG_CONTEXT_V1`;
|
|
10
|
+
do not repeat organizational retrieval merely to decorate the message.
|
|
11
|
+
|
|
12
|
+
Preserve quoted wording exactly. Otherwise use 2–5 lines: what changed, the
|
|
13
|
+
relevant branch/artifact when already authorized, and the requested action.
|
|
14
|
+
Notification consent and publication consent are separate. Never publish a
|
|
15
|
+
referenced artifact automatically; publication is a separate
|
|
16
|
+
`SHARE` workflow with its own source/destination approval.
|
|
17
|
+
|
|
18
|
+
Write the final draft to a private temporary file and prepare one actor-bound
|
|
19
|
+
Runtime plan:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
MESSAGE_FILE="$(mktemp "${TMPDIR:-/tmp}/egregore-announce.XXXXXX")"
|
|
23
|
+
chmod 600 "$MESSAGE_FILE"
|
|
24
|
+
printf '%s' "$MESSAGE" > "$MESSAGE_FILE"
|
|
25
|
+
PLAN_JSON=$(bash bin/notification.sh plan --kind group --message-file "$MESSAGE_FILE")
|
|
26
|
+
rm -f "$MESSAGE_FILE"
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Show one dedicated **Send / Edit / Cancel** checkpoint containing the exact
|
|
30
|
+
organization, group, every delivery/channel, and final message returned by the
|
|
31
|
+
plan. Edit cancels the old plan before creating a new one. Cancel calls:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
bash bin/notification.sh cancel "$PLAN_ID"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Only a fresh **Send** response for that exact checkpoint authorizes:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
APPROVAL_JSON=$(bash bin/notification.sh approve \
|
|
41
|
+
"$PLAN_ID" "$DIGEST" APPROVE_EXACT_NOTIFICATION)
|
|
42
|
+
APPROVAL_TOKEN=$(printf '%s' "$APPROVAL_JSON" | jq -r '.approval_token')
|
|
43
|
+
bash bin/notification.sh dispatch "$PLAN_ID" "$APPROVAL_TOKEN"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Report the returned delivery receipt. Never retry from old approval, change a
|
|
47
|
+
destination, or fall back to another channel. Local instances without a
|
|
48
|
+
notification capability stop after preview and return the text for manual use.
|
|
49
|
+
The Runtime service owns ActorContext authorization, exact-plan binding,
|
|
50
|
+
transport, and content-free telemetry.
|
|
51
|
+
|
|
52
|
+
## When to invoke
|
|
53
|
+
|
|
54
|
+
Draft, preview, and explicitly send an Egregore group announcement. Use for /announce, telling the team something, or notifying everyone—not a direct message or structured handoff.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: archive
|
|
3
|
+
description: "Capture an effective prompting or steering technique as a reusable canonical pattern. Use when a prompt chain worked especially well; use /reflect for insight about the work and /note for a private thought."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Archive
|
|
7
|
+
|
|
8
|
+
Capture a reusable human-to-agent steering technique as a typed `pattern` with
|
|
9
|
+
subtype `prompt-chain`.
|
|
10
|
+
|
|
11
|
+
## When to invoke
|
|
12
|
+
|
|
13
|
+
Capture an effective prompting or steering technique as a reusable canonical pattern. Use when a prompt chain worked especially well; use /reflect for insight about the work and /note for a private thought.
|
|
14
|
+
|
|
15
|
+
## Modes
|
|
16
|
+
|
|
17
|
+
- No arguments: inspect this session for a meaningful steering chain. If the
|
|
18
|
+
session is too short or no chain exists, ask the user to describe one.
|
|
19
|
+
- Arguments: treat them as the technique; a single principle is a one-move
|
|
20
|
+
chain.
|
|
21
|
+
|
|
22
|
+
Each move records its type, trigger, intervention, effect, and distilled
|
|
23
|
+
principle. Useful initial move types include inversion, calibration, scoping,
|
|
24
|
+
elevation, reframing, grounding, sequencing, contradiction, analogy, and
|
|
25
|
+
provocation; extend the vocabulary when needed.
|
|
26
|
+
|
|
27
|
+
## Context and dedupe
|
|
28
|
+
|
|
29
|
+
Reuse attached `EGREGORE_ORG_CONTEXT_V1` evidence. Do not repeat retrieval when
|
|
30
|
+
it already contains sufficient related patterns. If a named gap remains, make
|
|
31
|
+
one `bash bin/search.sh query "<technique concept>" -n 6` call and open only a
|
|
32
|
+
likely duplicate through `bash bin/search.sh open`. Never query implementation
|
|
33
|
+
infrastructure or storage directly.
|
|
34
|
+
|
|
35
|
+
## Flow
|
|
36
|
+
|
|
37
|
+
1. Extract a chain name, when-to-use guidance, ordered moves, outcome, topics,
|
|
38
|
+
workstream, and explicit relations.
|
|
39
|
+
2. For a three-or-more move chain, show the complete breakdown. For shorter
|
|
40
|
+
chains, show the compact proposal. Wait for `y`, edits, or `skip`.
|
|
41
|
+
3. Render the accepted pattern body to a temporary file and invoke exactly one
|
|
42
|
+
canonical command:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
bash bin/knowledge.sh create \
|
|
46
|
+
--type pattern \
|
|
47
|
+
--subtype prompt-chain \
|
|
48
|
+
--title "{chain name}" \
|
|
49
|
+
--input "$TMP_ARTIFACT" \
|
|
50
|
+
--topic prompt-chain \
|
|
51
|
+
--topic "{topic}" \
|
|
52
|
+
--workstream "{workstream}"
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Add `--relationship "RELATION:TARGET"` only for explicit links. The Runtime
|
|
56
|
+
resolves ActorContext, authorizes, assigns stable identity/provenance, persists
|
|
57
|
+
canonical Markdown, records Git provenance, refreshes retrieval, starts
|
|
58
|
+
background embedding, and emits content-free telemetry.
|
|
59
|
+
|
|
60
|
+
## Boundaries
|
|
61
|
+
|
|
62
|
+
- Archive captures an AI-steering technique, not a work decision or private
|
|
63
|
+
scratch thought.
|
|
64
|
+
- Do not separately run `/save`, Git, QMD, graph, telemetry, publishing,
|
|
65
|
+
sharing, or notifications.
|
|
66
|
+
- Graph projection is optional and advisory. Canonical Markdown wins.
|
|
67
|
+
- Publishing, external sharing, or notification requires a separate permitted,
|
|
68
|
+
explicitly consented action.
|
|
69
|
+
|
|
70
|
+
Report the canonical path and writeback status. Preserve the compact
|
|
71
|
+
`◇ ARCHIVE` confirmation style for rich output.
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: branch
|
|
3
|
+
description: "Create a working branch from what you are about to work on. Use for /branch, or any request to start a new branch before making changes."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Create a working branch from what you're working on.
|
|
7
|
+
|
|
8
|
+
## When to invoke
|
|
9
|
+
|
|
10
|
+
User says: "/branch", "create a branch", "start a new branch", or any request to begin a working branch for what they're about to do
|
|
11
|
+
|
|
12
|
+
Description: $ARGUMENTS
|
|
13
|
+
|
|
14
|
+
## What to do
|
|
15
|
+
|
|
16
|
+
Resolve the core repo's configured base first:
|
|
17
|
+
```bash
|
|
18
|
+
BASE_BRANCH=$(bash -c 'SCRIPT_DIR="$PWD"; CONFIG="$PWD/egregore.json"; . "$PWD/bin/lib/config.sh" && _get_base_branch') ||
|
|
19
|
+
{ echo "Could not resolve the configured base branch; stopping before Git changes." >&2; exit 1; }
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
1. Derive a topic slug from the description (lowercase, hyphens, no special chars, max 40 chars)
|
|
23
|
+
2. Determine branch type from description:
|
|
24
|
+
- `dev/{author}/{topic-slug}` — default for session work
|
|
25
|
+
- `feature/{topic-slug}` — explicit feature work
|
|
26
|
+
- `bugfix/{topic-slug}` — bug fixes
|
|
27
|
+
3. Call `EnterWorktree` with `name` set to the topic slug
|
|
28
|
+
|
|
29
|
+
The WorktreeCreate hook handles everything: fetches the configured base branch, creates the branch, creates the worktree, sets up symlinks.
|
|
30
|
+
|
|
31
|
+
**Fallback:** If `EnterWorktree` fails, fall back to: `git checkout --no-track -b {branch-name} "origin/$BASE_BRANCH"`
|
|
32
|
+
|
|
33
|
+
The task branch must not inherit `origin/$BASE_BRANCH` as its upstream. The
|
|
34
|
+
first `/push` sets upstream with `-u origin "$BRANCH"`, creating and tracking
|
|
35
|
+
the same-name remote task branch.
|
|
36
|
+
|
|
37
|
+
## Deriving the topic slug
|
|
38
|
+
|
|
39
|
+
Extract the essence of what the user said into a short, meaningful slug:
|
|
40
|
+
- "auth flow in frontend" → `auth-flow`
|
|
41
|
+
- "fix the payment endpoint bug" → `fix-payment-endpoint`
|
|
42
|
+
- "refactoring the token store" → `refactor-token-store`
|
|
43
|
+
- "working on oauth implementation" → `oauth-implementation`
|
|
44
|
+
|
|
45
|
+
If no description is given, use today's date: `YYYY-MM-DD`
|
|
46
|
+
|
|
47
|
+
## Branch type detection
|
|
48
|
+
|
|
49
|
+
- Description mentions "fix", "bug", "broken", "crash" → `bugfix/`
|
|
50
|
+
- Description mentions "feature", "add", "implement", "new" → `feature/`
|
|
51
|
+
- Otherwise → `dev/{author}/` (general session work)
|
|
52
|
+
|
|
53
|
+
## Resuming existing branches
|
|
54
|
+
|
|
55
|
+
Before creating, check if a matching branch already exists:
|
|
56
|
+
```bash
|
|
57
|
+
git branch --list "dev/$AUTHOR/*$SLUG*" "feature/*$SLUG*" "bugfix/*$SLUG*"
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
If a match is found, offer to resume it instead of creating a new one.
|
|
61
|
+
|
|
62
|
+
## Reusing current worktree
|
|
63
|
+
|
|
64
|
+
If already in a worktree and the user needs a new branch (e.g., after their PR was merged):
|
|
65
|
+
1. Do NOT exit the worktree or create a new one
|
|
66
|
+
2. Create the new branch and checkout within the existing worktree:
|
|
67
|
+
```bash
|
|
68
|
+
git fetch origin "$BASE_BRANCH" --quiet
|
|
69
|
+
git checkout --no-track -b dev/$AUTHOR/$NEW_SLUG "origin/$BASE_BRANCH"
|
|
70
|
+
```
|
|
71
|
+
3. The worktree directory stays the same — only the branch changes
|
|
72
|
+
4. Confirm: `Switched to dev/$AUTHOR/$NEW_SLUG (same worktree).`
|
|
73
|
+
|
|
74
|
+
## Example
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
> /branch auth flow
|
|
78
|
+
|
|
79
|
+
Creating branch...
|
|
80
|
+
|
|
81
|
+
git fetch origin "$BASE_BRANCH" --quiet
|
|
82
|
+
git branch dev/alice/auth-flow "origin/$BASE_BRANCH"
|
|
83
|
+
EnterWorktree → .claude/worktrees/auth-flow/
|
|
84
|
+
git checkout dev/alice/auth-flow
|
|
85
|
+
bash <main-dir>/bin/worktree.sh setup "$(pwd)" "<main-dir>"
|
|
86
|
+
✓ Created dev/alice/auth-flow (worktree, from configured base)
|
|
87
|
+
|
|
88
|
+
Ready to work. /save when done.
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
> /branch fix payment endpoint bug
|
|
93
|
+
|
|
94
|
+
Creating branch...
|
|
95
|
+
|
|
96
|
+
git fetch origin "$BASE_BRANCH" --quiet
|
|
97
|
+
git branch bugfix/fix-payment-endpoint "origin/$BASE_BRANCH"
|
|
98
|
+
EnterWorktree → .claude/worktrees/fix-payment-endpoint/
|
|
99
|
+
git checkout bugfix/fix-payment-endpoint
|
|
100
|
+
✓ Created bugfix/fix-payment-endpoint (worktree, from configured base)
|
|
101
|
+
|
|
102
|
+
Ready to work. /save when done.
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
```
|
|
106
|
+
> /branch
|
|
107
|
+
|
|
108
|
+
No description given. Using today's date.
|
|
109
|
+
|
|
110
|
+
git branch dev/alice/2026-02-12 "origin/$BASE_BRANCH"
|
|
111
|
+
EnterWorktree → .claude/worktrees/2026-02-12/
|
|
112
|
+
git checkout dev/alice/2026-02-12
|
|
113
|
+
✓ Created dev/alice/2026-02-12 (worktree, from configured base)
|
|
114
|
+
|
|
115
|
+
Ready to work. /save when done.
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
## Managed repos
|
|
119
|
+
|
|
120
|
+
If the user's description references a managed repo (listed in `egregore.json` → `repos[]`), create the branch in that repo's sibling directory instead of the hub.
|
|
121
|
+
|
|
122
|
+
Resolve the repo's base branch first:
|
|
123
|
+
```bash
|
|
124
|
+
BASE_BRANCH=$(bash -c 'SCRIPT_DIR="$PWD"; CONFIG="$PWD/egregore.json"; . "$PWD/bin/lib/config.sh" && _get_base_branch "$1"' _ "$REPO") ||
|
|
125
|
+
{ echo "Could not resolve the configured base branch; stopping before Git changes." >&2; exit 1; }
|
|
126
|
+
REPO_DIR="$(cd .. && pwd)/$REPO"
|
|
127
|
+
git -C "$REPO_DIR" fetch origin "$BASE_BRANCH" --quiet
|
|
128
|
+
git -C "$REPO_DIR" checkout --no-track -b dev/$AUTHOR/$TOPIC_SLUG "origin/$BASE_BRANCH"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
Use `git -C` with absolute paths — never `cd` into the repo.
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
> /branch auth flow in frontend
|
|
135
|
+
|
|
136
|
+
Creating branch in frontend...
|
|
137
|
+
|
|
138
|
+
git -C ../frontend fetch origin main --quiet
|
|
139
|
+
git -C ../frontend checkout --no-track -b dev/alice/auth-flow origin/main
|
|
140
|
+
✓ Created dev/alice/auth-flow in frontend (from main)
|
|
141
|
+
|
|
142
|
+
Ready to work. /save when done.
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Next
|
|
146
|
+
|
|
147
|
+
Make your changes, then `/commit` or `/save` when ready.
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: checkup
|
|
3
|
+
description: "Run diagnostics on an Egregore environment and render a health report, repairing safe local Runtime problems when possible. Use for /checkup, a health check, or when something is broken and the root cause is unclear."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Egregore checkup
|
|
7
|
+
|
|
8
|
+
Diagnose the Egregore Runtime first. Treat canonical Markdown and its
|
|
9
|
+
instance-owned Local Retriever as the product baseline. Graph, control-plane,
|
|
10
|
+
and notification probes are explicit Connected integrations; their failure
|
|
11
|
+
must never make canonical Local Runtime state look unavailable.
|
|
12
|
+
|
|
13
|
+
## When to invoke
|
|
14
|
+
|
|
15
|
+
Run diagnostics on an Egregore environment and render a health report, repairing safe local Runtime problems when possible. Use for /checkup, a health check, or when something is broken and the root cause is unclear.
|
|
16
|
+
|
|
17
|
+
## Procedure
|
|
18
|
+
|
|
19
|
+
Detect mode without attempting a network call:
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
MODE=$(jq -r '.mode // empty' egregore.json 2>/dev/null)
|
|
23
|
+
API_URL=$(jq -r '.api_url // empty' egregore.json 2>/dev/null)
|
|
24
|
+
if [ "$MODE" = "local" ] || [ -z "$API_URL" ]; then
|
|
25
|
+
MODE="local"
|
|
26
|
+
else
|
|
27
|
+
MODE="connected"
|
|
28
|
+
fi
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
Run three sequential batches. Parallelize only within a batch.
|
|
32
|
+
|
|
33
|
+
1. Runtime and local configuration.
|
|
34
|
+
2. Connected integrations, only when `MODE=connected`.
|
|
35
|
+
3. Workspace and Git checks.
|
|
36
|
+
|
|
37
|
+
Never run Connected network probes beside local checks; a timeout must not
|
|
38
|
+
cancel or obscure the Runtime result.
|
|
39
|
+
|
|
40
|
+
## Batch 1: canonical Runtime
|
|
41
|
+
|
|
42
|
+
Read the one typed Runtime health surface as JSON:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
EGREGORE_ROOT="$PWD" PYTHONPATH="$PWD${PYTHONPATH:+:$PYTHONPATH}" \
|
|
46
|
+
python3 -m egregore_runtime.harness_cli status --json
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Do not invoke `qmd`, inspect QMD process tables, guess ports, or read another
|
|
50
|
+
instance's runtime directory. The adapter owns those mechanics. Interpret the
|
|
51
|
+
returned fields as follows:
|
|
52
|
+
|
|
53
|
+
- `canonical_state_ready` — foundational. Fail only when canonical memory is
|
|
54
|
+
unavailable.
|
|
55
|
+
- `adapter=qmd-local`, `collection`, and `index_path` — the resolved
|
|
56
|
+
instance-owned Local Retriever. Display these without exposing another
|
|
57
|
+
instance or deriving ownership yourself.
|
|
58
|
+
- `runtime_state`, `runtime_pid`, and `runtime_endpoint` — owned worker
|
|
59
|
+
readiness. `semantic_ready` is healthy; `semantic_index_building` is a
|
|
60
|
+
warning with lexical fallback; `runtime_unavailable` is repairable.
|
|
61
|
+
- `bm25_ready` — local keyword readiness. Warn when false.
|
|
62
|
+
- `semantic_ready` and `embedding_state` — semantic readiness. A warming or
|
|
63
|
+
missing model is degraded, not canonical data loss.
|
|
64
|
+
- `index_spec_version`, `index_revision`, and `source_revision` — freshness.
|
|
65
|
+
Report drift; never repair it by editing index files.
|
|
66
|
+
- `warnings` — show concise, redacted messages.
|
|
67
|
+
|
|
68
|
+
Also validate `egregore.json`, the canonical `memory` link/repository, and the
|
|
69
|
+
mode-appropriate key names in `.env`. Never print secret values. Local mode
|
|
70
|
+
requires no control-plane key.
|
|
71
|
+
|
|
72
|
+
If the Runtime worker or indexes are unavailable while canonical memory is
|
|
73
|
+
ready, run the safe Runtime lifecycle adapter once:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
bash bin/search.sh start
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Then re-read Runtime health once. This starts or reuses only the worker owned
|
|
80
|
+
by this Egregore instance and schedules semantic warming behind the adapter.
|
|
81
|
+
|
|
82
|
+
## Batch 2: Connected integrations
|
|
83
|
+
|
|
84
|
+
Skip this batch completely in local mode. In connected mode, label every row
|
|
85
|
+
as an integration, keep it outside the foundational Runtime verdict, and run:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
timeout 10 bash bin/graph-projection.sh verify --enable 2>&1; echo "EXIT:$?"
|
|
89
|
+
timeout 10 bash bin/notification.sh status 2>&1; echo "EXIT:$?"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
- **Control plane / Graph projection** — pass when the gateway accepts the
|
|
93
|
+
configured credentials and the projection is reachable. Offline, auth, or
|
|
94
|
+
stale projection results are Connected warnings; canonical Markdown remains
|
|
95
|
+
authoritative.
|
|
96
|
+
- **Notification adapter** — read the sanitized Runtime `status` field. Treat
|
|
97
|
+
`ok` (connected) or `configured` (local) as healthy. Telegram is optional
|
|
98
|
+
and never part of Runtime readiness.
|
|
99
|
+
|
|
100
|
+
Do not auto-replace API keys, repair graph state, publish, or send a
|
|
101
|
+
notification. Report the exact integration boundary that failed.
|
|
102
|
+
|
|
103
|
+
## Batch 3: workspace
|
|
104
|
+
|
|
105
|
+
Check locally:
|
|
106
|
+
|
|
107
|
+
- the configured base branch exists and compare it with `origin/<base>` only
|
|
108
|
+
when an origin is already configured;
|
|
109
|
+
- the current worktree and memory repository are clean or clearly report their
|
|
110
|
+
dirty-file counts;
|
|
111
|
+
- the framework version is readable locally. Do not fetch merely to render a
|
|
112
|
+
health report;
|
|
113
|
+
- the shell launcher points at this instance when a launcher is configured.
|
|
114
|
+
|
|
115
|
+
Never mutate Git, canonical memory, or framework files during diagnosis.
|
|
116
|
+
Offer `$pull`, `$update`, or `$setup` as the next Egregore action when relevant;
|
|
117
|
+
do not tell the user to construct repair commands manually.
|
|
118
|
+
|
|
119
|
+
## Rendering
|
|
120
|
+
|
|
121
|
+
Render one compact diagnostic box. In connected mode add a separate
|
|
122
|
+
`CONNECTED INTEGRATIONS` section after `RUNTIME`; in local mode omit it.
|
|
123
|
+
|
|
124
|
+
```text
|
|
125
|
+
┌──────────────────────────────────────────────────────────────────────┐
|
|
126
|
+
│ ⊕ CHECKUP {date} │
|
|
127
|
+
├──────────────────────────────────────────────────────────────────────┤
|
|
128
|
+
│ CONFIG │
|
|
129
|
+
│ ✓ Instance — {org} ({mode}) │
|
|
130
|
+
│ │
|
|
131
|
+
│ RUNTIME │
|
|
132
|
+
│ ✓ Canonical memory — ready · source {source_revision} │
|
|
133
|
+
│ ✓ Local Retriever — qmd-local {adapter_version} · owned │
|
|
134
|
+
│ ⚠ Semantic index — warming · lexical fallback ready │
|
|
135
|
+
│ ✓ Worker — pid {pid} · {endpoint} │
|
|
136
|
+
│ │
|
|
137
|
+
│ CONNECTED INTEGRATIONS │
|
|
138
|
+
│ ⚠ Control plane / Graph — offline · canonical state unaffected │
|
|
139
|
+
│ ✓ Telegram — connected │
|
|
140
|
+
│ │
|
|
141
|
+
│ WORKSPACE │
|
|
142
|
+
│ ✓ Memory repository — clean │
|
|
143
|
+
│ ✓ Git — {base} synced │
|
|
144
|
+
├──────────────────────────────────────────────────────────────────────┤
|
|
145
|
+
│ Runtime ready · {warnings} warnings · integrations {state} │
|
|
146
|
+
└──────────────────────────────────────────────────────────────────────┘
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
Use `✓`, `⚠`, and `✗` for pass, degraded, and unavailable. State the Runtime
|
|
150
|
+
verdict independently from Connected integration health. After a safe Runtime
|
|
151
|
+
repair, append only the rechecked result.
|
|
152
|
+
|
|
153
|
+
## Rules
|
|
154
|
+
|
|
155
|
+
- Never expose raw JSON, tokens, environment values, or unformatted probes.
|
|
156
|
+
- Never use Graph or a control-plane response as canonical health authority.
|
|
157
|
+
- Never call QMD directly; instance ownership belongs to Egregore Runtime.
|
|
158
|
+
- Never send, publish, commit, pull, or push as part of checkup.
|
|
159
|
+
- Emit telemetry only through the normal command wrapper, best-effort.
|