@elevasis/sdk 1.44.3 → 1.46.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 (259) hide show
  1. package/dist/cli.cjs +35026 -30226
  2. package/dist/index.d.ts +1786 -808
  3. package/dist/index.js +789 -739
  4. package/dist/node/index.d.ts +105 -181
  5. package/dist/node/index.js +2 -2
  6. package/dist/test-utils/index.d.ts +901 -359
  7. package/dist/test-utils/index.js +587 -824
  8. package/dist/worker/index.d.ts +12685 -0
  9. package/dist/worker/index.js +188 -216
  10. package/package.json +4 -7
  11. package/reference/_navigation.md +161 -22
  12. package/reference/_reference-manifest.json +228 -4
  13. package/reference/claude-config.md +8 -0
  14. package/reference/core/exports.mdx +2 -0
  15. package/reference/core/index.mdx +3 -3
  16. package/reference/examples/organization-model.ts +117 -111
  17. package/reference/index.mdx +4 -4
  18. package/reference/packages/core/src/business/README.md +4 -1
  19. package/reference/packages/core/src/content/README.md +19 -0
  20. package/reference/packages/core/src/organization-model/README.md +148 -149
  21. package/reference/packages/core/src/organization-model/readiness/README.md +42 -0
  22. package/reference/packages/ui/src/features/README.md +28 -28
  23. package/reference/rules/active-change-index.md +40 -54
  24. package/reference/rules/agent-runtime.md +81 -0
  25. package/reference/rules/agent-start-here.md +71 -163
  26. package/reference/rules/deployment.md +33 -10
  27. package/reference/rules/error-handling.md +26 -0
  28. package/reference/rules/execution.md +13 -0
  29. package/reference/rules/frontend.md +10 -3
  30. package/reference/rules/observability.md +9 -1
  31. package/reference/rules/operations.md +26 -17
  32. package/reference/rules/organization-model.md +74 -88
  33. package/reference/rules/organization-os.md +71 -88
  34. package/reference/rules/package-taxonomy.md +11 -2
  35. package/reference/rules/platform.md +13 -7
  36. package/reference/rules/shared-types.md +36 -0
  37. package/reference/rules/task-tracking.md +30 -5
  38. package/reference/rules/ui.md +145 -3
  39. package/reference/rules/vibe-intents.md +271 -0
  40. package/reference/rules/vibe.md +17 -243
  41. package/reference/scaffold/core/organization-graph.mdx +112 -99
  42. package/reference/scaffold/core/organization-model.mdx +231 -215
  43. package/reference/scaffold/operations/propagation-pipeline.md +16 -17
  44. package/reference/scaffold/operations/scaffold-maintenance.md +22 -20
  45. package/reference/scaffold/operations/workflow-recipes.md +72 -20
  46. package/reference/scaffold/recipes/add-a-feature.md +156 -146
  47. package/reference/scaffold/recipes/add-a-resource.md +123 -117
  48. package/reference/scaffold/recipes/customize-crm-actions.md +28 -13
  49. package/reference/scaffold/recipes/customize-knowledge-browser.md +52 -117
  50. package/reference/scaffold/recipes/customize-organization-model.md +161 -149
  51. package/reference/scaffold/recipes/extend-a-base-entity.md +156 -140
  52. package/reference/scaffold/recipes/extend-content.md +265 -0
  53. package/reference/scaffold/recipes/extend-crm.md +16 -11
  54. package/reference/scaffold/recipes/extend-lead-gen.md +37 -21
  55. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +160 -118
  56. package/reference/scaffold/recipes/index.md +6 -3
  57. package/reference/scaffold/recipes/query-the-knowledge-graph.md +23 -23
  58. package/reference/scaffold/reference/contracts.md +30 -56
  59. package/reference/scaffold/reference/feature-registry.md +3 -0
  60. package/reference/scaffold/reference/glossary.md +4 -4
  61. package/reference/scaffold/reference/system-interface-capabilities.md +5 -4
  62. package/reference/scaffold/ui/composition-extensibility.mdx +271 -232
  63. package/reference/scaffold/ui/customization.md +2 -2
  64. package/reference/scaffold/ui/feature-flags-and-gating.md +14 -6
  65. package/reference/scaffold/ui/feature-shell.mdx +277 -62
  66. package/reference/scaffold/ui/recipes.md +229 -197
  67. package/reference/sdk/cli-management.mdx +166 -33
  68. package/reference/sdk/cli.mdx +90 -13
  69. package/reference/sdk/concepts.mdx +2 -0
  70. package/reference/sdk/define-builders.mdx +76 -0
  71. package/reference/sdk/deployment/command-center.mdx +6 -2
  72. package/reference/sdk/deployment/execution-reference.mdx +64 -186
  73. package/reference/sdk/deployment/index.mdx +2 -0
  74. package/reference/sdk/exports.mdx +4 -4
  75. package/reference/sdk/framework/agent.mdx +52 -116
  76. package/reference/sdk/framework/index.mdx +46 -65
  77. package/reference/sdk/framework/project-structure.mdx +150 -205
  78. package/reference/sdk/framework/tutorial-system.mdx +2 -2
  79. package/reference/sdk/human-in-the-loop.mdx +152 -0
  80. package/reference/sdk/index.mdx +6 -7
  81. package/reference/sdk/platform-tools/adapters-platform.mdx +3 -1
  82. package/reference/sdk/platform-tools/index.mdx +12 -0
  83. package/reference/sdk/platform-tools/type-safety.mdx +4 -0
  84. package/reference/sdk/project-deployment-spec.mdx +131 -0
  85. package/reference/sdk/resources/index.mdx +21 -7
  86. package/reference/sdk/resources/patterns.mdx +54 -24
  87. package/reference/sdk/resources/types.mdx +7 -4
  88. package/reference/sdk/templates/data-enrichment.mdx +7 -3
  89. package/reference/sdk/templates/email-sender.mdx +139 -135
  90. package/reference/sdk/templates/lead-scorer.mdx +5 -1
  91. package/reference/sdk/templates/pdf-generator.mdx +155 -151
  92. package/reference/sdk/templates/recurring-job.mdx +195 -189
  93. package/reference/sdk/templates/text-classifier.mdx +4 -0
  94. package/reference/sdk/templates/web-scraper.mdx +139 -135
  95. package/reference/spine/spine-primer.md +135 -96
  96. package/reference/ui/exports.mdx +1 -0
  97. package/reference/ui/index.mdx +14 -7
  98. package/dist/types/worker/adapters/anymailfinder.d.ts +0 -14
  99. package/dist/types/worker/adapters/apify.d.ts +0 -14
  100. package/dist/types/worker/adapters/approval.d.ts +0 -23
  101. package/dist/types/worker/adapters/attio.d.ts +0 -22
  102. package/dist/types/worker/adapters/clickup.d.ts +0 -22
  103. package/dist/types/worker/adapters/create-adapter.d.ts +0 -41
  104. package/dist/types/worker/adapters/crm.d.ts +0 -20
  105. package/dist/types/worker/adapters/dropbox.d.ts +0 -14
  106. package/dist/types/worker/adapters/email.d.ts +0 -25
  107. package/dist/types/worker/adapters/execution.d.ts +0 -22
  108. package/dist/types/worker/adapters/gmail.d.ts +0 -14
  109. package/dist/types/worker/adapters/google-sheets.d.ts +0 -14
  110. package/dist/types/worker/adapters/index.d.ts +0 -33
  111. package/dist/types/worker/adapters/instantly.d.ts +0 -14
  112. package/dist/types/worker/adapters/lead.d.ts +0 -28
  113. package/dist/types/worker/adapters/list.d.ts +0 -9
  114. package/dist/types/worker/adapters/llm.d.ts +0 -45
  115. package/dist/types/worker/adapters/millionverifier.d.ts +0 -14
  116. package/dist/types/worker/adapters/notification.d.ts +0 -28
  117. package/dist/types/worker/adapters/pdf.d.ts +0 -22
  118. package/dist/types/worker/adapters/projects.d.ts +0 -20
  119. package/dist/types/worker/adapters/resend.d.ts +0 -14
  120. package/dist/types/worker/adapters/scheduler.d.ts +0 -25
  121. package/dist/types/worker/adapters/signature-api.d.ts +0 -14
  122. package/dist/types/worker/adapters/storage.d.ts +0 -33
  123. package/dist/types/worker/adapters/stripe.d.ts +0 -14
  124. package/dist/types/worker/adapters/tomba.d.ts +0 -14
  125. package/dist/types/worker/index.d.ts +0 -60
  126. package/dist/types/worker/platform.d.ts +0 -90
  127. package/dist/types/worker/utils.d.ts +0 -9
  128. package/reference/claude-config/Overview.md +0 -230
  129. package/reference/claude-config/hooks/post-edit-validate.mjs +0 -98
  130. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +0 -187
  131. package/reference/claude-config/hooks/tool-failure-recovery.mjs +0 -73
  132. package/reference/claude-config/registries/graph-skills.json +0 -4
  133. package/reference/claude-config/registries/knowledge-flags.json +0 -154
  134. package/reference/claude-config/registries/skill-coverage.json +0 -20
  135. package/reference/claude-config/rules/active-change-index.md +0 -22
  136. package/reference/claude-config/rules/agent-start-here.md +0 -22
  137. package/reference/claude-config/rules/deployment.md +0 -22
  138. package/reference/claude-config/rules/error-handling.md +0 -22
  139. package/reference/claude-config/rules/execution.md +0 -22
  140. package/reference/claude-config/rules/frontend.md +0 -22
  141. package/reference/claude-config/rules/observability.md +0 -22
  142. package/reference/claude-config/rules/operations.md +0 -22
  143. package/reference/claude-config/rules/organization-model.md +0 -22
  144. package/reference/claude-config/rules/organization-os.md +0 -22
  145. package/reference/claude-config/rules/package-taxonomy.md +0 -22
  146. package/reference/claude-config/rules/platform.md +0 -22
  147. package/reference/claude-config/rules/shared-types.md +0 -22
  148. package/reference/claude-config/rules/task-tracking.md +0 -22
  149. package/reference/claude-config/rules/topbar-actions.md +0 -70
  150. package/reference/claude-config/rules/ui.md +0 -22
  151. package/reference/claude-config/rules/vibe.md +0 -22
  152. package/reference/claude-config/scripts/statusline-command.js +0 -18
  153. package/reference/claude-config/settings.json +0 -30
  154. package/reference/claude-config/skills/client/SKILL.md +0 -201
  155. package/reference/claude-config/skills/deploy/SKILL.md +0 -159
  156. package/reference/claude-config/skills/dsp/SKILL.md +0 -66
  157. package/reference/claude-config/skills/elevasis/SKILL.md +0 -251
  158. package/reference/claude-config/skills/explore/SKILL.md +0 -78
  159. package/reference/claude-config/skills/git-sync/SKILL.md +0 -166
  160. package/reference/claude-config/skills/om/SKILL.md +0 -475
  161. package/reference/claude-config/skills/om/operations/build.md +0 -237
  162. package/reference/claude-config/skills/om/operations/codify-level-a.md +0 -109
  163. package/reference/claude-config/skills/om/operations/codify-level-b.md +0 -159
  164. package/reference/claude-config/skills/om/operations/customers.md +0 -114
  165. package/reference/claude-config/skills/om/operations/features.md +0 -88
  166. package/reference/claude-config/skills/om/operations/goals.md +0 -123
  167. package/reference/claude-config/skills/om/operations/identity.md +0 -97
  168. package/reference/claude-config/skills/om/operations/labels.md +0 -110
  169. package/reference/claude-config/skills/om/operations/offerings.md +0 -114
  170. package/reference/claude-config/skills/om/operations/roles.md +0 -104
  171. package/reference/claude-config/skills/om/operations/scaffold.md +0 -163
  172. package/reference/claude-config/skills/om/operations/techStack.md +0 -38
  173. package/reference/claude-config/skills/project/SKILL.md +0 -1114
  174. package/reference/claude-config/skills/run-ui/SKILL.md +0 -73
  175. package/reference/claude-config/skills/save/SKILL.md +0 -183
  176. package/reference/claude-config/skills/setup/SKILL.md +0 -290
  177. package/reference/claude-config/skills/status/SKILL.md +0 -59
  178. package/reference/claude-config/skills/submit-request/SKILL.md +0 -180
  179. package/reference/claude-config/skills/sync/SKILL.md +0 -47
  180. package/reference/claude-config/skills/tutorial/SKILL.md +0 -259
  181. package/reference/claude-config/skills/tutorial/progress-template.md +0 -74
  182. package/reference/claude-config/skills/tutorial/technical.md +0 -1303
  183. package/reference/claude-config/skills/tutorial/vibe-coder.md +0 -890
  184. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +0 -27
  185. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +0 -30
  186. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +0 -73
  187. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +0 -86
  188. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +0 -55
  189. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +0 -97
  190. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +0 -112
  191. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +0 -93
  192. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +0 -58
  193. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +0 -56
  194. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +0 -71
  195. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +0 -83
  196. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +0 -59
  197. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +0 -42
  198. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +0 -60
  199. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +0 -37
  200. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +0 -34
  201. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +0 -38
  202. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +0 -32
  203. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +0 -33
  204. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +0 -69
  205. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +0 -30
  206. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +0 -45
  207. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +0 -52
  208. package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +0 -33
  209. package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +0 -32
  210. package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +0 -43
  211. package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +0 -40
  212. package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +0 -61
  213. package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +0 -49
  214. package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +0 -31
  215. package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +0 -42
  216. package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +0 -33
  217. package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +0 -37
  218. package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +0 -28
  219. package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +0 -43
  220. package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +0 -26
  221. package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +0 -33
  222. package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +0 -35
  223. package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +0 -49
  224. package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +0 -47
  225. package/reference/claude-config/sync-notes/2026-05-28-om-snapshot-sdk-workflow-config.md +0 -33
  226. package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +0 -39
  227. package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +0 -27
  228. package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +0 -45
  229. package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +0 -34
  230. package/reference/claude-config/sync-notes/2026-06-04-scaffold-registry-lane-severity.md +0 -34
  231. package/reference/claude-config/sync-notes/2026-06-05-appearance-app-mode-decouple.md +0 -29
  232. package/reference/claude-config/sync-notes/2026-06-05-ontology-endpoint-rename-and-knowledge-browser-ui.md +0 -86
  233. package/reference/claude-config/sync-notes/2026-06-06-om-build-systems-scaffold.md +0 -47
  234. package/reference/claude-config/sync-notes/2026-06-06-om-item-copy-references.md +0 -50
  235. package/reference/claude-config/sync-notes/2026-06-08-knowledge-base-page-not-found-fix.md +0 -76
  236. package/reference/claude-config/sync-notes/2026-06-09-agent-sessions-public-agent-chat-route.md +0 -75
  237. package/reference/claude-config/sync-notes/2026-06-09-sdk-cli-load-org-model-resolution.md +0 -42
  238. package/reference/claude-config/sync-notes/2026-06-12-agent-grants-visualizer-operations.md +0 -30
  239. package/reference/claude-config/sync-notes/2026-06-14-session-ux-and-project-cli-json.md +0 -33
  240. package/reference/claude-config/sync-notes/2026-06-14-shared-session-conversation-view.md +0 -26
  241. package/reference/claude-config/sync-notes/2026-06-15-session-chat-zero-wiring.md +0 -46
  242. package/reference/claude-config/sync-notes/2026-06-17-agent-session-ux-features.md +0 -34
  243. package/reference/claude-config/sync-notes/2026-06-25-shared-page-scroll-contract-guard.md +0 -52
  244. package/reference/claude-config/sync-notes/2026-06-26-leadgen-overview-om-telemetry.md +0 -47
  245. package/reference/claude-config/sync-notes/2026-07-21-agent-scaffold-hardening.md +0 -75
  246. package/reference/claude-config/sync-notes/2026-07-23-agent-session-memory.md +0 -49
  247. package/reference/claude-config/sync-notes/2026-07-23-workos-org-marker.md +0 -50
  248. package/reference/claude-config/sync-notes/2026-07-24-claude-5-models-and-session-surface-fixes.md +0 -116
  249. package/reference/claude-config/sync-notes/2026-07-27-agent-strict-output-and-turn-drift.md +0 -73
  250. package/reference/claude-config/sync-notes/2026-07-28-agent-reply-is-its-own-field.md +0 -84
  251. package/reference/claude-config/sync-notes/2026-07-30-login-screen-and-member-provisioning-state.md +0 -114
  252. package/reference/claude-config/sync-notes/2026-08-02-auth-guard-defaults-and-truncation-fix.md +0 -122
  253. package/reference/claude-config/sync-notes/2026-08-03-agent-prose-escape-normalization.md +0 -88
  254. package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md +0 -120
  255. package/reference/claude-config/sync-notes/README.md +0 -43
  256. package/reference/sdk/framework/interaction-guidance.mdx +0 -182
  257. package/reference/sdk/framework/memory.mdx +0 -326
  258. package/reference/sdk/framework/resource-documentation.mdx +0 -90
  259. package/reference/sdk/roadmap.mdx +0 -164
@@ -1,146 +1,159 @@
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, 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
-
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
+ - `snapshotHash`
31
+ - `domainMetadata`
32
+ - `branding`
33
+ - `navigation`
34
+ - `identity`
35
+ - `clients`
36
+ - `customers`
37
+ - `offerings`
38
+ - `roles`
39
+ - `goals`
40
+ - `systems`
41
+ - `ontology`
42
+ - `resources`
43
+ - `topology`
44
+ - `actions`
45
+ - `entities`
46
+ - `knowledge`
47
+
48
+ The pure collection domains are id-keyed maps: `systems`, `roles`, `goals`, `clients`, `customers`, `offerings`, `resources`, `actions`, `entities`, and `knowledge`. `ontology` is an `OntologyScope` object (not an id-keyed map at the top level) and `topology` is a relationships record. The map key must match the entry `id` for id-keyed domains. Entries carry `order` for deterministic ordered views; use `listDomain(record)` when order matters. `sales`, `prospecting`, `projects`, `statuses`, and `policies` were removed from the top-level contract; do not author against them.
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 authored with recursive `systems`; dotted paths such as `sales.crm` are derived from position in that tree. `subsystems` is a deprecated compatibility alias — it is still accepted and kept in sync with `systems` during parse, but new authoring should use `systems`. `parentSystemId` and `id` remain accepted compatibility fields during the migration.
55
+
56
+ {/* doc-snippet:skip: illustrative excerpt, not a standalone compilable file */}
57
+
58
+ ```ts
59
+ systems: {
60
+ dashboard: { id: 'dashboard', order: 10, label: 'Dashboard', lifecycle: 'active' },
61
+ sales: { id: 'sales', order: 20, label: 'Sales', lifecycle: 'active' },
62
+ clients: { id: 'clients', order: 30, label: 'Clients', lifecycle: 'active' },
63
+ projects: { id: 'projects', order: 40, label: 'Projects', lifecycle: 'active' }
64
+ }
65
+ ```
66
+
67
+ Authored fields:
68
+
69
+ - `id`
70
+ - `label`
71
+ - `description`
72
+ - `kind`
73
+ - `parentSystemId`
74
+ - `ui`
75
+ - `lifecycle`
76
+ - `responsibleRoleId`
77
+ - `governedByKnowledge`
78
+ - `actions`
79
+ - `drivesGoals`
80
+ - `apiInterface`
81
+ - `config`
82
+ - `ontology`
83
+ - `systems`
84
+ - `order`
85
+
86
+ 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. `config` holds System-local JSON settings; `ontology` holds System-owned object, action, catalog, link, event, and other ontology records; `apiInterface` is the thin platform API-readiness marker (see `System Interface` in the glossary).
87
+
88
+ ## Navigation Shape
89
+
90
+ `OrganizationModel.navigation.sidebar` is the authored shell tree. It has `primary` and `bottom` sections whose records contain recursive group nodes and routeable surface nodes:
91
+
92
+ {/* doc-snippet:skip: illustrative excerpt, not a standalone compilable file */}
93
+
94
+ ```ts
95
+ navigation: {
96
+ sidebar: {
97
+ primary: {
98
+ dashboard: {
99
+ type: 'surface',
100
+ order: 10,
101
+ label: 'Dashboard',
102
+ path: '/',
103
+ surfaceType: 'dashboard',
104
+ targets: { systems: ['dashboard'] }
105
+ },
106
+ business: {
107
+ type: 'group',
108
+ order: 20,
109
+ label: 'Business',
110
+ children: {
111
+ sales: {
112
+ type: 'surface',
113
+ order: 10,
114
+ label: 'Sales',
115
+ path: '/sales',
116
+ surfaceType: 'page',
117
+ targets: { systems: ['sales'] }
118
+ },
119
+ clients: {
120
+ type: 'surface',
121
+ order: 20,
122
+ label: 'Clients',
123
+ path: '/clients',
124
+ surfaceType: 'list',
125
+ targets: { systems: ['clients'] }
126
+ }
127
+ }
128
+ }
129
+ },
130
+ bottom: {}
131
+ }
132
+ }
133
+ ```
134
+
135
+ 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)`.
136
+
137
+ ## Graph IDs and Resource Descriptors
138
+
139
+ Cross-collection links use kind-prefixed graph IDs:
140
+
141
+ - `system:sales.crm`
142
+ - `integration:instantly`
143
+ - `resource:lead-import`
144
+ - `action:operations.queue.review`
145
+
146
+ Resource identity is authored in the OM Resources domain. Operations imports descriptors from `organizationModel.resources` and derives runtime `resourceId` / `type` while attaching executable behavior.
147
+
148
+ {/* doc-snippet:skip: `systems` in resourceGovernanceModel refers to the System map authored earlier in a tenant's own organization-model.ts, not a local declaration */}
149
+
150
+ ```ts
151
+ import { defineResources } from '@elevasis/core/organization-model'
152
+
141
153
  export const resourceDescriptors = defineResources({
142
154
  leadImport: {
143
155
  id: 'lgn-01c-apollo-import-workflow',
156
+ order: 10,
144
157
  title: 'Apollo Import',
145
158
  description: 'Imports Apollo company records into the lead generation pipeline.',
146
159
  kind: 'workflow',
@@ -153,82 +166,85 @@ export const resourceDescriptors = defineResources({
153
166
  },
154
167
  codeRefs: [
155
168
  {
156
- path: 'packages/elevasis-operations/src/sales/prospecting/scrape/apollo-import.ts',
157
- role: 'entrypoint',
158
- symbol: 'lgnApolloImportWorkflow'
159
- }
160
- ]
161
- }
162
- })
163
-
164
- export const resourceGovernanceModel = {
165
- systems,
166
- resources: resourceDescriptors
167
- } as const
168
- ```
169
-
170
- Legacy `sys.*` paths may still appear in older examples and external compatibility mirrors.
171
- For new Organization OS examples, prefer the current semantic System path.
172
-
173
- ## Domain Semantics
174
-
175
- The model keeps business semantics in named domains:
176
-
177
- - `identity`, `customers`, `offerings`, `roles`, `goals` -- organizational reality
178
- - `systems` -- bounded contexts that group governed operational resources and system-local content
179
- - `actions` -- stable business verbs exposed or consumed by systems
180
- - `entities` -- durable business nouns and their semantic links
181
- - `resources` -- governance-only workflow, agent, integration, and script descriptors
182
- - `policies` -- operational governance rules over systems, actions, resources, and roles
183
- - `knowledge` -- playbooks, strategies, references, and graph-governing links
184
-
169
+ path: 'packages/elevasis/operations/src/sales/prospecting/scrape/apollo-import.ts',
170
+ role: 'entrypoint',
171
+ symbol: 'lgnApolloImportWorkflow'
172
+ }
173
+ ]
174
+ }
175
+ })
176
+
177
+ export const resourceGovernanceModel = {
178
+ systems,
179
+ resources: resourceDescriptors
180
+ } as const
181
+ ```
182
+
183
+ Legacy `sys.*` paths may still appear in older examples and external compatibility mirrors.
184
+ For new Organization OS examples, prefer the current semantic System path.
185
+
186
+ ## Domain Semantics
187
+
188
+ The model keeps business semantics in named domains:
189
+
190
+ - `identity`, `customers`, `offerings`, `roles`, `goals` -- organizational reality
191
+ - `systems` -- bounded contexts that group governed operational resources and system-local content
192
+ - `actions` -- stable business verbs exposed or consumed by systems
193
+ - `entities` -- durable business nouns and their semantic links
194
+ - `resources` -- governance-only workflow, agent, integration, and script descriptors
195
+ - `knowledge` -- playbooks, strategies, references, and graph-governing links
196
+
185
197
  System-local operational catalogs live under `System.ontology.catalogTypes`, including pipeline, stage, template, template-step, status-flow, and status records. System-local settings live in `System.config`. The legacy compound and status domains should not be used for new authoring.
186
-
187
- ## Authoring and Resolution
188
-
189
- - `defineOrganizationModel()` is a typed authoring helper.
190
- - `resolveOrganizationModel(partial)` deep-merges a partial override into `DEFAULT_ORGANIZATION_MODEL` and validates the result.
191
- - `createFoundationOrganizationModel(partial)` resolves the canonical model and returns template-facing helpers.
192
- - Plain objects merge recursively.
193
- - Id-keyed domain maps merge additively by key.
194
- - Arrays replace defaults.
195
-
196
- ## Referential Integrity
197
-
198
- `OrganizationModelSchema` validates:
199
-
200
- - unique System IDs
201
- - ancestor existence for dotted System IDs and `parentSystemId`
202
- - UI path rules for Systems with UI presence
203
- - valid sidebar positions
204
- - reality-domain cross references such as offering target segments and role reporting lines
205
- - system, resource, role, knowledge, and goal cross references used by resource governance
206
-
207
- `DeploymentSpec` remains the runtime/deploy assembly around these descriptors. It is not the source of resource identity.
208
-
209
- ## Provider Integration
210
-
211
- `ElevasisSystemsProvider` uses the organization model to:
212
-
213
- 1. validate each manifest's `systemId`
214
- 2. resolve effective system access
215
- 3. derive sidebar entries from `navigation.sidebar`
216
- 4. expose shell helpers such as `childrenOf`, `ancestorsOf`, and `findByPath`
217
- 5. bridge the operations graph into shared UI
218
-
219
- ## Published Package
220
-
221
- `@elevasis/core` exposes a curated browser-safe surface:
222
-
223
- - root barrel
224
- - `./organization-model`
225
-
226
- The organization graph builder remains monorepo-internal until there is a concrete external contract need.
227
-
228
- ## Verification
229
-
230
- ```bash
231
- pnpm --filter @repo/core test -- organization-model
232
- pnpm --filter @repo/core build:publish
233
- pnpm -C external/_template/core test
234
- ```
198
+
199
+ ## Authoring and Resolution
200
+
201
+ - `defineOrganizationModel()` is a typed authoring helper.
202
+ - `resolveOrganizationModel(partial)` deep-merges a partial override into `DEFAULT_ORGANIZATION_MODEL` and validates the result.
203
+ - `createFoundationOrganizationModel(partial)` resolves the canonical model and returns template-facing helpers.
204
+ - Plain objects merge recursively.
205
+ - Id-keyed domain maps merge additively by key.
206
+ - Arrays replace defaults.
207
+
208
+ ## Referential Integrity
209
+
210
+ `OrganizationModelSchema` validates:
211
+
212
+ - unique System IDs
213
+ - ancestor existence for dotted System IDs and `parentSystemId`
214
+ - UI path rules for Systems with UI presence
215
+ - valid sidebar positions
216
+ - reality-domain cross references such as offering target segments and role reporting lines
217
+ - system, resource, role, knowledge, and goal cross references used by resource governance
218
+
219
+ `DeploymentSpec` remains the runtime/deploy assembly around these descriptors. It is not the source of resource identity.
220
+
221
+ ## Provider Integration
222
+
223
+ `ElevasisSystemsProvider` uses the organization model to:
224
+
225
+ 1. validate each manifest's `systemId`
226
+ 2. resolve effective system access
227
+ 3. derive sidebar entries from `navigation.sidebar`
228
+ 4. expose shell helpers such as `childrenOf`, `ancestorsOf`, and `findByPath`
229
+ 5. bridge the operations graph into shared UI
230
+
231
+ ## Published Package
232
+
233
+ `@elevasis/core` exposes a curated browser-safe surface with six subpaths:
234
+
235
+ - `.` (root barrel)
236
+ - `./auth`
237
+ - `./test-utils`
238
+ - `./organization-model`
239
+ - `./entities`
240
+ - `./knowledge`
241
+
242
+ Only these subpaths are the legitimate published contract; any other `@repo/core/<subpath>` (`/server`, `/platform`, `/execution`, `/commands`, `/operations`, `/resilience`, `/supabase`, ...) is workspace-internal and not part of the SDK surface. The organization graph builder remains monorepo-internal until there is a concrete external contract need.
243
+
244
+ ## Verification
245
+
246
+ ```bash
247
+ pnpm --filter @repo/core test -- organization-model
248
+ pnpm --filter @repo/core build:publish
249
+ pnpm -C external/_template/core test
250
+ ```
@@ -31,19 +31,18 @@ Layer 3: Sync Verification (pnpm sync:verify)
31
31
 
32
32
  ## Layer 1: Source Generation
33
33
 
34
- `pnpm scaffold:sync` is the meta-script that regenerates all derived documentation and validates the output. It chains seven sub-scripts:
34
+ `pnpm scaffold:sync` is the meta-script that regenerates all derived documentation and validates the output. It chains six sub-scripts:
35
35
 
36
- | Script | Input | Output |
37
- | ---------------------- | --------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
38
- | `scaffold:generate` | Scaffold contract and feature-registry sources | `packages/core/src/reference/_generated/**`, `packages/ui/src/scaffold/_generated/feature-registry.md` |
39
- | `knowledge:generate` | Elevasis core knowledge nodes and UI knowledge body sources | Generated knowledge nodes and UI knowledge bodies |
40
- | `gen:sdk-catalog` | SDK catalog source definitions | SDK catalog artifacts |
41
- | `gen:sdk-adapters` | SDK adapter definitions | SDK adapter artifacts |
42
- | `copy-docs` | SDK docs, package-owned reference docs, scaffold docs, and `_template/.claude` config | `packages/sdk/reference/**` copied docs and scaffold reference bundle |
43
- | `sdk-ref:generate` | SDK manifest and navigation sources | `packages/sdk/reference/_reference-manifest.json`, `packages/sdk/reference/_navigation.md` |
44
- | `sdk-ref:check` | Generated SDK reference artifacts | Freshness validation for `packages/sdk/reference/_reference-manifest.json` and `_navigation.md` |
36
+ | Script | Input | Output |
37
+ | -------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ |
38
+ | `scaffold:generate` | Scaffold contract and feature-registry sources | `packages/core/src/reference/_generated/**`, `packages/ui/src/scaffold/_generated/feature-registry.md` |
39
+ | `knowledge:generate` | Elevasis core knowledge nodes and UI knowledge body sources | Generated knowledge nodes and UI knowledge bodies |
40
+ | `gen:sdk-catalog` | SDK catalog source definitions | SDK catalog artifacts |
41
+ | `gen:sdk-adapters` | SDK adapter definitions | SDK adapter artifacts |
42
+ | `copy-docs` | SDK docs, package-owned reference docs, scaffold docs, and `_template/.claude` config | `packages/sdk/reference/**` copied docs, `_reference-manifest.json`, and `_navigation.md` |
43
+ | `sdk-ref:check` | Generated SDK reference artifacts | Freshness validation for `packages/sdk/reference/_reference-manifest.json` and `_navigation.md` |
45
44
 
46
- The final `sdk-ref:check` step validates that the reference artifacts are consistent. Exit 1 if drifted.
45
+ `copy-docs` (`packages/sdk/scripts/copy-reference-docs.mjs`) atomically regenerates `_reference-manifest.json` and `_navigation.md` itself as its own Phase 5, via the same `buildAllArtifacts()`/`writeArtifacts()` functions the standalone `sdk-ref:generate` script runs -- so there is no separate `sdk-ref:generate` step in this chain; running it again after `copy-docs` would just recompute an identical result. The final `sdk-ref:check` step validates that the reference artifacts are consistent. Exit 1 if drifted.
47
46
 
48
47
  ### Trigger Points
49
48
 
@@ -63,12 +62,12 @@ Drift is healed at the moment it would otherwise leak downstream. This is cheape
63
62
  `/external sync` now treats the scaffold registry as the execution contract rather than relying on tier prose alone.
64
63
  The canonical ownership vocabulary is:
65
64
 
66
- | Category | Strategy examples | Meaning |
67
- | ------------- | --------------------------------- | ------------------------------------------------------------------- |
68
- | `replace` | `replace-all` | Template-managed surface; copy from template baseline |
65
+ | Category | Strategy examples | Meaning |
66
+ | ------------- | ------------------------------------------ | ------------------------------------------------------------------- |
67
+ | `replace` | `replace-all` | Template-managed surface; copy from template baseline |
69
68
  | `merge` | `merge-baseline`, `preserve-on-divergence` | Merge-aware surface; preserve project customizations where required |
70
- | `never-touch` | `verify-only` | Project-owned surface; planner may report drift but never writes |
71
- | `generated` | `generated-freshness` | Generated surface; verify/regen instead of copying |
69
+ | `never-touch` | `verify-only` | Project-owned surface; planner may report drift but never writes |
70
+ | `generated` | `generated-freshness` | Generated surface; verify/regen instead of copying |
72
71
 
73
72
  Current command helpers:
74
73
 
@@ -127,7 +126,7 @@ The external skill doc (`.claude/skills/external/SKILL.md`) remains the workflow
127
126
  ```bash
128
127
  pnpm sync:verify # Post-sync assertion (exit 1 on failures)
129
128
  pnpm sync:verify --pre # Pre-sync drift report (always exit 0)
130
- pnpm sync:verify -- ZentaraHQ # Single project
129
+ pnpm sync:verify -- nirvana-marketing # Single project
131
130
  ```
132
131
 
133
132
  ### Integration Points
@@ -25,24 +25,24 @@ Scaffold docs are co-located with their owning package and copied into the SDK r
25
25
 
26
26
  ### Source-to-Destination Map
27
27
 
28
- | Content | Source | SDK Reference Destination |
29
- | --------------------------- | --------------------------------------------------------------- | --------------------------------------------- |
30
- | Organization Model | `packages/core/src/organization-model/organization-model.mdx` | `scaffold/core/organization-model.mdx` |
31
- | Organization Graph | `packages/core/src/organization-model/organization-graph.mdx` | `scaffold/core/organization-graph.mdx` |
32
- | Glossary | `packages/core/src/reference/glossary.md` | `scaffold/reference/glossary.md` |
33
- | Contracts (auto-gen) | `packages/core/src/reference/_generated/contracts.md` | `scaffold/reference/contracts.md` |
28
+ | Content | Source | SDK Reference Destination |
29
+ | ---------------------------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------- |
30
+ | Organization Model | `packages/core/src/organization-model/organization-model.mdx` | `scaffold/core/organization-model.mdx` |
31
+ | Organization Graph | `packages/core/src/organization-model/organization-graph.mdx` | `scaffold/core/organization-graph.mdx` |
32
+ | Glossary | `packages/core/src/reference/glossary.md` | `scaffold/reference/glossary.md` |
33
+ | Contracts (auto-gen) | `packages/core/src/reference/_generated/contracts.md` | `scaffold/reference/contracts.md` |
34
34
  | System Interface Capabilities (auto-gen) | `packages/core/src/reference/_generated/system-interface-capabilities.md` | `scaffold/reference/system-interface-capabilities.md` |
35
- | UI Recipes | `packages/ui/src/scaffold/recipes.md` | `scaffold/ui/recipes.md` |
36
- | System Flags & Gating | `packages/ui/src/scaffold/feature-flags-and-gating.md` | `scaffold/ui/feature-flags-and-gating.md` |
37
- | Customization | `packages/ui/src/scaffold/customization.md` | `scaffold/ui/customization.md` |
38
- | System Shell | `packages/ui/src/scaffold/feature-shell.mdx` | `scaffold/ui/feature-shell.mdx` |
39
- | Composition & Extensibility | `packages/ui/src/scaffold/composition-extensibility.mdx` | `scaffold/ui/composition-extensibility.mdx` |
40
- | System Registry (auto-gen) | `packages/ui/src/scaffold/_generated/feature-registry.md` | `scaffold/reference/feature-registry.md` |
41
- | Scaffold Index | `packages/sdk/docs/scaffold/index.mdx` | `scaffold/index.mdx` |
42
- | Pathway Recipes | `packages/sdk/docs/scaffold/recipes/` | `scaffold/recipes/` |
43
- | Workflow Recipes | `packages/sdk/docs/scaffold/operations/workflow-recipes.md` | `scaffold/operations/workflow-recipes.md` |
44
- | Propagation Pipeline | `packages/sdk/docs/scaffold/operations/propagation-pipeline.md` | `scaffold/operations/propagation-pipeline.md` |
45
- | This doc | `packages/sdk/docs/scaffold/operations/scaffold-maintenance.md` | `scaffold/operations/scaffold-maintenance.md` |
35
+ | UI Recipes | `packages/ui/src/scaffold/recipes.md` | `scaffold/ui/recipes.md` |
36
+ | System Flags & Gating | `packages/ui/src/scaffold/feature-flags-and-gating.md` | `scaffold/ui/feature-flags-and-gating.md` |
37
+ | Customization | `packages/ui/src/scaffold/customization.md` | `scaffold/ui/customization.md` |
38
+ | System Shell | `packages/ui/src/scaffold/feature-shell.mdx` | `scaffold/ui/feature-shell.mdx` |
39
+ | Composition & Extensibility | `packages/ui/src/scaffold/composition-extensibility.mdx` | `scaffold/ui/composition-extensibility.mdx` |
40
+ | System Registry (auto-gen) | `packages/ui/src/scaffold/_generated/feature-registry.md` | `scaffold/reference/feature-registry.md` |
41
+ | Scaffold Index | `packages/sdk/docs/scaffold/index.mdx` | `scaffold/index.mdx` |
42
+ | Pathway Recipes | `packages/sdk/docs/scaffold/recipes/` | `scaffold/recipes/` |
43
+ | Workflow Recipes | `packages/sdk/docs/scaffold/operations/workflow-recipes.md` | `scaffold/operations/workflow-recipes.md` |
44
+ | Propagation Pipeline | `packages/sdk/docs/scaffold/operations/propagation-pipeline.md` | `scaffold/operations/propagation-pipeline.md` |
45
+ | This doc | `packages/sdk/docs/scaffold/operations/scaffold-maintenance.md` | `scaffold/operations/scaffold-maintenance.md` |
46
46
 
47
47
  ---
48
48
 
@@ -65,7 +65,8 @@ Output: `packages/core/src/reference/_generated/contracts.md`
65
65
  Generated by `scripts/monorepo/generate-scaffold-contracts.js` from:
66
66
 
67
67
  - `packages/core/src/organization-model/domains/systems.ts` -- `SYSTEM_INTERFACE_PROFILES`
68
- - `packages/core/src/business/acquisition/ontology-validation.ts` -- derived-readiness validation constants and checks
68
+ - `packages/core/src/organization-model/readiness/` -- generic derived-readiness engine (`computeInterfaceReadiness`)
69
+ - `packages/core/src/business/acquisition/ontology-validation.ts` -- built-in lead-gen/CRM readiness contracts and profile registration
69
70
 
70
71
  Output: `packages/core/src/reference/_generated/system-interface-capabilities.md`
71
72
 
@@ -99,12 +100,13 @@ Generated files should never be edited manually. If the output is wrong, fix the
99
100
 
100
101
  ## SDK Build Pipeline (Reference Copy)
101
102
 
102
- `packages/sdk/scripts/copy-reference-docs.mjs` runs during `pnpm --filter @elevasis/sdk build` and has four phases:
103
+ `packages/sdk/scripts/copy-reference-docs.mjs` runs during `pnpm --filter @elevasis/sdk build` (and as the `copy-docs` root script) and has five phases:
103
104
 
104
105
  1. **Phase 1:** Copies SDK public docs from `apps/docs/content/docs/sdk/` with link rewriting and MDX escape stripping
105
106
  2. **Phase 2:** Copies package-owned reference docs declared in reference manifests
106
107
  3. **Phase 3:** Copies scaffold docs from co-located package sources using the `SCAFFOLD_COPIES` map
107
- 4. **Phase 4:** Copies `external/_template/.claude` into `packages/sdk/reference/claude-config` for tenant-facing agent configuration
108
+ 4. **Phase 4:** Generates a pointer doc (`claude-config.md`) to the tenant's own `.claude/` config instead of bundling it wholesale
109
+ 5. **Phase 5 (F14):** Atomically regenerates `_reference-manifest.json` and `_navigation.md` via the same `buildAllArtifacts()`/`writeArtifacts()` functions the standalone `sdk-ref:generate` script runs -- this happens after the wipe-and-recopy above because the orphan-reachability check inside `buildAllArtifacts()` walks the output directory. This closes the window where `packages/sdk/reference/` could sit without those two files between a `copy-docs` run and a separate `sdk-ref:generate` run, so a chain that already runs `copy-docs` never needs a following `sdk-ref:generate` step -- it would just recompute an identical result.
108
110
 
109
111
  The output lands in `packages/sdk/reference/` which is included in the npm package's `files` array. External projects access it via `operations/node_modules/@elevasis/sdk/reference/`.
110
112