@elevasis/sdk 1.44.3 → 1.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/dist/cli.cjs +991 -650
  2. package/dist/index.d.ts +1045 -509
  3. package/dist/index.js +738 -688
  4. package/dist/node/index.d.ts +105 -97
  5. package/dist/test-utils/index.d.ts +42 -28
  6. package/dist/test-utils/index.js +514 -783
  7. package/dist/worker/index.d.ts +12112 -0
  8. package/dist/worker/index.js +121 -182
  9. package/package.json +6 -9
  10. package/reference/_navigation.md +151 -21
  11. package/reference/_reference-manifest.json +186 -4
  12. package/reference/claude-config.md +8 -0
  13. package/reference/core/index.mdx +3 -3
  14. package/reference/examples/organization-model.ts +117 -111
  15. package/reference/index.mdx +4 -4
  16. package/reference/rules/active-change-index.md +40 -54
  17. package/reference/rules/agent-runtime.md +81 -0
  18. package/reference/rules/agent-start-here.md +71 -163
  19. package/reference/rules/deployment.md +33 -10
  20. package/reference/rules/error-handling.md +26 -0
  21. package/reference/rules/execution.md +13 -0
  22. package/reference/rules/frontend.md +10 -3
  23. package/reference/rules/observability.md +9 -1
  24. package/reference/rules/operations.md +26 -17
  25. package/reference/rules/organization-model.md +74 -88
  26. package/reference/rules/organization-os.md +71 -88
  27. package/reference/rules/package-taxonomy.md +11 -2
  28. package/reference/rules/platform.md +13 -7
  29. package/reference/rules/shared-types.md +15 -0
  30. package/reference/rules/task-tracking.md +30 -5
  31. package/reference/rules/ui.md +145 -3
  32. package/reference/rules/vibe-intents.md +271 -0
  33. package/reference/rules/vibe.md +17 -243
  34. package/reference/scaffold/core/organization-graph.mdx +111 -97
  35. package/reference/scaffold/core/organization-model.mdx +234 -214
  36. package/reference/scaffold/operations/propagation-pipeline.md +1 -1
  37. package/reference/scaffold/operations/scaffold-maintenance.md +19 -18
  38. package/reference/scaffold/operations/workflow-recipes.md +71 -19
  39. package/reference/scaffold/recipes/add-a-feature.md +156 -146
  40. package/reference/scaffold/recipes/add-a-resource.md +123 -117
  41. package/reference/scaffold/recipes/customize-crm-actions.md +25 -10
  42. package/reference/scaffold/recipes/customize-knowledge-browser.md +52 -117
  43. package/reference/scaffold/recipes/customize-organization-model.md +161 -149
  44. package/reference/scaffold/recipes/extend-a-base-entity.md +156 -140
  45. package/reference/scaffold/recipes/extend-crm.md +16 -11
  46. package/reference/scaffold/recipes/extend-lead-gen.md +25 -7
  47. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +160 -118
  48. package/reference/scaffold/recipes/index.md +2 -2
  49. package/reference/scaffold/recipes/query-the-knowledge-graph.md +23 -23
  50. package/reference/scaffold/reference/contracts.md +12 -1
  51. package/reference/scaffold/reference/glossary.md +3 -3
  52. package/reference/scaffold/reference/system-interface-capabilities.md +5 -4
  53. package/reference/scaffold/ui/composition-extensibility.mdx +271 -232
  54. package/reference/scaffold/ui/feature-flags-and-gating.md +14 -6
  55. package/reference/scaffold/ui/feature-shell.mdx +279 -62
  56. package/reference/scaffold/ui/recipes.md +229 -197
  57. package/reference/sdk/cli-management.mdx +77 -29
  58. package/reference/sdk/concepts.mdx +2 -0
  59. package/reference/sdk/define-builders.mdx +76 -0
  60. package/reference/sdk/deployment/command-center.mdx +6 -2
  61. package/reference/sdk/deployment/execution-reference.mdx +64 -186
  62. package/reference/sdk/deployment/index.mdx +2 -0
  63. package/reference/sdk/exports.mdx +4 -4
  64. package/reference/sdk/framework/agent.mdx +49 -119
  65. package/reference/sdk/framework/index.mdx +46 -65
  66. package/reference/sdk/framework/project-structure.mdx +150 -205
  67. package/reference/sdk/framework/tutorial-system.mdx +2 -2
  68. package/reference/sdk/human-in-the-loop.mdx +152 -0
  69. package/reference/sdk/index.mdx +6 -7
  70. package/reference/sdk/platform-tools/index.mdx +12 -0
  71. package/reference/sdk/platform-tools/type-safety.mdx +4 -0
  72. package/reference/sdk/project-deployment-spec.mdx +131 -0
  73. package/reference/sdk/resources/index.mdx +21 -7
  74. package/reference/sdk/resources/patterns.mdx +54 -24
  75. package/reference/sdk/resources/types.mdx +7 -4
  76. package/reference/sdk/templates/data-enrichment.mdx +7 -3
  77. package/reference/sdk/templates/email-sender.mdx +139 -135
  78. package/reference/sdk/templates/lead-scorer.mdx +5 -1
  79. package/reference/sdk/templates/pdf-generator.mdx +155 -151
  80. package/reference/sdk/templates/recurring-job.mdx +195 -189
  81. package/reference/sdk/templates/text-classifier.mdx +4 -0
  82. package/reference/sdk/templates/web-scraper.mdx +139 -135
  83. package/reference/spine/spine-primer.md +135 -96
  84. package/reference/ui/index.mdx +14 -7
  85. package/dist/types/worker/adapters/anymailfinder.d.ts +0 -14
  86. package/dist/types/worker/adapters/apify.d.ts +0 -14
  87. package/dist/types/worker/adapters/approval.d.ts +0 -23
  88. package/dist/types/worker/adapters/attio.d.ts +0 -22
  89. package/dist/types/worker/adapters/clickup.d.ts +0 -22
  90. package/dist/types/worker/adapters/create-adapter.d.ts +0 -41
  91. package/dist/types/worker/adapters/crm.d.ts +0 -20
  92. package/dist/types/worker/adapters/dropbox.d.ts +0 -14
  93. package/dist/types/worker/adapters/email.d.ts +0 -25
  94. package/dist/types/worker/adapters/execution.d.ts +0 -22
  95. package/dist/types/worker/adapters/gmail.d.ts +0 -14
  96. package/dist/types/worker/adapters/google-sheets.d.ts +0 -14
  97. package/dist/types/worker/adapters/index.d.ts +0 -33
  98. package/dist/types/worker/adapters/instantly.d.ts +0 -14
  99. package/dist/types/worker/adapters/lead.d.ts +0 -28
  100. package/dist/types/worker/adapters/list.d.ts +0 -9
  101. package/dist/types/worker/adapters/llm.d.ts +0 -45
  102. package/dist/types/worker/adapters/millionverifier.d.ts +0 -14
  103. package/dist/types/worker/adapters/notification.d.ts +0 -28
  104. package/dist/types/worker/adapters/pdf.d.ts +0 -22
  105. package/dist/types/worker/adapters/projects.d.ts +0 -20
  106. package/dist/types/worker/adapters/resend.d.ts +0 -14
  107. package/dist/types/worker/adapters/scheduler.d.ts +0 -25
  108. package/dist/types/worker/adapters/signature-api.d.ts +0 -14
  109. package/dist/types/worker/adapters/storage.d.ts +0 -33
  110. package/dist/types/worker/adapters/stripe.d.ts +0 -14
  111. package/dist/types/worker/adapters/tomba.d.ts +0 -14
  112. package/dist/types/worker/index.d.ts +0 -60
  113. package/dist/types/worker/platform.d.ts +0 -90
  114. package/dist/types/worker/utils.d.ts +0 -9
  115. package/reference/claude-config/Overview.md +0 -230
  116. package/reference/claude-config/hooks/post-edit-validate.mjs +0 -98
  117. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +0 -187
  118. package/reference/claude-config/hooks/tool-failure-recovery.mjs +0 -73
  119. package/reference/claude-config/registries/graph-skills.json +0 -4
  120. package/reference/claude-config/registries/knowledge-flags.json +0 -154
  121. package/reference/claude-config/registries/skill-coverage.json +0 -20
  122. package/reference/claude-config/rules/active-change-index.md +0 -22
  123. package/reference/claude-config/rules/agent-start-here.md +0 -22
  124. package/reference/claude-config/rules/deployment.md +0 -22
  125. package/reference/claude-config/rules/error-handling.md +0 -22
  126. package/reference/claude-config/rules/execution.md +0 -22
  127. package/reference/claude-config/rules/frontend.md +0 -22
  128. package/reference/claude-config/rules/observability.md +0 -22
  129. package/reference/claude-config/rules/operations.md +0 -22
  130. package/reference/claude-config/rules/organization-model.md +0 -22
  131. package/reference/claude-config/rules/organization-os.md +0 -22
  132. package/reference/claude-config/rules/package-taxonomy.md +0 -22
  133. package/reference/claude-config/rules/platform.md +0 -22
  134. package/reference/claude-config/rules/shared-types.md +0 -22
  135. package/reference/claude-config/rules/task-tracking.md +0 -22
  136. package/reference/claude-config/rules/topbar-actions.md +0 -70
  137. package/reference/claude-config/rules/ui.md +0 -22
  138. package/reference/claude-config/rules/vibe.md +0 -22
  139. package/reference/claude-config/scripts/statusline-command.js +0 -18
  140. package/reference/claude-config/settings.json +0 -30
  141. package/reference/claude-config/skills/client/SKILL.md +0 -201
  142. package/reference/claude-config/skills/deploy/SKILL.md +0 -159
  143. package/reference/claude-config/skills/dsp/SKILL.md +0 -66
  144. package/reference/claude-config/skills/elevasis/SKILL.md +0 -251
  145. package/reference/claude-config/skills/explore/SKILL.md +0 -78
  146. package/reference/claude-config/skills/git-sync/SKILL.md +0 -166
  147. package/reference/claude-config/skills/om/SKILL.md +0 -475
  148. package/reference/claude-config/skills/om/operations/build.md +0 -237
  149. package/reference/claude-config/skills/om/operations/codify-level-a.md +0 -109
  150. package/reference/claude-config/skills/om/operations/codify-level-b.md +0 -159
  151. package/reference/claude-config/skills/om/operations/customers.md +0 -114
  152. package/reference/claude-config/skills/om/operations/features.md +0 -88
  153. package/reference/claude-config/skills/om/operations/goals.md +0 -123
  154. package/reference/claude-config/skills/om/operations/identity.md +0 -97
  155. package/reference/claude-config/skills/om/operations/labels.md +0 -110
  156. package/reference/claude-config/skills/om/operations/offerings.md +0 -114
  157. package/reference/claude-config/skills/om/operations/roles.md +0 -104
  158. package/reference/claude-config/skills/om/operations/scaffold.md +0 -163
  159. package/reference/claude-config/skills/om/operations/techStack.md +0 -38
  160. package/reference/claude-config/skills/project/SKILL.md +0 -1114
  161. package/reference/claude-config/skills/run-ui/SKILL.md +0 -73
  162. package/reference/claude-config/skills/save/SKILL.md +0 -183
  163. package/reference/claude-config/skills/setup/SKILL.md +0 -290
  164. package/reference/claude-config/skills/status/SKILL.md +0 -59
  165. package/reference/claude-config/skills/submit-request/SKILL.md +0 -180
  166. package/reference/claude-config/skills/sync/SKILL.md +0 -47
  167. package/reference/claude-config/skills/tutorial/SKILL.md +0 -259
  168. package/reference/claude-config/skills/tutorial/progress-template.md +0 -74
  169. package/reference/claude-config/skills/tutorial/technical.md +0 -1303
  170. package/reference/claude-config/skills/tutorial/vibe-coder.md +0 -890
  171. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +0 -27
  172. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +0 -30
  173. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +0 -73
  174. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +0 -86
  175. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +0 -55
  176. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +0 -97
  177. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +0 -112
  178. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +0 -93
  179. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +0 -58
  180. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +0 -56
  181. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +0 -71
  182. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +0 -83
  183. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +0 -59
  184. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +0 -42
  185. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +0 -60
  186. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +0 -37
  187. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +0 -34
  188. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +0 -38
  189. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +0 -32
  190. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +0 -33
  191. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +0 -69
  192. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +0 -30
  193. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +0 -45
  194. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +0 -52
  195. package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +0 -33
  196. package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +0 -32
  197. package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +0 -43
  198. package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +0 -40
  199. package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +0 -61
  200. package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +0 -49
  201. package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +0 -31
  202. package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +0 -42
  203. package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +0 -33
  204. package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +0 -37
  205. package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +0 -28
  206. package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +0 -43
  207. package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +0 -26
  208. package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +0 -33
  209. package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +0 -35
  210. package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +0 -49
  211. package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +0 -47
  212. package/reference/claude-config/sync-notes/2026-05-28-om-snapshot-sdk-workflow-config.md +0 -33
  213. package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +0 -39
  214. package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +0 -27
  215. package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +0 -45
  216. package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +0 -34
  217. package/reference/claude-config/sync-notes/2026-06-04-scaffold-registry-lane-severity.md +0 -34
  218. package/reference/claude-config/sync-notes/2026-06-05-appearance-app-mode-decouple.md +0 -29
  219. package/reference/claude-config/sync-notes/2026-06-05-ontology-endpoint-rename-and-knowledge-browser-ui.md +0 -86
  220. package/reference/claude-config/sync-notes/2026-06-06-om-build-systems-scaffold.md +0 -47
  221. package/reference/claude-config/sync-notes/2026-06-06-om-item-copy-references.md +0 -50
  222. package/reference/claude-config/sync-notes/2026-06-08-knowledge-base-page-not-found-fix.md +0 -76
  223. package/reference/claude-config/sync-notes/2026-06-09-agent-sessions-public-agent-chat-route.md +0 -75
  224. package/reference/claude-config/sync-notes/2026-06-09-sdk-cli-load-org-model-resolution.md +0 -42
  225. package/reference/claude-config/sync-notes/2026-06-12-agent-grants-visualizer-operations.md +0 -30
  226. package/reference/claude-config/sync-notes/2026-06-14-session-ux-and-project-cli-json.md +0 -33
  227. package/reference/claude-config/sync-notes/2026-06-14-shared-session-conversation-view.md +0 -26
  228. package/reference/claude-config/sync-notes/2026-06-15-session-chat-zero-wiring.md +0 -46
  229. package/reference/claude-config/sync-notes/2026-06-17-agent-session-ux-features.md +0 -34
  230. package/reference/claude-config/sync-notes/2026-06-25-shared-page-scroll-contract-guard.md +0 -52
  231. package/reference/claude-config/sync-notes/2026-06-26-leadgen-overview-om-telemetry.md +0 -47
  232. package/reference/claude-config/sync-notes/2026-07-21-agent-scaffold-hardening.md +0 -75
  233. package/reference/claude-config/sync-notes/2026-07-23-agent-session-memory.md +0 -49
  234. package/reference/claude-config/sync-notes/2026-07-23-workos-org-marker.md +0 -50
  235. package/reference/claude-config/sync-notes/2026-07-24-claude-5-models-and-session-surface-fixes.md +0 -116
  236. package/reference/claude-config/sync-notes/2026-07-27-agent-strict-output-and-turn-drift.md +0 -73
  237. package/reference/claude-config/sync-notes/2026-07-28-agent-reply-is-its-own-field.md +0 -84
  238. package/reference/claude-config/sync-notes/2026-07-30-login-screen-and-member-provisioning-state.md +0 -114
  239. package/reference/claude-config/sync-notes/2026-08-02-auth-guard-defaults-and-truncation-fix.md +0 -122
  240. package/reference/claude-config/sync-notes/2026-08-03-agent-prose-escape-normalization.md +0 -88
  241. package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md +0 -120
  242. package/reference/claude-config/sync-notes/README.md +0 -43
  243. package/reference/sdk/framework/interaction-guidance.mdx +0 -182
  244. package/reference/sdk/framework/memory.mdx +0 -326
  245. package/reference/sdk/framework/resource-documentation.mdx +0 -90
  246. package/reference/sdk/roadmap.mdx +0 -164
@@ -1,475 +0,0 @@
1
- ---
2
- name: om
3
- description: |
4
- TRIGGER this skill when any of the following apply:
5
- - The user references organization-model entities by name or concept: identity, customers,
6
- offerings, roles, goals, techStack, systems, actions, labels, knowledge nodes, governance edges,
7
- mounts, playbook, outreach cadence, or any domain in the org model.
8
- - The user asks to read, list, find, show, query, navigate, describe, codify, add, edit,
9
- update, toggle, enable, or disable any organization-model domain or knowledge node.
10
- - The user asks "what governs X?", "what does X control?", "system governs", "what is our
11
- identity set to?", "what's our timezone?", "show me all reference docs", "list my roles",
12
- "where does outreach-cadence apply?", or similar.
13
- - An agent is editing files matching: core/config/organization-model.ts,
14
- core/config/organization-model/**, or core/config/knowledge/**.
15
- SKIP this skill when the task is purely UI layout, workflow authoring, or infrastructure
16
- work with no reference to org-model or knowledge-graph entities.
17
-
18
- /knowledge is preserved as a permanent alias for muscle memory; both names route here.
19
- metadata:
20
- pathPatterns:
21
- - "core/config/organization-model.ts"
22
- - "core/config/organization-model/**"
23
- - "core/config/knowledge/**"
24
- - "core/config/extensions/**"
25
- promptSignals:
26
- phrases:
27
- - playbook
28
- - knowledge node
29
- - system governs
30
- - outreach cadence
31
- - identity
32
- - customer segment
33
- - codify
34
- - enable system
35
- - toggle system
36
- - what governs
37
- - org model
38
- - organization model
39
- - offerings
40
- - techStack
41
- - roles
42
- - goals
43
- - labels
44
- - knowledge map
45
- - governance edge
46
- - knowledge mount
47
- - knowledge graph
48
- - knowledge browser
49
- - ontology
50
- - apiInterface
51
- - interface readiness
52
- - by-ontology
53
- - list my roles
54
- - what is our
55
- - show me all reference docs
56
- - where does
57
- - apply
58
- - build a system
59
- - design a system
60
- - create a system that
61
- - system architecture
62
- allowed-tools: Read, Write, Edit, Glob, Grep, Bash
63
- ---
64
-
65
- # OM (Organization Model)
66
-
67
- Unified intent-inferring skill for all organization-model interaction in this tenant project.
68
- Reads OM state through the `elevasis-sdk om:*` CLI surface (or the legacy `knowledge:*` aliases
69
- that still work); writes run through the Codify/Toggle ceremony. No verb namespace is required --
70
- the skill classifies intent from conversation context and routes internally.
71
-
72
- The slash command was renamed from `/knowledge` to `/om`; `/knowledge` is preserved as a permanent
73
- alias. Both invocations land here.
74
-
75
- ---
76
-
77
- ## When to Invoke
78
-
79
- This skill auto-invokes whenever:
80
-
81
- - Conversation references org-model entities (identity, customers, offerings, roles, goals,
82
- techStack, systems, actions, labels, knowledge nodes, governance edges, mounts)
83
- - The user asks to read, list, find, show, query, navigate, describe, codify, add, edit,
84
- update, toggle, enable, or disable any of those
85
- - An agent is editing files matching `core/config/organization-model.ts`,
86
- `core/config/organization-model/**`, `core/config/extensions/**`, or
87
- `core/config/knowledge/**`
88
-
89
- Auto-invocation is driven by frontmatter `description`, `metadata.pathPatterns`, and
90
- `metadata.promptSignals` -- no explicit prefix is required.
91
-
92
- ---
93
-
94
- ## Operations
95
-
96
- | Operation | Description | Execute |
97
- | --------- | ------------------------------------------------------------------------------------------------------------------------ | --------------------------------------- |
98
- | `build` | Codify-ceremony runbook for building a System end to end (shell → ontology → resources → topology → knowledge → verify). | `.claude/skills/om/operations/build.md` |
99
-
100
- ---
101
-
102
- ## 5-Bucket Decision Tree
103
-
104
- If the user expresses intent to **build, design, or architect a system** -- phrased as "build a
105
- system", "design a system", "create a system that does X", "I want a system for Y", "system
106
- architecture for Z", or any free-text describing a system they want to construct rather than
107
- query -- route to `/om build` **before** the buckets below. Read
108
- `.claude/skills/om/operations/build.md` and follow its ordered phases. This is the primary
109
- entry; the user does not need to type `/om build` explicitly.
110
-
111
- Once invoked for read/write intents (not build), classify the user's input into ONE of these
112
- buckets and dispatch the matching primitive. When two buckets fit, prefer the higher one (more
113
- specific → more general).
114
-
115
- | # | Bucket | Trigger | Dispatch |
116
- | --- | ------------------------------ | ------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------- |
117
- | 1 | Named knowledge/role/policy id | User names `knowledge.<id>`, `role.<id>`, `policy.<id>` directly | `om:cat <id>` for body, `om:describe <id>` for neighborhood |
118
- | 2 | Named system | User names a system path (`sales.crm`, `sales.lead-gen`) | `om:describe <id>` |
119
- | 3 | Named ontology id | Id contains `:object/`, `:action/`, `:event/`, `:catalog/`, `:interface/`, `:link/`, `:endpoint/` | `om:describe <id>` (or `om:ls /by-ontology/<id> --ids-only` then `om:cat` each) |
120
- | 4 | Kind keyword | "playbooks", "strategies", "all references", "list policies" | `om:ls /by-kind/<kind> --ids-only` then `om:cat` each |
121
- | 5 | Free-text discovery | Anything else ("lead gen", "outreach", "what governs X?") | `om:search "<query>"` then drill into top hit with `om:describe` |
122
-
123
- On ambiguous input, default to **bucket 5 (search)** and surface the top hits. Codify and Toggle
124
- intents are write paths -- see "Write Power" below.
125
-
126
- ---
127
-
128
- ## CLI Surface
129
-
130
- All commands run with `pnpm elevasis-sdk <cmd>` from the tenant project root (uses the root script
131
- alias). Alternatively, use `pnpm -C operations exec elevasis-sdk <cmd>` from the monorepo root.
132
- Do NOT use `pnpm exec elevasis-sdk <cmd>` at the project root -- `@elevasis/sdk` is a dependency of
133
- `operations/` only; the binary is not found from the project root without the alias.
134
-
135
- | Command | Alias | Purpose |
136
- | ------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
137
- | `om:search <q>` | `knowledge:search` | Universal keyword search across all 6 OM surfaces |
138
- | `om:describe <id>` | `knowledge:describe` | Structured neighborhood view; kind auto-detected from id shape; also resolves `item:<domain>:<id>` and bare `<prefix>:<uuid>` domain-item forms |
139
- | `om:cat <id>` | `knowledge:cat` | Raw MDX body of a knowledge node |
140
- | `om:ls <path>` | `knowledge:ls` | List by mount path. Enumeration: `/all-systems`, `/all-resources`, `/all-roles`. Scoped: `/by-system/`, `/by-kind/`, `/by-ontology/`, `/by-owner/`, `/by-domain/`, `/by-item/`, `/graph/<id>/{governs,governed-by}` |
141
- | `om:graph <id>` | `knowledge:graph` | Show outgoing + incoming graph edges |
142
- | `om:skills <id>` | `knowledge:skills` | Show callable invocations on graph neighbors |
143
- | `om:generate` | `knowledge:generate` | Regenerate `_generated/nodes.ts` from MDX sources |
144
-
145
- Common flags: `--json`, `--ids-only`, `--limit <n>`, `--kinds <list>`.
146
-
147
- ---
148
-
149
- ## Read Patterns (Tenant Project)
150
-
151
- ### Free-text discovery (default for natural-language queries)
152
-
153
- ```bash
154
- pnpm elevasis-sdk om:search "lead gen"
155
- pnpm elevasis-sdk om:search outreach --kinds knowledge --limit 5
156
- pnpm elevasis-sdk om:search apollo --ids-only
157
- ```
158
-
159
- ### Neighborhood view for any OM node
160
-
161
- ```bash
162
- pnpm elevasis-sdk om:describe sales.crm
163
- pnpm elevasis-sdk om:describe knowledge.outreach-playbook
164
- pnpm elevasis-sdk om:describe sales.crm:object/deal
165
- ```
166
-
167
- ### Domain-item profile (clients, roles, policies, customers, offerings, goals)
168
-
169
- Use `om:describe item:<domain>:<id>` to read a rich domain-item profile -- identity, branding,
170
- location, and governing knowledge. The bare `<prefix>:<uuid>` form (e.g. `client:<uuid>`) is
171
- accepted as a back-compat alias and resolves identically.
172
-
173
- ```bash
174
- pnpm elevasis-sdk om:describe item:clients:<uuid> # full ClientProfile + location + governing knowledge
175
- pnpm elevasis-sdk om:describe item:roles:<id>
176
- pnpm elevasis-sdk om:describe item:policies:<id>
177
- pnpm elevasis-sdk om:describe item:customers:<id>
178
- pnpm elevasis-sdk om:describe item:offerings:<id>
179
- pnpm elevasis-sdk om:describe item:goals:<id>
180
- ```
181
-
182
- Do not confuse this with `client:get <uuid>` (the portfolio/DB surface for status, lineage, and
183
- deals). `om:describe item:clients:<uuid>` returns the org-model `ClientProfile`; `client:get`
184
- returns a sparse DB record. They share the same `id` and can be cross-linked by it.
185
-
186
- ### Read a single knowledge node body
187
-
188
- ```bash
189
- pnpm elevasis-sdk om:cat knowledge.outreach-playbook
190
- ```
191
-
192
- ### Top-level enumeration (drill-down entry point)
193
-
194
- Start here when an agent needs to discover what this tenant's custom OM contains before
195
- building on it -- list everything in a domain, then narrow with `om:describe` / `om:cat`:
196
-
197
- ```bash
198
- pnpm elevasis-sdk om:ls /all-systems # every System (path + label)
199
- pnpm elevasis-sdk om:ls /all-resources # every resource (id, kind, title)
200
- pnpm elevasis-sdk om:ls /all-roles # every role (id, title)
201
- pnpm elevasis-sdk om:ls /all-systems --ids-only # pipe paths into om:describe
202
- ```
203
-
204
- These resolve against this tenant's resolved model -- they enumerate the project's own custom
205
- OM, not the platform's. Use `--json` for the wrapped envelope or `--ids-only` for piping.
206
-
207
- ### Scoped mount-path listings
208
-
209
- ```bash
210
- pnpm elevasis-sdk om:ls /by-system/sales.crm
211
- pnpm elevasis-sdk om:ls /by-kind/playbook --ids-only
212
- pnpm elevasis-sdk om:ls /by-ontology/sales.crm:object/deal --ids-only
213
- pnpm elevasis-sdk om:ls /by-owner/role.ops-lead --ids-only
214
- pnpm elevasis-sdk om:ls /by-domain/clients # enumerate all client domain items
215
- pnpm elevasis-sdk om:ls /by-item/clients/<uuid> # single item record (same as om:describe item:clients:<uuid>)
216
- pnpm elevasis-sdk om:graph knowledge.outreach-playbook
217
- ```
218
-
219
- When a query clearly names an ontology id such as `sales.crm:object/deal`, route through
220
- `/by-ontology/<id>` automatically. When the query names a graph node id such as
221
- `ontology:sales.crm:object/deal`, strip the `ontology:` graph prefix for the
222
- `/by-ontology/<id>` path.
223
-
224
- ### `/om read-folder` (chat shorthand from the Knowledge Browser)
225
-
226
- The Knowledge Browser's copy button on a top-level system, kind group, or domain-item node
227
- emits a single `/om read-folder <axis>:<id>` line (or the legacy `/knowledge read-folder ...`
228
- form) instead of N per-node `read` lines. Resolve it by the table below:
229
-
230
- | Copy form | Resolution |
231
- | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------- |
232
- | `/om read-folder system:<id>` | `pnpm elevasis-sdk om:ls /by-system/<id> --ids-only`, then `om:cat` each |
233
- | `/om read-folder kind:<kind>` | `pnpm elevasis-sdk om:ls /by-kind/<kind> --ids-only`, then `om:cat` each |
234
- | `/om read-folder owner:<id>` | `pnpm elevasis-sdk om:ls /by-owner/<id> --ids-only`, then `om:cat` each |
235
- | `/om read-folder ontology:<id>` | `pnpm elevasis-sdk om:ls /by-ontology/<id> --ids-only`, then `om:cat` each |
236
- | `/om read-folder item:<domain>:<id>` | `pnpm elevasis-sdk om:describe item:<domain>:<id>` -- returns profile + location + governing knowledge |
237
- | `/om read-folder graph:<id>` | inspect `/graph/<id>/governs` and `/graph/<id>/governed-by`; read returned knowledge ids |
238
- | `/om read-folder group:<id>` | browser overview reference only; resolve by visible children -- `pnpm elevasis-sdk om:ls /by-system/<id> --ids-only` |
239
- | `/om read-folder domain:<domain>` | browser overview reference only; resolve by enumerating domain -- `pnpm elevasis-sdk om:ls /by-domain/<domain> --ids-only` |
240
- | `/om read-folder folder:<id>` | browser overview reference only; treat as `domain:<id>` and enumerate with `/by-domain/<id>` |
241
-
242
- **Legacy bridge -- `graph:client:<uuid>` and other `graph:<prefix>:<uuid>` domain-item forms:**
243
- Older Knowledge Browser builds emitted `graph:client:<uuid>` for client items. This is a
244
- graph-neighborhood shorthand, not a profile read. When you receive such a reference:
245
-
246
- 1. Resolve the graph neighborhood: `pnpm elevasis-sdk om:graph client:<uuid>` (may return empty or only `contains` edges -- that is expected; no `ClientProfile` is accessible this way).
247
- 2. For the rich profile, pivot to: `pnpm elevasis-sdk om:describe item:clients:<uuid>`.
248
-
249
- In short: `graph:client:<uuid>` points to the graph node; `item:clients:<uuid>` resolves the
250
- full org-model profile. Always use `item:` for profile reads going forward.
251
-
252
- Dotted system ids may use either dots or slashes (`sales.crm` and `sales/crm` both work).
253
- Legacy `feature:<id>` copy lines from older browser builds are compatibility aliases for
254
- `system:<id>`; resolve through `/by-system/`. Per-node leaves still copy as
255
- `/om read <node-id>` (or `/knowledge read <node-id>`).
256
-
257
- `read-folder system:<id>` is the baseline knowledge read, not a mandatory full-system snapshot.
258
- Start by loading governing knowledge nodes; broaden into adjacent OM context only when the
259
- current task makes it relevant.
260
-
261
- ---
262
-
263
- ## Organization Model Navigation Guide
264
-
265
- Use this map whenever the task asks what something is, where it lives, what governs it, or
266
- what adjacent context may matter:
267
-
268
- | Question | Start here | Then inspect |
269
- | ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
270
- | What Systems exist? | `om:ls /all-systems` | System IDs, parentage, lifecycle, UI metadata, and content |
271
- | What resources exist? | `om:ls /all-resources` | resource ids, kinds, owning System refs |
272
- | What roles exist? | `om:ls /all-roles` | role ids, titles, responsibilities |
273
- | What governs a System? | `om:describe <system-id>` or `om:ls /by-system/<id>` | system entry, governed knowledge, roles, policies, graph `governs` edges |
274
- | What resources belong to a System? | the id-keyed `organizationModel.resources` map and `getResourcesForSystem(model, systemPath)` | use `{ includeDescendants: true }` only for parent-scope rollups |
275
- | What can a System do? | system action refs and the actions domain | `action.resourceId`, invocation metadata, affected entities, policies |
276
- | What data does it own? | entities domain | owning System refs, state catalogs, entity links, emitted/projected events |
277
- | Is a platform API interface ready? | the System's `apiInterface` marker and `operations/node_modules/@elevasis/sdk/reference/scaffold/reference/system-interface-capabilities.md` | matching convention-locked System path, cataloged `readinessProfile`, derived resource ontology bindings, and scoped topology grants |
278
- | What UI surface exposes it? | `navigation.sidebar` plus `SystemModule` manifests | route files, surface targets, route-prefix modules, guards |
279
- | What knowledge applies? | `om:ls /by-system/<id>` plus graph edges | `om:cat`, `om:graph`, `/graph/<id>/governed-by` |
280
-
281
- Do not treat any one read as a complete system snapshot. The OM is a set of related domain maps;
282
- follow the relationship that matches the work. Prefer structured helpers from
283
- `@elevasis/core/organization-model` over ad hoc string scanning when code access is available.
284
-
285
- ---
286
-
287
- ## System Taxonomy and Resource Placement
288
-
289
- Use Systems for durable organizational capability boundaries, not implementation categories.
290
-
291
- A System is appropriate only when it owns at least one of:
292
-
293
- - Business or platform capability semantics
294
- - System-local ontology/config
295
- - Accountable roles or governance
296
- - Resources that operate that capability
297
- - Knowledge or policies that govern that capability
298
-
299
- Do not create Systems for:
300
-
301
- - Resource kinds such as `workflows`, `agents`, `scripts`, or `triggers`
302
- - Shell or navigation groups such as `operations`, `monitoring`, `settings`, or `knowledge`
303
- - Catch-all buckets such as `automation`, `misc`, `runtime`, or `tools`
304
- - Individual UI pages or logs such as `command queue`, `task scheduler`, or `execution logs`
305
- - One-off implementations that should be Resources
306
-
307
- Resources still require `systemPath`. Choose the System by the capability the Resource supports,
308
- not by its implementation type.
309
-
310
- Placement examples:
311
-
312
- - Scaffold/runtime smoke test `echo` -> `platform.diagnostics`
313
- - Shared notification workflow -> `platform.notifications`
314
- - Lead-gen workflow -> `sales.lead-gen`
315
- - CRM or deal workflow -> `sales.crm`
316
- - Project status workflow -> `projects`
317
- - External integration credential/sync resource -> the business or platform System it serves, not
318
- `integrations` unless an actual integration-platform subsystem exists
319
-
320
- Before adding a System:
321
-
322
- 1. Run `pnpm elevasis-sdk om:ls /all-systems`.
323
- 2. Run `pnpm elevasis-sdk om:describe <candidate-parent-or-owner>`.
324
- 3. If the proposed System name is a resource kind, shell group, or catch-all, do not create it;
325
- attach or create a Resource under the real owning System.
326
- 4. Create a new System only when no existing System owns the capability and the new System has
327
- durable ontology/config/governance meaning.
328
-
329
- Current template placement convention:
330
-
331
- - Platform cross-cutting subsystems live under `platform.*`.
332
- - `platform.diagnostics` owns scaffold diagnostic resources.
333
- - `platform.notifications` owns notification delivery.
334
- - Tenant business workflows belong to the business System they operate, such as `sales.lead-gen`
335
- or `projects`.
336
-
337
- ---
338
-
339
- ## API Interface Readiness
340
-
341
- `system.apiInterface` is adopt-only in tenant projects. It declares intent to adopt a platform-provided API capability from the installed `@elevasis/core` / `@elevasis/sdk` version; it is not a tenant extension point.
342
-
343
- Use only readiness profiles listed in `operations/node_modules/@elevasis/sdk/reference/scaffold/reference/system-interface-capabilities.md`. The profile also fixes the required System path, such as `sales.lead-gen` or `sales.crm`. Do not invent a profile, and do not repoint a cataloged profile to a custom System path.
344
-
345
- Readiness is derived, not hand-authored. After the marker is present, the validator checks ontology object/catalog types, scoped resources and their `resource.ontology` bindings, and any required scoped topology `uses` grants. Lead-gen to CRM handoff is represented as a scoped topology relationship under the cross-System boundary invariant, not as an authored bridge object.
346
-
347
- Custom Systems should not carry `apiInterface`. Build custom behavior through `System.ontology`, `System.config`, resources, catalogs, topology, navigation, and workflows/operations. Runtime business logic belongs in workflows and agents registered by `operations/src/index.ts`; the tenant project does not add platform API routes.
348
-
349
- Do not confuse ontology `interface` records with `system.apiInterface`. Ontology ids such as `<system>:interface/<local-id>` describe semantic model records under `System.ontology`; `system.apiInterface` is a flat System-level marker for closed platform API readiness.
350
-
351
- ---
352
-
353
- ## Shared Layering Preview
354
-
355
- When opening a domain that uses a closed stage, status, or catalog vocabulary -- especially
356
- prospecting, CRM, outreach, or another pipeline-like domain -- read the scaffold-shipped primer:
357
-
358
- ```bash
359
- operations/node_modules/@elevasis/sdk/reference/spine/spine-primer.md
360
- ```
361
-
362
- Use it to emit a short domain layering preview before the normal read, describe, or codify flow:
363
-
364
- 1. **Catalog:** which `organizationModel.<domain>` catalog owns the keys, labels, descriptions,
365
- ordering, and entity ownership.
366
- 2. **Runtime state:** where record progress is stored as sparse state keyed by those catalog
367
- members.
368
- 3. **Producers:** which workflow resources, templates, or factories write entity-tagged results
369
- for those keys.
370
- 4. **Consumers:** which dashboards, queues, reports, filters, or API reads render or aggregate the
371
- same keys.
372
-
373
- For vibe-coder sessions, translate this into plain language: "business profile", "saved progress",
374
- "workflow resources", and "dashboard or reports". For technical sessions, it is acceptable to name
375
- the catalog, state map, producer, and consumer surfaces directly.
376
-
377
- ---
378
-
379
- ## Write Power (Codify + Toggle Ceremony)
380
-
381
- This tenant skill owns the full Codify and Toggle write surface. Every write runs the six-step
382
- safety ceremony preserved verbatim from the legacy `/configure` flow.
383
-
384
- ### Step 1: Snapshot
385
-
386
- Determine the target file for the domain being edited (see the domain reference file for
387
- "Where it lives" guidance). Read that file into memory before any edit. This is the rollback
388
- target. For unsplit projects the target is `core/config/organization-model.ts`; for split projects
389
- use the appropriate sub-file (`profile.ts`, `systems.ts`, or `navigation.ts` under
390
- `core/config/organization-model/`).
391
-
392
- ### Step 2: Propose
393
-
394
- Show the diff in chat. Identify which domain and field changes. Present the proposed new value
395
- in context alongside the current value.
396
-
397
- For stage, status, or catalog vocabulary edits, include the shared-layer impact preview before
398
- asking for confirmation. Name the affected catalog key, whether existing sparse runtime state may
399
- contain the old key, which producers/templates reference it, and which consumers render or filter
400
- by it.
401
-
402
- ### Step 3: Confirm
403
-
404
- Pause for explicit user confirmation. Do not proceed without a clear yes. Permission prompts also
405
- gate writes.
406
-
407
- ### Step 4: Write
408
-
409
- Apply the edit using the Edit or Write tool.
410
-
411
- ### Step 5: Validate
412
-
413
- Run both checks:
414
-
415
- ```bash
416
- pnpm -C operations check-types # TypeScript type-check
417
- pnpm -C operations check # Runtime schema validation (Zod parse)
418
- ```
419
-
420
- ### Step 6: Rollback
421
-
422
- If any validation step fails, restore the file from the Step 1 snapshot and report the error.
423
- The rollback is mandatory -- never leave the project in a broken state.
424
-
425
- **Two-level ceremony:**
426
-
427
- - **Level A** -- config-only edits to existing schema fields in a single config file under
428
- `core/config/` (the entry `organization-model.ts` for unsplit projects, or the appropriate
429
- sub-file for split projects — see the domain reference for the correct target).
430
- Execute: `.claude/skills/om/operations/codify-level-a.md`
431
- - **Level B** -- new Zod extension files in `core/config/extensions/`. Gated to explicit user
432
- ask. On casual second mentions of a new type, suggest Level B and wait for confirmation rather
433
- than scaffolding automatically.
434
- Execute: `.claude/skills/om/operations/codify-level-b.md`
435
-
436
- ---
437
-
438
- ## Domain References
439
-
440
- The following domain reference files document each org-model domain: schema fields, validation
441
- rules, examples, and how to read or edit them. Load the relevant file when the user's intent
442
- classification names a specific domain.
443
-
444
- - `.claude/skills/om/operations/identity.md` -- identity domain
445
- - `.claude/skills/om/operations/customers.md` -- customer segments
446
- - `.claude/skills/om/operations/offerings.md` -- products and services
447
- - `.claude/skills/om/operations/roles.md` -- role chart
448
- - `.claude/skills/om/operations/goals.md` -- organizational goals
449
- - `.claude/skills/om/operations/techStack.md` -- external integration registry
450
- - `.claude/skills/om/operations/features.md` -- legacy compatibility notes for feature wording
451
- - `.claude/skills/om/operations/labels.md` -- inline display labels on enum entries
452
-
453
- ---
454
-
455
- ## When NOT to Use This Skill
456
-
457
- - Pure UI layout (no OM, no org-model entities, no knowledge graph)
458
- - Workflow authoring or infrastructure work that doesn't reference org-model entities
459
- - Status checks / ops questions about deployed resources -- those route through `/elevasis`
460
- - Project/task management -- those route through `/project`
461
-
462
- ---
463
-
464
- ## Cross-Links
465
-
466
- - `/configure` -- legacy org-model editor (pre-absorption). Absorbed into this skill; all Codify
467
- and Toggle intents now route here. `/configure` vocabulary still works as a domain hint
468
- (e.g. "configure identity" is parsed as domain=identity, intent=Describe-or-Codify).
469
- - `operations/node_modules/@elevasis/sdk/reference/spine/spine-primer.md` -- scaffold-shipped layering primer
470
- for stage/status/catalog vocabularies that coordinate business-profile entries, runtime progress,
471
- producers, and consumers in tenant projects.
472
-
473
- ---
474
-
475
- **Last Updated:** 2026-06-06