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,125 @@
|
|
|
1
|
+
# User-interview analysis contract
|
|
2
|
+
|
|
3
|
+
## Analysis topology
|
|
4
|
+
|
|
5
|
+
Start with a compact scaffold of evidence-bearing moments:
|
|
6
|
+
|
|
7
|
+
- friction;
|
|
8
|
+
- aha;
|
|
9
|
+
- feature gap;
|
|
10
|
+
- mental-model mismatch;
|
|
11
|
+
- feature discovery;
|
|
12
|
+
- suggestion;
|
|
13
|
+
- unresolved reference.
|
|
14
|
+
|
|
15
|
+
For short interviews, analyze inline. For long or complex interviews, three
|
|
16
|
+
parallel lenses may help:
|
|
17
|
+
|
|
18
|
+
1. Journey: tasks, stages, critical path, friction, aha moments, stuck points,
|
|
19
|
+
completion, abandonment, and drop-off risk.
|
|
20
|
+
2. Sentiment: emotional arc, engagement, confusion, delight, frustration,
|
|
21
|
+
hesitation, confidence, energy, and what went unsaid. Read this lens fresh,
|
|
22
|
+
without letting the scaffold predetermine it.
|
|
23
|
+
3. Product: feature discovery, mental models, unmet needs, workarounds,
|
|
24
|
+
comparisons, suggestions, feasibility, priority, and relevant quests.
|
|
25
|
+
|
|
26
|
+
Synthesize rather than concatenate. Treat disagreements between lenses as
|
|
27
|
+
signal: completion plus frustration, abandonment plus curiosity, discovery
|
|
28
|
+
plus a missed step, delight plus mental-model mismatch, or blocker severity
|
|
29
|
+
plus only mild emotion.
|
|
30
|
+
|
|
31
|
+
## Briefing
|
|
32
|
+
|
|
33
|
+
Write `# Interview Analysis: {participant} — {type} Interview` with date,
|
|
34
|
+
participant, researcher, source, emotional arc, and engagement. Include:
|
|
35
|
+
|
|
36
|
+
- opinionated meta-analysis: heart, journey reality versus intended design,
|
|
37
|
+
emotional read, and specific product implications;
|
|
38
|
+
- journey map, critical path, and drop-off risks;
|
|
39
|
+
- friction and aha moments;
|
|
40
|
+
- feature discovery and mental-model mismatches;
|
|
41
|
+
- unmet needs and suggestions;
|
|
42
|
+
- internal analytical tensions;
|
|
43
|
+
- extracted insights with confidence/priority/quest links;
|
|
44
|
+
- open questions and a concise participant journey note.
|
|
45
|
+
|
|
46
|
+
Do not generalize one participant into all users. Prefer “this participant
|
|
47
|
+
experienced X.” Every durable insight needs source evidence; excerpts are at
|
|
48
|
+
most 120 characters.
|
|
49
|
+
|
|
50
|
+
## Insight mapping
|
|
51
|
+
|
|
52
|
+
- friction, aha, feature gap, feature discovery, suggestion -> `finding`
|
|
53
|
+
- mental model or cross-participant recurrence -> `pattern`
|
|
54
|
+
- an explicit accepted product choice -> `decision`
|
|
55
|
+
|
|
56
|
+
Preserve category, confidence, severity, emotional context, journey stage,
|
|
57
|
+
priority, speaker, topics, quest relationships, and whether cross-participant
|
|
58
|
+
evidence exists in `metadata` and the Markdown body. Researcher commitments
|
|
59
|
+
remain actions, not knowledge artifacts.
|
|
60
|
+
|
|
61
|
+
## Proposal
|
|
62
|
+
|
|
63
|
+
Show the emotional arc, engagement, 2-3 sentence reading, proposed insights
|
|
64
|
+
with evidence and confidence, tensions, and actions. Ask `Save`, `Edit`, or
|
|
65
|
+
`Skip`. Only `Save` authorizes canonical writeback; publication and
|
|
66
|
+
notification require later, separate approvals.
|
|
67
|
+
|
|
68
|
+
## Runtime package
|
|
69
|
+
|
|
70
|
+
Create one temporary JSON package:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"schema_version": "egregore-research-ingest/v1",
|
|
75
|
+
"kind": "interview",
|
|
76
|
+
"source": {
|
|
77
|
+
"type": "granola|file|paste",
|
|
78
|
+
"id": "stable source identity",
|
|
79
|
+
"revision": "source revision or content hash",
|
|
80
|
+
"content_hash": "required SHA-256 of the acquired source"
|
|
81
|
+
},
|
|
82
|
+
"documents": [
|
|
83
|
+
{
|
|
84
|
+
"artifact_type": "interview",
|
|
85
|
+
"title": "Interview: Sarah — onboarding",
|
|
86
|
+
"canonical_path": "research/interviews/2026-08-27-sarah.md",
|
|
87
|
+
"body_path": "/temporary/egregore-interview-briefing.md",
|
|
88
|
+
"metadata": {
|
|
89
|
+
"participant": "Sarah",
|
|
90
|
+
"researcher": "oz",
|
|
91
|
+
"interview_type": "onboarding",
|
|
92
|
+
"engagement": "high"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"artifact_type": "participant",
|
|
97
|
+
"title": "Sarah",
|
|
98
|
+
"canonical_path": "research/participants/sarah.md",
|
|
99
|
+
"body_path": "/temporary/egregore-interview-participant.md"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
"artifact_type": "finding",
|
|
103
|
+
"title": "Setup concealed the API-key step",
|
|
104
|
+
"canonical_path": "knowledge/findings/2026-08-27-api-key-step.md",
|
|
105
|
+
"body_path": "/temporary/egregore-interview-finding.md",
|
|
106
|
+
"metadata": {
|
|
107
|
+
"category": "friction",
|
|
108
|
+
"confidence": 0.9,
|
|
109
|
+
"priority": "p0_blocker",
|
|
110
|
+
"severity": "blocker",
|
|
111
|
+
"speaker": "participant"
|
|
112
|
+
},
|
|
113
|
+
"relationships": [
|
|
114
|
+
{"relation": "from_interview", "target_id": "artifact id of briefing"}
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
]
|
|
118
|
+
}
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
Body paths point to temporary analysis output, never directly to canonical
|
|
122
|
+
memory. The package may contain at most 40 Markdown documents. Runtime
|
|
123
|
+
authorizes all artifact identities before reading bodies, validates allowed research paths,
|
|
124
|
+
writes the package in one Git provenance commit, refreshes the derived index
|
|
125
|
+
once, starts one changed-hash embedding job, and emits content-free telemetry.
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: invite
|
|
3
|
+
description: "Invite someone to this Egregore — repository access plus a setup link when Connected. Use for /invite <username>, 'invite <username>', or 'add <username> to the org'; not member removal."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Egregore invite
|
|
7
|
+
|
|
8
|
+
Invite one future organization member through the Egregore Runtime. The
|
|
9
|
+
GitHub username is a linked-provider alias used by today's access transport;
|
|
10
|
+
it is not an Egregore account, actor, or membership identifier.
|
|
11
|
+
|
|
12
|
+
## When to invoke
|
|
13
|
+
|
|
14
|
+
Invite someone to this Egregore — repository access plus a setup link when Connected. Use for /invite <username>, 'invite <username>', or 'add <username> to the org'; not member removal.
|
|
15
|
+
|
|
16
|
+
## Input
|
|
17
|
+
|
|
18
|
+
Require one GitHub username. If it is missing, show and stop:
|
|
19
|
+
|
|
20
|
+
```text
|
|
21
|
+
Usage: /invite <github-username>
|
|
22
|
+
|
|
23
|
+
Example: /invite newuser
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
## Execute
|
|
27
|
+
|
|
28
|
+
Run exactly one invitation transaction and capture its JSON receipt:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
INVITE_JSON=$(bash bin/invite.sh "$ARGUMENTS")
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The adapter resolves `ActorContext`, keeps `AccountIdentity`, `ActorIdentity`,
|
|
35
|
+
and `OrgMembership` separate, authorizes `ADMINISTER` before external effects,
|
|
36
|
+
and selects the current GitHub or Connected control-plane transport. It owns
|
|
37
|
+
credentials, repository grants, the provisional canonical invitation record,
|
|
38
|
+
path-scoped Git provenance, and sanitized error mapping. Do not call GitHub,
|
|
39
|
+
the Egregore API, graph, storage providers, or Git directly.
|
|
40
|
+
|
|
41
|
+
Connected service permission denials are authoritative. Explain that an
|
|
42
|
+
organization admin must invite the person and show `manual_access_url` when
|
|
43
|
+
the receipt contains one. Never infer permission from a GitHub username.
|
|
44
|
+
|
|
45
|
+
## Render
|
|
46
|
+
|
|
47
|
+
For an accepted Connected invite with `invite_url`:
|
|
48
|
+
|
|
49
|
+
```text
|
|
50
|
+
Inviting {provider_username} to {org_name}...
|
|
51
|
+
|
|
52
|
+
Repository access: {provider_status}
|
|
53
|
+
Memory access: {memory_status}
|
|
54
|
+
Invite link: created
|
|
55
|
+
|
|
56
|
+
Share this link with {provider_username}:
|
|
57
|
+
|
|
58
|
+
{invite_url}
|
|
59
|
+
|
|
60
|
+
They'll authenticate, accept the access invitation, and receive
|
|
61
|
+
the install command.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
For an accepted Local invite:
|
|
65
|
+
|
|
66
|
+
```text
|
|
67
|
+
Invited {provider_username} to {org_name}.
|
|
68
|
+
|
|
69
|
+
Repository access: {provider_status}
|
|
70
|
+
Memory record: {memory_status}
|
|
71
|
+
|
|
72
|
+
Tell them to run:
|
|
73
|
+
|
|
74
|
+
{join_command}
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Append the returned group link when present. Render warnings truthfully and
|
|
78
|
+
use the returned manual access URL for failed repository grants. Never show
|
|
79
|
+
raw JSON, tokens, request bodies, or internal identity IDs.
|
|
80
|
+
|
|
81
|
+
## Optional direct notification — separate consent
|
|
82
|
+
|
|
83
|
+
The invite action never authorizes a message. Only when a direct destination
|
|
84
|
+
exists and the user wants Egregore to deliver the link, create a fresh
|
|
85
|
+
actor-bound notification plan for this exact message:
|
|
86
|
+
|
|
87
|
+
```text
|
|
88
|
+
You've been invited to {org_name} on Egregore! Join here: {invite_url-or-command}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Write it to a mode-0600 temporary file, then run:
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
PLAN_JSON=$(bash bin/notification.sh plan --kind send \
|
|
95
|
+
--recipient "$ARGUMENTS" --message-file "$MESSAGE_FILE")
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Show the exact organization, recipient, every channel, and message in a
|
|
99
|
+
dedicated **Send / Edit / Cancel** checkpoint. Dispatch only after fresh exact
|
|
100
|
+
approval using the notification Runtime's approve/dispatch commands. Never
|
|
101
|
+
fall back from direct delivery to a group, reuse old approval, retry from a
|
|
102
|
+
detached task, or treat sharing the invite link as notification consent.
|
|
103
|
+
|
|
104
|
+
## Rules
|
|
105
|
+
|
|
106
|
+
- Local works without graph or Connected infrastructure.
|
|
107
|
+
- Connected preserves the existing seven-day setup-link behavior.
|
|
108
|
+
- An invite is provisional authority to create a future membership. Do not
|
|
109
|
+
mint an AccountIdentity, ActorIdentity, or OrgMembership for the invitee.
|
|
110
|
+
- Existing onboarded profiles are never overwritten by an invitation stub.
|
|
111
|
+
- Notification consent and membership-invite authorization are separate.
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: issue
|
|
3
|
+
description: "Report and manage organizational issues through Egregore Runtime. Use for 'this is broken', 'bug in', 'file an issue', 'report a problem', issue listing/search, or closing an issue; do not use for a personal todo or collaborative quest."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Issue
|
|
7
|
+
|
|
8
|
+
Use the Runtime adapter for internal issue state. Canonical Markdown and Git
|
|
9
|
+
are authoritative in Local and Connected modes; graph, GitHub, and notification
|
|
10
|
+
systems are optional consumers.
|
|
11
|
+
|
|
12
|
+
## When to invoke
|
|
13
|
+
|
|
14
|
+
Report and manage organizational issues through Egregore Runtime. Use for 'this is broken', 'bug in', 'file an issue', 'report a problem', issue listing/search, or closing an issue; do not use for a personal todo or collaborative quest.
|
|
15
|
+
|
|
16
|
+
## Route
|
|
17
|
+
|
|
18
|
+
- Empty or `list` → `bash bin/issue.sh list`
|
|
19
|
+
- `list open|closed|all` → `bash bin/issue.sh list --status <status>`
|
|
20
|
+
- `show <id-or-title>` → `bash bin/issue.sh show "<reference>"`
|
|
21
|
+
- `search <term>` → `bash bin/issue.sh search "<term>"`
|
|
22
|
+
- `close <id-or-title>` → `bash bin/issue.sh close "<reference>"`
|
|
23
|
+
- Anything else → create mode
|
|
24
|
+
|
|
25
|
+
Render returned JSON as the established 72-column issue card. Never expose raw
|
|
26
|
+
JSON. Preserve stable `artifact_id` and `canonical_path` in detail views.
|
|
27
|
+
|
|
28
|
+
## Retrieval and speed
|
|
29
|
+
|
|
30
|
+
Reuse `EGREGORE_ORG_CONTEXT_V1` when it already contains sufficient issue
|
|
31
|
+
evidence. Do not issue a second organizational query. The adapter resolves
|
|
32
|
+
list/show/search/close from one authorized canonical snapshot. If explicit
|
|
33
|
+
additional recall is necessary, use the search skill once, then open the
|
|
34
|
+
selected canonical source through the Runtime boundary.
|
|
35
|
+
|
|
36
|
+
## Create
|
|
37
|
+
|
|
38
|
+
Derive a concise title and keep the user's wording as the description. Ask only
|
|
39
|
+
for information required to avoid a materially wrong record. Then call once:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
bash bin/issue.sh create \
|
|
43
|
+
--title "$TITLE" \
|
|
44
|
+
--description "$DESCRIPTION" \
|
|
45
|
+
--recipient "$RECIPIENT" \
|
|
46
|
+
--topic "$TOPIC"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Add `--context` or `--suggested-fix` only when supplied or already known. The
|
|
50
|
+
adapter resolves ActorContext, authorizes WRITE, creates typed provenance, and
|
|
51
|
+
runs one CanonicalArtifactWriteback transaction:
|
|
52
|
+
|
|
53
|
+
`authorize → validate → Markdown → Git provenance → derived-index refresh → telemetry`
|
|
54
|
+
|
|
55
|
+
Do not write issue Markdown, run Git, update retrieval indexes, or project graph state here.
|
|
56
|
+
Do not auto-save again after an accepted or partial writeback receipt.
|
|
57
|
+
|
|
58
|
+
## Close
|
|
59
|
+
|
|
60
|
+
Resolve the canonical issue first. If multiple references match, show a compact
|
|
61
|
+
picker and wait. Close only after a direct user request; age never closes an
|
|
62
|
+
issue. `bin/issue.sh close` updates the same stable artifact through one
|
|
63
|
+
authorized writeback. It does not close a linked GitHub issue automatically.
|
|
64
|
+
|
|
65
|
+
## GitHub publication
|
|
66
|
+
|
|
67
|
+
Creating or closing a GitHub issue is a separate SHARE action, never implied by
|
|
68
|
+
internal creation/closure. Prepare the exact immutable preview:
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
bash bin/issue.sh share-preview "$ISSUE" --action create --repo owner/name
|
|
72
|
+
# linked issue only:
|
|
73
|
+
bash bin/issue.sh share-preview "$ISSUE" --action close
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
Show destination, exact title, and exact body/action. Ask Send / Edit / Cancel
|
|
77
|
+
and stop. Only after Send for that exact preview:
|
|
78
|
+
|
|
79
|
+
```bash
|
|
80
|
+
bash bin/issue.sh share-github --confirm "$CONFIRMATION_TOKEN"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
The token is short-lived and bound to the unchanged canonical issue and exact
|
|
84
|
+
destination. Never call `gh issue` directly. A successful create records the
|
|
85
|
+
returned GitHub URL through a separate canonical provenance writeback.
|
|
86
|
+
|
|
87
|
+
## Notifications
|
|
88
|
+
|
|
89
|
+
Issue creation/publication is not notification consent. If the user separately
|
|
90
|
+
asks to notify someone, follow `.claude/context/notification-consent.md`: plan
|
|
91
|
+
through `bin/notify.sh`, show organization, exact recipient/channels/message,
|
|
92
|
+
then obtain one exact Send / Edit / Cancel decision. Never notify automatically
|
|
93
|
+
and never treat GitHub approval as notification approval.
|
|
94
|
+
|
|
95
|
+
## Invariants
|
|
96
|
+
|
|
97
|
+
- Authorize discover/read before issue content is loaded; authorize write/share
|
|
98
|
+
separately before those actions.
|
|
99
|
+
- ActorIdentity, organization identity, artifact identity, and Git provenance
|
|
100
|
+
remain stable across providers and harnesses.
|
|
101
|
+
- Graph state never overrides or blocks canonical issue behavior.
|
|
102
|
+
- GitHub and notifications are never part of the canonical write transaction.
|
|
103
|
+
- Do not include transcripts or sensitive content in external previews unless
|
|
104
|
+
the user explicitly selected and reviewed that exact content.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: me
|
|
3
|
+
description: "View or change the current member's Egregore profile across Claude Code, Codex, Pi, and Prime. Use for /me, 'who am I', 'call me <name>', or an explicit self email update."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Egregore identity
|
|
7
|
+
|
|
8
|
+
Use the Runtime identity adapter. Account identity, actor identity,
|
|
9
|
+
organization membership, and provider aliases are separate concepts:
|
|
10
|
+
|
|
11
|
+
- `AccountIdentity` is the provider-independent authenticated account.
|
|
12
|
+
- `ActorIdentity` is the person, agent, or service acting in this session.
|
|
13
|
+
- `OrgMembership` supplies organization, role, and team context.
|
|
14
|
+
- GitHub is an optional linked provider and current transport alias. Its login
|
|
15
|
+
or numeric ID is never the Egregore account or actor identity.
|
|
16
|
+
|
|
17
|
+
External people discovered during ingestion remain source-scoped identities;
|
|
18
|
+
this workflow never promotes them into organizational members.
|
|
19
|
+
|
|
20
|
+
## When to invoke
|
|
21
|
+
|
|
22
|
+
View or change the current member's Egregore profile across Claude Code, Codex, Pi, and Prime. Use for /me, 'who am I', 'call me <name>', or an explicit self email update.
|
|
23
|
+
|
|
24
|
+
## Show
|
|
25
|
+
|
|
26
|
+
Run once:
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
bash bin/person.sh show
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The adapter resolves `ActorContext` and authorizes `read` on the current
|
|
33
|
+
identity before returning anything. Display the preferred name, linked
|
|
34
|
+
provider alias, explicitly supplied email, and aliases. Do not expose internal
|
|
35
|
+
IDs unless the user requests diagnostics.
|
|
36
|
+
|
|
37
|
+
## Change preferred name
|
|
38
|
+
|
|
39
|
+
For an explicit self-update:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
bash bin/person.sh set-name "$ARGUMENTS"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
The identity adapter validates the value, preserves previous names as aliases,
|
|
46
|
+
authorizes `administer` on the current identity, and reconciles the same stable
|
|
47
|
+
account/actor/membership records. Report the returned status without exposing
|
|
48
|
+
raw JSON.
|
|
49
|
+
|
|
50
|
+
## Change email
|
|
51
|
+
|
|
52
|
+
Only when the authenticated user explicitly supplies their own address:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
bash bin/person.sh set-email "person@example.com"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Never infer an email from Git configuration or unrelated source content.
|
|
59
|
+
|
|
60
|
+
## Reconcile
|
|
61
|
+
|
|
62
|
+
Use this only for onboarding, a linked-provider rename, or an identity repair:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
bash bin/person.sh sync
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
The adapter owns Local/Connected reconciliation and optional derived
|
|
69
|
+
projections. Do not call storage providers or edit identity files directly.
|
|
70
|
+
A partial result means canonical Local identity is retained and the named
|
|
71
|
+
external reconciliation can be retried.
|
|
72
|
+
|
|
73
|
+
## Rules
|
|
74
|
+
|
|
75
|
+
- Preferred name is organization-scoped; stable account and actor IDs survive
|
|
76
|
+
provider changes.
|
|
77
|
+
- Authentication never grants membership, retrieval scope, or action
|
|
78
|
+
permission by itself.
|
|
79
|
+
- Do not hand-edit `.egregore-state.json`, people profiles, membership state,
|
|
80
|
+
or projections.
|
|
81
|
+
- Emit only content-free command telemetry.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: meeting
|
|
3
|
+
description: "Analyze a Granola meeting into an evidence-backed briefing, decisions, findings, patterns, actions, and continuity. Use for /meeting, /meeting sync, /meeting backfill, or requests to process a meeting."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Meeting
|
|
7
|
+
|
|
8
|
+
Acquire meeting material, adapt the analysis to the user's intent, preview the
|
|
9
|
+
result, then persist one approved typed package through Egregore Runtime.
|
|
10
|
+
|
|
11
|
+
Read [references/analysis-contract.md](references/analysis-contract.md) before
|
|
12
|
+
analysis or package construction.
|
|
13
|
+
|
|
14
|
+
## When to invoke
|
|
15
|
+
|
|
16
|
+
Analyze a Granola meeting into an evidence-backed briefing, decisions, findings, patterns, actions, and continuity. Use for /meeting, /meeting sync, /meeting backfill, or requests to process a meeting.
|
|
17
|
+
|
|
18
|
+
## Source
|
|
19
|
+
|
|
20
|
+
Use the configured Granola connector to list/search meetings and fetch the
|
|
21
|
+
selected transcript plus title, date, attendees, source ID, and source
|
|
22
|
+
revision. Do not copy connector credentials or raw transcripts into canonical
|
|
23
|
+
memory.
|
|
24
|
+
|
|
25
|
+
- `/meeting`: list recent candidates and let the user choose.
|
|
26
|
+
- `/meeting <search>`: select an exact result or ask when ambiguous.
|
|
27
|
+
- `/meeting sync`: process selected new candidates with balanced defaults.
|
|
28
|
+
- `/meeting backfill`: re-analyze selected canonical meeting sources; never
|
|
29
|
+
overwrite newer claims without explicit supersession.
|
|
30
|
+
|
|
31
|
+
If Granola is unavailable, explain the connection issue and stop. Connector
|
|
32
|
+
access is source acquisition, not organizational authorization or canonical
|
|
33
|
+
writeback.
|
|
34
|
+
|
|
35
|
+
## Context and intent
|
|
36
|
+
|
|
37
|
+
Reuse sufficient `EGREGORE_ORG_CONTEXT_V1`. Open already-selected canonical
|
|
38
|
+
evidence through the Runtime source-open boundary when exact verification is
|
|
39
|
+
needed. Do not repeat Observe/search merely because this skill loaded.
|
|
40
|
+
|
|
41
|
+
If compiled context is insufficient and continuity materially matters, make at
|
|
42
|
+
most one Egregore retrieval call, then open only relevant canonical sources.
|
|
43
|
+
Never query graph/QMD directly. Canonical Markdown/Git wins on disagreement.
|
|
44
|
+
|
|
45
|
+
For one interactive meeting, ask briefly what matters and whether the user
|
|
46
|
+
wants quick extraction or deeper dynamics/continuity. Skip questions when the
|
|
47
|
+
request already specifies intent, and in sync/backfill mode.
|
|
48
|
+
|
|
49
|
+
## Analyze and approve
|
|
50
|
+
|
|
51
|
+
Choose only useful lenses from the reference. Inline analysis is the fast
|
|
52
|
+
default; parallel analysts are optional for long or complex transcripts.
|
|
53
|
+
Actions remain separate from durable decisions/findings/patterns.
|
|
54
|
+
|
|
55
|
+
Show a concise preview with the heart of the meeting, evidence, confidence,
|
|
56
|
+
relationships, tensions, and actions. Ask `Save`, `Edit`, or `Skip`. Do not
|
|
57
|
+
write before `Save`.
|
|
58
|
+
|
|
59
|
+
## Canonical writeback
|
|
60
|
+
|
|
61
|
+
Build one temporary `egregore-research-ingest/v1` package from the approved
|
|
62
|
+
briefing and extracted artifacts, then make exactly one deterministic call:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
bash bin/research-ingest.sh meeting --input "$PACKAGE_JSON"
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Runtime owns authorization, schema/path validation, stable identity,
|
|
69
|
+
provenance, canonical Markdown, Git provenance, derived-index refresh,
|
|
70
|
+
background embedding, and telemetry. Do not separately write files, mutate a
|
|
71
|
+
processed-meetings cache, run `/save`, or manage graph projection.
|
|
72
|
+
|
|
73
|
+
Report accepted/partial/rejected status and canonical paths from the receipt.
|
|
74
|
+
Graph projection, publication, and notifications are optional later effects.
|
|
75
|
+
Each requires its own capability/permission boundary; publication and every
|
|
76
|
+
notification also require a separate exact user approval.
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Meeting analysis contract
|
|
2
|
+
|
|
3
|
+
Use only the lenses that serve the user's stated intent and the material.
|
|
4
|
+
|
|
5
|
+
## Lenses
|
|
6
|
+
|
|
7
|
+
- Substance: decisions, findings, patterns, actions, dependencies, evidence,
|
|
8
|
+
tradeoffs, confidence, and open questions.
|
|
9
|
+
- Dynamics: tone arc, conviction, alignment, divergence, and energy shifts.
|
|
10
|
+
- Continuity: what changed, repeated, resolved, superseded, or disappeared.
|
|
11
|
+
- Criticality: unnamed risks and gaps between stated confidence, behavior, and
|
|
12
|
+
organizational reality.
|
|
13
|
+
|
|
14
|
+
Do not manufacture depth for a short operational meeting. Inline analysis is
|
|
15
|
+
the fast default. Use parallel analysts only for long or genuinely complex
|
|
16
|
+
material and only when the harness supports them.
|
|
17
|
+
|
|
18
|
+
## Briefing
|
|
19
|
+
|
|
20
|
+
Write `# Meeting Intelligence: {title}` followed by source/date/attendees,
|
|
21
|
+
analysis approach, and user intent. Include only useful sections:
|
|
22
|
+
|
|
23
|
+
1. Meta-analysis: heart of the conversation; genuinely new information;
|
|
24
|
+
actuality against current canonical context; concrete considerations.
|
|
25
|
+
2. Tone and energy, dynamics, or convictions when those lenses were applied.
|
|
26
|
+
3. Priorities and dependencies.
|
|
27
|
+
4. Decision evolution and cross-meeting patterns when canonical evidence
|
|
28
|
+
supports them.
|
|
29
|
+
5. Analytical tensions where lenses or evidence disagree.
|
|
30
|
+
6. Actions as a separate list, not durable knowledge artifacts.
|
|
31
|
+
7. Extracted artifacts and unresolved threads.
|
|
32
|
+
|
|
33
|
+
Write as a trusted colleague briefing someone who missed the meeting. Lead
|
|
34
|
+
with the gravitational center, prioritize ruthlessly, and name who should do
|
|
35
|
+
what. An execution meeting with no new ground may say exactly that.
|
|
36
|
+
|
|
37
|
+
## Extracted knowledge
|
|
38
|
+
|
|
39
|
+
Persist only `decision`, `finding`, or `pattern` documents. For each preserve:
|
|
40
|
+
|
|
41
|
+
- title and substantive content;
|
|
42
|
+
- context, rationale, and tradeoffs where present;
|
|
43
|
+
- confidence calibrated to evidence;
|
|
44
|
+
- speaker and an evidence excerpt no longer than 120 characters;
|
|
45
|
+
- topics, open questions, urgency, importance, and conviction;
|
|
46
|
+
- explicit evolution/supersession and related-artifact links.
|
|
47
|
+
|
|
48
|
+
Strong agreement or data-backed evidence is about 0.9; a single speaker about
|
|
49
|
+
0.7; exploration about 0.5; contentious evidence about 0.6. Do not preserve
|
|
50
|
+
small talk, logistics, trivia, or claims absent from the source.
|
|
51
|
+
|
|
52
|
+
## Proposal
|
|
53
|
+
|
|
54
|
+
Before writeback, show a compact preview containing the analysis approach,
|
|
55
|
+
intent, heart of the conversation, each proposed artifact with confidence and
|
|
56
|
+
evidence, tensions, actions, and relationships. Ask `Save`, `Edit`, or `Skip`.
|
|
57
|
+
Only `Save` authorizes canonical writeback; it does not authorize publication
|
|
58
|
+
or notification.
|
|
59
|
+
|
|
60
|
+
## Runtime package
|
|
61
|
+
|
|
62
|
+
Create one temporary JSON package:
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
{
|
|
66
|
+
"schema_version": "egregore-research-ingest/v1",
|
|
67
|
+
"kind": "meeting",
|
|
68
|
+
"source": {
|
|
69
|
+
"type": "granola",
|
|
70
|
+
"id": "granola-document-id",
|
|
71
|
+
"revision": "source revision or content hash",
|
|
72
|
+
"content_hash": "required SHA-256 of the acquired source",
|
|
73
|
+
"uri": "optional source URI"
|
|
74
|
+
},
|
|
75
|
+
"documents": [
|
|
76
|
+
{
|
|
77
|
+
"artifact_type": "meeting",
|
|
78
|
+
"title": "Weekly Sync",
|
|
79
|
+
"canonical_path": "meetings/2026-08-27-weekly-sync.md",
|
|
80
|
+
"body_path": "/temporary/egregore-meeting-briefing.md",
|
|
81
|
+
"status": "active",
|
|
82
|
+
"metadata": {"attendees": ["alice", "bob"], "intent": "full analysis"}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"artifact_type": "decision",
|
|
86
|
+
"title": "Use typed hybrid retrieval",
|
|
87
|
+
"canonical_path": "knowledge/decisions/2026-08-27-typed-hybrid.md",
|
|
88
|
+
"body_path": "/temporary/egregore-meeting-decision.md",
|
|
89
|
+
"relationships": [
|
|
90
|
+
{"relation": "from_meeting", "target_id": "artifact id of briefing"}
|
|
91
|
+
],
|
|
92
|
+
"supersedes": []
|
|
93
|
+
}
|
|
94
|
+
]
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Body paths point to temporary analysis output, never directly to canonical
|
|
99
|
+
memory. The package may contain at most 40 Markdown documents. Runtime
|
|
100
|
+
authorizes all artifact identities before reading document bodies, validates paths/schema,
|
|
101
|
+
writes the package in one Git provenance commit, updates the derived index once,
|
|
102
|
+
starts one changed-hash embedding job, and emits content-free telemetry.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: note
|
|
3
|
+
description: "Use when the user says 'jot this down', 'note to self', 'just thinking out loud', or 'park this thought' — saves an actor-owned private draft locally and promotes it to organizational knowledge only on an explicit request."
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Note
|
|
7
|
+
|
|
8
|
+
Capture a half-baked thought for the active actor. Private notes are local draft
|
|
9
|
+
state, not canonical organizational truth, and are never committed, indexed,
|
|
10
|
+
published, shared, or notified automatically.
|
|
11
|
+
|
|
12
|
+
## When to invoke
|
|
13
|
+
|
|
14
|
+
Use when the user says 'jot this down', 'note to self', 'just thinking out loud', or 'park this thought' — saves an actor-owned private draft locally and promotes it to organizational knowledge only on an explicit request.
|
|
15
|
+
|
|
16
|
+
## Commands
|
|
17
|
+
|
|
18
|
+
- No arguments: ask what to capture.
|
|
19
|
+
- Content: infer a short title and one of `thought`, `session`,
|
|
20
|
+
`retrospective`, or `journal`; write the user's meaning without polishing it
|
|
21
|
+
into a decision.
|
|
22
|
+
- `list`: call `bash bin/knowledge.sh note-list` and format the returned notes.
|
|
23
|
+
- `share <title>` or `promote <title>`: select the actor's note, preview it,
|
|
24
|
+
choose `decision`, `finding`, or `pattern`, and explicitly confirm promotion.
|
|
25
|
+
|
|
26
|
+
## Capture
|
|
27
|
+
|
|
28
|
+
Render only the note body to a temporary file, then call:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
bash bin/knowledge.sh note-create \
|
|
32
|
+
--title "{title}" \
|
|
33
|
+
--type "{thought|session|retrospective|journal}" \
|
|
34
|
+
--input "$TMP_NOTE"
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The Runtime adapter resolves ActorContext and authorizes the actor before local
|
|
38
|
+
private persistence. The resulting envelope carries stable actor identity and
|
|
39
|
+
a private policy hint. The hint describes posture; authorization remains the
|
|
40
|
+
Runtime policy decision.
|
|
41
|
+
|
|
42
|
+
## Promotion
|
|
43
|
+
|
|
44
|
+
Open the selected note through `bash bin/knowledge.sh note-open "{path}"`.
|
|
45
|
+
After the user explicitly approves organizational promotion, call:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
bash bin/knowledge.sh note-promote \
|
|
49
|
+
--path "{path}" \
|
|
50
|
+
--type "{decision|finding|pattern}" \
|
|
51
|
+
--title "{title}" \
|
|
52
|
+
--topic "{topic}" \
|
|
53
|
+
--workstream "{workstream}"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Promotion uses CanonicalArtifactWriteback: authorize, assign stable typed
|
|
57
|
+
identity and source provenance, persist Markdown, record Git provenance, update
|
|
58
|
+
retrieval, start background embedding, then emit content-free telemetry. The
|
|
59
|
+
private copy remains and records the canonical target.
|
|
60
|
+
|
|
61
|
+
## Boundaries
|
|
62
|
+
|
|
63
|
+
- Do not access another actor's note or treat policy hints as authorization.
|
|
64
|
+
- Do not call Git, QMD, graph, telemetry, publishing, sharing, notification, or
|
|
65
|
+
control-plane mechanics directly.
|
|
66
|
+
- `share` means promotion into authorized organizational Markdown, not external
|
|
67
|
+
publication. External sharing and notification require separate permission
|
|
68
|
+
and exact consent.
|
|
69
|
+
|
|
70
|
+
Confirm private capture with its local path. Confirm promotion with the new
|
|
71
|
+
canonical path and writeback status.
|