@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,121 +1,121 @@
1
- ---
2
- title: Gate by System or Admin
3
- description: Decision table and recipes for gating routes, sidebar entries, and UI elements by Organization Model system ID or admin role.
4
- ---
1
+ ---
2
+ title: Gate by System or Admin
3
+ description: Decision table and recipes for gating routes, sidebar entries, and UI elements by Organization Model system ID or admin role.
4
+ ---
5
5
  <!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
6
6
  <!-- Regenerate: pnpm scaffold:sync -->
7
7
 
8
-
9
- # Gate by System or Admin
10
-
11
- System visibility starts in `core/config/organization-model.ts`. Routes still enforce access with guards.
12
-
13
- ## Decide the gate
14
-
15
- | Scenario | Gate to use |
16
- | --- | --- |
17
- | Surface can be enabled or disabled per organization/member | `SystemGuard` with the system ID |
18
- | Surface is always available to members but restricted to admins | `AdminGuard` plus `requiresAdmin: true` on the system node |
19
- | Surface is both system-gated and admin-only | Both guards, plus `requiresAdmin: true` on the system node |
20
-
21
- ## System gate in the org model
22
-
23
- Add or update the system in the id-keyed `systems` map.
24
-
25
- ```ts
26
- systems: {
27
- analytics: {
28
- id: 'analytics',
29
- order: 10,
30
- label: 'Analytics',
31
- enabled: false,
32
- path: '/analytics',
33
- icon: 'custom.analytics',
34
- uiPosition: 'sidebar-primary'
35
- }
36
- }
37
- ```
38
-
39
- Set `enabled: true` to enable it for all members by default. Dotted IDs such as `analytics.reports` inherit system state and shell placement from their ancestors unless they declare their own value.
40
-
41
- ## Route-level system gate
42
-
43
- ```tsx
44
- import { ProtectedRoute } from '@/features/auth'
45
- import { SystemGuard } from '@elevasis/ui/features/auth'
46
- import { createFileRoute, Outlet } from '@tanstack/react-router'
47
-
48
- export const Route = createFileRoute('/analytics')({ component: AnalyticsLayout })
49
-
50
- function AnalyticsLayout() {
51
- return (
52
- <ProtectedRoute>
53
- <SystemGuard systemKey="analytics">
54
- <Outlet />
55
- </SystemGuard>
56
- </ProtectedRoute>
57
- )
58
- }
59
- ```
60
-
61
- The sidebar is derived from `OrganizationModel.systems`; hiding a node there is display behavior only. Keep route guards in place for direct URL access.
62
-
63
- ## Admin-only route
64
-
65
- ```tsx
66
- import { ProtectedRoute } from '@/features/auth'
67
- import { AdminGuard } from '@elevasis/ui/auth'
68
- import { createFileRoute, Outlet } from '@tanstack/react-router'
69
-
70
- export const Route = createFileRoute('/admin')({ component: AdminLayout })
71
-
72
- function AdminLayout() {
73
- return (
74
- <ProtectedRoute>
75
- <AdminGuard>
76
- <Outlet />
77
- </AdminGuard>
78
- </ProtectedRoute>
79
- )
80
- }
81
- ```
82
-
83
- Pair the route guard with the system node:
84
-
85
- ```ts
86
- systems: {
87
- admin: {
88
- id: 'admin',
89
- order: 10,
90
- label: 'Admin',
91
- enabled: true,
92
- path: '/admin',
93
- uiPosition: 'sidebar-bottom',
94
- requiresAdmin: true
95
- }
96
- }
97
- ```
98
-
99
- ## Per-member override
100
-
101
- Membership config overrides enabled state per member.
102
-
103
- ```ts
104
- {
105
- systems: { analytics: false }
106
- }
107
- ```
108
-
109
- Settings and admin-only pages should use admin checks, not per-member system flags.
110
-
111
- ## Verify
112
-
113
- Check the state matrix:
114
-
115
- | Org system enabled | Member override | Admin | Expected result |
116
- | --- | --- | --- | --- |
117
- | true | absent | any | Route accessible, sidebar visible |
118
- | true | false | any | Route redirects, sidebar hidden |
119
- | false | absent | any | Route redirects, sidebar hidden |
120
- | true | absent | non-admin | Admin route redirects, admin sidebar hidden |
121
- | true | absent | admin | Admin route accessible, admin sidebar visible |
8
+
9
+ # Gate by System or Admin
10
+
11
+ System visibility starts in `core/config/organization-model.ts`. Routes still enforce access with guards.
12
+
13
+ ## Decide the gate
14
+
15
+ | Scenario | Gate to use |
16
+ | --- | --- |
17
+ | Surface can be enabled or disabled per organization/member | `SystemGuard` with the system ID |
18
+ | Surface is always available to members but restricted to admins | `AdminGuard` plus `requiresAdmin: true` on the system node |
19
+ | Surface is both system-gated and admin-only | Both guards, plus `requiresAdmin: true` on the system node |
20
+
21
+ ## System gate in the org model
22
+
23
+ Add or update the system in the id-keyed `systems` map.
24
+
25
+ ```ts
26
+ systems: {
27
+ analytics: {
28
+ id: 'analytics',
29
+ order: 10,
30
+ label: 'Analytics',
31
+ enabled: false,
32
+ path: '/analytics',
33
+ icon: 'custom.analytics',
34
+ uiPosition: 'sidebar-primary'
35
+ }
36
+ }
37
+ ```
38
+
39
+ Set `enabled: true` to enable it for all members by default. Dotted IDs such as `analytics.reports` inherit system state and shell placement from their ancestors unless they declare their own value.
40
+
41
+ ## Route-level system gate
42
+
43
+ ```tsx
44
+ import { ProtectedRoute } from '@/features/auth'
45
+ import { SystemGuard } from '@elevasis/ui/features/auth'
46
+ import { createFileRoute, Outlet } from '@tanstack/react-router'
47
+
48
+ export const Route = createFileRoute('/analytics')({ component: AnalyticsLayout })
49
+
50
+ function AnalyticsLayout() {
51
+ return (
52
+ <ProtectedRoute>
53
+ <SystemGuard systemKey="analytics">
54
+ <Outlet />
55
+ </SystemGuard>
56
+ </ProtectedRoute>
57
+ )
58
+ }
59
+ ```
60
+
61
+ The sidebar is derived from `OrganizationModel.systems`; hiding a node there is display behavior only. Keep route guards in place for direct URL access.
62
+
63
+ ## Admin-only route
64
+
65
+ ```tsx
66
+ import { ProtectedRoute } from '@/features/auth'
67
+ import { AdminGuard } from '@elevasis/ui/auth'
68
+ import { createFileRoute, Outlet } from '@tanstack/react-router'
69
+
70
+ export const Route = createFileRoute('/admin')({ component: AdminLayout })
71
+
72
+ function AdminLayout() {
73
+ return (
74
+ <ProtectedRoute>
75
+ <AdminGuard>
76
+ <Outlet />
77
+ </AdminGuard>
78
+ </ProtectedRoute>
79
+ )
80
+ }
81
+ ```
82
+
83
+ Pair the route guard with the system node:
84
+
85
+ ```ts
86
+ systems: {
87
+ admin: {
88
+ id: 'admin',
89
+ order: 10,
90
+ label: 'Admin',
91
+ enabled: true,
92
+ path: '/admin',
93
+ uiPosition: 'sidebar-bottom',
94
+ requiresAdmin: true
95
+ }
96
+ }
97
+ ```
98
+
99
+ ## Per-member override
100
+
101
+ Membership config overrides enabled state per member.
102
+
103
+ ```ts
104
+ {
105
+ systems: { analytics: false }
106
+ }
107
+ ```
108
+
109
+ Settings and admin-only pages should use admin checks, not per-member system flags.
110
+
111
+ ## Verify
112
+
113
+ Check the state matrix:
114
+
115
+ | Org system enabled | Member override | Admin | Expected result |
116
+ | --- | --- | --- | --- |
117
+ | true | absent | any | Route accessible, sidebar visible |
118
+ | true | false | any | Route redirects, sidebar hidden |
119
+ | false | absent | any | Route redirects, sidebar hidden |
120
+ | true | absent | non-admin | Admin route redirects, admin sidebar hidden |
121
+ | true | absent | admin | Admin route accessible, admin sidebar visible |
@@ -1,51 +1,51 @@
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: Pathway Recipes
6
- description: Terse end-to-end walkthroughs for the three most common authoring tasks -- adding a system, adding a resource, and gating access.
7
- ---
8
-
9
- # Pathway Recipes
10
-
11
- Three sequential walkthroughs for common authoring tasks. Each recipe links into the reference docs rather than duplicating them.
12
-
13
- Before starting, read [glossary.md](../reference/glossary.md) to disambiguate overloaded terms (System, Resource, systemId, Settings asymmetry, Topology).
14
-
15
- ---
16
-
17
- ## Recipes
18
-
19
- **[Add a System](add-a-feature.md)**
20
- You want a new shell system (e.g., `analytics`) with its own nav entry, sidebar, routes, and org-model gate. Covers adding a system object to the org model, `SystemModule` manifest authoring, route creation, and gating.
21
-
22
- **[Add a Resource](add-a-resource.md)**
23
- You want a new workflow or agent deployed to the platform. Covers OM Resource descriptor authoring, descriptor-backed `WorkflowDefinition` binding, `DeploymentSpec` assembly, relationship declarations, and CLI verification.
24
-
25
- **[Gate by System or Admin](gate-by-feature-or-admin.md)**
26
- You want to restrict a route, nav item, or UI element by system flag or admin role. Covers the decision table, `SystemGuard`, `AdminGuard`, nav-entry visibility fields, per-member system overrides, and the settings-asymmetry gotcha.
27
-
28
- **[Build and Extend CRM](extend-crm.md)**
29
- You want to build on the shared CRM without forking it: add CRM routes, compose sidebars/pages, use deal/company/contact hooks, mutate CRM data from workflows, or understand which contracts and adapters form the extension surface.
30
-
31
- **[Build and Extend Lead Gen](extend-lead-gen.md)**
32
- You want to build on the shared lead-gen system without forking it: add lead-gen routes, compose sidebars/pages, use list/company/contact/artifact hooks, mutate list data from workflows, or understand which contracts and adapters form the extension surface.
33
-
34
- **[Customize CRM Actions](customize-crm-actions.md)**
35
- You want to add, hide, or replace CRM deal action buttons, configure the shared `crmActions` provider path, or call a project-owned workflow from custom UI when server-side action dispatch constraints require it. Covers `ActionDef`, `DEFAULT_CRM_ACTIONS`, provider wiring, and the current v1 boundary for custom action dispatch.
36
-
37
- **[Customize Knowledge Browser](customize-knowledge-browser.md)**
38
- You want to mount, extend, or replace the default Knowledge Browser. Covers the three customization tiers (default manifest mount, sidebar composition via `KnowledgeSidebarMiddle` + `KNOWLEDGE_ITEMS`, and direct query access via `@elevasis/core/knowledge`), the one-line `vite.config.ts` plugin add (`knowledgePlugin()` from `@elevasis/ui/vite-plugin-knowledge`), and the CSS import requirement.
39
-
4
+ ---
5
+ title: Pathway Recipes
6
+ description: Terse end-to-end walkthroughs for the three most common authoring tasks -- adding a system, adding a resource, and gating access.
7
+ ---
8
+
9
+ # Pathway Recipes
10
+
11
+ Three sequential walkthroughs for common authoring tasks. Each recipe links into the reference docs rather than duplicating them.
12
+
13
+ Before starting, read [glossary.md](../reference/glossary.md) to disambiguate overloaded terms (System, Resource, systemId, Settings asymmetry, Topology).
14
+
15
+ ---
16
+
17
+ ## Recipes
18
+
19
+ **[Add an OM-Backed System](add-a-feature.md)**
20
+ You want a new system with cohesive Organization Model semantics, executable resources, and optional UI. Covers Systems, System-owned ontology and config, Resource descriptors with `resource.ontology`, `actionKey`, `codeRefs`, runtime assembly, manifests, routes, guards, tests, and compatibility notes for old `System.content` consumers.
21
+
22
+ **[Add a Resource](add-a-resource.md)**
23
+ You want a new workflow or agent deployed to the platform. Covers OM Resource descriptor authoring, descriptor-backed `WorkflowDefinition` binding, `DeploymentSpec` assembly, relationship declarations, and CLI verification.
24
+
25
+ **[Gate by System or Admin](gate-by-feature-or-admin.md)**
26
+ You want to restrict a route, nav item, or UI element by system flag or admin role. Covers the decision table, `SystemGuard`, `AdminGuard`, nav-entry visibility fields, per-member system overrides, and the settings-asymmetry gotcha.
27
+
28
+ **[Build and Extend CRM](extend-crm.md)**
29
+ You want to build on the shared CRM without forking it: add CRM routes, compose sidebars/pages, use deal/company/contact hooks, mutate CRM data from workflows, or understand which contracts and adapters form the extension surface.
30
+
31
+ **[Build and Extend Lead Gen](extend-lead-gen.md)**
32
+ You want to build on the shared lead-gen system without forking it: add lead-gen routes, compose sidebars/pages, use list/company/contact/artifact hooks, mutate list data from workflows, or understand which contracts and adapters form the extension surface.
33
+
34
+ **[Customize CRM Actions](customize-crm-actions.md)**
35
+ You want to add, hide, or replace CRM deal action buttons, configure the shared `crmActions` provider path, or call a project-owned workflow from custom UI when server-side action dispatch constraints require it. Covers `ActionDef`, `DEFAULT_CRM_ACTIONS`, provider wiring, and the current v1 boundary for custom action dispatch.
36
+
37
+ **[Customize Knowledge Browser](customize-knowledge-browser.md)**
38
+ You want to mount, extend, or replace the default Knowledge Browser. Covers the three customization tiers (default manifest mount, sidebar composition via `KnowledgeSidebarMiddle` + `KNOWLEDGE_ITEMS`, and direct query access via `@elevasis/core/knowledge`), the one-line `vite.config.ts` plugin add (`knowledgePlugin()` from `@elevasis/ui/vite-plugin-knowledge`), and the CSS import requirement.
39
+
40
40
  **[Query the Knowledge Graph](query-the-knowledge-graph.md)**
41
- You want to browse, inspect, or traverse the OrganizationModel knowledge graph from the command line. Covers the three verbs (`knowledge:ls`, `knowledge:cat`, `knowledge:graph`), all five mount axes (`/by-system/`, `/by-kind/`, `/by-owner/`, `/graph/.../governs/`, `/graph/.../governed-by/`), dual-CLI invocation patterns (`elevasis-sdk` for external projects, `elevasis` for the monorepo), and the Windows/MSYS PowerShell gotcha.
42
-
43
- ---
44
-
45
- ## Reference docs these recipes link into
46
-
47
- - [glossary.md](../reference/glossary.md) -- term disambiguation for System, Resource, systemId, Topology, Settings asymmetry
48
- - [contracts.md](../reference/contracts.md) -- TypeScript shapes: `SystemModule`, `OrganizationModel`, CRM deal types, lead-gen list/member/artifact types, `CrmToolMap`, `LeadToolMap`, `ListToolMap`, `ActionDef`
49
- - [feature-flags-and-gating.md](../ui/feature-flags-and-gating.md) -- full three-concept gating model
50
- - [workflow-recipes.md](../operations/workflow-recipes.md) -- workflow anatomy, adapters, trigger patterns
41
+ You want to browse, inspect, or traverse the OrganizationModel knowledge graph from the command line. Covers the three verbs (`knowledge:ls`, `knowledge:cat`, `knowledge:graph`), all six mount axes (`/by-system/`, `/by-ontology/`, `/by-kind/`, `/by-owner/`, `/graph/.../governs/`, `/graph/.../governed-by/`), dual-CLI invocation patterns (`elevasis-sdk` for external projects, `elevasis` for the monorepo), JSON output shapes, and the Windows/MSYS PowerShell gotcha.
42
+
43
+ ---
44
+
45
+ ## Reference docs these recipes link into
46
+
47
+ - [glossary.md](../reference/glossary.md) -- term disambiguation for System, Resource, systemId, Topology, Settings asymmetry
48
+ - [contracts.md](../reference/contracts.md) -- TypeScript shapes: `SystemModule`, `OrganizationModel`, CRM deal types, lead-gen list/member/artifact types, `CrmToolMap`, `LeadToolMap`, `ListToolMap`, `ActionDef`
49
+ - [feature-flags-and-gating.md](../ui/feature-flags-and-gating.md) -- full three-concept gating model
50
+ - [workflow-recipes.md](../operations/workflow-recipes.md) -- workflow anatomy, adapters, trigger patterns
51
51