@elevasis/sdk 1.29.0 → 1.30.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 (41) hide show
  1. package/dist/cli.cjs +1608 -594
  2. package/dist/index.d.ts +87 -1
  3. package/dist/index.js +30 -25
  4. package/dist/node/index.d.ts +84 -1
  5. package/dist/test-utils/index.d.ts +84 -1
  6. package/dist/test-utils/index.js +242 -23
  7. package/dist/worker/index.js +1 -0
  8. package/package.json +2 -2
  9. package/reference/claude-config/rules/topbar-actions.md +70 -0
  10. package/reference/claude-config/skills/om/SKILL.md +18 -1
  11. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
  12. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +45 -45
  13. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +52 -52
  14. package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +33 -33
  15. package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +32 -32
  16. package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +43 -43
  17. package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +40 -40
  18. package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +61 -61
  19. package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +49 -49
  20. package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +31 -31
  21. package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +42 -42
  22. package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +33 -33
  23. package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +37 -37
  24. package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +28 -28
  25. package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +43 -43
  26. package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +26 -0
  27. package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +33 -0
  28. package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +35 -0
  29. package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +49 -0
  30. package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +47 -0
  31. package/reference/examples/organization-model.ts +18 -0
  32. package/reference/rules/organization-model.md +4 -1
  33. package/reference/rules/organization-os.md +7 -1
  34. package/reference/rules/ui.md +207 -207
  35. package/reference/rules/vibe.md +52 -18
  36. package/reference/scaffold/index.mdx +9 -7
  37. package/reference/scaffold/operations/scaffold-maintenance.md +14 -4
  38. package/reference/scaffold/reference/contracts.md +423 -338
  39. package/reference/scaffold/reference/glossary.md +14 -2
  40. package/reference/scaffold/reference/system-interface-capabilities.md +50 -0
  41. /package/reference/claude-config/skills/deploy/{skill.md → SKILL.md} +0 -0
@@ -1,61 +1,61 @@
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
+ # 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 +1,49 @@
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
+ # 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 +1,31 @@
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
+ # 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 +1,42 @@
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
+ # 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 +1,33 @@
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
+ # 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 +1,37 @@
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.
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.
@@ -1,28 +1,28 @@
1
- # Platform Invite Router Core Baseline
2
-
3
- ## Why this note exists
4
-
5
- The platform invite router train publishes a new `@elevasis/core` auth schema export for the narrow organization auth-config endpoint used by the backend invite router.
6
-
7
- ## Applies to
8
-
9
- - Template-derived projects that consume `@elevasis/core`.
10
- - Project `core/package.json` and `operations/package.json` package baselines after the core release.
11
-
12
- ## Required actions
13
-
14
- - Accept the `@elevasis/core` dependency baseline update after the core publish stage.
15
- - Do not add tenant app-origin routing code to template projects from this train; invitation routing remains platform API behavior.
16
- - Keep tenant app WorkOS login routes accepting `invitation_token` when project-specific launch work has already added that route support.
17
-
18
- ## Verification
19
-
20
- - Run `pnpm sync:verify` after manifest-scoped external sync.
21
- - For projects receiving the baseline, run project-local checks required by the sync plan.
22
-
23
- ## Not handled by /git-sync
24
-
25
- - Publishing `@elevasis/core`.
26
- - Updating package baselines after publish.
27
- - WorkOS production application configuration.
28
- - Per-tenant invitation smoke tests.
1
+ # Platform Invite Router Core Baseline
2
+
3
+ ## Why this note exists
4
+
5
+ The platform invite router train publishes a new `@elevasis/core` auth schema export for the narrow organization auth-config endpoint used by the backend invite router.
6
+
7
+ ## Applies to
8
+
9
+ - Template-derived projects that consume `@elevasis/core`.
10
+ - Project `core/package.json` and `operations/package.json` package baselines after the core release.
11
+
12
+ ## Required actions
13
+
14
+ - Accept the `@elevasis/core` dependency baseline update after the core publish stage.
15
+ - Do not add tenant app-origin routing code to template projects from this train; invitation routing remains platform API behavior.
16
+ - Keep tenant app WorkOS login routes accepting `invitation_token` when project-specific launch work has already added that route support.
17
+
18
+ ## Verification
19
+
20
+ - Run `pnpm sync:verify` after manifest-scoped external sync.
21
+ - For projects receiving the baseline, run project-local checks required by the sync plan.
22
+
23
+ ## Not handled by /git-sync
24
+
25
+ - Publishing `@elevasis/core`.
26
+ - Updating package baselines after publish.
27
+ - WorkOS production application configuration.
28
+ - Per-tenant invitation smoke tests.