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,124 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: notion-connect
|
|
3
|
+
description: "Use for 'connect notion', 'notion status', or 'disconnect notion' — connects the current agent runtime directly to Notion's official hosted MCP for search and fetch, or checks/revokes that connection."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Connect the current agent runtime directly to Notion's official hosted MCP.
|
|
7
|
+
|
|
8
|
+
Arguments: $ARGUMENTS (Optional: `status` or `revoke`)
|
|
9
|
+
|
|
10
|
+
## When to invoke
|
|
11
|
+
|
|
12
|
+
- "connect notion", "set up notion", "link notion" → run the connection flow
|
|
13
|
+
- "notion status", "is notion connected" → status
|
|
14
|
+
- "disconnect notion", "revoke notion" → revoke
|
|
15
|
+
- `/ingest notion` also enters this flow automatically when the MCP tools are
|
|
16
|
+
missing. Users do not need to run this skill first.
|
|
17
|
+
|
|
18
|
+
## Product boundary
|
|
19
|
+
|
|
20
|
+
Notion provides the bridge. Egregore does not register a Notion OAuth app and
|
|
21
|
+
does not receive or store the user's Notion OAuth token. The current agent
|
|
22
|
+
runtime connects directly to `https://mcp.notion.com/mcp`; Notion owns the
|
|
23
|
+
login and consent screen, and the runtime stores its own authorization.
|
|
24
|
+
|
|
25
|
+
Say this before opening the login flow:
|
|
26
|
+
|
|
27
|
+
> Notion will connect directly to this agent. Egregore Labs does not receive
|
|
28
|
+
> your Notion login or token. The agent can see what your Notion account can
|
|
29
|
+
> see. Search and fetched content pass through this session; pages you approve
|
|
30
|
+
> are additionally saved as curated shared memory.
|
|
31
|
+
|
|
32
|
+
Do not claim that the MCP is read-only or limited to selected pages. Notion MCP
|
|
33
|
+
uses the signed-in user's permissions. Normal Egregore session capture may
|
|
34
|
+
include tool results the agent inspected. The `/ingest notion` review step is
|
|
35
|
+
the boundary for what becomes a curated Notion source in shared memory.
|
|
36
|
+
|
|
37
|
+
## Readiness check
|
|
38
|
+
|
|
39
|
+
First discover available tools using the runtime's tool registry:
|
|
40
|
+
|
|
41
|
+
- Claude Code: use ToolSearch with `notion`.
|
|
42
|
+
- Codex/OpenAI clients: search for Notion MCP tools. OpenAI may expose
|
|
43
|
+
`notion-search` and `notion-fetch` as `search` and `fetch`.
|
|
44
|
+
- Other MCP-aware runtimes: inspect the loaded tools for the Notion server.
|
|
45
|
+
|
|
46
|
+
The connection is ready when both search and fetch are available. Prefer a
|
|
47
|
+
`notion-get-self`/`get-self` call for status when present; otherwise a small
|
|
48
|
+
search is enough to verify access.
|
|
49
|
+
|
|
50
|
+
## Setup
|
|
51
|
+
|
|
52
|
+
Use the path for the current runtime. These commands register Notion's official
|
|
53
|
+
remote MCP only; they do not install an Egregore connector.
|
|
54
|
+
|
|
55
|
+
### Claude Code
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
claude mcp get notion >/dev/null 2>&1 || \
|
|
59
|
+
claude mcp add --transport http --scope project notion https://mcp.notion.com/mcp
|
|
60
|
+
claude mcp login notion
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
If the tools do not appear after login, say:
|
|
64
|
+
|
|
65
|
+
> Notion is connected. Restart this Claude Code session, then run `/ingest notion` again.
|
|
66
|
+
|
|
67
|
+
### Codex
|
|
68
|
+
|
|
69
|
+
The Egregore project config already declares the server. If it is absent in an
|
|
70
|
+
older installation:
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
codex mcp get notion >/dev/null 2>&1 || \
|
|
74
|
+
codex mcp add notion --url https://mcp.notion.com/mcp
|
|
75
|
+
codex mcp login notion
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
If the tools do not appear after login, say:
|
|
79
|
+
|
|
80
|
+
> Notion is connected. Restart this Codex session, then run `$ingest notion` again.
|
|
81
|
+
|
|
82
|
+
### Pi
|
|
83
|
+
|
|
84
|
+
Pi does not provide MCP support. Do not fall back to the legacy REST connector.
|
|
85
|
+
Say:
|
|
86
|
+
|
|
87
|
+
> Notion MCP is not available in Pi yet. Open this Egregore in Claude Code or Codex to connect and import Notion pages.
|
|
88
|
+
|
|
89
|
+
Stop.
|
|
90
|
+
|
|
91
|
+
### Other MCP clients
|
|
92
|
+
|
|
93
|
+
Add `https://mcp.notion.com/mcp` as a Streamable HTTP server named `notion`,
|
|
94
|
+
then complete Notion's OAuth flow. If the client only loads new servers at
|
|
95
|
+
startup, ask the user to restart and return to `/ingest notion`.
|
|
96
|
+
|
|
97
|
+
## Continue into ingest
|
|
98
|
+
|
|
99
|
+
Once search and fetch are available, return directly to the calling
|
|
100
|
+
`/ingest notion` flow. When this skill was invoked on its own, close with:
|
|
101
|
+
|
|
102
|
+
> Connected. Run `/ingest notion` and tell me what you want to bring into memory.
|
|
103
|
+
|
|
104
|
+
## Status
|
|
105
|
+
|
|
106
|
+
Discover the Notion tools and call `notion-get-self`/`get-self` when available.
|
|
107
|
+
Report only connected workspace/user information returned by Notion. Do not
|
|
108
|
+
read `.egregore-state.json`; MCP authorization belongs to the runtime.
|
|
109
|
+
|
|
110
|
+
## Revoke
|
|
111
|
+
|
|
112
|
+
- Claude Code: `claude mcp logout notion`
|
|
113
|
+
- Codex: `codex mcp logout notion`
|
|
114
|
+
- Other clients: disconnect Notion from that client's MCP settings.
|
|
115
|
+
|
|
116
|
+
Confirm:
|
|
117
|
+
|
|
118
|
+
> Disconnected here. Pages already imported into Egregore memory remain until you remove them.
|
|
119
|
+
|
|
120
|
+
Telemetry, fire-and-forget:
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
bash bin/telemetry.sh emit "command" '{"command":"notion-connect","transport":"mcp"}' 2>/dev/null &
|
|
124
|
+
```
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: onboarding
|
|
3
|
+
description: "Use for /onboarding, or when a new member's onboarding is incomplete — runs the resumable VERIFY, ORIENT, INVITE, FIRST_HANDOFF welcome flow through Egregore Runtime."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Egregore onboarding
|
|
7
|
+
|
|
8
|
+
Welcome a new member through the deterministic VERIFY → ORIENT → INVITE →
|
|
9
|
+
FIRST_HANDOFF flow. This is a conversation, not setup narration.
|
|
10
|
+
|
|
11
|
+
The Runtime adapter owns state migration, ActorContext authorization,
|
|
12
|
+
Local/Connected detection, profile-witness verification, and identity
|
|
13
|
+
reconciliation. AccountIdentity, ActorIdentity, and OrgMembership remain
|
|
14
|
+
separate; GitHub fields are linked-provider aliases only. Never edit state or
|
|
15
|
+
people files, call APIs/graph, or run Git from this skill.
|
|
16
|
+
|
|
17
|
+
## When to invoke
|
|
18
|
+
|
|
19
|
+
Use for /onboarding, or when a new member's onboarding is incomplete — runs the resumable VERIFY, ORIENT, INVITE, FIRST_HANDOFF welcome flow through Egregore Runtime.
|
|
20
|
+
|
|
21
|
+
## Start or resume
|
|
22
|
+
|
|
23
|
+
Run one bounded status command and suppress raw output:
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
ONBOARDING_JSON=$(bash bin/onboarding.sh status)
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The receipt reports the phase, completion state, user type, collected fields,
|
|
30
|
+
installer handoff, and canonical profile witness. It also migrates legacy
|
|
31
|
+
phase names safely. Do not inspect `.egregore-state.json` yourself.
|
|
32
|
+
|
|
33
|
+
- Complete with both `name` and `role` collected: say, "You're already set
|
|
34
|
+
up. What are you working on?" and stop.
|
|
35
|
+
- Complete with role missing: ask only their role, run
|
|
36
|
+
`bash bin/onboarding.sh set-role "$ROLE"`, then ask what they are working on.
|
|
37
|
+
- Installer-captured name: do not ask for it again.
|
|
38
|
+
- Invite handled by installer: do not offer another invite.
|
|
39
|
+
- Returning creator in `invite`: explain that their previous work should be
|
|
40
|
+
captured, then enter FIRST_HANDOFF.
|
|
41
|
+
|
|
42
|
+
VERIFY is otherwise invisible. Adapter failures are rendered as one useful
|
|
43
|
+
fix (GitHub authentication, missing Connected authentication, or missing
|
|
44
|
+
memory), without exposing configuration fields or infrastructure details.
|
|
45
|
+
|
|
46
|
+
## ORIENT
|
|
47
|
+
|
|
48
|
+
Output exactly, with no preamble:
|
|
49
|
+
|
|
50
|
+
```text
|
|
51
|
+
✱ Insight ────────────────────────────────────────
|
|
52
|
+
|
|
53
|
+
Every session leaves traces — decisions, patterns, context.
|
|
54
|
+
Egregore makes those traces persistent and shared.
|
|
55
|
+
|
|
56
|
+
You do your work. When you're done, you hand off what you
|
|
57
|
+
learned. The next session — yours or someone else's — starts
|
|
58
|
+
smarter.
|
|
59
|
+
|
|
60
|
+
──────────────────────────────────────────────────
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Then:
|
|
64
|
+
|
|
65
|
+
```text
|
|
66
|
+
It works best with someone on the other end.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Ask what they should be called, offering their returned provider display name
|
|
70
|
+
and a free-form alternative. Validate through the Runtime command, not in
|
|
71
|
+
skill-side state:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
bash bin/onboarding.sh set-name "$CHOSEN_NAME"
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Do not continue unless the receipt returns the chosen `display_name`.
|
|
78
|
+
|
|
79
|
+
## INVITE
|
|
80
|
+
|
|
81
|
+
The status receipt's `usage_type` is authoritative:
|
|
82
|
+
|
|
83
|
+
- `founder_group`: unless the installer handled it, ask whether to invite
|
|
84
|
+
someone now or work solo. For a username, invoke the `invite` skill, then
|
|
85
|
+
run `bash bin/onboarding.sh record-invite invited`. On skip, run
|
|
86
|
+
`bash bin/onboarding.sh record-invite skipped`. Invite failure never blocks
|
|
87
|
+
onboarding; record the answer and continue.
|
|
88
|
+
- `joiner_group`: never offer the invite question. Run
|
|
89
|
+
`bash bin/onboarding.sh record-invite skipped` and use the joiner fast-track
|
|
90
|
+
completion below.
|
|
91
|
+
|
|
92
|
+
Teach only:
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
Two things to know when you're done:
|
|
96
|
+
/save — pushes your branch and opens a PR
|
|
97
|
+
/handoff — captures what you learned for next time
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Then ask:
|
|
101
|
+
|
|
102
|
+
```text
|
|
103
|
+
What are you working on?
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
When they answer, use the ordinary branch skill. Show the normal onboarding
|
|
107
|
+
technical orientation with the configured integration branch and actual
|
|
108
|
+
working branch; do not implement branch mechanics here.
|
|
109
|
+
|
|
110
|
+
For a joiner, complete immediately after their intent answer:
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
bash bin/onboarding.sh complete
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Only a receipt with `complete: true` unlocks normal work.
|
|
117
|
+
|
|
118
|
+
## FIRST_HANDOFF — creators only
|
|
119
|
+
|
|
120
|
+
Trigger when a creator clearly ends the session, runs save/wrap/handoff, or
|
|
121
|
+
returns in the `invite` phase. If "done" could mean a subtask, ask which.
|
|
122
|
+
|
|
123
|
+
Say:
|
|
124
|
+
|
|
125
|
+
> Before you close out — this is the part that makes the system work. A
|
|
126
|
+
> handoff captures what you did so the organization remembers it. Not a
|
|
127
|
+
> summary for a manager — a briefing for the next session, or the next person.
|
|
128
|
+
|
|
129
|
+
Run the ordinary handoff skill. After it succeeds, complete onboarding once:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
bash bin/onboarding.sh complete
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
The adapter upgrades an invite stub through the identity service, verifies the
|
|
136
|
+
canonical profile witness, records canonical Git provenance, and only then
|
|
137
|
+
sets completion. If the witness is absent, keep the phase resumable and say:
|
|
138
|
+
"Almost done, but your profile didn't save. Try /handoff again next session."
|
|
139
|
+
|
|
140
|
+
For creators who skipped inviting, add:
|
|
141
|
+
|
|
142
|
+
```text
|
|
143
|
+
This is what someone would see if you invited them —
|
|
144
|
+
your handoff in /activity, ready to pick up. Run /invite
|
|
145
|
+
anytime to bring someone in.
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
On success say: **"You're in."** Add the launcher alias only if the Runtime
|
|
149
|
+
receipt returns one; do not mutate shell configuration from the skill.
|
|
150
|
+
|
|
151
|
+
## Rules
|
|
152
|
+
|
|
153
|
+
- Joiners never pass through FIRST_HANDOFF and are never prompted to recruit.
|
|
154
|
+
- Creators prove the handoff loop before completion.
|
|
155
|
+
- Local onboarding performs no graph, API, notification, or hosted-service
|
|
156
|
+
work. Connected reconciliation remains behind the identity adapter.
|
|
157
|
+
- Inviting and notifying are separately authorized and separately consented.
|
|
158
|
+
- Never ask more than one progressive profile question in a later session.
|
|
159
|
+
- Raw command JSON is internal; render the user-facing flow above.
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pr
|
|
3
|
+
description: "Use for /pr, or 'create a PR' / 'open a pull request' — creates a pull request for the current branch against the repo's base branch with a formatted title and body. Not for reviewing an existing PR (review-pr)."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Create a pull request for current branch targeting the repo's base branch.
|
|
7
|
+
|
|
8
|
+
## When to invoke
|
|
9
|
+
|
|
10
|
+
User says: "/pr", "create a PR", "open a pull request", "push this up for review", or the current branch is ready to be reviewed against the base branch.
|
|
11
|
+
Not this: reviewing an existing PR → `/review-pr`.
|
|
12
|
+
|
|
13
|
+
## Execution boundary
|
|
14
|
+
|
|
15
|
+
The Git and GitHub mechanics are deterministic and run inline. The main loop
|
|
16
|
+
keeps only the judgment work: summarize the diff, draft the review text, and
|
|
17
|
+
show the exact title/body before the external PR creation.
|
|
18
|
+
|
|
19
|
+
## What to do
|
|
20
|
+
|
|
21
|
+
1. Determine which repo — if the user mentions a managed repo (listed in `egregore.json` → `repos[]`), create the PR there. Otherwise use the hub.
|
|
22
|
+
2. Resolve the target base branch:
|
|
23
|
+
- **Egregore hub repo**: call `_get_base_branch`
|
|
24
|
+
- **Managed repos**: call `_get_base_branch "$REPO"`
|
|
25
|
+
- Both use the validated `base_branch` from `egregore.json`; a valid config
|
|
26
|
+
that omits it defaults to `"develop"`, while resolution errors stop
|
|
27
|
+
before Git changes.
|
|
28
|
+
```bash
|
|
29
|
+
BASE_BRANCH=$(bash -c 'SCRIPT_DIR="$PWD"; CONFIG="$PWD/egregore.json"; . "$PWD/bin/lib/config.sh" && _get_base_branch "$1"' _ "${REPO:-}") ||
|
|
30
|
+
{ echo "Could not resolve the configured base branch; stopping before Git changes." >&2; exit 1; }
|
|
31
|
+
```
|
|
32
|
+
3. Summarize branch changes vs base branch
|
|
33
|
+
4. Draft title and body per `.claude/context/pr-format.md`:
|
|
34
|
+
- Title: `type(scope): imperative summary` (≤ 72 chars) — the same
|
|
35
|
+
grammar as commit subjects (`.claude/context/commit-format.md`).
|
|
36
|
+
A single-commit PR reuses its commit subject verbatim when it
|
|
37
|
+
describes the whole PR.
|
|
38
|
+
- Body: `## What` (1–4 bullets) · `## Why` (1–3 sentences) ·
|
|
39
|
+
`## Verification` (how it was checked — required when the diff touches
|
|
40
|
+
non-markdown files; be honest if unverified) · `## Risk` / `## Links`
|
|
41
|
+
when real · attribution footer of the harness that authored the body
|
|
42
|
+
(final non-blank line, e.g. `🤖 Generated with [Claude Code](https://claude.com/claude-code)`)
|
|
43
|
+
- Show the draft to the user; apply their edits before creating
|
|
44
|
+
5. Create PR via GitHub CLI: `gh pr create --base "$BASE_BRANCH" --title "$TITLE" --body "$BODY"` — never `--fill`, never an empty body (the `pr-format` CI check fails bare PRs)
|
|
45
|
+
6. Track PR in graph (fire-and-forget):
|
|
46
|
+
```bash
|
|
47
|
+
PROJ_HASH=$(echo -n "$(pwd)" | md5 2>/dev/null || echo -n "$(pwd)" | md5sum 2>/dev/null | cut -d' ' -f1)
|
|
48
|
+
SID=$(cat "$HOME/.egregore/session-${PROJ_HASH}.id" 2>/dev/null || echo "")
|
|
49
|
+
GH_USER=$(jq -r '.github_username // empty' .egregore-state.json 2>/dev/null)
|
|
50
|
+
REPO_NAME=$(jq -r '.repo_name // "egregore"' egregore.json 2>/dev/null)
|
|
51
|
+
bash bin/graph-op.sh create-pr "$SID" "$PR_NUMBER" "$REPO_NAME" "$GH_USER" "$PR_TITLE" 2>/dev/null &
|
|
52
|
+
```
|
|
53
|
+
Where `$PR_NUMBER` is extracted from the `gh pr create` output URL.
|
|
54
|
+
7. Return PR URL
|
|
55
|
+
8. Do NOT auto-merge — explicit `/pr` means "please review this"
|
|
56
|
+
|
|
57
|
+
## Example
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
> /pr
|
|
61
|
+
|
|
62
|
+
Creating pull request...
|
|
63
|
+
|
|
64
|
+
Branch: feature/2026-01-20-mcp-authentication
|
|
65
|
+
Base: main
|
|
66
|
+
Commits: 3 commits ahead of main
|
|
67
|
+
Changes: +78 lines, -5 lines, 3 files
|
|
68
|
+
|
|
69
|
+
Title: feat(mcp): add API key authentication
|
|
70
|
+
(from your last commit — edit? y/n)
|
|
71
|
+
> n
|
|
72
|
+
|
|
73
|
+
Description — summarize what this PR does:
|
|
74
|
+
> Adds API key validation to MCP server. Keys are checked against env var. Includes tests.
|
|
75
|
+
|
|
76
|
+
Creating PR via GitHub CLI...
|
|
77
|
+
gh pr create --base main --title "..."
|
|
78
|
+
✓ PR #42 created: https://github.com/{github_org}/myapp/pull/42
|
|
79
|
+
|
|
80
|
+
PR targeting main — ready for review.
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
## Next
|
|
84
|
+
|
|
85
|
+
Share the PR link. Run `/handoff` if ending your session.
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: pull
|
|
3
|
+
description: "Use for /pull when you need to sync the current branch and shared memory. Activity and dashboard are read-only and never sync repositories."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Pull latest for current repo and shared memory.
|
|
7
|
+
|
|
8
|
+
**Note:** `/activity` and `/dashboard` are read-only. Use `/pull` for explicit
|
|
9
|
+
synchronization.
|
|
10
|
+
|
|
11
|
+
## When to invoke
|
|
12
|
+
|
|
13
|
+
User says: "/pull", "pull latest", "sync my branch", "get the latest changes", "update memory", or needs to sync without also viewing activity.
|
|
14
|
+
Not this: only want to see recent activity → `/activity` (read-only).
|
|
15
|
+
|
|
16
|
+
## Execution boundary
|
|
17
|
+
|
|
18
|
+
This is a deterministic sync-transport operation. Run it inline; do not spend
|
|
19
|
+
a Loom/model-routing call or delegate it to another agent.
|
|
20
|
+
|
|
21
|
+
## What to do
|
|
22
|
+
|
|
23
|
+
1. Resolve the validated base branch with `bin/lib/config.sh` → `_get_base_branch`, then sync it with remote
|
|
24
|
+
2. If on a `dev/*` working branch, rebase onto the base branch (fallback: merge)
|
|
25
|
+
3. Check memory symlink exists — if not, derive directory from `egregore.json` and create symlink
|
|
26
|
+
4. Pull memory repo via symlink
|
|
27
|
+
|
|
28
|
+
## Execution
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# 1. Update local base branch ref without switching branches (safe for concurrent sessions)
|
|
32
|
+
# Pass a managed repo name to _get_base_branch when operating on one.
|
|
33
|
+
BASE_BRANCH=$(bash -c 'SCRIPT_DIR="$PWD"; CONFIG="$PWD/egregore.json"; . "$PWD/bin/lib/config.sh" && _get_base_branch "$1"' _ "${REPO:-}") ||
|
|
34
|
+
{ echo "Could not resolve the configured base branch; stopping before Git changes." >&2; exit 1; }
|
|
35
|
+
git fetch origin "$BASE_BRANCH:$BASE_BRANCH" --quiet
|
|
36
|
+
|
|
37
|
+
# 2. If on a working branch, rebase onto the base branch
|
|
38
|
+
CURRENT=$(git branch --show-current)
|
|
39
|
+
if [[ "$CURRENT" == dev/* ]]; then
|
|
40
|
+
git rebase "$BASE_BRANCH" --quiet || (git rebase --abort && git merge "$BASE_BRANCH" -m "Sync with $BASE_BRANCH")
|
|
41
|
+
fi
|
|
42
|
+
|
|
43
|
+
# 3. Memory — derive directory from egregore.json, never hardcode
|
|
44
|
+
MEMORY_DIR=$(basename "$(jq -r '.memory_repo' egregore.json)" .git)
|
|
45
|
+
if [ ! -L memory ]; then
|
|
46
|
+
ln -s "../$MEMORY_DIR" memory
|
|
47
|
+
fi
|
|
48
|
+
|
|
49
|
+
# 4. Pull memory and capture what arrived
|
|
50
|
+
MEMORY_BEFORE=$(git -C memory rev-parse HEAD 2>/dev/null)
|
|
51
|
+
git -C memory pull origin main --quiet
|
|
52
|
+
MEMORY_AFTER=$(git -C memory rev-parse HEAD 2>/dev/null)
|
|
53
|
+
|
|
54
|
+
# 5. Show what arrived in memory (new/changed files since last pull)
|
|
55
|
+
if [ "$MEMORY_BEFORE" != "$MEMORY_AFTER" ]; then
|
|
56
|
+
MEMORY_FILES=$(git -C memory diff --name-only "$MEMORY_BEFORE" "$MEMORY_AFTER")
|
|
57
|
+
MEMORY_COUNT=$(echo "$MEMORY_FILES" | wc -l | tr -d ' ')
|
|
58
|
+
fi
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Output
|
|
62
|
+
|
|
63
|
+
Show what arrived — don't leave the user wondering if things synced:
|
|
64
|
+
|
|
65
|
+
```
|
|
66
|
+
Pulling...
|
|
67
|
+
configured base ↓ 3 commits → synced
|
|
68
|
+
dev/oz/... ✓ rebased onto configured base
|
|
69
|
+
memory ↓ 2 commits — 4 files updated
|
|
70
|
+
handoffs/2026-02/12-renckorzay-giza-docs.md (new)
|
|
71
|
+
handoffs/index.md
|
|
72
|
+
artifacts/giza-architecture.md (new)
|
|
73
|
+
artifacts/giza-api-spec.md (new)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
If memory is already up to date:
|
|
77
|
+
```
|
|
78
|
+
memory ✓ up to date
|
|
79
|
+
```
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: push
|
|
3
|
+
description: "Use for /push, or 'push my branch' — pushes the current branch to origin, setting upstream on first push, before opening a PR with /pr."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Push current branch to remote.
|
|
7
|
+
|
|
8
|
+
## When to invoke
|
|
9
|
+
|
|
10
|
+
User says: "/push", "push my branch", "push this up", "get my branch onto GitHub", or needs the current branch pushed to origin before opening a PR.
|
|
11
|
+
Not this: ready to open the PR itself → `/pr` (run after push).
|
|
12
|
+
|
|
13
|
+
## Execution boundary
|
|
14
|
+
|
|
15
|
+
This is a deterministic Git transport operation. Run it inline; do not spend a
|
|
16
|
+
Loom/model-routing call or delegate it to another agent.
|
|
17
|
+
|
|
18
|
+
## Before anything else
|
|
19
|
+
|
|
20
|
+
Resolve `BASE_BRANCH` through `bin/lib/config.sh` → `_get_base_branch` (pass the managed repo name when applicable). Check `git branch --show-current`. If on a protected branch (`$BASE_BRANCH`, `develop`, `main`, or `master`):
|
|
21
|
+
→ Use the resolved base branch (default `"develop"`)
|
|
22
|
+
→ Create a working branch: `git fetch origin $BASE_BRANCH --quiet && git checkout --no-track -b dev/{author}/{topic-slug} origin/$BASE_BRANCH`
|
|
23
|
+
→ Tell the user: "Creating a working branch for this..." — never mention git commands to the user.
|
|
24
|
+
→ Then proceed with the push.
|
|
25
|
+
|
|
26
|
+
## What to do
|
|
27
|
+
|
|
28
|
+
1. Push current branch to origin
|
|
29
|
+
2. Set upstream if first push
|
|
30
|
+
|
|
31
|
+
## Example
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
> /push
|
|
35
|
+
|
|
36
|
+
Pushing feature/2026-01-20-mcp-authentication...
|
|
37
|
+
|
|
38
|
+
git push -u origin feature/2026-01-20-mcp-authentication
|
|
39
|
+
✓ Pushed
|
|
40
|
+
|
|
41
|
+
Branch is now on GitHub.
|
|
42
|
+
Run /pr when ready for review.
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Next
|
|
46
|
+
|
|
47
|
+
Run `/pr` when ready for review.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: quest
|
|
3
|
+
description: "Manage shared open-ended quests through one canonical Markdown lifecycle. Use for /quest, listing or opening quests, starting an exploration, contributing, prioritizing, pausing, or completing a quest."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Quest
|
|
7
|
+
|
|
8
|
+
Manage collaborative explorations without making a graph or harness prompt an
|
|
9
|
+
authority.
|
|
10
|
+
|
|
11
|
+
## When to invoke
|
|
12
|
+
|
|
13
|
+
Manage shared open-ended quests through one canonical Markdown lifecycle. Use for /quest, listing or opening quests, starting an exploration, contributing, prioritizing, pausing, or completing a quest.
|
|
14
|
+
|
|
15
|
+
## Runtime contract
|
|
16
|
+
|
|
17
|
+
- `memory/quests/<slug>.md` is canonical in Local and Connected modes.
|
|
18
|
+
- Resolve identity and permissions through `ActorContext` before reading or
|
|
19
|
+
changing quest state.
|
|
20
|
+
- `bin/quest.sh` is the only lifecycle adapter. It authorizes, validates,
|
|
21
|
+
writes canonical Markdown, records Git provenance, refreshes retrieval,
|
|
22
|
+
schedules changed-hash embedding, emits content-free telemetry, and may
|
|
23
|
+
update an optional graph projection downstream.
|
|
24
|
+
- A projection failure never rolls back or overrides canonical Markdown/Git.
|
|
25
|
+
- `memory/quests/index.md`, dashboards, and graph records are rebuildable
|
|
26
|
+
views, not state the ritual edits.
|
|
27
|
+
|
|
28
|
+
Arguments: `$ARGUMENTS`.
|
|
29
|
+
|
|
30
|
+
## Routes
|
|
31
|
+
|
|
32
|
+
| Input | Runtime action |
|
|
33
|
+
|---|---|
|
|
34
|
+
| empty | `bash bin/quest.sh list` |
|
|
35
|
+
| `all` | `bash bin/quest.sh list --all` |
|
|
36
|
+
| `<name>` | resolve one listed slug, then `bash bin/quest.sh show <slug>` |
|
|
37
|
+
| `new` | collect the minimum fields, then one `new` call |
|
|
38
|
+
| `contribute <name>` | resolve the slug and record one contribution |
|
|
39
|
+
| `prioritize <name> <level>` | set `none`, `low`, `medium`, or `high` |
|
|
40
|
+
| `pause <name>` | explicitly pause one active quest |
|
|
41
|
+
| `complete <name>` | require an outcome, then complete one active quest |
|
|
42
|
+
|
|
43
|
+
Suppress raw JSON. Render only the fields returned by the adapter.
|
|
44
|
+
|
|
45
|
+
## List and show
|
|
46
|
+
|
|
47
|
+
Run one list call and use that snapshot for display and name resolution. Show
|
|
48
|
+
active quests first, ordered by priority and recency; show paused separately.
|
|
49
|
+
Include title, slug, projects, priority, starter, and canonical path. For a
|
|
50
|
+
detail request, call `show` once after resolution and render its question,
|
|
51
|
+
threads, contributions, artifacts, entry points, and outcome from the returned
|
|
52
|
+
canonical body.
|
|
53
|
+
|
|
54
|
+
Do not run a graph query to enrich the view. Linked todos and relationships may
|
|
55
|
+
appear only when a future Runtime read model returns them with freshness and
|
|
56
|
+
provenance.
|
|
57
|
+
|
|
58
|
+
## Create
|
|
59
|
+
|
|
60
|
+
Collect:
|
|
61
|
+
|
|
62
|
+
1. title
|
|
63
|
+
2. the open question or goal
|
|
64
|
+
3. optional slug, projects, and initial threads
|
|
65
|
+
|
|
66
|
+
Then make one call:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
bash bin/quest.sh new \
|
|
70
|
+
--title "<title>" \
|
|
71
|
+
--question "<question>" \
|
|
72
|
+
[--slug "<slug>"] \
|
|
73
|
+
[--project "<project>"]... \
|
|
74
|
+
[--thread "<thread>"]...
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Confirm the stable quest id, canonical path, and writeback status. Do not run a
|
|
78
|
+
second Git, index, graph, save, or publish action.
|
|
79
|
+
|
|
80
|
+
## Update
|
|
81
|
+
|
|
82
|
+
Resolve a user-supplied name against one list snapshot. If ambiguous, show the
|
|
83
|
+
bounded choices. Then mutate by stable slug:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
bash bin/quest.sh contribute "<slug>" "<contribution>"
|
|
87
|
+
bash bin/quest.sh prioritize "<slug>" "<none|low|medium|high>"
|
|
88
|
+
bash bin/quest.sh pause "<slug>"
|
|
89
|
+
bash bin/quest.sh complete "<slug>" --outcome "<outcome>"
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Only an active quest accepts contributions, pause, or completion. Completion
|
|
93
|
+
requires an explicit outcome. Never infer completion from inactivity, age,
|
|
94
|
+
closed todos, or graph state.
|
|
95
|
+
|
|
96
|
+
## Failure behavior
|
|
97
|
+
|
|
98
|
+
- Authorization denial: return no quest content and perform no write.
|
|
99
|
+
- Writeback partial: canonical Markdown/Git wins; surface projection,
|
|
100
|
+
retrieval, or telemetry warnings without retrying the entire write.
|
|
101
|
+
- Concurrent edit: stop on the Runtime conflict, re-list, then retry only with
|
|
102
|
+
current user intent.
|
|
103
|
+
- Graph/control-plane unavailable: quest lifecycle remains functional.
|
|
104
|
+
|
|
105
|
+
## Rules
|
|
106
|
+
|
|
107
|
+
- Markdown/Git is authoritative in every mode.
|
|
108
|
+
- One list snapshot per route; one canonical write per transition.
|
|
109
|
+
- Never edit quest files or their index directly.
|
|
110
|
+
- Never call Git, QMD, Neo4j, Supabase, or notification APIs from this skill.
|
|
111
|
+
- Quest participation is not notification consent. Any later notification is
|
|
112
|
+
a separate exact recipient/message approval after canonical writeback.
|
|
113
|
+
- Do not include titles, questions, contributions, outcomes, or paths in
|
|
114
|
+
telemetry.
|
|
115
|
+
|
|
116
|
+
Emit content-free command telemetry only if Runtime writeback did not already
|
|
117
|
+
record the operation:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
bash bin/telemetry.sh emit "command" '{"command":"quest","subcommand":"<route>"}' 2>/dev/null &
|
|
121
|
+
```
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: reflect
|
|
3
|
+
description: "Use when the user says 'we decided', 'I realized', or 'that's a pattern' — captures a share-ready decision, finding, or pattern in canonical organizational memory. Use /note for private or half-baked thoughts and /archive for reusable AI-steering techniques."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Reflect
|
|
7
|
+
|
|
8
|
+
Turn a settled insight into one to three typed, share-ready knowledge artifacts.
|
|
9
|
+
|
|
10
|
+
## When to invoke
|
|
11
|
+
|
|
12
|
+
Use when the user says 'we decided', 'I realized', or 'that's a pattern' — captures a share-ready decision, finding, or pattern in canonical organizational memory. Use /note for private or half-baked thoughts and /archive for reusable AI-steering techniques.
|
|
13
|
+
|
|
14
|
+
## Modes
|
|
15
|
+
|
|
16
|
+
- No arguments: use a short Socratic flow grounded in this session.
|
|
17
|
+
- `about <topic>`: focus the flow on that topic.
|
|
18
|
+
- `[decision|finding|pattern]: <content>`: honor the explicit type.
|
|
19
|
+
- Other arguments: quick capture; infer the type, defaulting to `finding`.
|
|
20
|
+
|
|
21
|
+
## Context
|
|
22
|
+
|
|
23
|
+
Reuse attached `EGREGORE_ORG_CONTEXT_V1` evidence. When it is sufficient, do
|
|
24
|
+
not search or reopen sources. If a named gap remains, make one
|
|
25
|
+
`bash bin/search.sh query "<concept>" -n 6` call and open only the missing
|
|
26
|
+
canonical source through `bash bin/search.sh open`. Never query implementation
|
|
27
|
+
infrastructure or storage directly.
|
|
28
|
+
|
|
29
|
+
## Flow
|
|
30
|
+
|
|
31
|
+
1. Extract the title, exact insight, context, rationale, two to four topics,
|
|
32
|
+
workstream, explicit relationships, and superseded artifact IDs when known.
|
|
33
|
+
2. Classify each distinct insight as `decision`, `finding`, or `pattern`.
|
|
34
|
+
Create at most three. Do not infer supersession or authority from recency.
|
|
35
|
+
3. Use already-returned evidence for dedupe. If a likely duplicate exists,
|
|
36
|
+
open it through the Runtime boundary and ask whether to supersede it or
|
|
37
|
+
create a distinct artifact.
|
|
38
|
+
4. Preview the proposed artifacts and wait for `y`, edits, or `skip`. Nothing
|
|
39
|
+
is canonical before this acceptance.
|
|
40
|
+
5. For each accepted artifact, render its complete Markdown body to a temporary
|
|
41
|
+
file and call exactly one domain command:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
bash bin/knowledge.sh create \
|
|
45
|
+
--type "{decision|finding|pattern}" \
|
|
46
|
+
--title "{title}" \
|
|
47
|
+
--input "$TMP_ARTIFACT" \
|
|
48
|
+
--topic "{topic}" \
|
|
49
|
+
--workstream "{workstream}"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Add repeated `--topic`, `--relationship "RELATION:TARGET"`, or
|
|
53
|
+
`--supersedes "ARTIFACT_ID"` arguments only when explicit. The Runtime resolves
|
|
54
|
+
ActorContext, authorizes, assigns stable identity/provenance, persists canonical
|
|
55
|
+
Markdown, records Git provenance, refreshes retrieval, starts background
|
|
56
|
+
embedding, and emits content-free telemetry. Treat `partial` projection
|
|
57
|
+
warnings honestly; the canonical artifact remains authoritative.
|
|
58
|
+
|
|
59
|
+
## Boundaries
|
|
60
|
+
|
|
61
|
+
- Reflection is share-ready organizational knowledge, not a private note.
|
|
62
|
+
- Do not run `/save`, Git, index, embedding, graph, telemetry, publish, share,
|
|
63
|
+
or notification mechanics separately.
|
|
64
|
+
- A graph is an optional downstream projection and cannot override Markdown.
|
|
65
|
+
- Publishing, external sharing, and notification each require their own action
|
|
66
|
+
permission and explicit consent; reflection never implies them.
|
|
67
|
+
|
|
68
|
+
Report the artifact type, title, canonical path, and writeback status. Keep the
|
|
69
|
+
existing compact `◎ REFLECTION` confirmation style when rendering rich output.
|