@elevasis/sdk 1.21.0 → 1.22.1

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 (160) hide show
  1. package/dist/cli.cjs +1239 -173
  2. package/dist/index.d.ts +1752 -464
  3. package/dist/index.js +3477 -143
  4. package/dist/node/index.d.ts +1 -0
  5. package/dist/node/index.js +19 -1
  6. package/dist/test-utils/index.d.ts +1188 -127
  7. package/dist/test-utils/index.js +3359 -152
  8. package/dist/worker/index.js +3148 -80
  9. package/package.json +2 -2
  10. package/reference/claude-config/hooks/post-edit-validate.mjs +98 -98
  11. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +188 -188
  12. package/reference/claude-config/hooks/tool-failure-recovery.mjs +73 -73
  13. package/reference/claude-config/registries/graph-skills.json +4 -4
  14. package/reference/claude-config/registries/knowledge-flags.json +0 -2
  15. package/reference/claude-config/rules/active-change-index.md +80 -80
  16. package/reference/claude-config/rules/agent-start-here.md +277 -277
  17. package/reference/claude-config/rules/deployment.md +57 -57
  18. package/reference/claude-config/rules/error-handling.md +56 -56
  19. package/reference/claude-config/rules/execution.md +40 -40
  20. package/reference/claude-config/rules/frontend.md +4 -4
  21. package/reference/claude-config/rules/observability.md +31 -31
  22. package/reference/claude-config/rules/operations.md +29 -17
  23. package/reference/claude-config/rules/organization-model.md +113 -81
  24. package/reference/claude-config/rules/organization-os.md +115 -113
  25. package/reference/claude-config/rules/package-taxonomy.md +33 -33
  26. package/reference/claude-config/rules/platform.md +42 -42
  27. package/reference/claude-config/rules/shared-types.md +49 -46
  28. package/reference/claude-config/rules/task-tracking.md +47 -47
  29. package/reference/claude-config/rules/ui.md +200 -200
  30. package/reference/claude-config/rules/vibe.md +235 -235
  31. package/reference/claude-config/scripts/statusline-command.js +18 -18
  32. package/reference/claude-config/settings.json +34 -34
  33. package/reference/claude-config/skills/deploy/{SKILL.md → skill.md} +156 -156
  34. package/reference/claude-config/skills/dsp/SKILL.md +66 -66
  35. package/reference/claude-config/skills/elevasis/SKILL.md +235 -235
  36. package/reference/claude-config/skills/explore/SKILL.md +6 -6
  37. package/reference/claude-config/skills/git-sync/SKILL.md +126 -126
  38. package/reference/claude-config/skills/knowledge/SKILL.md +314 -299
  39. package/reference/claude-config/skills/knowledge/operations/codify-level-a.md +100 -100
  40. package/reference/claude-config/skills/knowledge/operations/codify-level-b.md +159 -159
  41. package/reference/claude-config/skills/knowledge/operations/customers.md +109 -109
  42. package/reference/claude-config/skills/knowledge/operations/features.md +76 -76
  43. package/reference/claude-config/skills/knowledge/operations/goals.md +118 -118
  44. package/reference/claude-config/skills/knowledge/operations/identity.md +93 -93
  45. package/reference/claude-config/skills/knowledge/operations/labels.md +94 -94
  46. package/reference/claude-config/skills/knowledge/operations/offerings.md +109 -109
  47. package/reference/claude-config/skills/knowledge/operations/roles.md +99 -99
  48. package/reference/claude-config/skills/knowledge/operations/techStack.md +30 -30
  49. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  50. package/reference/claude-config/skills/run-ui/SKILL.md +73 -73
  51. package/reference/claude-config/skills/save/SKILL.md +3 -3
  52. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  53. package/reference/claude-config/skills/status/SKILL.md +59 -59
  54. package/reference/claude-config/skills/submit-request/SKILL.md +180 -180
  55. package/reference/claude-config/skills/sync/SKILL.md +47 -47
  56. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  57. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  58. package/reference/claude-config/skills/tutorial/technical.md +1303 -1303
  59. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  60. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +27 -27
  61. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +30 -30
  62. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +73 -73
  63. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +86 -86
  64. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +55 -55
  65. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +97 -97
  66. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +112 -112
  67. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +93 -93
  68. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +58 -58
  69. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +56 -56
  70. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +71 -71
  71. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
  72. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +59 -59
  73. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +42 -42
  74. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +60 -60
  75. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +37 -37
  76. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +34 -34
  77. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +38 -38
  78. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +32 -32
  79. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +33 -33
  80. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +69 -69
  81. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +30 -30
  82. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +45 -0
  83. package/reference/claude-config/sync-notes/README.md +43 -43
  84. package/reference/cli.mdx +808 -808
  85. package/reference/concepts.mdx +146 -146
  86. package/reference/deployment/api.mdx +297 -297
  87. package/reference/deployment/command-center.mdx +209 -209
  88. package/reference/deployment/index.mdx +195 -195
  89. package/reference/deployment/provided-features.mdx +107 -107
  90. package/reference/deployment/ui-execution.mdx +250 -250
  91. package/reference/examples/organization-model.ts +171 -84
  92. package/reference/framework/agent.mdx +156 -156
  93. package/reference/framework/index.mdx +195 -195
  94. package/reference/framework/interaction-guidance.mdx +182 -182
  95. package/reference/framework/memory.mdx +326 -326
  96. package/reference/framework/project-structure.mdx +282 -282
  97. package/reference/framework/tutorial-system.mdx +135 -135
  98. package/reference/getting-started.mdx +142 -142
  99. package/reference/index.mdx +106 -106
  100. package/reference/packages/core/src/README.md +14 -14
  101. package/reference/packages/core/src/business/README.md +2 -2
  102. package/reference/packages/core/src/knowledge/README.md +32 -32
  103. package/reference/packages/core/src/organization-model/README.md +149 -149
  104. package/reference/packages/core/src/test-utils/README.md +37 -37
  105. package/reference/packages/ui/src/api/README.md +18 -18
  106. package/reference/packages/ui/src/app/README.md +24 -24
  107. package/reference/packages/ui/src/auth/README.md +18 -18
  108. package/reference/packages/ui/src/components/README.md +24 -24
  109. package/reference/packages/ui/src/execution/README.md +16 -16
  110. package/reference/packages/ui/src/features/README.md +28 -28
  111. package/reference/packages/ui/src/graph/README.md +16 -16
  112. package/reference/packages/ui/src/hooks/README.md +23 -23
  113. package/reference/packages/ui/src/initialization/README.md +19 -19
  114. package/reference/packages/ui/src/knowledge/README.md +31 -31
  115. package/reference/packages/ui/src/organization/README.md +18 -18
  116. package/reference/packages/ui/src/profile/README.md +19 -19
  117. package/reference/packages/ui/src/provider/README.md +32 -32
  118. package/reference/packages/ui/src/router/README.md +18 -18
  119. package/reference/packages/ui/src/sse/README.md +13 -13
  120. package/reference/packages/ui/src/test-utils/README.md +7 -7
  121. package/reference/packages/ui/src/theme/README.md +23 -23
  122. package/reference/packages/ui/src/theme/presets/README.md +19 -19
  123. package/reference/packages/ui/src/types/README.md +16 -16
  124. package/reference/packages/ui/src/utils/README.md +18 -18
  125. package/reference/packages/ui/src/zustand/README.md +18 -18
  126. package/reference/platform-tools/adapters-integration.mdx +301 -301
  127. package/reference/platform-tools/adapters-platform.mdx +553 -553
  128. package/reference/platform-tools/index.mdx +217 -217
  129. package/reference/platform-tools/type-safety.mdx +82 -82
  130. package/reference/resources/index.mdx +349 -349
  131. package/reference/resources/patterns.mdx +449 -449
  132. package/reference/resources/types.mdx +116 -116
  133. package/reference/roadmap.mdx +165 -165
  134. package/reference/runtime.mdx +173 -173
  135. package/reference/scaffold/core/organization-graph.mdx +110 -90
  136. package/reference/scaffold/core/organization-model.mdx +225 -213
  137. package/reference/scaffold/index.mdx +67 -67
  138. package/reference/scaffold/operations/propagation-pipeline.md +77 -77
  139. package/reference/scaffold/operations/scaffold-maintenance.md +12 -12
  140. package/reference/scaffold/operations/workflow-recipes.md +138 -138
  141. package/reference/scaffold/recipes/add-a-feature.md +307 -85
  142. package/reference/scaffold/recipes/add-a-resource.md +137 -103
  143. package/reference/scaffold/recipes/customize-knowledge-browser.md +5 -5
  144. package/reference/scaffold/recipes/customize-organization-model.md +275 -138
  145. package/reference/scaffold/recipes/extend-a-base-entity.md +8 -8
  146. package/reference/scaffold/recipes/extend-crm.md +3 -3
  147. package/reference/scaffold/recipes/extend-lead-gen.md +394 -394
  148. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +118 -118
  149. package/reference/scaffold/recipes/index.md +46 -46
  150. package/reference/scaffold/recipes/query-the-knowledge-graph.md +197 -170
  151. package/reference/scaffold/reference/contracts.md +2136 -2093
  152. package/reference/scaffold/reference/glossary.md +76 -76
  153. package/reference/scaffold/ui/composition-extensibility.mdx +233 -233
  154. package/reference/scaffold/ui/customization.md +243 -243
  155. package/reference/scaffold/ui/feature-flags-and-gating.md +46 -46
  156. package/reference/scaffold/ui/feature-shell.mdx +72 -72
  157. package/reference/scaffold/ui/recipes.md +221 -214
  158. package/reference/spine/spine-primer.md +96 -96
  159. package/reference/templates/index.mdx +47 -47
  160. package/reference/troubleshooting.mdx +223 -223
@@ -1,200 +1,227 @@
1
1
  <!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
2
2
  <!-- Regenerate: pnpm scaffold:sync -->
3
3
 
4
- ---
4
+ ---
5
5
  title: Query the Knowledge Graph
6
- description: Use the `knowledge:*` CLI subcommands on `elevasis-sdk` (external projects) and `elevasis` (monorepo) to browse, inspect, and traverse the OrganizationModel knowledge graph via five mount axes.
7
- ---
8
-
9
- # Query the Knowledge Graph
10
-
11
- The `knowledge:*` subcommands expose the OrganizationModel as a virtual filesystem. Paths are query strings -- `/by-system/sales/crm/` dispatches to a graph query, not a directory on disk. Three verbs cover all access patterns: `ls` (list), `cat` (read a node body), and `graph` (traverse edges).
12
-
13
- Both CLIs share the same query layer (`@repo/core/knowledge/queries`). The only difference is which OrganizationModel they load:
14
-
15
- - `elevasis-sdk` -- runs from inside `external/<project>/`, walks up to `.elevasis`, loads the project's `core/config/organization-model.ts`.
16
- - `elevasis` -- runs from the monorepo root, loads `canonicalOrganizationModel` from `@repo/elevasis-core`.
17
-
18
- ## Before you start
19
-
20
- The `knowledge:*` commands require `elevasis-sdk >= 1.4.0`. Check with:
21
-
22
- ```bash
23
- pnpm exec elevasis-sdk --version
24
- ```
25
-
26
- If you are running on Windows, **use PowerShell** for all `knowledge:*` commands. MSYS Bash rewrites the leading `/by-system/...` path argument to a Windows filesystem path, mangling the query. PowerShell passes the argument through verbatim.
27
-
28
- ## Three Verbs
29
-
30
- | Verb | Behavior |
31
- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------- |
32
- | `knowledge:ls <path>` | List nodes or edges for the mount. Default: id + summary table. `--json` for the wrapped envelope. `--ids-only` for piping. |
33
- | `knowledge:cat <id>` | Print a node's raw MDX `body` to stdout. |
34
- | `knowledge:graph <id>` | Show outgoing and incoming edges for a node, grouped by edge kind. |
35
-
36
- All three accept `--json` for machine-readable output. `knowledge:ls` additionally accepts `--ids-only` to print one node ID per line.
37
-
38
- ## Five Mount Axes
6
+ description: Use the `knowledge:*` CLI subcommands on `elevasis-sdk` (external projects) and `elevasis` (monorepo) to browse, inspect, and traverse the OrganizationModel knowledge graph via six mount axes.
7
+ ---
8
+
9
+ # Query the Knowledge Graph
10
+
11
+ The `knowledge:*` subcommands expose the OrganizationModel as a virtual filesystem. Paths are query strings -- `/by-system/sales/crm/` dispatches to a graph query, not a directory on disk. Three verbs cover all access patterns: `ls` (list), `cat` (read a node body), and `graph` (traverse edges).
12
+
13
+ Both CLIs share the same query layer (`@repo/core/knowledge/queries`). The only difference is which OrganizationModel they load:
14
+
15
+ - `elevasis-sdk` -- runs from inside `external/<project>/`, walks up to `.elevasis`, loads the project's `core/config/organization-model.ts`.
16
+ - `elevasis` -- runs from the monorepo root, loads `canonicalOrganizationModel` from `@repo/elevasis-core`.
17
+
18
+ ## Before you start
19
+
20
+ The `knowledge:*` commands require `elevasis-sdk >= 1.4.0`. Check with:
21
+
22
+ ```bash
23
+ pnpm exec elevasis-sdk --version
24
+ ```
25
+
26
+ If you are running on Windows, **use PowerShell** for all `knowledge:*` commands. MSYS Bash rewrites the leading `/by-system/...` path argument to a Windows filesystem path, mangling the query. PowerShell passes the argument through verbatim.
27
+
28
+ ## Three Verbs
29
+
30
+ | Verb | Behavior |
31
+ | ---------------------- | --------------------------------------------------------------------------------------------------------------------------- |
32
+ | `knowledge:ls <path>` | List nodes or edges for the mount. Default: id + summary table. `--json` for the wrapped envelope. `--ids-only` for piping. |
33
+ | `knowledge:cat <id>` | Print a node's raw MDX `body` to stdout. |
34
+ | `knowledge:graph <id>` | Show outgoing and incoming edges for a node, grouped by edge kind. |
35
+
36
+ All three accept `--json` for machine-readable output. `knowledge:ls` additionally accepts `--ids-only` to print one node ID per line.
37
+
38
+ ## Six Mount Axes
39
39
 
40
- The path argument to `knowledge:ls` determines the query. Five axes are available:
40
+ The path argument to `knowledge:ls` determines the query. Six axes are available:
41
41
 
42
42
  | Path prefix | Query | Returns |
43
43
  | ------------------------------ | ----------------------------- | --------------------------------------------------- |
44
44
  | `/by-system/<dotted-id>/` | `bySystem(graph, systemId)` | nodes with incoming `governs` edges to this system |
45
+ | `/by-ontology/<ontology-id>/` | `byOntology(graph, ontologyId)` | nodes with incoming `governs` edges to this ontology record |
45
46
  | `/by-kind/<kind>/` | `byKind(graph, kind)` | nodes where `node.kind === kind` |
46
47
  | `/by-owner/<id>/` | `byOwner(graph, ownerId)` | nodes where `node.ownerIds.includes(id)` |
47
48
  | `/graph/<nodeId>/governs/` | `governs(graph, nodeId)` | outgoing `governs` edges from `nodeId` |
48
49
  | `/graph/<nodeId>/governed-by/` | `governedBy(graph, nodeId)` | incoming `governs` edges to `nodeId` |
50
+
51
+ ## Examples
52
+
53
+ Each example is shown for both CLIs.
54
+
55
+ ### 1. List by system (`/by-system/<dotted-id>/`)
56
+
57
+ List all knowledge nodes that govern the `sales.crm` system:
58
+
59
+ ```bash
60
+ # External project (from inside external/<project>/)
61
+ pnpm exec elevasis-sdk knowledge:ls /by-system/sales.crm/
62
+
63
+ # Monorepo (from monorepo root)
64
+ pnpm exec elevasis knowledge:ls /by-system/sales.crm/
65
+ ```
66
+
67
+ Nested system ids use dots, not slashes: `sales.crm`, `sales.lead-gen`, `projects`.
68
+
69
+ ### 2. List by ontology (`/by-ontology/<ontology-id>/`)
49
70
 
50
- ## Examples
51
-
52
- Each example is shown for both CLIs.
53
-
54
- ### 1. List by system (`/by-system/<dotted-id>/`)
55
-
56
- List all knowledge nodes that govern the `sales.crm` system:
57
-
58
- ```bash
59
- # External project (from inside external/<project>/)
60
- pnpm exec elevasis-sdk knowledge:ls /by-system/sales.crm/
61
-
62
- # Monorepo (from monorepo root)
63
- pnpm exec elevasis knowledge:ls /by-system/sales.crm/
64
- ```
65
-
66
- Nested system ids use dots, not slashes: `sales.crm`, `sales.lead-gen`, `projects`.
67
-
68
- ### 2. List by kind (`/by-kind/<kind>/`)
69
-
70
- List all nodes of kind `playbook`:
71
-
72
- ```bash
73
- # External project
74
- pnpm exec elevasis-sdk knowledge:ls /by-kind/playbook
75
-
76
- # Monorepo
77
- pnpm exec elevasis knowledge:ls /by-kind/playbook
78
- ```
79
-
80
- Common kinds: `playbook`, `strategy`, and `reference`. The available kinds are defined on `OrgKnowledgeNode.kind` in `@elevasis/core/knowledge`.
81
-
82
- Machine-readable output for piping:
83
-
84
- ```bash
85
- pnpm exec elevasis knowledge:ls /by-kind/playbook --ids-only
86
- ```
87
-
88
- ### 3. List by owner (`/by-owner/<id>/`)
89
-
90
- List all knowledge nodes owned by a specific member or team:
91
-
92
- ```bash
93
- # External project
94
- pnpm exec elevasis-sdk knowledge:ls /by-owner/operations-team
95
-
96
- # Monorepo
97
- pnpm exec elevasis knowledge:ls /by-owner/operations-team
98
- ```
99
-
100
- The `<id>` matches against `node.ownerIds`. Owner IDs are declared on each knowledge node in the OrganizationModel.
101
-
102
- ### 4. Traverse outgoing edges (`/graph/<nodeId>/governs/`)
103
-
104
- List what a specific node governs (outgoing `governs` edges):
105
-
106
- ```bash
107
- # External project
108
- pnpm exec elevasis-sdk knowledge:ls /graph/knowledge.new-vertical-launch-playbook/governs/
109
-
110
- # Monorepo
111
- pnpm exec elevasis knowledge:ls /graph/knowledge.new-vertical-launch-playbook/governs/
112
- ```
113
-
114
- Knowledge node IDs use the `knowledge.<slug>` source id. Graph node IDs may be kind-prefixed,
115
- such as `knowledge:knowledge.new-vertical-launch-playbook` or `system:sales.crm`, when traversing
116
- graph edges.
117
-
118
- ### 5. Traverse incoming edges (`/graph/<nodeId>/governed-by/`)
119
-
120
- List what governs a specific node (incoming `governs` edges):
121
-
122
- ```bash
123
- # External project
124
- pnpm exec elevasis-sdk knowledge:ls /graph/knowledge.new-vertical-launch-playbook/governed-by/
125
-
126
- # Monorepo
127
- pnpm exec elevasis knowledge:ls /graph/knowledge.new-vertical-launch-playbook/governed-by/
128
- ```
129
-
130
- ## Read a Node Body
131
-
132
- `knowledge:cat` prints the raw MDX `body` string for a node. The body is not rendered -- it is the source MDX as stored in the OrganizationModel.
71
+ List all knowledge nodes that govern the CRM deal ontology record:
133
72
 
134
73
  ```bash
135
74
  # External project
136
- pnpm exec elevasis-sdk knowledge:cat knowledge.new-vertical-launch-playbook
75
+ pnpm exec elevasis-sdk knowledge:ls /by-ontology/sales.crm:object/deal
137
76
 
138
77
  # Monorepo
139
- pnpm exec elevasis knowledge:cat knowledge.new-vertical-launch-playbook
78
+ pnpm exec elevasis knowledge:ls /by-ontology/sales.crm:object/deal
140
79
  ```
141
80
 
142
- Pipe to a pager for long bodies:
143
-
144
- ```bash
145
- pnpm exec elevasis knowledge:cat knowledge.platform-composition-patterns | less
146
- ```
81
+ Ontology IDs use `system.path:kind/local-id` or `global:kind/local-id`. Slash-containing ontology IDs are part of the query path; use PowerShell on Windows so the leading `/by-ontology/...` path is not rewritten by MSYS Bash.
147
82
 
148
- ## Inspect a Node's Edges
149
-
150
- `knowledge:graph` shows all edges for a node grouped by kind:
151
-
152
- ```bash
153
- # External project
154
- pnpm exec elevasis-sdk knowledge:graph knowledge.new-vertical-launch-playbook
155
-
156
- # Monorepo
157
- pnpm exec elevasis knowledge:graph knowledge.new-vertical-launch-playbook
158
- ```
159
-
160
- This combines the `governs` and `governed-by` views in one output, useful for understanding a node's full graph position.
83
+ ### 3. List by kind (`/by-kind/<kind>/`)
84
+
85
+ List all nodes of kind `playbook`:
86
+
87
+ ```bash
88
+ # External project
89
+ pnpm exec elevasis-sdk knowledge:ls /by-kind/playbook
90
+
91
+ # Monorepo
92
+ pnpm exec elevasis knowledge:ls /by-kind/playbook
93
+ ```
94
+
95
+ Common kinds: `playbook`, `strategy`, and `reference`. The available kinds are defined on `OrgKnowledgeNode.kind` in `@elevasis/core/knowledge`.
96
+
97
+ Machine-readable output for piping:
98
+
99
+ ```bash
100
+ pnpm exec elevasis knowledge:ls /by-kind/playbook --ids-only
101
+ ```
102
+
103
+ ### 4. List by owner (`/by-owner/<id>/`)
104
+
105
+ List all knowledge nodes owned by a specific member or team:
106
+
107
+ ```bash
108
+ # External project
109
+ pnpm exec elevasis-sdk knowledge:ls /by-owner/operations-team
110
+
111
+ # Monorepo
112
+ pnpm exec elevasis knowledge:ls /by-owner/operations-team
113
+ ```
114
+
115
+ The `<id>` matches against `node.ownerIds`. Owner IDs are declared on each knowledge node in the OrganizationModel.
116
+
117
+ ### 5. Traverse outgoing edges (`/graph/<nodeId>/governs/`)
118
+
119
+ List what a specific node governs (outgoing `governs` edges):
120
+
121
+ ```bash
122
+ # External project
123
+ pnpm exec elevasis-sdk knowledge:ls /graph/knowledge.new-vertical-launch-playbook/governs/
124
+
125
+ # Monorepo
126
+ pnpm exec elevasis knowledge:ls /graph/knowledge.new-vertical-launch-playbook/governs/
127
+ ```
128
+
129
+ Knowledge node IDs use the `knowledge.<slug>` source id. Graph node IDs may be kind-prefixed,
130
+ such as `knowledge:knowledge.new-vertical-launch-playbook` or `system:sales.crm`, when traversing
131
+ graph edges.
132
+
133
+ ### 6. Traverse incoming edges (`/graph/<nodeId>/governed-by/`)
134
+
135
+ List what governs a specific node (incoming `governs` edges):
136
+
137
+ ```bash
138
+ # External project
139
+ pnpm exec elevasis-sdk knowledge:ls /graph/knowledge.new-vertical-launch-playbook/governed-by/
140
+
141
+ # Monorepo
142
+ pnpm exec elevasis knowledge:ls /graph/knowledge.new-vertical-launch-playbook/governed-by/
143
+ ```
144
+
145
+ ## Read a Node Body
146
+
147
+ `knowledge:cat` prints the raw MDX `body` string for a node. The body is not rendered -- it is the source MDX as stored in the OrganizationModel.
148
+
149
+ ```bash
150
+ # External project
151
+ pnpm exec elevasis-sdk knowledge:cat knowledge.new-vertical-launch-playbook
152
+
153
+ # Monorepo
154
+ pnpm exec elevasis knowledge:cat knowledge.new-vertical-launch-playbook
155
+ ```
156
+
157
+ Pipe to a pager for long bodies:
158
+
159
+ ```bash
160
+ pnpm exec elevasis knowledge:cat knowledge.platform-composition-patterns | less
161
+ ```
162
+
163
+ ## Inspect a Node's Edges
164
+
165
+ `knowledge:graph` shows all edges for a node grouped by kind:
166
+
167
+ ```bash
168
+ # External project
169
+ pnpm exec elevasis-sdk knowledge:graph knowledge.new-vertical-launch-playbook
170
+
171
+ # Monorepo
172
+ pnpm exec elevasis knowledge:graph knowledge.new-vertical-launch-playbook
173
+ ```
174
+
175
+ This combines the `governs` and `governed-by` views in one output, useful for understanding a node's full graph position.
176
+
177
+ ## JSON Output
178
+
179
+ All three verbs accept `--json`. `knowledge:ls --json` uses the wrapped envelope format:
180
+
181
+ ```json
182
+ {
183
+ "path": "/by-system/sales.crm",
184
+ "mount": "by-system",
185
+ "args": ["sales.crm"],
186
+ "results": [...]
187
+ }
188
+ ```
189
+
190
+ This is the format consumed by the `/knowledge` agent skill. Use it when scripting or building tooling that reads knowledge graph data programmatically.
161
191
 
162
- ## JSON Output
192
+ `knowledge:cat --json` returns the full knowledge node object, including the MDX `body`, links, owners, timestamps, and generated `sourceFilePath` when present.
163
193
 
164
- All three verbs accept `--json`. The output uses the wrapped envelope format:
194
+ `knowledge:graph --json` returns the same shape in both CLIs:
165
195
 
166
196
  ```json
167
197
  {
168
- "path": "/by-system/sales.crm",
169
- "mount": "by-system",
170
- "args": ["sales.crm"],
171
- "results": [...]
198
+ "nodeId": "knowledge.new-vertical-launch-playbook",
199
+ "outgoing": [],
200
+ "incoming": []
172
201
  }
173
202
  ```
174
-
175
- This is the format consumed by the `/knowledge` agent skill. Use it when scripting or building tooling that reads knowledge graph data programmatically.
176
-
177
- ```bash
178
- pnpm exec elevasis knowledge:ls /by-kind/playbook --json | jq '.results[].id'
179
- ```
180
-
181
- ## Windows Note
182
-
183
- On Windows, MSYS Bash rewrites path arguments starting with `/` to Windows filesystem paths before the CLI sees them. Use PowerShell:
184
-
185
- ```powershell
186
- # Correct on Windows -- PowerShell leaves the path arg intact
187
- pnpm exec elevasis knowledge:ls /by-kind/playbook
188
-
189
- # Wrong on Windows -- MSYS Bash mangles to C:\by-kind\playbook or similar
190
- bash -c "pnpm exec elevasis knowledge:ls /by-kind/playbook"
191
- ```
192
-
193
- All other `elevasis` and `elevasis-sdk` commands are unaffected; this gotcha is specific to path arguments that start with `/`.
194
-
195
- ## See Also
196
-
197
- - [Query functions API](../reference/contracts.md) -- `bySystem`, `byKind`, `byOwner`, `governs`, `governedBy` TypeScript signatures
198
- - [Glossary](../reference/glossary.md) -- `systemId`, `nodeId`, `kind`, `ownerIds`
199
- - [Knowledge Browser](../../../../apps/docs/content/docs/in-progress/active-development/sdk-changes/knowledge/index.mdx) -- task doc for the full Knowledge Map bundle
203
+
204
+ ```bash
205
+ pnpm exec elevasis knowledge:ls /by-kind/playbook --json | jq '.results[].id'
206
+ ```
207
+
208
+ ## Windows Note
209
+
210
+ On Windows, MSYS Bash rewrites path arguments starting with `/` to Windows filesystem paths before the CLI sees them. Use PowerShell:
211
+
212
+ ```powershell
213
+ # Correct on Windows -- PowerShell leaves the path arg intact
214
+ pnpm exec elevasis knowledge:ls /by-kind/playbook
215
+
216
+ # Wrong on Windows -- MSYS Bash mangles to C:\by-kind\playbook or similar
217
+ bash -c "pnpm exec elevasis knowledge:ls /by-kind/playbook"
218
+ ```
219
+
220
+ All other `elevasis` and `elevasis-sdk` commands are unaffected; this gotcha is specific to path arguments that start with `/`.
221
+
222
+ ## See Also
223
+
224
+ - [Query functions API](../reference/contracts.md) -- `bySystem`, `byOntology`, `byKind`, `byOwner`, `governs`, `governedBy` TypeScript signatures
225
+ - [Glossary](../reference/glossary.md) -- `systemId`, `nodeId`, `kind`, `ownerIds`
226
+ - [Knowledge Browser](../../../../apps/docs/content/docs/in-progress/active-development/sdk-changes/knowledge/index.mdx) -- task doc for the full Knowledge Map bundle
200
227