@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,222 +1,229 @@
1
- ---
2
- title: Organization Model
3
- description: Organization OS Model layer documentation for the System hierarchy, semantic domains, resource descriptors, and curated @elevasis/core public API.
4
- ---
1
+ ---
2
+ title: Organization Model
3
+ description: Organization OS Model layer documentation for the System hierarchy, semantic domains, resource descriptors, and curated @elevasis/core public API.
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
- ## Overview
10
-
11
- The organization model is the semantic contract that maps an organization's System hierarchy, business semantics, shell navigation, resource governance, and graph binding. It is schema-first, versioned, and validated.
12
-
13
- The model is authored in `@repo/core` and published through the curated `@elevasis/core/organization-model` surface.
14
-
15
- ## Source of Truth
16
-
17
- - `packages/core/src/organization-model/schema.ts`
18
- - `packages/core/src/organization-model/types.ts`
19
- - `packages/core/src/organization-model/defaults.ts`
20
- - `packages/core/src/organization-model/helpers.ts`
21
- - `packages/core/src/organization-model/graph/link.ts`
22
- - `packages/core/src/organization-model/published.ts`
23
- - `packages/core/src/__tests__/template-core-compatibility.test.ts`
24
-
25
- ## Contract Shape
26
-
27
- Top-level fields on `OrganizationModel`:
28
-
29
- - `version`
30
- - `domainMetadata`
31
- - `branding`
32
- - `navigation`
33
- - `sales`
34
- - `prospecting`
35
- - `projects`
36
- - `identity`
37
- - `customers`
38
- - `offerings`
39
- - `roles`
40
- - `goals`
41
- - `systems`
42
- - `resources`
43
- - `capabilities`
44
- - `policies`
45
- - `statuses`
46
- - `knowledge`
47
-
48
- The pure collection domains are id-keyed maps: `systems`, `roles`, `goals`, `customers`, `offerings`, `resources`, `capabilities`, `policies`, and `statuses`. The map key must match the entry `id`. Entries carry `order` for deterministic ordered views; use `listDomain(record)` when order matters.
49
-
50
- Resource identity is authored inside `OrganizationModel.resources`. Runtime workflows, agents, integrations, and scripts import those descriptors, derive `resourceId` and kind from them, and attach executable behavior in operations code.
51
-
52
- ## System Shape
53
-
54
- `OrganizationModel.systems` is the canonical semantic domain map. Hierarchy is derived from `parentSystemId` and dotted IDs:
55
-
56
- ```ts
57
- systems: {
58
- dashboard: { id: 'dashboard', order: 10, label: 'Dashboard', lifecycle: 'active' },
59
- sales: { id: 'sales', order: 20, label: 'Sales', lifecycle: 'active' },
60
- clients: { id: 'clients', order: 30, label: 'Clients', lifecycle: 'active' },
61
- projects: { id: 'projects', order: 40, label: 'Projects', lifecycle: 'active' }
62
- }
63
- ```
64
-
65
- Authored fields:
66
-
67
- - `id`
68
- - `label`
69
- - `description`
70
- - `kind`
71
- - `parentSystemId`
72
- - `ui`
73
- - `lifecycle`
74
- - `requiresAdmin`
75
- - `capabilities`
76
- - `policies`
77
- - `order`
78
-
79
- Systems describe ownership, hierarchy, lifecycle, access, and governance. Sidebar presentation lives in `navigation.sidebar`, not on System entries. UI-backed Systems may still provide `ui.path` for route matching during the migration, but `ui.surfaces` is not an authored contract. `lifecycle` replaces the old feature enabled/dev-only split.
80
-
81
- ## Navigation Shape
82
-
83
- `OrganizationModel.navigation.sidebar` is the authored shell tree. It has `primary` and `bottom` sections whose records contain recursive group nodes and routeable surface nodes:
84
-
85
- ```ts
86
- navigation: {
87
- sidebar: {
88
- primary: {
89
- dashboard: {
90
- type: 'surface',
91
- order: 10,
92
- label: 'Dashboard',
93
- path: '/',
94
- surfaceType: 'dashboard',
95
- targets: { systems: ['dashboard'] }
96
- },
97
- business: {
98
- type: 'group',
99
- order: 20,
100
- label: 'Business',
101
- children: {
102
- sales: {
103
- type: 'surface',
104
- order: 10,
105
- label: 'Sales',
106
- path: '/sales',
107
- surfaceType: 'page',
108
- targets: { systems: ['sales'] }
109
- },
110
- clients: {
111
- type: 'surface',
112
- order: 20,
113
- label: 'Clients',
114
- path: '/clients',
115
- surfaceType: 'list',
116
- targets: { systems: ['clients'] }
117
- }
118
- }
119
- }
120
- },
121
- bottom: {}
122
- }
123
- }
124
- ```
125
-
126
- Dashboard is ordered before Business in the primary sidebar. Business is a navigation group only; it is not a System and it is not a URL namespace. Routeable leaves are projected into flat surface DTOs by `projectOrganizationSurfaces(model)`.
127
-
128
- ## Graph IDs and Resource Descriptors
129
-
130
- Cross-collection links use kind-prefixed graph IDs:
131
-
132
- - `system:sales.crm`
133
- - `integration:instantly`
134
- - `resource:lead-import`
135
- - `action:operations.queue.review`
136
-
137
- Resource identity is authored in the OM Resources domain. Operations imports descriptors from `organizationModel.resources` and derives runtime `resourceId` / `type` while attaching executable behavior.
138
-
139
- ```ts
140
- import { defineResources } from '@elevasis/core/organization-model'
141
-
142
- export const resourceDescriptors = defineResources({
143
- leadImport: {
144
- id: 'lead-import',
145
- kind: 'workflow',
146
- systemPath: 'sales.lead-gen',
147
- ownerRoleId: 'role-ops-lead',
148
- status: 'active',
149
- actionKey: 'prospecting.lead-import'
150
- }
151
- })
152
-
153
- export const resourceGovernanceModel = {
154
- systems,
155
- resources: resourceDescriptors
156
- } as const
157
- ```
158
-
159
- Legacy `sys.*` paths may still appear in older examples and external compatibility mirrors.
160
- For new Organization OS examples, prefer the current semantic System path.
161
-
162
- ## Domain Semantics
163
-
164
- The model keeps business semantics in named domains:
165
-
166
- - `sales` -- pipeline stages and stage semantics
167
- - `prospecting` -- company/contact lifecycle stages
168
- - `projects` -- project, milestone, and task statuses
169
- - `identity`, `customers`, `offerings`, `roles`, `goals` -- organizational reality
170
- - `systems` -- bounded contexts that group governed operational resources
171
- - `resources` -- governance-only workflow, agent, and integration descriptors
172
- - `statuses` -- runtime/vibe-layer semantic registry
173
- - `knowledge` -- playbooks, strategies, references, and graph-governing links
174
-
175
- ## Authoring and Resolution
176
-
177
- - `defineOrganizationModel()` is a typed authoring helper.
178
- - `resolveOrganizationModel(partial)` deep-merges a partial override into `DEFAULT_ORGANIZATION_MODEL` and validates the result.
179
- - `createFoundationOrganizationModel(partial)` resolves the canonical model and returns template-facing helpers.
180
- - Plain objects merge recursively.
181
- - Id-keyed domain maps merge additively by key.
182
- - Arrays replace defaults.
183
-
184
- ## Referential Integrity
185
-
186
- `OrganizationModelSchema` validates:
187
-
188
- - unique System IDs
189
- - ancestor existence for dotted System IDs and `parentSystemId`
190
- - UI path rules for Systems with UI presence
191
- - valid sidebar positions
192
- - reality-domain cross references such as offering target segments and role reporting lines
193
- - system, resource, role, knowledge, and goal cross references used by resource governance
194
-
195
- `DeploymentSpec` remains the runtime/deploy assembly around these descriptors. It is not the source of resource identity.
196
-
197
- ## Provider Integration
198
-
199
- `ElevasisSystemsProvider` uses the organization model to:
200
-
201
- 1. validate each manifest's `systemId`
202
- 2. resolve effective system access
203
- 3. derive sidebar entries from `navigation.sidebar`
204
- 4. expose shell helpers such as `childrenOf`, `ancestorsOf`, and `findByPath`
205
- 5. bridge the operations graph into shared UI
206
-
207
- ## Published Package
208
-
209
- `@elevasis/core` exposes a curated browser-safe surface:
210
-
211
- - root barrel
212
- - `./organization-model`
213
-
214
- The organization graph builder remains monorepo-internal until there is a concrete external contract need.
215
-
216
- ## Verification
217
-
218
- ```bash
219
- pnpm --filter @repo/core test -- organization-model
220
- pnpm --filter @repo/core build:publish
221
- pnpm -C external/_template/core test
222
- ```
8
+
9
+ ## Overview
10
+
11
+ The organization model is the semantic contract that maps an organization's System hierarchy, business semantics, shell navigation, resource governance, action/entity vocabulary, and graph binding. It is schema-first, versioned, and validated.
12
+
13
+ The model is authored in `@repo/core` and published through the curated `@elevasis/core/organization-model` surface.
14
+
15
+ ## Source of Truth
16
+
17
+ - `packages/core/src/organization-model/schema.ts`
18
+ - `packages/core/src/organization-model/types.ts`
19
+ - `packages/core/src/organization-model/defaults.ts`
20
+ - `packages/core/src/organization-model/helpers.ts`
21
+ - `packages/core/src/organization-model/graph/link.ts`
22
+ - `packages/core/src/organization-model/published.ts`
23
+ - `packages/core/src/__tests__/template-core-compatibility.test.ts`
24
+
25
+ ## Contract Shape
26
+
27
+ Top-level fields on `OrganizationModel`:
28
+
29
+ - `version`
30
+ - `domainMetadata`
31
+ - `branding`
32
+ - `navigation`
33
+ - `identity`
34
+ - `customers`
35
+ - `offerings`
36
+ - `roles`
37
+ - `goals`
38
+ - `systems`
39
+ - `resources`
40
+ - `actions`
41
+ - `entities`
42
+ - `policies`
43
+ - `knowledge`
44
+
45
+ The pure collection domains are id-keyed maps: `systems`, `roles`, `goals`, `customers`, `offerings`, `resources`, `actions`, `entities`, `policies`, and `knowledge`. The map key must match the entry `id`. Entries carry `order` for deterministic ordered views; use `listDomain(record)` when order matters.
46
+
47
+ Resource identity is authored inside `OrganizationModel.resources`. Runtime workflows, agents, integrations, and scripts import those descriptors, derive `resourceId` and kind from them, and attach executable behavior in operations code.
48
+
49
+ ## System Shape
50
+
51
+ `OrganizationModel.systems` is the canonical semantic domain map. Hierarchy is authored with recursive `subsystems`; dotted paths such as `sales.crm` are derived from position in that tree. `parentSystemId` and `id` remain accepted compatibility fields during the migration.
52
+
53
+ ```ts
54
+ systems: {
55
+ dashboard: { id: 'dashboard', order: 10, label: 'Dashboard', lifecycle: 'active' },
56
+ sales: { id: 'sales', order: 20, label: 'Sales', lifecycle: 'active' },
57
+ clients: { id: 'clients', order: 30, label: 'Clients', lifecycle: 'active' },
58
+ projects: { id: 'projects', order: 40, label: 'Projects', lifecycle: 'active' }
59
+ }
60
+ ```
61
+
62
+ Authored fields:
63
+
64
+ - `id`
65
+ - `label`
66
+ - `description`
67
+ - `kind`
68
+ - `parentSystemId`
69
+ - `ui`
70
+ - `lifecycle`
71
+ - `requiresAdmin`
72
+ - `actions`
73
+ - `policies`
74
+ - `content`
75
+ - `subsystems`
76
+ - `order`
77
+
78
+ Systems describe ownership, hierarchy, lifecycle, access, and governance. Sidebar presentation lives in `navigation.sidebar`, not on System entries. UI-backed Systems may still provide `ui.path` for route matching during the migration, but `ui.surfaces` is not an authored contract. `lifecycle` replaces the old feature enabled/dev-only split.
79
+
80
+ ## Navigation Shape
81
+
82
+ `OrganizationModel.navigation.sidebar` is the authored shell tree. It has `primary` and `bottom` sections whose records contain recursive group nodes and routeable surface nodes:
83
+
84
+ ```ts
85
+ navigation: {
86
+ sidebar: {
87
+ primary: {
88
+ dashboard: {
89
+ type: 'surface',
90
+ order: 10,
91
+ label: 'Dashboard',
92
+ path: '/',
93
+ surfaceType: 'dashboard',
94
+ targets: { systems: ['dashboard'] }
95
+ },
96
+ business: {
97
+ type: 'group',
98
+ order: 20,
99
+ label: 'Business',
100
+ children: {
101
+ sales: {
102
+ type: 'surface',
103
+ order: 10,
104
+ label: 'Sales',
105
+ path: '/sales',
106
+ surfaceType: 'page',
107
+ targets: { systems: ['sales'] }
108
+ },
109
+ clients: {
110
+ type: 'surface',
111
+ order: 20,
112
+ label: 'Clients',
113
+ path: '/clients',
114
+ surfaceType: 'list',
115
+ targets: { systems: ['clients'] }
116
+ }
117
+ }
118
+ }
119
+ },
120
+ bottom: {}
121
+ }
122
+ }
123
+ ```
124
+
125
+ Dashboard is ordered before Business in the primary sidebar. Business is a navigation group only; it is not a System and it is not a URL namespace. Routeable leaves are projected into flat surface DTOs by `projectOrganizationSurfaces(model)`.
126
+
127
+ ## Graph IDs and Resource Descriptors
128
+
129
+ Cross-collection links use kind-prefixed graph IDs:
130
+
131
+ - `system:sales.crm`
132
+ - `integration:instantly`
133
+ - `resource:lead-import`
134
+ - `action:operations.queue.review`
135
+
136
+ Resource identity is authored in the OM Resources domain. Operations imports descriptors from `organizationModel.resources` and derives runtime `resourceId` / `type` while attaching executable behavior.
137
+
138
+ ```ts
139
+ import { defineResources } from '@elevasis/core/organization-model'
140
+
141
+ export const resourceDescriptors = defineResources({
142
+ leadImport: {
143
+ id: 'lgn-01c-apollo-import-workflow',
144
+ kind: 'workflow',
145
+ systemPath: 'sales.lead-gen',
146
+ ownerRoleId: 'role-ops-lead',
147
+ status: 'active',
148
+ actionKey: 'lead-gen.company.apollo-import',
149
+ codeRefs: [
150
+ {
151
+ path: 'packages/elevasis-operations/src/sales/prospecting/scrape/apollo-import.ts',
152
+ role: 'entrypoint',
153
+ symbol: 'lgnApolloImportWorkflow'
154
+ }
155
+ ]
156
+ }
157
+ })
158
+
159
+ export const resourceGovernanceModel = {
160
+ systems,
161
+ resources: resourceDescriptors
162
+ } as const
163
+ ```
164
+
165
+ Legacy `sys.*` paths may still appear in older examples and external compatibility mirrors.
166
+ For new Organization OS examples, prefer the current semantic System path.
167
+
168
+ ## Domain Semantics
169
+
170
+ The model keeps business semantics in named domains:
171
+
172
+ - `identity`, `customers`, `offerings`, `roles`, `goals` -- organizational reality
173
+ - `systems` -- bounded contexts that group governed operational resources and system-local content
174
+ - `actions` -- stable business verbs exposed or consumed by systems
175
+ - `entities` -- durable business nouns and their semantic links
176
+ - `resources` -- governance-only workflow, agent, integration, and script descriptors
177
+ - `policies` -- operational governance rules over systems, actions, resources, and roles
178
+ - `knowledge` -- playbooks, strategies, references, and graph-governing links
179
+
180
+ System-local operational catalogs now live under `System.content`, including pipeline, stage, template, template-step, status-flow, status, and config nodes. The legacy compound and status domains should not be used for new authoring.
181
+
182
+ ## Authoring and Resolution
183
+
184
+ - `defineOrganizationModel()` is a typed authoring helper.
185
+ - `resolveOrganizationModel(partial)` deep-merges a partial override into `DEFAULT_ORGANIZATION_MODEL` and validates the result.
186
+ - `createFoundationOrganizationModel(partial)` resolves the canonical model and returns template-facing helpers.
187
+ - Plain objects merge recursively.
188
+ - Id-keyed domain maps merge additively by key.
189
+ - Arrays replace defaults.
190
+
191
+ ## Referential Integrity
192
+
193
+ `OrganizationModelSchema` validates:
194
+
195
+ - unique System IDs
196
+ - ancestor existence for dotted System IDs and `parentSystemId`
197
+ - UI path rules for Systems with UI presence
198
+ - valid sidebar positions
199
+ - reality-domain cross references such as offering target segments and role reporting lines
200
+ - system, resource, role, knowledge, and goal cross references used by resource governance
201
+
202
+ `DeploymentSpec` remains the runtime/deploy assembly around these descriptors. It is not the source of resource identity.
203
+
204
+ ## Provider Integration
205
+
206
+ `ElevasisSystemsProvider` uses the organization model to:
207
+
208
+ 1. validate each manifest's `systemId`
209
+ 2. resolve effective system access
210
+ 3. derive sidebar entries from `navigation.sidebar`
211
+ 4. expose shell helpers such as `childrenOf`, `ancestorsOf`, and `findByPath`
212
+ 5. bridge the operations graph into shared UI
213
+
214
+ ## Published Package
215
+
216
+ `@elevasis/core` exposes a curated browser-safe surface:
217
+
218
+ - root barrel
219
+ - `./organization-model`
220
+
221
+ The organization graph builder remains monorepo-internal until there is a concrete external contract need.
222
+
223
+ ## Verification
224
+
225
+ ```bash
226
+ pnpm --filter @repo/core test -- organization-model
227
+ pnpm --filter @repo/core build:publish
228
+ pnpm -C external/_template/core test
229
+ ```
@@ -1,70 +1,70 @@
1
- ---
2
- title: Scaffold Reference
3
- description: Universal scaffold documentation for Elevasis SDK projects -- recipes, patterns, architecture, and reference materials that apply to all workspaces.
4
- ---
1
+ ---
2
+ title: Scaffold Reference
3
+ description: Universal scaffold documentation for Elevasis SDK projects -- recipes, patterns, architecture, and reference materials that apply to all workspaces.
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
- ## Overview
10
-
11
- This scaffold reference contains universal documentation that applies to all Elevasis SDK projects. Content is organized by package ownership:
12
-
13
- - **recipes/** -- Cross-package pathway recipes (add a system, add a resource, gating patterns)
14
- - **ui/** -- UI patterns, system shell architecture, composition, and customization
15
- - **core/** -- Organization model architecture, graph layer, and semantic contracts
16
- - **operations/** -- Workflow authoring patterns and adapter usage
17
- - **reference/** -- Glossary, auto-generated contracts, and system registry
18
-
19
- ## Quick Navigation
20
-
21
- ### Pathway Recipes
22
-
23
- - [Add a System](./recipes/add-a-feature.md) -- end-to-end from org model key through manifest, routes, gating
24
- - [Add a Resource](./recipes/add-a-resource.md) -- author and deploy a workflow or agent
25
- - [Extend a Base Entity](./recipes/extend-a-base-entity.md) -- add project-specific metadata to canonical entity shapes via the TMeta slot
26
- - [Gate by System or Admin](./recipes/gate-by-feature-or-admin.md) -- decision table for access control patterns
27
- - [Build and Extend CRM](./recipes/extend-crm.md) -- map CRM UI pages, hooks, actions, workflow adapters, contracts, and org-model boundaries
28
- - [Build and Extend Lead Gen](./recipes/extend-lead-gen.md) -- map lead-gen UI pages, hooks, list/member state, artifacts, workflow adapters, contracts, and org-model boundaries
29
- - [Customize CRM Actions](./recipes/customize-crm-actions.md) -- add, hide, or replace CRM deal actions, use the shared `crmActions` provider path, and understand workflow dispatch constraints
30
-
31
- ### UI Patterns
32
-
33
- - [UI Recipes](./ui/recipes.md) -- copy-paste recipes for pages, nav items, components, theme tokens
34
- - [System Flags & Gating](./ui/feature-flags-and-gating.md) -- three-concept model for system access
35
- - [Customizing Systems](./ui/customization.md) -- sidebar composition via manifest overrides
36
- - [System Shell & Provider](./ui/feature-shell.mdx) -- SystemModule manifest contract, provider runtime
37
- - [Composition & Extensibility](./ui/composition-extensibility.mdx) -- layout primitives, router abstraction
38
-
39
- ### Core Architecture
40
-
41
- - [Organization Model](./core/organization-model.mdx) -- semantic contract, schema, authoring helpers
42
- - [Organization Graph](./core/organization-graph.mdx) -- graph derivation, node/edge taxonomy, lenses
43
-
44
- ### Operations
45
-
46
- - [Workflow Recipes](./operations/workflow-recipes.md) -- workflow anatomy, adapter patterns, trigger patterns
47
- - [Propagation Pipeline](./operations/propagation-pipeline.md) -- three-layer sync pipeline, verification checks, integration points
48
- - [Scaffold Maintenance](./operations/scaffold-maintenance.md) -- content placement, auto-generation, adding new scaffold docs
49
-
50
- ### Reference
51
-
52
- - [Glossary](./reference/glossary.md) -- term definitions for Organization OS concepts
53
- - [Contracts](./reference/contracts.md) -- auto-generated TypeScript contract shapes
54
- - [System Registry](./reference/feature-registry.md) -- auto-generated system manifest catalog
55
-
56
- ## Source Locations
57
-
58
- Content is co-located with its owning package and copied here during SDK build:
59
-
60
- | Bundle Path | Source Location | Owner |
61
- | --------------------------------------------- | --------------------------------------------------------- | --------------- |
62
- | `scaffold/recipes/` | `packages/sdk/docs/scaffold/recipes/` | SDK |
63
- | `scaffold/operations/` | `packages/sdk/docs/scaffold/operations/` | SDK |
64
- | `scaffold/operations/propagation-pipeline.md` | `packages/sdk/docs/scaffold/operations/` | SDK |
65
- | `scaffold/operations/scaffold-maintenance.md` | `packages/sdk/docs/scaffold/operations/` | SDK |
66
- | `scaffold/ui/` | `packages/ui/src/scaffold/` | UI |
67
- | `scaffold/core/` | `packages/core/src/organization-model/` | Core |
68
- | `scaffold/reference/glossary.md` | `packages/core/src/reference/glossary.md` | Core |
69
- | `scaffold/reference/contracts.md` | `packages/core/src/reference/_generated/contracts.md` | Core (auto-gen) |
70
- | `scaffold/reference/feature-registry.md` | `packages/ui/src/scaffold/_generated/feature-registry.md` | UI (auto-gen) |
8
+
9
+ ## Overview
10
+
11
+ This scaffold reference contains universal documentation that applies to all Elevasis SDK projects. Content is organized by package ownership:
12
+
13
+ - **recipes/** -- Cross-package pathway recipes (add a system, add a resource, gating patterns)
14
+ - **ui/** -- UI patterns, system shell architecture, composition, and customization
15
+ - **core/** -- Organization model architecture, graph layer, and semantic contracts
16
+ - **operations/** -- Workflow authoring patterns and adapter usage
17
+ - **reference/** -- Glossary, auto-generated contracts, and system registry
18
+
19
+ ## Quick Navigation
20
+
21
+ ### Pathway Recipes
22
+
23
+ - [Add an OM-Backed System](./recipes/add-a-feature.md) -- cohesive System, ontology scope, Resource, runtime, UI, and test workflow
24
+ - [Add a Resource](./recipes/add-a-resource.md) -- author and deploy a workflow or agent
25
+ - [Extend a Base Entity](./recipes/extend-a-base-entity.md) -- add project-specific metadata to canonical entity shapes via the TMeta slot
26
+ - [Gate by System or Admin](./recipes/gate-by-feature-or-admin.md) -- decision table for access control patterns
27
+ - [Build and Extend CRM](./recipes/extend-crm.md) -- map CRM UI pages, hooks, actions, workflow adapters, contracts, and org-model boundaries
28
+ - [Build and Extend Lead Gen](./recipes/extend-lead-gen.md) -- map lead-gen UI pages, hooks, list/member state, artifacts, workflow adapters, contracts, and org-model boundaries
29
+ - [Customize CRM Actions](./recipes/customize-crm-actions.md) -- add, hide, or replace CRM deal actions, use the shared `crmActions` provider path, and understand workflow dispatch constraints
30
+
31
+ ### UI Patterns
32
+
33
+ - [UI Recipes](./ui/recipes.md) -- copy-paste recipes for pages, nav items, components, theme tokens
34
+ - [System Flags & Gating](./ui/feature-flags-and-gating.md) -- three-concept model for system access
35
+ - [Customizing Systems](./ui/customization.md) -- sidebar composition via manifest overrides
36
+ - [System Shell & Provider](./ui/feature-shell.mdx) -- SystemModule manifest contract, provider runtime
37
+ - [Composition & Extensibility](./ui/composition-extensibility.mdx) -- layout primitives, router abstraction
38
+
39
+ ### Core Architecture
40
+
41
+ - [Organization Model](./core/organization-model.mdx) -- semantic contract, schema, authoring helpers
42
+ - [Organization Graph](./core/organization-graph.mdx) -- graph derivation, node/edge taxonomy, lenses
43
+
44
+ ### Operations
45
+
46
+ - [Workflow Recipes](./operations/workflow-recipes.md) -- workflow anatomy, adapter patterns, trigger patterns
47
+ - [Propagation Pipeline](./operations/propagation-pipeline.md) -- three-layer sync pipeline, verification checks, integration points
48
+ - [Scaffold Maintenance](./operations/scaffold-maintenance.md) -- content placement, auto-generation, adding new scaffold docs
49
+
50
+ ### Reference
51
+
52
+ - [Glossary](./reference/glossary.md) -- term definitions for Organization OS concepts
53
+ - [Contracts](./reference/contracts.md) -- auto-generated TypeScript contract shapes
54
+ - [System Registry](./reference/feature-registry.md) -- auto-generated system manifest catalog
55
+
56
+ ## Source Locations
57
+
58
+ Content is co-located with its owning package and copied here during SDK build:
59
+
60
+ | Bundle Path | Source Location | Owner |
61
+ | --------------------------------------------- | --------------------------------------------------------- | --------------- |
62
+ | `scaffold/recipes/` | `packages/sdk/docs/scaffold/recipes/` | SDK |
63
+ | `scaffold/operations/` | `packages/sdk/docs/scaffold/operations/` | SDK |
64
+ | `scaffold/operations/propagation-pipeline.md` | `packages/sdk/docs/scaffold/operations/` | SDK |
65
+ | `scaffold/operations/scaffold-maintenance.md` | `packages/sdk/docs/scaffold/operations/` | SDK |
66
+ | `scaffold/ui/` | `packages/ui/src/scaffold/` | UI |
67
+ | `scaffold/core/` | `packages/core/src/organization-model/` | Core |
68
+ | `scaffold/reference/glossary.md` | `packages/core/src/reference/glossary.md` | Core |
69
+ | `scaffold/reference/contracts.md` | `packages/core/src/reference/_generated/contracts.md` | Core (auto-gen) |
70
+ | `scaffold/reference/feature-registry.md` | `packages/ui/src/scaffold/_generated/feature-registry.md` | UI (auto-gen) |