@elevasis/sdk 1.21.0 → 1.22.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 (160) hide show
  1. package/dist/cli.cjs +951 -171
  2. package/dist/index.d.ts +632 -341
  3. package/dist/index.js +3102 -142
  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 +313 -4
  7. package/dist/test-utils/index.js +3246 -281
  8. package/dist/worker/index.js +3041 -80
  9. package/package.json +3 -3
  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 +110 -84
  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 +42 -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 +146 -83
  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 +226 -219
  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 +308 -88
  142. package/reference/scaffold/recipes/add-a-resource.md +134 -110
  143. package/reference/scaffold/recipes/customize-knowledge-browser.md +5 -5
  144. package/reference/scaffold/recipes/customize-organization-model.md +273 -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 +400 -400
  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 +2101 -2096
  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,124 +1,148 @@
1
1
  <!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
2
2
  <!-- Regenerate: pnpm scaffold:sync -->
3
3
 
4
- ---
5
- title: Add a Resource
6
- description: Add an OM-owned workflow or agent descriptor, bind executable behavior in operations, and verify descriptor-backed deployment.
7
- ---
8
-
9
- # Add a Resource
10
-
11
- Resources are governed descriptors in the Organization Model. The OM owns resource identity, System membership, owner role, and lifecycle status. Operations code imports those descriptors, attaches executable workflow or agent behavior, and exports a `DeploymentSpec` for deployment.
12
-
13
- Do not keep a second identity catalog in operations. `DeploymentSpec` is the runtime/deploy assembly artifact; it should not be the place where a workflow ID is invented.
14
-
15
- ## 1. Author the OM descriptor
16
-
17
- Add the descriptor in `core/config/organization-model.ts`:
18
-
19
- ```ts
20
- import { defineResources } from '@elevasis/core/organization-model'
21
-
22
- export const resourceDescriptors = defineResources({
23
- myWorkflow: {
4
+ ---
5
+ title: Add a Resource
6
+ description: Add an OM-owned workflow or agent descriptor, bind executable behavior in operations, and verify descriptor-backed deployment.
7
+ ---
8
+
9
+ # Add a Resource
10
+
11
+ Resources are governed descriptors in the Organization Model. The OM owns resource identity, System membership, owner role, and lifecycle status. Operations code imports those descriptors, attaches executable workflow or agent behavior, and exports a `DeploymentSpec` for deployment.
12
+
13
+ Do not keep a second identity catalog in operations. `DeploymentSpec` is the runtime/deploy assembly artifact; it should not be the place where a workflow ID is invented.
14
+
15
+ ## 1. Author the OM descriptor
16
+
17
+ Add the descriptor in `core/config/organization-model.ts`:
18
+
19
+ ```ts
20
+ import { defineResources } from '@elevasis/core/organization-model'
21
+
22
+ export const resourceDescriptors = defineResources({
23
+ myWorkflow: {
24
24
  id: 'my-workflow',
25
25
  order: 10,
26
26
  kind: 'workflow',
27
- systemPath: 'sys.operations',
27
+ systemPath: 'operations',
28
28
  ownerRoleId: 'role-ops-lead',
29
29
  status: 'active',
30
- actionKey: 'operations.my-workflow'
31
- }
32
- })
33
- ```
34
-
35
- Then expose the descriptor catalog through the Organization Model:
36
-
37
- ```ts
38
- export const resourceGovernanceModel = {
39
- systems,
40
- resources: resourceDescriptors
41
- } as const
42
- ```
43
-
30
+ actionKey: 'operations.my-workflow',
31
+ ontology: {
32
+ implements: ['operations:action/my-workflow.run'],
33
+ reads: ['operations:object/work-item'],
34
+ writes: ['operations:object/work-item'],
35
+ usesCatalogs: ['operations:catalog/workflow-status'],
36
+ emits: ['operations:event/my-workflow.completed']
37
+ },
38
+ codeRefs: [
39
+ {
40
+ path: 'operations/src/my-workflow/index.ts',
41
+ role: 'entrypoint',
42
+ symbol: 'myWorkflow'
43
+ },
44
+ {
45
+ path: 'operations/src/my-workflow/my-workflow.test.ts',
46
+ role: 'test'
47
+ }
48
+ ]
49
+ }
50
+ })
51
+ ```
52
+
53
+ Then expose the descriptor catalog through the Organization Model:
54
+
55
+ ```ts
56
+ export const resourceGovernanceModel = {
57
+ systems,
58
+ resources: resourceDescriptors
59
+ } as const
60
+ ```
61
+
44
62
  Use `organizationModel.resources` as the Resources descriptor catalog. Graph references still use kind-prefixed IDs, such as `system:sales.crm`, `resource:lead-import`, or `action:operations.queue.review`, when runtime behavior needs semantic graph binding.
45
63
 
46
- ## 2. Author executable behavior
47
-
48
- Operations code owns schemas, steps, handlers, triggers, and UI execution metadata. Import the descriptor and derive runtime identity from it at the binding boundary:
49
-
50
- ```ts
51
- import type { WorkflowDefinition } from '@elevasis/sdk'
52
- import { resourceDescriptors } from '@core/config/organization-model'
53
-
54
- export const myWorkflow: WorkflowDefinition = {
55
- config: {
56
- resource: resourceDescriptors.myWorkflow,
57
- resourceId: resourceDescriptors.myWorkflow.id,
58
- name: 'My Workflow',
59
- type: resourceDescriptors.myWorkflow.kind,
60
- version: '1.0.0',
61
- status: 'dev',
62
- category: 'production'
63
- },
64
- contract: {
65
- inputSchema,
66
- outputSchema
67
- },
68
- steps: {
69
- run: {
70
- id: 'run',
71
- name: 'Run',
72
- handler: async (_input, context) => {
73
- context.logger.info('[my-workflow] starting')
74
- return { ok: true }
75
- },
76
- inputSchema,
77
- outputSchema,
78
- next: null
79
- }
80
- },
81
- entryPoint: 'run'
82
- }
83
- ```
84
-
85
- `category` is one of `production`, `diagnostic`, `internal`, or `testing`.
86
-
87
- ## 3. Register in the deployment spec
88
-
89
- ```ts
90
- import { resourceGovernanceModel } from '@core/config/organization-model'
91
- import { myWorkflow } from './my-workflow/index.js'
92
-
93
- export const org = {
94
- version: '0.1.0',
95
- organizationModel: resourceGovernanceModel,
96
- workflows: [myWorkflow],
97
- agents: []
98
- }
99
- ```
100
-
101
- Use `.js` extensions in TypeScript source imports for ESM compatibility.
102
-
103
- ## 4. Declare runtime relationships
104
-
105
- Use `DeploymentSpec.relationships` for execution topology:
106
-
107
- ```ts
108
- relationships: {
109
- 'my-workflow': {
110
- triggers: { workflows: ['email-notification'] },
111
- uses: { integrations: ['hubspot'] }
112
- }
113
- }
114
- ```
115
-
116
- Use `config.links` for semantic graph binding and `relationships` for runtime execution relationships.
117
-
118
- ## 5. Verify
119
-
120
- ```bash
64
+ Use `codeRefs` as repo-relative implementation breadcrumbs for agents and operators. They do not define resource identity, System membership, runtime topology, or graph links; they point from the governed Resource descriptor to the files that implement, validate, or document it.
65
+
66
+ Use `actionKey` only when the resource implements a stable runtime action key. Use nested `resource.ontology` bindings to declare which ontology actions, objects, catalogs, and events the resource implements, reads, writes, uses, or emits. Optional top-level resource `emits` remains readable for bridge-era event descriptors, but new descriptors should keep event bindings in `resource.ontology.emits`.
67
+
68
+ ## 2. Author executable behavior
69
+
70
+ Operations code owns schemas, steps, handlers, triggers, and UI execution metadata. Import the descriptor and derive runtime identity from it at the binding boundary:
71
+
72
+ ```ts
73
+ import type { WorkflowDefinition } from '@elevasis/sdk'
74
+ import { resourceDescriptors } from '@core/config/organization-model'
75
+
76
+ export const myWorkflow: WorkflowDefinition = {
77
+ config: {
78
+ resource: resourceDescriptors.myWorkflow,
79
+ resourceId: resourceDescriptors.myWorkflow.id,
80
+ name: 'My Workflow',
81
+ type: resourceDescriptors.myWorkflow.kind,
82
+ version: '1.0.0',
83
+ status: 'dev',
84
+ category: 'production'
85
+ },
86
+ contract: {
87
+ inputSchema,
88
+ outputSchema
89
+ },
90
+ steps: {
91
+ run: {
92
+ id: 'run',
93
+ name: 'Run',
94
+ handler: async (_input, context) => {
95
+ context.logger.info('[my-workflow] starting')
96
+ return { ok: true }
97
+ },
98
+ inputSchema,
99
+ outputSchema,
100
+ next: null
101
+ }
102
+ },
103
+ entryPoint: 'run'
104
+ }
105
+ ```
106
+
107
+ `category` is one of `production`, `diagnostic`, `internal`, or `testing`.
108
+
109
+ ## 3. Register in the deployment spec
110
+
111
+ ```ts
112
+ import { resourceGovernanceModel } from '@core/config/organization-model'
113
+ import { myWorkflow } from './my-workflow/index.js'
114
+
115
+ export const org = {
116
+ version: '0.1.0',
117
+ organizationModel: resourceGovernanceModel,
118
+ workflows: [myWorkflow],
119
+ agents: []
120
+ }
121
+ ```
122
+
123
+ Use `.js` extensions in TypeScript source imports for ESM compatibility.
124
+
125
+ ## 4. Declare runtime relationships
126
+
127
+ Use `DeploymentSpec.relationships` for execution topology:
128
+
129
+ ```ts
130
+ relationships: {
131
+ 'my-workflow': {
132
+ triggers: { workflows: ['email-notification'] },
133
+ uses: { integrations: ['hubspot'] }
134
+ }
135
+ }
136
+ ```
137
+
138
+ Use `relationships` for runtime execution relationships. For semantic graph binding, prefer OM ontology IDs in `resource.ontology`; keep `config.links` only when maintaining older descriptors that still need the legacy graph bridge.
139
+
140
+ ## 5. Verify
141
+
142
+ ```bash
121
143
  pnpm -C operations check
122
144
  pnpm -C operations deploy
123
145
  pnpm exec elevasis describe Elevasis/my-workflow
146
+ pnpm scaffold:sync
147
+ pnpm scaffold:verify
124
148
  ```
@@ -26,7 +26,7 @@ export default defineConfig({
26
26
 
27
27
  `elevasisVite()` includes `knowledgePlugin()` as one of the plugins it returns. The plugin runs MDX codegen at `buildStart` and handles hot-module updates during `vite dev`. You do not need to touch `vite.config.ts` for the Knowledge Browser to work.
28
28
 
29
- Knowledge node icons are authored as semantic data tokens in MDX frontmatter, not as UI library component names. Use `knowledge.playbook`, `knowledge.strategy`, or `knowledge.reference` by node kind, or a project-owned `custom.*` token when the platform catalog does not cover the concept.
29
+ Knowledge node icons are authored as semantic data tokens in MDX frontmatter, not as UI library component names. Use `playbook`, `strategy`, or `reference` by node kind, or a project-owned `custom.*` token when the platform catalog does not cover the concept.
30
30
 
31
31
  ## Author a Knowledge Node
32
32
 
@@ -42,7 +42,7 @@ Required frontmatter fields:
42
42
 
43
43
  Optional frontmatter fields:
44
44
 
45
- - `icon` -- semantic token such as `knowledge.playbook` (defaults by kind if omitted)
45
+ - `icon` -- semantic token such as `playbook` (defaults by kind if omitted)
46
46
  - `links` -- array of node IDs or System references this node relates to
47
47
  - `ownerIds` -- array of role IDs that own or maintain this node
48
48
 
@@ -54,7 +54,7 @@ id: knowledge.internal-runbook
54
54
  kind: playbook
55
55
  title: Internal Runbook
56
56
  description: Operating notes for project-specific support and escalation.
57
- icon: knowledge.playbook
57
+ icon: playbook
58
58
  ownerIds:
59
59
  - role.operator
60
60
  links:
@@ -203,7 +203,7 @@ The `knowledgePlugin()` Vite plugin is still needed in this path because it gene
203
203
  | `KnowledgeSearchBar` | `@elevasis/ui/knowledge` | FlexSearch over title, summary, and body |
204
204
  | `KnowledgeMDXProvider` | `@elevasis/ui/knowledge` | React context supplying the component allowlist |
205
205
  | `knowledgePlugin` | `@elevasis/ui/vite-plugin-knowledge` | Vite plugin for build-time MDX codegen + HMR (direct use) |
206
- | `bySystem`, `byKind`, `byOwner`, `governs`, `governedBy` | `@elevasis/core/knowledge` | Pure query functions for project-owned custom UI |
206
+ | `bySystem`, `byOntology`, `byKind`, `byOwner`, `governs`, `governedBy` | `@elevasis/core/knowledge` | Pure query functions for project-owned custom UI |
207
207
 
208
208
  For template-derived projects, import `elevasisVite` from `@elevasis/ui/vite` rather than `knowledgePlugin` directly. The direct `knowledgePlugin` import from `@elevasis/ui/vite-plugin-knowledge` remains available for advanced or non-template wiring.
209
209
 
@@ -380,5 +380,5 @@ The following exports are added in Phase 1.5 on top of the exports table above:
380
380
  ## See Also
381
381
 
382
382
  - [Composition and Extensibility](../composition-extensibility.mdx) -- the general sidebar override pattern this recipe follows (CRM + delivery examples)
383
- - [Query the Knowledge Graph](query-the-knowledge-graph.md) -- CLI walkthrough of the same five mount axes
383
+ - [Query the Knowledge Graph](query-the-knowledge-graph.md) -- CLI walkthrough of the same six query axes
384
384
  - [Contracts Reference](../reference/contracts.md) -- `SystemModule`, `NavItem`, `OrgKnowledgeNode` TypeScript shapes