@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,69 +0,0 @@
1
- # Resource Governance Runtime + CRM Detail Pages + Service-Context Rename
2
-
3
- ## Why this note exists
4
-
5
- The 2026-05-09 release train extends the clients-domain ship with three additional bodies of work that affect template-derived projects:
6
-
7
- 1. **Resource Governance runtime cutover.** The shared resource-governance validator now defaults to **strict** mode. The OM Resources/Systems descriptor catalog is the source of truth for resource identity. Operations bundles must bind workflows, agents, and integrations to descriptors via `defineResource(s)` + descriptor binding helpers; raw `resourceId` literals in `DeploymentSpec` no longer pass strict validation.
8
- 2. **CRM detail-page surface expansion.** `@elevasis/ui` now publishes `ContactDetailPage` (new) and `CompanyDetailPage` (now exported from `sdk-barrel`) under `@elevasis/ui/features/crm`. The lead-gen flow no longer renders detail modals on row click — both pages are reached via TanStack Router routes (`/crm/contacts/$contactId`, `/crm/companies/$companyId`). The legacy `CompanyDetailModal` and `ContactDetailModal` exports were removed from `@elevasis/ui/features/lead-gen/shared`.
9
- 3. **`ElevasisServiceContext` field rename.** `useElevasisServices().organizationId` is renamed to `useElevasisServices().workOSOrganizationId` to make the WorkOS-vs-Supabase distinction loud at call sites. The old `organizationId` field is preserved as a back-compat alias on both `ElevasisServiceContextValue` and `ElevasisServiceProviderProps` for one release cycle, so existing template consumers continue to work without immediate migration.
10
-
11
- Companion items already covered elsewhere:
12
-
13
- - Scaffold/agent guidance for descriptor-first authoring → see `2026-05-08-resource-governance-scaffold-guidance.md`.
14
- - Clients domain (new sidebar pillar, write operations, project/client linkage) → see `2026-05-09-clients-domain.md`.
15
-
16
- ## Applies to
17
-
18
- Any template-derived project (e.g. `nirvana-marketing`, `ZentaraHQ`) that:
19
-
20
- - Deploys workflows, agents, or integrations through `operations/src/index.ts` (resource-governance validator).
21
- - Renders contacts/companies in any feature surface, including custom CRM views (CRM detail pages + modal removal).
22
- - Uses `useElevasisServices()` from `@elevasis/ui` in custom hooks, components, or test fixtures (service-context rename).
23
-
24
- ## Required actions
25
-
26
- ### 1. Resource Governance — descriptor-backed deployment
27
-
28
- - Confirm `core/config/organization-model.ts` declares your tenant's resources in the id-keyed `organizationModel.resources` map (single-author resource IDs).
29
- - In `operations/src/index.ts`, bind your workflow/agent/integration definitions to those descriptors via the helpers exported from `@elevasis/sdk` instead of authoring raw `resourceId` strings inline in `DeploymentSpec`.
30
- - Run `pnpm -C operations check`. The default validator mode is now strict; missing descriptors, raw-ID authoring, runtime/OM type mismatches, and missing Systems will fail the build. Set `ELEVASIS_RESOURCE_VALIDATOR=warn-only` only as a temporary emergency escape hatch — do not let normal CI silently depend on it.
31
- - New SDK CLI commands are available: `elevasis-sdk agent:list`, `elevasis-sdk agent:get \<id>`, `elevasis-sdk session:list`, `elevasis-sdk session:get \<id>`, `elevasis-sdk session:end \<id>`. Existing `resources` / `describe` / `exec` / `executions` / `execution` are unchanged.
32
-
33
- ### 2. CRM detail pages
34
-
35
- - If your project imports `CompanyDetailModal` or `ContactDetailModal` from `@elevasis/ui/features/lead-gen/shared`, those exports were removed. Replace modal-on-row-click patterns with `useNavigate` to `/crm/contacts/$contactId` or `/crm/companies/$companyId`.
36
- - If you need detail-page UI in custom routes, import `ContactDetailPage` and `CompanyDetailPage` from `@elevasis/ui/features/crm`. Both are part of the published `sdk-barrel` and accept `contactId` / `companyId` props.
37
- - The `extend-lead-gen.md` recipe in `node_modules/@elevasis/sdk/reference/scaffold/recipes/` was updated — it no longer documents the modal helpers.
38
-
39
- ### 3. `workOSOrganizationId` field rename
40
-
41
- - New idiomatic destructure: `const { apiRequest, workOSOrganizationId, isReady } = useElevasisServices()`.
42
- - The old `organizationId` field still resolves correctly through the back-compat alias, so existing template code compiles and runs without changes. New code in this project should use `workOSOrganizationId`.
43
- - If your project uses `<ElevasisServiceProvider organizationId={...}>`, that prop also accepts both names. Provider's resolver is `workOSOrganizationId ?? organizationId ?? null` — passing both names is supported but unnecessary.
44
- - For test fixtures that mock `useElevasisServices` via `vi.mock`, return `workOSOrganizationId` rather than `organizationId` when authoring NEW mocks; existing mocks will continue to work via the alias but should be migrated opportunistically. The runtime trap is: `vi.mock(...)` is untyped — TypeScript will not catch a mock that returns the deprecated key, but the resolver bypass means downstream `services.workOSOrganizationId` reads `undefined`.
45
-
46
- ## Verification
47
-
48
- After reconciling local project guidance and writing any descriptor / service-context updates:
49
-
50
- ```bash
51
- pnpm -C operations check
52
- pnpm -C operations check-types
53
- pnpm -C ui check-types
54
- pnpm -C ui test
55
- ```
56
-
57
- If your project deploys to production and you author runtime resources directly:
58
-
59
- ```bash
60
- pnpm -C operations exec elevasis-sdk deploy
61
- ```
62
-
63
- Expect strict-mode validator output. Investigate any "OM resource missing for code resource" or "raw resourceId authoring detected" errors as descriptor-binding work, not as test bypass.
64
-
65
- ## Not handled by /git-sync
66
-
67
- - `/git-sync` pulls the new `@elevasis/sdk`, `@elevasis/ui`, and `@elevasis/core` versions and template-owned files, but it does **not** rewrite existing project-owned `operations/src/**` workflow/agent/integration files to use descriptor-backed binding. Maintainers must migrate raw `resourceId` literals to descriptor lookups intentionally.
68
- - `/git-sync` does **not** rewrite custom UI routes that import `CompanyDetailModal` / `ContactDetailModal` from `@elevasis/ui/features/lead-gen/shared`. Replace those imports with `useNavigate` to detail-page routes manually.
69
- - `/git-sync` does **not** rename `useElevasisServices().organizationId` reads in project-owned code. The back-compat alias keeps existing code working; proactive renaming is a manual cleanup.
@@ -1,30 +0,0 @@
1
- # SDK Ready Release Train
2
-
3
- ## Why this note exists
4
-
5
- This release train carries SDK CLI, Organization OS/Knowledge scaffold, shared UI, and external template guidance changes from the monorepo into template-derived projects. Downstream projects need an operative sync note because the train includes `external/_template/.claude/**`, package baseline cascades, and generated/reference surfaces that are not handled by ordinary git merge alone.
6
-
7
- ## Applies to
8
-
9
- - Template-derived external projects, including `external/ZentaraHQ` when its local worktree is ready for reconciliation.
10
- - Managed Claude skill/rule/registry surfaces under `.claude/**`.
11
- - Package dependency baselines for `@elevasis/core`, `@elevasis/ui`, and `@elevasis/sdk` after the publish stages complete.
12
-
13
- ## Required actions
14
-
15
- - Run the prepared `/external sync --all` scope from `_external-sync-prep.json` after `/sdk ship` completes publish and deploy stages.
16
- - Preserve project-owned files such as tenant `CLAUDE.md`, operations runtime code, and knowledge nodes unless the sync manifest marks a path as managed.
17
- - Reconcile dirty tenant worktrees before applying managed `.claude` skill/rule writes.
18
-
19
- ## Verification
20
-
21
- - Run the external sync planner/verify flow for each target project before applying writes.
22
- - Confirm queue, schedule, note, Knowledge, and Organization OS guidance renders in the downstream `.claude` command/skill surfaces.
23
- - Regenerate downstream knowledge/scaffold artifacts where the sync report requires generated freshness.
24
-
25
- ## Not handled by /git-sync
26
-
27
- - Publishing `@elevasis/core`, `@elevasis/ui`, or `@elevasis/sdk`.
28
- - Deploying the SDK resources bundle.
29
- - Tenant-specific conflict resolution in dirty external project repositories.
30
- - Manual review of project-owned `CLAUDE.md`, operations source, and knowledge content.
@@ -1,45 +0,0 @@
1
- # Organization Model Ontology Refactor
2
-
3
- ## Why this note exists
4
-
5
- The template now demonstrates the Organization Model ontology and topology bridge. New semantic contracts should be authored in `System.ontology`; executable Resources bind through `resource.ontology.actions` and optional `resource.ontology.primaryAction`; durable operational wiring belongs in `organizationModel.topology.relationships`. Legacy `entities`, `actions`, and `System.content` remain compatibility mirrors for current consumers.
6
-
7
- ## Applies to
8
-
9
- - `core/config/organization-model.ts`
10
- - `core/config/organization-model.test.ts`
11
- - `core/config/organization-model.contract.test.ts`
12
- - `core/config/README.md`
13
- - `operations/src/index.ts`
14
- - `operations/src/resource-registry.test.ts`
15
- - `operations/src/README.md`
16
- - `.claude/rules/organization-model.md`
17
- - `.claude/rules/operations.md`
18
-
19
- ## Required actions
20
-
21
- 1. Preserve system-colocated ontology scopes when syncing template organization-model changes.
22
- 2. Migrate Resource descriptors from `ontology.implements` / `actionKey` to `ontology.actions` / `ontology.primaryAction`; keep `codeRefs` with the Resource descriptor.
23
- 3. Preserve `organizationModel.topology.relationships` when syncing template organization-model changes; keep secrets, credential values, provider webhook mechanics, and per-run state outside the OM.
24
- 4. Keep `entities`, `actions`, and `System.content` aligned as compatibility mirrors until downstream consumers move fully to compiled ontology indexes.
25
- 5. Do not overwrite project-owned `core/config/extensions/**` files.
26
-
27
- ## Verification
28
-
29
- Run the template verification lane after applying this sync:
30
-
31
- ```bash
32
- pnpm -C external/_template/core test
33
- pnpm -C external/_template/core exec tsc --noEmit
34
- pnpm -C external/_template/operations check
35
- pnpm -C external/_template/operations check-types
36
- pnpm -C external/_template/operations test
37
- pnpm sync:verify --pre
38
- ```
39
-
40
- ## Not handled by /git-sync
41
-
42
- - Choosing project-specific ontology IDs for tenant-owned systems.
43
- - Choosing project-specific topology relationships for tenant-owned workflows, checkpoints, integrations, or schedules.
44
- - Migrating project-owned extension files under `core/config/extensions/**`.
45
- - Retiring compatibility mirrors before the full internal, SDK, scaffold, and external template-family green cycle.
@@ -1,52 +0,0 @@
1
- # OM Skill Rename + Write Family Release Train
2
-
3
- ## Why this note exists
4
-
5
- This release train renames the tenant `/knowledge` skill to `/om` and broadens it, ports `om:search` / `om:describe` to the `elevasis-sdk` CLI, and bumps the `@elevasis/core` and `@elevasis/sdk` dependency baselines. The template `.claude` skill surface changed shape (a directory was renamed and slash-command references were rewritten across CLAUDE.md, rules, and adjacent skills), and `@elevasis/core` / `@elevasis/sdk` published new exports and CLI commands. Ordinary git merge does not reconcile a managed `.claude` skill rename or pull republished package baselines, so template-derived projects need an operative note.
6
-
7
- This note covers the `om-skill` workstream (the `/knowledge` -> `/om` rename + SDK CLI port) and the package-baseline cascades from the same train (`@elevasis/core` minor from `om-skill` + `om-create-skill`; `@elevasis/sdk` minor from `om-skill`). It does NOT cover the unrelated Shared-UI-Migration changes under `external/_template/ui/**`, which are a separate workstream and not part of this train.
8
-
9
- ## Applies to
10
-
11
- - `external/_template/.claude/skills/om/SKILL.md` (renamed from `external/_template/.claude/skills/knowledge/SKILL.md`; canonical 5-bucket decision tree with the tenant Codify/Toggle ceremony preserved)
12
- - `external/_template/.claude/skills/om/operations/*.md` (10 files moved from `knowledge/operations/`; `elevasis-sdk knowledge:*` references rewritten to `elevasis-sdk om:*`, `/knowledge` footers rewritten to `/om`)
13
- - `external/_template/.claude/skills/knowledge/` (DELETED — directory removed; tombstone, do not re-create on sync)
14
- - `external/_template/CLAUDE.md` (Slash Commands table — `/knowledge` -> `/om`)
15
- - `external/_template/.claude/rules/{organization-model,organization-os,vibe}.md` (slash-command references)
16
- - `external/_template/.claude/skills/{setup,project,tutorial}/*.md` (slash-command references)
17
- - `external/_template/core/package.json` (`@elevasis/core` baseline -> 0.25.0)
18
- - `external/_template/operations/package.json` (`@elevasis/core` -> 0.25.0 and `@elevasis/sdk` -> 1.23.0 baselines)
19
-
20
- Package baselines become concrete only after the `core` and `sdk` publish stages of `/sdk ship` complete; the `.claude` skill rename is template-authored and already present in `external/_template`.
21
-
22
- ## Required actions
23
-
24
- 1. Apply the managed `.claude` skill rename atomically: create `.claude/skills/om/` (SKILL.md + `operations/`) and delete the former knowledge skill directory in the same sync. Never leave both directories present — two skills advertising the same scope is the exact confusion the rename removes.
25
- 2. Preserve any tenant-owned Codify/Toggle ceremony content in the project's `om/SKILL.md` Write-Power section; do not overwrite project-authored knowledge node content under `core/config/knowledge/**` (the content directory is separate from the slash-command name).
26
- 3. Rewrite `/knowledge` -> `/om` and `elevasis-sdk knowledge:*` -> `elevasis-sdk om:*` references in managed surfaces only; `knowledge:*` CLI aliases remain valid, so do not hard-fail on legacy invocations in project-owned files.
27
- 4. After the `/sdk ship` publish stages land, bump the `@elevasis/core` (0.25.0) and `@elevasis/sdk` (1.23.0) baselines in `core/package.json` and `operations/package.json`, then reinstall.
28
- 5. The `/om` write sub-skill family (`verify` / `create` / `rename` / `deprecate`) is intentionally NOT ported to the tenant template in this train (deferred to a dedicated task). Do not scaffold those tenant operations from this sync.
29
-
30
- ## Verification
31
-
32
- Run the template verification lane after applying this sync:
33
-
34
- ```bash
35
- pnpm sync:verify --pre
36
- pnpm external:verify
37
- pnpm -C external/_template/operations check-types
38
- pnpm -C external/_template/operations test
39
- ```
40
-
41
- Then confirm in each downstream project:
42
-
43
- - `.claude/skills/om/` exists with `SKILL.md` + `operations/`; the former knowledge skill directory is gone.
44
- - `elevasis-sdk om:search "<query>"` and `elevasis-sdk om:describe <id>` resolve against the tenant's organization model; legacy `elevasis-sdk knowledge:*` still aliases.
45
- - `@elevasis/core` resolves to >= 0.25.0 and `@elevasis/sdk` to >= 1.23.0.
46
-
47
- ## Not handled by /git-sync
48
-
49
- - Publishing `@elevasis/core` (0.25.0) or `@elevasis/sdk` (1.23.0) — owned by `/sdk ship` publish stages.
50
- - Redeploying the SDK resources bundle (`elevasis-operations`) after the `@elevasis/sdk` publish.
51
- - Tenant-specific conflict resolution in dirty external project worktrees, including reconciling any project-authored edits to the former `knowledge/SKILL.md`.
52
- - The unrelated Shared-UI-Migration changes under `external/_template/ui/**` (separate workstream; not in this train's scope).
@@ -1,33 +0,0 @@
1
- # SDK Boundary Consolidation Release Train
2
-
3
- ## Why this note exists
4
-
5
- This train publishes the SDK boundary consolidation work and updates the template to consume more of the published Elevasis SDK family instead of carrying local boilerplate. It also carries the Organization Model bridge retirement and typed-contract hardening that the ship train depends on.
6
-
7
- ## Applies to
8
-
9
- - Template UI shells derived from `external/_template/ui`.
10
- - Template operations packages that depend on `@elevasis/sdk`.
11
- - Template core packages that depend on `@elevasis/core`.
12
- - Projects that still carry copied `.claude/rules/*.md` files instead of SDK reference pointers.
13
-
14
- ## Required actions
15
-
16
- - Refresh package baselines after publishing `@elevasis/core`, `@elevasis/ui`, and `@elevasis/sdk`.
17
- - Adopt `ElevasisAuthenticatedShell` from `@elevasis/ui/app` in template-derived root routes.
18
- - Replace local UI test/store/query-client helpers with `@elevasis/ui/test-utils`, `@elevasis/ui/test-utils/setup`, `createElevasisAppStore`, and `createElevasisQueryClient`.
19
- - Keep project-specific Claude guidance as compatibility stubs that point at `@elevasis/sdk/reference/rules/`.
20
- - Treat `System.ontology.catalogTypes` and `System.config` as canonical Organization Model authoring surfaces; do not reintroduce `System.content`.
21
-
22
- ## Verification
23
-
24
- - `pnpm sdk:verify-release`
25
- - `pnpm scaffold:verify`
26
- - `pnpm verify:scaffold-reference`
27
- - `pnpm sync:verify`
28
- - `pnpm org-os:verify`
29
- - Template UI typecheck and tests from the source workstream.
30
-
31
- ## Not handled by /git-sync
32
-
33
- `/git-sync` does not publish npm packages, deploy the operations resource bundle, or decide whether project-owned files should adopt a template baseline. Those steps remain owned by `/sdk ship` and the prepared external-sync manifest.
@@ -1,32 +0,0 @@
1
- # Organization Model Define Helpers Release Train
2
-
3
- ## Why this note exists
4
-
5
- This train publishes `@elevasis/core` 0.28.0, which adds a generic `defineDomainRecord<TSchema>(schema, entries)` helper plus eleven domain-specific authoring wrappers (`defineAction`/`defineActions`, `defineEntity`/`defineEntities`, `defineSystem`/`defineSystems`, `defineCustomer`/`defineCustomers`, `defineOffering`/`defineOfferings`, `defineRole`/`defineRoles`, `defineGoal`/`defineGoals`, `defineStatus`/`defineStatuses`, `definePolicy`/`definePolicies`, `defineKnowledgeNode`/`defineKnowledgeNodes`). The audit that motivated this train (package vs. project boundary) found that projects were hand-rolling the "validate every entry against its schema, then return an id-keyed map" pattern in multiple places — the helpers eliminate that duplication and make validation uniform.
6
-
7
- After this publish, the template's `external/_template/core/config/organization-model.ts` drops 6 local `TemplateX` type aliases and 2 local helper redefinitions in favor of the published equivalents.
8
-
9
- ## Applies to
10
-
11
- - `external/_template/core/config/organization-model.ts` (template authoring surface)
12
- - Any downstream tenant project derived from `_template` that still carries local `TemplateActionRef` / `TemplateActionEntry` / `TemplateEntityEntry` / `TemplateSystemEntry` / `TemplateResourceOntologyBinding` / `TemplateWorkflowResourceEntry` aliases, or local `listAllSystems` / `toDomainRecord` helpers
13
- - `external/_template/core/package.json` and `external/_template/operations/package.json` (baseline cascade — both pin `@elevasis/core`)
14
-
15
- ## Required actions
16
-
17
- - Refresh `@elevasis/core` to 0.28.0 in `core/package.json` and `operations/package.json` (caret range picks it up automatically; `pnpm install` to actualize).
18
- - Drop the 6 `TemplateX` type aliases from `core/config/organization-model.ts` and import the canonical types from `@elevasis/core/organization-model` instead: `ActionRef`, `OrganizationAction`, `Entity`, `OrganizationModelSystemEntry`, `ResourceOntologyBinding`, `WorkflowResourceEntry`.
19
- - Drop the local `listAllSystems` and `toDomainRecord` helpers; use `listAllSystems` and `defineDomainRecord` from `@elevasis/core/organization-model`.
20
- - Keep `TemplateWorkflowResourceEntry` ONLY as an intersection that adds the `systemId` compat mirror plus required `title`/`description`: `WorkflowResourceEntry & { systemId: string; title: string; description: string }`. This compat mirror is the sole justified divergence.
21
- - Author calls that build domain records should migrate from the hand-rolled `toDomainRecord(entries)` form to the validating `defineDomainRecord(Schema, entries)` form, or use the domain-specific `defineActions`, `defineEntities`, etc. wrappers where applicable.
22
-
23
- ## Verification
24
-
25
- - `pnpm -C core check-types`
26
- - `pnpm -C operations check-types`
27
- - `pnpm -C ui check-types`
28
- - Run `pnpm sync:verify` from the monorepo root after `/external sync --all` propagates.
29
-
30
- ## Not handled by /git-sync
31
-
32
- `/git-sync` does not republish `@elevasis/core`, edit your `core/config/organization-model.ts` for you, or migrate hand-rolled `toDomainRecord` call sites to `defineDomainRecord`. Those edits are intentional authoring changes; review them in a normal PR. The `pnpm install` after the dependency bump IS handled.
@@ -1,43 +0,0 @@
1
- # Access Model And Right Panel Host
2
-
3
- ## Why this note exists
4
-
5
- This release train replaces the retired feature-access route guards with the unified Access Model and adds the shared right-panel host plus shared Notes view to the template UI. Downstream projects need to accept the new package baselines and reconcile any project-owned routes or dashboard surfaces that still use the old `SystemGuard` / `createFeatureAccessHook` pattern.
6
-
7
- ## Applies to
8
-
9
- Template-derived projects that use `@elevasis/ui` route guards, dashboard feature availability, right-panel UI, Notes, or template-managed route files under `ui/src/routes/**` and `ui/src/features/**`.
10
-
11
- Projects without custom route guards or right-panel customizations can accept the template updates normally, then run the verification gates below.
12
-
13
- ## Required actions
14
-
15
- 1. Pull the prepared template/package updates with `/git-sync` after the SDK ship train publishes `@elevasis/core` and `@elevasis/ui`.
16
- 2. Replace project-owned `SystemGuard`, `SurfaceGuard`, `AdminGuard`, `createFeatureAccessHook`, `useOrganizationPermissions`, and `useHasPermission` usages with `AccessGuard`, `useAccess`, and `AccessKeys`.
17
- 3. Keep app-local right-panel registries project-owned, but compose them with `RightPanelProvider`, `RightPanelLayer`, and shared views from `@elevasis/ui/features/right-panel-host` and `@elevasis/ui/features/notes`.
18
- 4. Preserve tenant-specific route content, Organization Model Systems, and custom dashboard cards while updating their access checks to the new Access Model.
19
- 5. Do not import workspace packages such as `@repo/core` or `@repo/ui` from external projects. Use the published `@elevasis/*` packages.
20
-
21
- ## Verification
22
-
23
- Run the project baseline gates after syncing:
24
-
25
- ```powershell
26
- pnpm -C ui check-types
27
- pnpm -C ui build
28
- pnpm -C ui test
29
- pnpm -C core test
30
- pnpm test
31
- ```
32
-
33
- For projects with custom route guards, also grep for retired access APIs:
34
-
35
- ```powershell
36
- rg "SystemGuard|SurfaceGuard|AdminGuard|createFeatureAccessHook|useOrganizationPermissions|useHasPermission" ui/src
37
- ```
38
-
39
- For projects adopting the right-panel host, open the app shell and confirm the panel trigger opens Notes, closes cleanly, preserves width on desktop, and does not hide project-owned navigation controls.
40
-
41
- ## Not handled by /git-sync
42
-
43
- `/git-sync` updates template-propagated files and package baselines. It does not rewrite project-owned custom routes, custom dashboard widgets, custom right-panel views, tenant Organization Model entries, or tenant-specific access semantics. Those remain project-authored decisions that must be migrated to the Access Model by the downstream maintainer.
@@ -1,40 +0,0 @@
1
- # Lead Gen Tenant Config Boundary
2
-
3
- ## Why this note exists
4
-
5
- The lead-gen list-builder package boundary changed so shared packages own reusable mechanics and tenant projects own lead-gen values. `@elevasis/core` no longer carries Elevasis tenant build-template defaults, and `@elevasis/ui` derives lead-gen configuration from the provider-injected Organization Model through `useLeadGenConfig()` instead of importing Elevasis-owned defaults.
6
-
7
- ## Applies to
8
-
9
- Template-derived projects that use the shared lead-gen pages, list-builder runner, build templates, workflow actions, or `@elevasis/ui/features/lead-gen`.
10
-
11
- Projects with no lead-gen surface and no list-builder workflows can ignore the lead-gen authoring steps, but should still accept package baseline updates from the release train.
12
-
13
- ## Required actions
14
-
15
- 1. Pull the template/package updates with `/git-sync` after the SDK ship train lands.
16
- 2. Keep lead-gen stage catalogs, build templates, workflow actions, resources, topology, and credential names in the project Organization Model (`core/config/organization-model.ts`).
17
- 3. Provide project-owned list-builder action wiring in the UI, typically through `ui/src/config/listActions.ts` and the local app shell.
18
- 4. Keep tenant workflow implementations in the project operations package and use `listBuilderWorkflow` from `@elevasis/sdk/worker` for stage handlers.
19
- 5. Do not import Elevasis workspace packages such as `@repo/elevasis-core`, `@repo/core`, or `@repo/ui` from an external project. Use the published `@elevasis/*` packages.
20
- 6. If the project previously relied on shared UI fallback defaults for lead-gen templates or export workflow IDs, add those values to the project Organization Model before expecting list creation or the build runner to behave usefully.
21
-
22
- ## Verification
23
-
24
- Run the project baseline gates after syncing:
25
-
26
- ```powershell
27
- pnpm -C core test
28
- pnpm -C operations check-types
29
- pnpm -C operations check
30
- pnpm -C operations test
31
- pnpm -C ui check-types
32
- pnpm -C ui build
33
- pnpm test
34
- ```
35
-
36
- For projects with lead-gen enabled, also open the lead-gen list creation and list detail routes and confirm the shared UI sees the project-authored build templates, stage labels, and export workflow.
37
-
38
- ## Not handled by /git-sync
39
-
40
- `/git-sync` updates template-propagated files and package baselines. It does not invent project-specific lead-gen catalogs, workflow contracts, credentials, or `listActions` for an existing tenant. Those remain project-authored decisions.
@@ -1,61 +0,0 @@
1
- # Organization Model Multi-File Split
2
-
3
- ## Why this note exists
4
-
5
- `core/config/organization-model.ts` has grown large enough that authoring, review, and `/om`
6
- codify writes are easier against focused files. This change splits the single file into an
7
- entry file plus a sibling directory, WITHOUT changing the entry filename, the public export
8
- contract, or any consumer import. The SDK loader, the Tier-2 merge rule, and every downstream
9
- consumer continue to resolve `core/config/organization-model.ts` exactly as before.
10
-
11
- This note is the Tier-1 → Tier-2 handoff interface: the source split lands now (Tier 1); the
12
- `/external sync` propagation to derived tenants is deferred to a `/sdk ship` cycle (Tier 2).
13
-
14
- ## What changed
15
-
16
- The model is now authored across four files:
17
-
18
- - `core/config/organization-model.ts` -- ENTRY: assembles `canonicalOrganizationModel` /
19
- `organizationModel` and re-exports every public symbol. No consumer import changes.
20
- - `core/config/organization-model/profile.ts` -- the `defineOrganizationModel(...)` body
21
- (identity, customers, offerings, roles, goals). Primary `/om` codify write target.
22
- - `core/config/organization-model/systems.ts` -- systems, resources, topology, entities,
23
- actions, resource governance, feature/system-ID constants.
24
- - `core/config/organization-model/navigation.ts` -- sidebar navigation tree and surface
25
- projection; imports `systems.ts` directly (never via the entry) to keep the graph acyclic.
26
-
27
- ## Applies to
28
-
29
- - `external/_template/core/config/organization-model.ts` and the new `organization-model/`
30
- sibling directory
31
- - Any downstream tenant project derived from `_template` that opts in to the split (the
32
- Tier-2 merge does NOT force adoption — single-file projects remain valid)
33
-
34
- ## Sync tiers for the new siblings
35
-
36
- - `organization-model.ts` (entry) -- `merge` / `merge-regions` / `@elevasis/core` (unchanged)
37
- - `organization-model/systems.ts` -- `merge` / `merge-regions` / `@elevasis/core`
38
- - `organization-model/navigation.ts` -- `merge` / `merge-regions` / `@elevasis/core`
39
- - `organization-model/profile.ts` -- `never-touch` / `verify-only` / project-owned (the
40
- `/om` codify write target; sync never overwrites it)
41
-
42
- ## Required actions
43
-
44
- - For an unsplit project that wants the split: mirror the four-file layout from `_template`,
45
- preserving the `defineOrganizationModel(...)` body verbatim into `profile.ts`. Keep the
46
- entry filename and the full public export barrel.
47
- - No action is required to stay on the single-file layout — it remains supported.
48
-
49
- ## Verification
50
-
51
- - `pnpm -C core test` (snapshot equality — the resolved model must be byte-identical to the
52
- pre-split fixture)
53
- - `pnpm -C operations check-types`
54
- - `pnpm sync:verify` from the monorepo root after `/external sync` propagates (the
55
- export-presence checks now tolerate the re-export form across the sibling files)
56
-
57
- ## Not handled by /git-sync
58
-
59
- `/git-sync` does not split your `core/config/organization-model.ts` for you. The split is an
60
- intentional one-time structural migration — author it directly (or via `/om`), preserving the
61
- `defineOrganizationModel(...)` body verbatim, and review it in a normal PR.
@@ -1,49 +0,0 @@
1
- # Branding Names to Identity
2
-
3
- ## Why this note exists
4
-
5
- The Organization Model now treats `identity.organizationName`, `identity.productName`,
6
- and `identity.shortName` as the preferred source for display naming. The older
7
- `branding.*` name fields remain valid for backward compatibility, but new template code
8
- reads identity first and falls back to branding only for legacy projects.
9
-
10
- Branding also now supports first-class expression fields such as `voice`, `tagline`,
11
- `values`, and `themePresetId`, while still accepting tenant-specific passthrough fields.
12
-
13
- ## Applies to
14
-
15
- Template-derived projects that customize Organization Model branding or read
16
- `organizationModel.branding.organizationName`, `productName`, or `shortName` directly in
17
- UI or setup code.
18
-
19
- ## Required actions
20
-
21
- 1. Keep existing `branding.organizationName`, `branding.productName`, and
22
- `branding.shortName` values in place for compatibility.
23
- 2. Add matching values under `identity.organizationName`, `identity.productName`, and
24
- `identity.shortName`.
25
- 3. Update project UI code to read `identity.* ?? branding.*` for display naming.
26
- 4. Move brand expression into the broadened `branding` fields: `voice`, `tagline`,
27
- `values`, `themePresetId`, and project-owned passthrough fields as needed.
28
-
29
- ## Verification
30
-
31
- Run the normal template-derived project gates after syncing:
32
-
33
- ```powershell
34
- pnpm -C core test
35
- pnpm -C ui check-types
36
- pnpm -C ui build
37
- pnpm -C operations check-types
38
- pnpm -C operations check
39
- ```
40
-
41
- Also open the app shell and Knowledge Base identity/branding views. Confirm display names
42
- render from identity and branding expression fields render under Branding.
43
-
44
- ## Not handled by /git-sync
45
-
46
- `/git-sync` cannot choose real brand voice, tagline, values, logo assets, or custom
47
- passthrough fields for an individual tenant. It also cannot remove legacy
48
- `branding.*` name fields from project-specific code until maintainers confirm every
49
- consumer has migrated to the identity-first fallback.
@@ -1,31 +0,0 @@
1
- # Lead Gen Manage Access Package Baseline
2
-
3
- ## Why this note exists
4
-
5
- This train adds `sales.lead-gen.manage` as the OM-aligned runtime permission for operating Lead Gen list-builder mutations. The implementation ships through `@elevasis/core` and `@elevasis/ui`; template projects need the package baseline update so derived apps receive the new access key and shared Lead Gen UI guards.
6
-
7
- ## Applies to
8
-
9
- - Template UI package baseline: `external/_template/ui/package.json`
10
- - Template core package baseline: `external/_template/core/package.json`
11
- - Template operations package baseline: `external/_template/operations/package.json`
12
- - Derived projects that expose the shared Lead Gen list-builder UI
13
-
14
- ## Required actions
15
-
16
- 1. Publish the prepared `@elevasis/core` release containing `sales.lead-gen.manage` and `AccessKeys.leadGenManage`.
17
- 2. Publish the prepared `@elevasis/ui` release containing the shared Lead Gen mutation affordance guards.
18
- 3. Run the prepared external sync manifest so derived projects receive the updated package baselines.
19
- 4. For client launches, verify Operator users receive `sales.lead-gen.manage` through platform role grants before list-builder smoke.
20
-
21
- ## Verification
22
-
23
- - `pnpm -C packages/core build:publish`
24
- - `pnpm -C packages/ui build:publish`
25
- - `pnpm -C external/_template/ui check-types`
26
- - `pnpm -C external/_template/ui build`
27
- - `pnpm sync:verify` after the manifest-scoped external sync stage
28
-
29
- ## Not handled by /git-sync
30
-
31
- Database permission rows and system role grants are environment state, not template files. Apply the SQL migration or equivalent environment change separately before inviting Operator users.
@@ -1,42 +0,0 @@
1
- # OM Deployment Drift Detection
2
-
3
- ## Why this note exists
4
-
5
- The platform API now persists deployed Organization Model snapshots and validates tenant
6
- lead-gen and CRM catalogs against the requesting tenant's active deployed model. The
7
- template does not need source changes for this server-side fix, but template-derived
8
- projects should accept the `@elevasis/core` package baseline when this release train
9
- publishes it so generated database and shared type surfaces stay aligned.
10
-
11
- ## Applies to
12
-
13
- Template-derived projects that use SDK deployments, lead-gen list creation, CRM stages,
14
- or CRM actions through the hosted Elevasis API.
15
-
16
- ## Required actions
17
-
18
- 1. Pull the package baseline update produced by this ship train.
19
- 2. Redeploy or verify tenant operations resources if the project has recently changed its
20
- Organization Model catalogs.
21
- 3. After the API deployment stage completes, smoke lead-gen list creation with a
22
- project-owned build template ID.
23
-
24
- ## Verification
25
-
26
- Run the normal template-derived project gates after syncing:
27
-
28
- ```powershell
29
- pnpm -C core test
30
- pnpm -C operations check-types
31
- pnpm -C operations check
32
- pnpm -C ui check-types
33
- pnpm -C ui build
34
- ```
35
-
36
- For projects using lead-gen, also verify list creation against the hosted API with a
37
- tenant-owned build template ID.
38
-
39
- ## Not handled by /git-sync
40
-
41
- `/git-sync` cannot apply the production database change or deploy the hosted API. It also
42
- does not create project-specific Organization Model catalogs or workflow resources.
@@ -1,33 +0,0 @@
1
- # Full Organization Model deploy contract
2
-
3
- ## Why this note exists
4
-
5
- The deployment contract now requires SDK projects to deploy the full canonical `organizationModel`, not the internal `resourceGovernanceModel` projection. The SDK and API now parse deployment snapshots with `OrganizationModelSchema` before overlay validation or persistence, so partial governance projections will fail before they can become active deployment snapshots.
6
-
7
- This fixes the class of production failures where an active deployment persisted only `systems`, `resources`, `topology`, `entities`, and `actions`, then the runtime resolver failed because referenced `roles`, `goals`, and `navigation` were absent.
8
-
9
- ## Applies to
10
-
11
- All template-derived projects with an `operations/src/index.ts` deployment spec and a `core/config/organization-model.ts` canonical model.
12
-
13
- ## Required actions
14
-
15
- 1. Pull the new package baselines after the release train publishes:
16
- - `@elevasis/core`
17
- - `@elevasis/sdk`
18
- 2. Ensure `operations/src/index.ts` imports and passes the canonical full `organizationModel` from `@core/config/organization-model`.
19
- 3. Keep `resourceGovernanceModel` only for local compatibility assertions or profile assembly. Do not pass it as `DeploymentSpec.organizationModel`.
20
- 4. Redeploy the operations bundle so the active platform deployment persists a full model snapshot:
21
- - dev: `pnpm -C operations deploy`
22
- - prod: `pnpm -C operations deploy:prod`
23
-
24
- ## Verification
25
-
26
- - `pnpm -C operations check`
27
- - `pnpm -C core test -- organization-model`
28
- - Confirm the active deployment Organization Model snapshot parses and includes full domains such as `roles`, `goals`, and `navigation`.
29
- - Confirm acquisition/list or other OM-backed routes no longer fail with `MODEL_PARSE_FAILED`.
30
-
31
- ## Not handled by /git-sync
32
-
33
- `/git-sync` can propagate template guidance and package baselines, but it does not install dependencies, publish packages, deploy the operations bundle, or verify the active platform deployment snapshot. Each derived project must run install/deploy and production smoke checks after syncing.
@@ -1,37 +0,0 @@
1
- # UI + SDK package fixes (lastVisitedOrg, worker-manifest organizationModel)
2
-
3
- ## Why this note exists
4
-
5
- `@elevasis/ui` and `@elevasis/sdk` were republished with two backward-compatible fixes:
6
-
7
- - `@elevasis/ui`: `OrganizationProvider` now persists org preference as `lastVisitedOrg` (matching the `/api/users/me` schema), removing the noisy 400 on organization switching.
8
- - `@elevasis/sdk`: the worker manifest now includes `organizationModel`, so platform deployment persistence receives your tenant Organization Model snapshot.
9
-
10
- The SDK change requires a deploy, not just an install, to take effect on your active platform deployment.
11
-
12
- ## Applies to
13
-
14
- All template-derived projects that consume `@elevasis/ui` and `@elevasis/sdk` and run an `operations/` resources bundle on the Elevasis platform.
15
-
16
- ## Required actions
17
-
18
- 1. Pull and install so the new baselines land:
19
- - `@elevasis/ui` baseline bump in `ui/package.json`
20
- - `@elevasis/sdk` baseline bump in `operations/package.json`
21
- 2. `pnpm -C ui install && pnpm -C operations install` (or a project-root install) to update lockfiles.
22
- 3. Redeploy your operations bundle so the worker manifest publishes your Organization Model to the active deployment:
23
- - dev: `pnpm -C operations deploy`
24
- - prod: `pnpm -C operations deploy:prod`
25
- 4. Redeploy the UI (your host, e.g. Vercel) so the `lastVisitedOrg` fix ships to the browser.
26
-
27
- No source merges are required; both changes are internal to the published packages.
28
-
29
- ## Verification
30
-
31
- - `pnpm -C ui check-types && pnpm -C ui build`
32
- - `pnpm -C operations check && pnpm -C operations check-types`
33
- - After deploy, confirm the active deployment persists an Organization Model snapshot (Lead Gen / list surfaces resolve the tenant model rather than erroring), and that organization switching no longer emits a 400 against `/api/users/me`.
34
-
35
- ## Not handled by /git-sync
36
-
37
- `/git-sync` pulls the new baselines and surfaces this note, but it does NOT install dependencies, deploy your operations bundle, or redeploy your UI. Run the install + deploy steps above yourself; the worker-manifest fix only takes effect on your active deployment after an operations redeploy.