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,436 @@
|
|
|
1
|
+
# Harvest — Synthesis Format
|
|
2
|
+
|
|
3
|
+
> Format is a grammar, not a template.
|
|
4
|
+
>
|
|
5
|
+
> The model chooses **which layers exist, which sections within them
|
|
6
|
+
> exist, and which synthesis blocks to use** based on what the
|
|
7
|
+
> harvest produced. Two harvests with different intents and different
|
|
8
|
+
> respondents should not produce the same shape.
|
|
9
|
+
|
|
10
|
+
This document is the **synthesis runtime contract** for `/harvest`. It
|
|
11
|
+
is the companion to [`PROCESS.md`](./PROCESS.md). Where `PROCESS.md`
|
|
12
|
+
defines how the model conducts the conversation, this defines how the
|
|
13
|
+
model formats what was elicited so it becomes organizationally usable
|
|
14
|
+
context.
|
|
15
|
+
|
|
16
|
+
For the protocol's invariants, anti-conflation fixtures, and cognitive
|
|
17
|
+
moves, see `PROCESS.md`. This document does not re-state them.
|
|
18
|
+
|
|
19
|
+
For question intent, answer shape, probe moves, and hard bans, see
|
|
20
|
+
[`QUESTION_PALETTE.md`](./QUESTION_PALETTE.md). This document formats
|
|
21
|
+
what the harvest produced; it does not redefine how questions are asked.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## 1. What synthesis is and isn't
|
|
26
|
+
|
|
27
|
+
Synthesis is a **deliberate act** of reading the running interpretive
|
|
28
|
+
state, all turns across all sessions, and emitting a layered artifact
|
|
29
|
+
that:
|
|
30
|
+
|
|
31
|
+
- **Interprets with evidence.** Every assertion ties to a recorded turn
|
|
32
|
+
or marked seed. Quotes are verbatim and attributed. Patterns name the
|
|
33
|
+
turns they're extracted from.
|
|
34
|
+
- **Layers disclosure.** Readable at multiple depths. The shortest read
|
|
35
|
+
is one sentence. The longest read is the full transcript.
|
|
36
|
+
- **Stays in harvest's register.** Surfaces what was elicited;
|
|
37
|
+
organizes it for legibility. Carries no obligation to converge,
|
|
38
|
+
recommend, or pick a winner. Divergence is information.
|
|
39
|
+
|
|
40
|
+
Synthesis is **not** a report card, a recommendation memo, a meeting
|
|
41
|
+
minutes file, or a verdict. The boundary stated in `PROCESS.md` §1
|
|
42
|
+
applies here: *a harvest maps the choices; it need not make them.*
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## 2. The four layers
|
|
47
|
+
|
|
48
|
+
Synthesis is structured as a progressive disclosure stack. A reader
|
|
49
|
+
should be able to stop at any layer and have learned something
|
|
50
|
+
complete at that depth.
|
|
51
|
+
|
|
52
|
+
### L0 — Portrait
|
|
53
|
+
|
|
54
|
+
**Always present.** The one-line finding: one sentence (sometimes two)
|
|
55
|
+
carrying the sharpest finding, preference, or position the harvest
|
|
56
|
+
produced.
|
|
57
|
+
|
|
58
|
+
L0 carries no obligation to recommend or pick a winner. For different harvest shapes:
|
|
59
|
+
|
|
60
|
+
- Preference harvest → the strongest preference, with the load-bearing
|
|
61
|
+
reason in a clause: *"Cem prefers card-first L0 expanding to
|
|
62
|
+
narrative+rail because the rail keeps decision surfaces visible
|
|
63
|
+
while the narrative does the work."*
|
|
64
|
+
- Alignment scan → the central pattern across respondents: *"All
|
|
65
|
+
three converge on free-tier-as-conversion; they diverge on the
|
|
66
|
+
ceiling — and the divergence tracks how each models acquisition
|
|
67
|
+
cost."*
|
|
68
|
+
- Knowledge extraction → the single most load-bearing thing the
|
|
69
|
+
respondent knew that wasn't documented: *"Renc has been carrying
|
|
70
|
+
three GTM constraints not yet on the canvas, and one of them
|
|
71
|
+
(legal-coupling) gates the launch sequence."*
|
|
72
|
+
- Decision crystallization → the decision and its rationale: *"Split
|
|
73
|
+
Hermes into harness + runtime; the harness is vendor-replaceable,
|
|
74
|
+
the runtime is the differentiator we own."*
|
|
75
|
+
- Tacit position → what the person was carrying: *"Oz reads the moat
|
|
76
|
+
as substrate-as-convention, not feature ownership — a position the
|
|
77
|
+
product language hasn't picked up yet."*
|
|
78
|
+
|
|
79
|
+
L0 is read first. If a reader reads only L0, they have learned
|
|
80
|
+
something true and useful.
|
|
81
|
+
|
|
82
|
+
### L1 — Surface
|
|
83
|
+
|
|
84
|
+
**Optional. Emit when the harvest produced anything decision-shaped or
|
|
85
|
+
divergence-shaped.**
|
|
86
|
+
|
|
87
|
+
L1 organizes findings at the harvest level (not per-respondent,
|
|
88
|
+
not per-question). Sections that may appear, in any combination:
|
|
89
|
+
|
|
90
|
+
| Section | When it appears |
|
|
91
|
+
|---|---|
|
|
92
|
+
| **Convergence** | Multi-respondent harvests where positions aligned on something worth naming |
|
|
93
|
+
| **Divergence** | Multi-respondent harvests where positions split — presented as information, with each side's reasoning, not as a problem to resolve |
|
|
94
|
+
| **Open questions** | Harvests that surfaced more questions than they answered (this is a valid outcome) |
|
|
95
|
+
| **Action surface** | Optional and only when warranted; harvests with no proposition to act on may have no action surface. Records actions a respondent named or that a divergence implies — not actions the synthesizer invents. |
|
|
96
|
+
| **Tensions** | Internal contradictions a single respondent surfaced — useful for self-harvests and deep elicitations |
|
|
97
|
+
|
|
98
|
+
A pure preference harvest typically has no L1. A taste elicitation
|
|
99
|
+
typically has no L1. An alignment scan usually has a thick L1 of
|
|
100
|
+
convergence + divergence. An async multi-respondent harvest usually
|
|
101
|
+
has an open-questions section. **The model picks which sections fit.**
|
|
102
|
+
|
|
103
|
+
### L2 — Per-unit detail
|
|
104
|
+
|
|
105
|
+
**Optional. Emit when there is per-unit content worth standing alone.**
|
|
106
|
+
|
|
107
|
+
L2 is where the substance lives. The model chooses **which unit to
|
|
108
|
+
slice on**:
|
|
109
|
+
|
|
110
|
+
- **Per-respondent (position-unit)** — one section per person, each
|
|
111
|
+
containing their positions across the harvest's dimensions. Use
|
|
112
|
+
when the harvest produced person-distinctive positions. Olivier's
|
|
113
|
+
harvest is the canonical example: `Olivier on scaling`, `Olivier on
|
|
114
|
+
transmission`, `Olivier on bootstrapping`.
|
|
115
|
+
- **Per-question (question-unit)** — one section per question, each
|
|
116
|
+
containing what was elicited about that question (one or many
|
|
117
|
+
respondents). Use when the harvest was structured around concrete
|
|
118
|
+
asks with concrete answers per question. The Oz canvas harvest is
|
|
119
|
+
the canonical example: `Q1 — Hermes framing`, `Q2 — sovereign brain
|
|
120
|
+
cards`, etc.
|
|
121
|
+
- **Per-dimension (theme-unit)** — one section per theme/dimension
|
|
122
|
+
that emerged across questions and respondents. Use when the harvest
|
|
123
|
+
surfaced cross-cutting themes the questions didn't directly target.
|
|
124
|
+
Common in retrospectives.
|
|
125
|
+
|
|
126
|
+
The model picks one slicing. Mixing slicings within one harvest is
|
|
127
|
+
allowed only when the structure genuinely requires it (e.g.,
|
|
128
|
+
dimension-unit for thematic findings + question-unit for concrete
|
|
129
|
+
decisions). Default to one.
|
|
130
|
+
|
|
131
|
+
Inside each L2 section, content is built from the **synthesis blocks**
|
|
132
|
+
(§3). Section structure is generative, not templated.
|
|
133
|
+
|
|
134
|
+
### L3 — Transcript
|
|
135
|
+
|
|
136
|
+
**Always present (appendix).** The full turn log.
|
|
137
|
+
|
|
138
|
+
For each turn:
|
|
139
|
+
|
|
140
|
+
- Question (verbatim)
|
|
141
|
+
- `questionIntent` — the model's articulable purpose
|
|
142
|
+
- Answer (verbatim, or pointer to async file)
|
|
143
|
+
- `evaluation` — the model's read (novel framing, unresolved tension,
|
|
144
|
+
tacit content, shallow signal, strong conviction, surprising
|
|
145
|
+
connection, diminishing returns)
|
|
146
|
+
|
|
147
|
+
L3 is the auditability layer. Anyone reading L0–L2 can drop to L3 to
|
|
148
|
+
verify the chain: which assertion came from which turn, what the
|
|
149
|
+
model intended when it asked, how the model read the answer. This is
|
|
150
|
+
also what makes the synthesis reproducible in fixtures (see §6).
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## 3. Synthesis blocks
|
|
155
|
+
|
|
156
|
+
Within L2 (and sometimes L1), content is built from these six blocks —
|
|
157
|
+
the building material of the synthesis document. (Not to be confused
|
|
158
|
+
with answer **modes**, which are the input formats of rendered surfaces
|
|
159
|
+
— `single | multi | rank | weight | spectrum`;
|
|
160
|
+
`QUESTION_PALETTE.md` owns intent-to-shape selection, while SKILL.md
|
|
161
|
+
owns their rendered data fields.) They compose; sections pick whichever
|
|
162
|
+
fit.
|
|
163
|
+
|
|
164
|
+
| Block | What it is | When it carries weight |
|
|
165
|
+
|---|---|---|
|
|
166
|
+
| **quote** | Verbatim words from a respondent, attributed by handle | Distinctive framing, strong conviction, language worth carrying as-is |
|
|
167
|
+
| **context** | What the synthesizer brings to make the quote legible — background, what was happening before, what assumption the respondent was responding to | When the quote is sharp but its meaning depends on context the reader may not have |
|
|
168
|
+
| **reflection** | Interpretation: what this position *does* to the broader picture; what mental model it implies | When a position has implications beyond what the respondent said directly |
|
|
169
|
+
| **choice** | A concrete choice or commitment a respondent named, or a choice a divergence implies. **Has a rendered form**: when choices are forks with 2–4 distinct options, `/harvest` emits them as an interactive Meridian *decision surface* the respondent decides *on* and pastes back, rather than prose to read | When the harvest produced something actionable; *not* the same as a recommendation — it surfaces the choice without forcing its resolution |
|
|
170
|
+
| **open question** | An unresolved tension, ambiguity, or follow-up worth a future harvest | When the harvest opened more than it closed; explicitly named so it doesn't get lost |
|
|
171
|
+
| **pattern** | A knowledge / action / antipattern the harvest extracted, ready for `/reflect` to consume | When a finding generalizes — not just *"Oz said X"*, but *"the pattern is Y, evidenced by X"* |
|
|
172
|
+
|
|
173
|
+
**Composition rule**: for each L2 section, a strong default sequence
|
|
174
|
+
is `quote → context → reflection → pattern` (the Olivier shape). The
|
|
175
|
+
Oz shape (`decision → quote → reflection → action`) is also strong.
|
|
176
|
+
The model chooses what the content needs. **Skip what doesn't apply.**
|
|
177
|
+
A section with no `choice` and no `pattern` is fine — the blocks are
|
|
178
|
+
a palette, not a checklist.
|
|
179
|
+
|
|
180
|
+
**Block usage rules**:
|
|
181
|
+
|
|
182
|
+
- `quote` — verbatim only. No paraphrasing dressed as quotation.
|
|
183
|
+
Block-quote format, attributed by handle.
|
|
184
|
+
- `context` — clearly distinct from interpretation. Describe what
|
|
185
|
+
was, not what it implies.
|
|
186
|
+
- `reflection` — owned by the synthesizer, not the respondent. Use
|
|
187
|
+
*"this implies..."*, *"the move underneath this is..."* — never
|
|
188
|
+
attribute interpretation back to the respondent.
|
|
189
|
+
- `choice` — describe the choice, not which side to pick
|
|
190
|
+
(unless a respondent named the side themselves). **Rendered form:**
|
|
191
|
+
when ≥3 interrelated forks each have 2–4 distinct options, `/harvest`
|
|
192
|
+
renders them as an interactive *decision surface* instead of prose.
|
|
193
|
+
Each option carries a structural *visual*, honest `+/−` tradeoffs,
|
|
194
|
+
and at most one recommendation; the respondent's pasted choices
|
|
195
|
+
(`#{slug}-decisions:v1`) are absorbed on `--resume` through the author review gate: a non-author return is pending until accepted, declined with a required attributed reason, or synthesized and approved. Shape + render:
|
|
196
|
+
harvest's rendered-surface section (SKILL.md) and
|
|
197
|
+
`packages/egregore-artifacts` (`decision-surface` type).
|
|
198
|
+
- `open question` — phrase as a question or as *"unresolved: …"*.
|
|
199
|
+
- `pattern` — name the pattern type (knowledge / action /
|
|
200
|
+
antipattern) and cite the turn(s) it was extracted from.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## 4. Generative emission — how the model picks shape
|
|
205
|
+
|
|
206
|
+
Synthesis shape is decided once the harvest is done, not in advance.
|
|
207
|
+
The model reads the running interpretive state and answers four
|
|
208
|
+
questions:
|
|
209
|
+
|
|
210
|
+
1. **Did the harvest produce decision-shaped or divergence-shaped
|
|
211
|
+
findings?** If yes → emit L1. If no → skip L1.
|
|
212
|
+
2. **What's the natural unit?** Respondent? Question? Theme? → that's
|
|
213
|
+
how L2 slices.
|
|
214
|
+
3. **For each L2 section, which blocks does the content need?**
|
|
215
|
+
Pull only those.
|
|
216
|
+
4. **Where would a reader want to go next?** That's where to put
|
|
217
|
+
`open question` blocks and `choice` blocks — at
|
|
218
|
+
the points the document hands off to action.
|
|
219
|
+
|
|
220
|
+
A cleanly emitted harvest:
|
|
221
|
+
|
|
222
|
+
- L0 always.
|
|
223
|
+
- L1 if and only if the harvest produced something decision- or
|
|
224
|
+
divergence-shaped that's worth surfacing at the harvest level.
|
|
225
|
+
- L2 if and only if there's per-unit content that stands alone.
|
|
226
|
+
- L3 always.
|
|
227
|
+
|
|
228
|
+
A bad emission emits all four layers regardless of content. Empty L1
|
|
229
|
+
sections, padded L2 sections, and L0 sentences that don't actually
|
|
230
|
+
hold the most are the failure mode.
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## 5. Orientations by harvest shape
|
|
235
|
+
|
|
236
|
+
These are orientations, not templates. The model adapts.
|
|
237
|
+
|
|
238
|
+
### Preference / taste
|
|
239
|
+
|
|
240
|
+
Likely shape: **L0 (the strongest preference + reason) · no L1 · L2
|
|
241
|
+
per-respondent or per-question with `quote → context → reflection`,
|
|
242
|
+
no `choice`, no `pattern` for the harvest itself (patterns
|
|
243
|
+
emerge later when many preferences accumulate) · L3.**
|
|
244
|
+
|
|
245
|
+
Example L0: *"Cem prefers card-first L0 expanding to a narrative+rail
|
|
246
|
+
workspace, because the rail keeps decision surfaces visible while the
|
|
247
|
+
narrative does the work."*
|
|
248
|
+
|
|
249
|
+
### Alignment scan (multi-respondent)
|
|
250
|
+
|
|
251
|
+
Likely shape: **L0 (the central pattern across respondents) · L1
|
|
252
|
+
(convergence + divergence, divergence presented as information) · L2
|
|
253
|
+
per-respondent showing each position's reasoning · L3.**
|
|
254
|
+
|
|
255
|
+
Divergence sections in L1 lay positions side-by-side. Each position
|
|
256
|
+
gets its own load-bearing reason. The synthesis does not pick a
|
|
257
|
+
winner — but it can name what each position is optimizing for, which
|
|
258
|
+
is often the most useful read.
|
|
259
|
+
|
|
260
|
+
### Knowledge extraction
|
|
261
|
+
|
|
262
|
+
Likely shape: **L0 (the most load-bearing undocumented thing) · L1
|
|
263
|
+
optional (often emits as `open questions` if extraction surfaced
|
|
264
|
+
gaps) · L2 per-dimension with `quote → context → pattern` heavy ·
|
|
265
|
+
L3.**
|
|
266
|
+
|
|
267
|
+
The `pattern` block earns its keep here. Knowledge extraction's whole
|
|
268
|
+
point is producing reusable knowledge nodes.
|
|
269
|
+
|
|
270
|
+
### Decision crystallization (the one shape that may end with an action surface or commitment)
|
|
271
|
+
|
|
272
|
+
Likely shape: **L0 (the decision + load-bearing rationale) · L1
|
|
273
|
+
(considerations weighed, commitments) · L2 per-question with
|
|
274
|
+
`decision → quote → reflection → action` (the Oz shape) · L3.**
|
|
275
|
+
|
|
276
|
+
This is the shape whose intent was to crystallize a decision, so an
|
|
277
|
+
action surface or named commitment is appropriate. Even here, the
|
|
278
|
+
model records the choice as the respondent(s) made it — it does not
|
|
279
|
+
manufacture an action the respondents didn't name.
|
|
280
|
+
|
|
281
|
+
### Tacit position elicitation
|
|
282
|
+
|
|
283
|
+
Likely shape: **L0 (what the person is carrying that the org hasn't
|
|
284
|
+
articulated) · no L1 · L2 per-dimension with `quote → context →
|
|
285
|
+
reflection → pattern` · L3.**
|
|
286
|
+
|
|
287
|
+
The Olivier harvest is the canonical example. The output is a portrait
|
|
288
|
+
of someone's position, not a verdict on whether they're right.
|
|
289
|
+
|
|
290
|
+
### Retrospective
|
|
291
|
+
|
|
292
|
+
Likely shape: **L0 (the shared narrative or its absence) · L1 (shared
|
|
293
|
+
narrative section, divergent interpretations section, lessons,
|
|
294
|
+
commitments) · L2 per-theme · L3.**
|
|
295
|
+
|
|
296
|
+
Useful pattern: when respondents agree on what happened but diverge
|
|
297
|
+
on what it meant, L1 names this shape directly — *"shared event,
|
|
298
|
+
divergent reading"* — and L2 explores each reading.
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## 6. Fixtures
|
|
303
|
+
|
|
304
|
+
Two harvests in the repo are gold examples. The rebuild's synthesis
|
|
305
|
+
must reproduce their shapes (within minor variation) given the same
|
|
306
|
+
intent + RoleSheets + seed.
|
|
307
|
+
|
|
308
|
+
### Olivier harvest — position-unit slicing
|
|
309
|
+
|
|
310
|
+
`memory/knowledge/harvests/2026-03-23-olivier-harvest-analysis.md`
|
|
311
|
+
|
|
312
|
+
What it demonstrates:
|
|
313
|
+
- L0 *"It makes it possible to embody the overall organization in a
|
|
314
|
+
variety of personal ways, while sharing a common ground with
|
|
315
|
+
others"* — single sentence that holds the most.
|
|
316
|
+
- L2 sliced per-position: 7 positions, each as `Context → Olivier's
|
|
317
|
+
Position (with quotes) → Reflection → Pattern Extraction`.
|
|
318
|
+
- Patterns named explicitly with type prefix (*Knowledge pattern —
|
|
319
|
+
Junction Primacy*, *Action — Reframe positioning language*).
|
|
320
|
+
- L3 as `Full Exchange` with 7 turns, question + answer per turn.
|
|
321
|
+
- No `choice` block used — this was a tacit-position
|
|
322
|
+
harvest, no decisions were on the table.
|
|
323
|
+
|
|
324
|
+
### Oz canvas harvest — question-unit slicing
|
|
325
|
+
|
|
326
|
+
`memory/handoffs/2026-05/06-cem-harvest-oz-canvas-tech-and-capabilities.md`
|
|
327
|
+
|
|
328
|
+
What it demonstrates:
|
|
329
|
+
- L2 sliced per-question: 7 questions, each as `1. Decision · 2.
|
|
330
|
+
Positions (block quotes) · 3. Why · 4. Action space`.
|
|
331
|
+
- The L2 section's own internal table of contents (lines 142–159
|
|
332
|
+
describe how to read the document) is a generative move worth
|
|
333
|
+
copying when the harvest has many questions and a synthesis-ready
|
|
334
|
+
summary section.
|
|
335
|
+
- The `choice` block is heavy here — this was a
|
|
336
|
+
decision-crystallization harvest with concrete asks.
|
|
337
|
+
- Cross-question consolidation in a `Canvas Changes & Additions`
|
|
338
|
+
section is a domain-specific L1 emission. Generalizable: when L2
|
|
339
|
+
produces many small actions, an L1 consolidation section that
|
|
340
|
+
collects them is a useful surface.
|
|
341
|
+
|
|
342
|
+
**Both are valid synthesis shapes.** The model picks the slicing that
|
|
343
|
+
fits what the harvest produced.
|
|
344
|
+
|
|
345
|
+
---
|
|
346
|
+
|
|
347
|
+
## 7. Evidence binding (mandatory)
|
|
348
|
+
|
|
349
|
+
Every assertion in synthesis traces back. The mechanism:
|
|
350
|
+
|
|
351
|
+
- **Quotes** carry the respondent handle: `> "..." — oz` or block-quote
|
|
352
|
+
with attribution line.
|
|
353
|
+
- **Patterns** name the turn(s) they were extracted from. Either inline
|
|
354
|
+
(*"extracted from turn 3"*) or implicit when the L2 section's quote
|
|
355
|
+
block is the source.
|
|
356
|
+
- **Reflections** that draw on multiple turns name the turns they
|
|
357
|
+
synthesize.
|
|
358
|
+
- **Seed-context references** are marked: *"per `whitepaper-v0.1.md`
|
|
359
|
+
§3"* — so a reader can distinguish between *what the harvest
|
|
360
|
+
produced* and *what was already known going in*.
|
|
361
|
+
- **Async answers** are quoted with their source noted: *"from
|
|
362
|
+
`memory/knowledge/questions/2026-05-07-pricing.md`, answered
|
|
363
|
+
2026-05-08"*.
|
|
364
|
+
|
|
365
|
+
If an assertion in synthesis cannot be traced, it does not belong in
|
|
366
|
+
the artifact. (`PROCESS.md` §2 invariant 4.)
|
|
367
|
+
|
|
368
|
+
---
|
|
369
|
+
|
|
370
|
+
## 8. Linkability — `/reflect`-able output
|
|
371
|
+
|
|
372
|
+
Synthesis is not a leaf. Patterns, preferences, positions, and
|
|
373
|
+
(where present) decisions emit in shapes the org's pattern/decision
|
|
374
|
+
graph can ingest:
|
|
375
|
+
|
|
376
|
+
| Block | Becomes a |
|
|
377
|
+
|---|---|
|
|
378
|
+
| `pattern` (knowledge type) | Knowledge pattern node, linkable to topics + people |
|
|
379
|
+
| `pattern` (action type) | Action node, linkable to quests / decisions |
|
|
380
|
+
| `pattern` (antipattern type) | Antipattern node |
|
|
381
|
+
| `choice` (where a respondent named a side) | Decision node, attributed to the respondent |
|
|
382
|
+
| Synthesized position from L2 (e.g., *"cem prefers X because Y"*) | Position / Preference node, attributed to the respondent, with quote-block(s) attached as `Evidence` nodes — never the quote alone as the position |
|
|
383
|
+
| `quote` block (verbatim, attributed) | `Evidence` node — raw, uninterpreted, links into the Position / Preference / Pattern it supports |
|
|
384
|
+
| `open question` | Open-question node, surfacable in `/activity` and seedable for follow-up harvests |
|
|
385
|
+
|
|
386
|
+
**The quote-vs-position distinction is load-bearing.** A quote is
|
|
387
|
+
evidence; the synthesized position is the node `/reflect` consumes.
|
|
388
|
+
This keeps the pattern/decision graph from treating every verbatim
|
|
389
|
+
utterance as already-interpreted knowledge, and it makes the
|
|
390
|
+
synthesizer's interpretive work explicit (and contestable) rather
|
|
391
|
+
than disguising it as the respondent's own words.
|
|
392
|
+
|
|
393
|
+
Concretely: when the synthesis is written, a `/reflect` pass can read
|
|
394
|
+
the artifact and emit graph/memory nodes from each load-bearing
|
|
395
|
+
section without re-interpreting. The artifact's structure carries the
|
|
396
|
+
graph's structure.
|
|
397
|
+
|
|
398
|
+
For a pure preference harvest, this means the org gains a
|
|
399
|
+
tacit-knowledge node (*"cem prefers X because Y"*) other agents can
|
|
400
|
+
reason from. For an alignment scan, it gains a divergence-map node.
|
|
401
|
+
The shape varies; the legibility doesn't.
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## 9. Negative examples — what synthesis does not do
|
|
406
|
+
|
|
407
|
+
| Anti-pattern | Why it's banned |
|
|
408
|
+
|---|---|
|
|
409
|
+
| L1 with empty `Action surface` because the template said so | Forces an action the harvest didn't produce; violates §1 |
|
|
410
|
+
| L2 sections with all six blocks padded in regardless of content | The blocks are a palette, not a checklist |
|
|
411
|
+
| L0 that summarizes the dimensions covered (*"this harvest explored A, B, and C"*) | L0 is the sharpest finding, not a table of contents |
|
|
412
|
+
| Paraphrased "quotes" | The `quote` block is verbatim only |
|
|
413
|
+
| Reflections attributed back to the respondent | Reflections are owned by the synthesizer; respondents own quotes |
|
|
414
|
+
| Divergence framed as "the team disagrees" | Divergence is information, not failure; name what each side is optimizing for |
|
|
415
|
+
| "Recommended direction: X" when no respondent named X | Synthesis surfaces what was elicited; it does not invent direction |
|
|
416
|
+
| Synthesis without L3 | Removes auditability; breaks `PROCESS.md` §2 invariant 4 |
|
|
417
|
+
| Mixing per-respondent and per-question slicing in L2 without reason | Pick one; mix only when structure genuinely requires it |
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
421
|
+
## 10. What this document does not cover
|
|
422
|
+
|
|
423
|
+
- **Cognitive protocol** — how the model conducts the conversation,
|
|
424
|
+
evaluates answers, runs multi-respondent disclosure: see `PROCESS.md`.
|
|
425
|
+
- **Question palette** — intent-to-shape selection, probe moves, and
|
|
426
|
+
hard bans: see `QUESTION_PALETTE.md`.
|
|
427
|
+
- **Persistence** — graph schema, ID conventions, async question
|
|
428
|
+
metadata, local-mode markdown contract: see `AUDIT.md` §9–§11.
|
|
429
|
+
- **Orchestration** — argument parsing, mode detection, ID minting,
|
|
430
|
+
file writes: belongs in `SKILL.md` once it's rewritten as a thin
|
|
431
|
+
entry point.
|
|
432
|
+
|
|
433
|
+
The synthesis runtime contract is complete here. The model has what
|
|
434
|
+
it needs to produce a layered, evidence-bound, generative artifact
|
|
435
|
+
that preserves what the harvest elicited without forcing it into a
|
|
436
|
+
shape the harvest didn't produce.
|