@elevasis/sdk 1.44.2 → 1.45.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.
- package/dist/cli.cjs +1001 -652
- package/dist/index.d.ts +1045 -509
- package/dist/index.js +748 -690
- package/dist/node/index.d.ts +105 -97
- package/dist/test-utils/index.d.ts +42 -28
- package/dist/test-utils/index.js +549 -732
- package/dist/worker/index.d.ts +12112 -0
- package/dist/worker/index.js +211 -186
- package/package.json +6 -9
- package/reference/_navigation.md +151 -21
- package/reference/_reference-manifest.json +186 -4
- package/reference/claude-config.md +8 -0
- package/reference/core/index.mdx +3 -3
- package/reference/examples/organization-model.ts +117 -111
- package/reference/index.mdx +4 -4
- package/reference/rules/active-change-index.md +40 -54
- package/reference/rules/agent-runtime.md +81 -0
- package/reference/rules/agent-start-here.md +71 -163
- package/reference/rules/deployment.md +33 -10
- package/reference/rules/error-handling.md +26 -0
- package/reference/rules/execution.md +13 -0
- package/reference/rules/frontend.md +10 -3
- package/reference/rules/observability.md +9 -1
- package/reference/rules/operations.md +26 -17
- package/reference/rules/organization-model.md +74 -88
- package/reference/rules/organization-os.md +71 -88
- package/reference/rules/package-taxonomy.md +11 -2
- package/reference/rules/platform.md +13 -7
- package/reference/rules/shared-types.md +15 -0
- package/reference/rules/task-tracking.md +30 -5
- package/reference/rules/ui.md +145 -3
- package/reference/rules/vibe-intents.md +271 -0
- package/reference/rules/vibe.md +17 -243
- package/reference/scaffold/core/organization-graph.mdx +111 -97
- package/reference/scaffold/core/organization-model.mdx +234 -214
- package/reference/scaffold/operations/propagation-pipeline.md +1 -1
- package/reference/scaffold/operations/scaffold-maintenance.md +19 -18
- package/reference/scaffold/operations/workflow-recipes.md +71 -19
- package/reference/scaffold/recipes/add-a-feature.md +156 -146
- package/reference/scaffold/recipes/add-a-resource.md +123 -117
- package/reference/scaffold/recipes/customize-crm-actions.md +25 -10
- package/reference/scaffold/recipes/customize-knowledge-browser.md +52 -117
- package/reference/scaffold/recipes/customize-organization-model.md +161 -149
- package/reference/scaffold/recipes/extend-a-base-entity.md +156 -140
- package/reference/scaffold/recipes/extend-crm.md +16 -11
- package/reference/scaffold/recipes/extend-lead-gen.md +25 -7
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +160 -118
- package/reference/scaffold/recipes/index.md +2 -2
- package/reference/scaffold/recipes/query-the-knowledge-graph.md +23 -23
- package/reference/scaffold/reference/contracts.md +12 -1
- package/reference/scaffold/reference/glossary.md +3 -3
- package/reference/scaffold/reference/system-interface-capabilities.md +5 -4
- package/reference/scaffold/ui/composition-extensibility.mdx +271 -232
- package/reference/scaffold/ui/feature-flags-and-gating.md +14 -6
- package/reference/scaffold/ui/feature-shell.mdx +279 -62
- package/reference/scaffold/ui/recipes.md +229 -197
- package/reference/sdk/cli-management.mdx +77 -29
- package/reference/sdk/concepts.mdx +2 -0
- package/reference/sdk/define-builders.mdx +76 -0
- package/reference/sdk/deployment/command-center.mdx +6 -2
- package/reference/sdk/deployment/execution-reference.mdx +64 -186
- package/reference/sdk/deployment/index.mdx +2 -0
- package/reference/sdk/exports.mdx +4 -4
- package/reference/sdk/framework/agent.mdx +49 -119
- package/reference/sdk/framework/index.mdx +46 -65
- package/reference/sdk/framework/project-structure.mdx +150 -205
- package/reference/sdk/framework/tutorial-system.mdx +2 -2
- package/reference/sdk/human-in-the-loop.mdx +152 -0
- package/reference/sdk/index.mdx +6 -7
- package/reference/sdk/platform-tools/index.mdx +12 -0
- package/reference/sdk/platform-tools/type-safety.mdx +4 -0
- package/reference/sdk/project-deployment-spec.mdx +131 -0
- package/reference/sdk/resources/index.mdx +23 -7
- package/reference/sdk/resources/patterns.mdx +54 -24
- package/reference/sdk/resources/types.mdx +7 -4
- package/reference/sdk/templates/data-enrichment.mdx +7 -3
- package/reference/sdk/templates/email-sender.mdx +139 -135
- package/reference/sdk/templates/lead-scorer.mdx +5 -1
- package/reference/sdk/templates/pdf-generator.mdx +155 -151
- package/reference/sdk/templates/recurring-job.mdx +195 -189
- package/reference/sdk/templates/text-classifier.mdx +4 -0
- package/reference/sdk/templates/web-scraper.mdx +139 -135
- package/reference/spine/spine-primer.md +135 -96
- package/reference/ui/index.mdx +14 -7
- package/dist/types/worker/adapters/anymailfinder.d.ts +0 -14
- package/dist/types/worker/adapters/apify.d.ts +0 -14
- package/dist/types/worker/adapters/approval.d.ts +0 -23
- package/dist/types/worker/adapters/attio.d.ts +0 -22
- package/dist/types/worker/adapters/clickup.d.ts +0 -22
- package/dist/types/worker/adapters/create-adapter.d.ts +0 -41
- package/dist/types/worker/adapters/crm.d.ts +0 -20
- package/dist/types/worker/adapters/dropbox.d.ts +0 -14
- package/dist/types/worker/adapters/email.d.ts +0 -25
- package/dist/types/worker/adapters/execution.d.ts +0 -22
- package/dist/types/worker/adapters/gmail.d.ts +0 -14
- package/dist/types/worker/adapters/google-sheets.d.ts +0 -14
- package/dist/types/worker/adapters/index.d.ts +0 -33
- package/dist/types/worker/adapters/instantly.d.ts +0 -14
- package/dist/types/worker/adapters/lead.d.ts +0 -28
- package/dist/types/worker/adapters/list.d.ts +0 -9
- package/dist/types/worker/adapters/llm.d.ts +0 -45
- package/dist/types/worker/adapters/millionverifier.d.ts +0 -14
- package/dist/types/worker/adapters/notification.d.ts +0 -28
- package/dist/types/worker/adapters/pdf.d.ts +0 -22
- package/dist/types/worker/adapters/projects.d.ts +0 -20
- package/dist/types/worker/adapters/resend.d.ts +0 -14
- package/dist/types/worker/adapters/scheduler.d.ts +0 -25
- package/dist/types/worker/adapters/signature-api.d.ts +0 -14
- package/dist/types/worker/adapters/storage.d.ts +0 -33
- package/dist/types/worker/adapters/stripe.d.ts +0 -14
- package/dist/types/worker/adapters/tomba.d.ts +0 -14
- package/dist/types/worker/index.d.ts +0 -60
- package/dist/types/worker/platform.d.ts +0 -90
- package/dist/types/worker/utils.d.ts +0 -9
- package/reference/claude-config/Overview.md +0 -230
- package/reference/claude-config/hooks/post-edit-validate.mjs +0 -98
- package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +0 -187
- package/reference/claude-config/hooks/tool-failure-recovery.mjs +0 -73
- package/reference/claude-config/registries/graph-skills.json +0 -4
- package/reference/claude-config/registries/knowledge-flags.json +0 -154
- package/reference/claude-config/registries/skill-coverage.json +0 -20
- package/reference/claude-config/rules/active-change-index.md +0 -22
- package/reference/claude-config/rules/agent-start-here.md +0 -22
- package/reference/claude-config/rules/deployment.md +0 -22
- package/reference/claude-config/rules/error-handling.md +0 -22
- package/reference/claude-config/rules/execution.md +0 -22
- package/reference/claude-config/rules/frontend.md +0 -22
- package/reference/claude-config/rules/observability.md +0 -22
- package/reference/claude-config/rules/operations.md +0 -22
- package/reference/claude-config/rules/organization-model.md +0 -22
- package/reference/claude-config/rules/organization-os.md +0 -22
- package/reference/claude-config/rules/package-taxonomy.md +0 -22
- package/reference/claude-config/rules/platform.md +0 -22
- package/reference/claude-config/rules/shared-types.md +0 -22
- package/reference/claude-config/rules/task-tracking.md +0 -22
- package/reference/claude-config/rules/topbar-actions.md +0 -70
- package/reference/claude-config/rules/ui.md +0 -22
- package/reference/claude-config/rules/vibe.md +0 -22
- package/reference/claude-config/scripts/statusline-command.js +0 -18
- package/reference/claude-config/settings.json +0 -30
- package/reference/claude-config/skills/client/SKILL.md +0 -201
- package/reference/claude-config/skills/deploy/SKILL.md +0 -159
- package/reference/claude-config/skills/dsp/SKILL.md +0 -66
- package/reference/claude-config/skills/elevasis/SKILL.md +0 -251
- package/reference/claude-config/skills/explore/SKILL.md +0 -78
- package/reference/claude-config/skills/git-sync/SKILL.md +0 -166
- package/reference/claude-config/skills/om/SKILL.md +0 -475
- package/reference/claude-config/skills/om/operations/build.md +0 -237
- package/reference/claude-config/skills/om/operations/codify-level-a.md +0 -109
- package/reference/claude-config/skills/om/operations/codify-level-b.md +0 -159
- package/reference/claude-config/skills/om/operations/customers.md +0 -114
- package/reference/claude-config/skills/om/operations/features.md +0 -88
- package/reference/claude-config/skills/om/operations/goals.md +0 -123
- package/reference/claude-config/skills/om/operations/identity.md +0 -97
- package/reference/claude-config/skills/om/operations/labels.md +0 -110
- package/reference/claude-config/skills/om/operations/offerings.md +0 -114
- package/reference/claude-config/skills/om/operations/roles.md +0 -104
- package/reference/claude-config/skills/om/operations/scaffold.md +0 -163
- package/reference/claude-config/skills/om/operations/techStack.md +0 -38
- package/reference/claude-config/skills/project/SKILL.md +0 -1114
- package/reference/claude-config/skills/run-ui/SKILL.md +0 -73
- package/reference/claude-config/skills/save/SKILL.md +0 -183
- package/reference/claude-config/skills/setup/SKILL.md +0 -290
- package/reference/claude-config/skills/status/SKILL.md +0 -59
- package/reference/claude-config/skills/submit-request/SKILL.md +0 -180
- package/reference/claude-config/skills/sync/SKILL.md +0 -47
- package/reference/claude-config/skills/tutorial/SKILL.md +0 -259
- package/reference/claude-config/skills/tutorial/progress-template.md +0 -74
- package/reference/claude-config/skills/tutorial/technical.md +0 -1303
- package/reference/claude-config/skills/tutorial/vibe-coder.md +0 -890
- package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +0 -27
- package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +0 -30
- package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +0 -73
- package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +0 -86
- package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +0 -55
- package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +0 -97
- package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +0 -112
- package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +0 -93
- package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +0 -58
- package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +0 -56
- package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +0 -71
- package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +0 -83
- package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +0 -59
- package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +0 -42
- package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +0 -60
- package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +0 -37
- package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +0 -34
- package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +0 -38
- package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +0 -32
- package/reference/claude-config/sync-notes/2026-05-09-command-system.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +0 -69
- package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +0 -30
- package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +0 -45
- package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +0 -52
- package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +0 -32
- package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +0 -43
- package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +0 -40
- package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +0 -61
- package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +0 -49
- package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +0 -31
- package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +0 -42
- package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +0 -37
- package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +0 -28
- package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +0 -43
- package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +0 -26
- package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +0 -35
- package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +0 -49
- package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +0 -47
- package/reference/claude-config/sync-notes/2026-05-28-om-snapshot-sdk-workflow-config.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +0 -39
- package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +0 -27
- package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +0 -45
- package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-04-scaffold-registry-lane-severity.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-05-appearance-app-mode-decouple.md +0 -29
- package/reference/claude-config/sync-notes/2026-06-05-ontology-endpoint-rename-and-knowledge-browser-ui.md +0 -86
- package/reference/claude-config/sync-notes/2026-06-06-om-build-systems-scaffold.md +0 -47
- package/reference/claude-config/sync-notes/2026-06-06-om-item-copy-references.md +0 -50
- package/reference/claude-config/sync-notes/2026-06-08-knowledge-base-page-not-found-fix.md +0 -76
- package/reference/claude-config/sync-notes/2026-06-09-agent-sessions-public-agent-chat-route.md +0 -75
- package/reference/claude-config/sync-notes/2026-06-09-sdk-cli-load-org-model-resolution.md +0 -42
- package/reference/claude-config/sync-notes/2026-06-12-agent-grants-visualizer-operations.md +0 -30
- package/reference/claude-config/sync-notes/2026-06-14-session-ux-and-project-cli-json.md +0 -33
- package/reference/claude-config/sync-notes/2026-06-14-shared-session-conversation-view.md +0 -26
- package/reference/claude-config/sync-notes/2026-06-15-session-chat-zero-wiring.md +0 -46
- package/reference/claude-config/sync-notes/2026-06-17-agent-session-ux-features.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-25-shared-page-scroll-contract-guard.md +0 -52
- package/reference/claude-config/sync-notes/2026-06-26-leadgen-overview-om-telemetry.md +0 -47
- package/reference/claude-config/sync-notes/2026-07-21-agent-scaffold-hardening.md +0 -75
- package/reference/claude-config/sync-notes/2026-07-23-agent-session-memory.md +0 -49
- package/reference/claude-config/sync-notes/2026-07-23-workos-org-marker.md +0 -50
- package/reference/claude-config/sync-notes/2026-07-24-claude-5-models-and-session-surface-fixes.md +0 -116
- package/reference/claude-config/sync-notes/2026-07-27-agent-strict-output-and-turn-drift.md +0 -73
- package/reference/claude-config/sync-notes/2026-07-28-agent-reply-is-its-own-field.md +0 -84
- package/reference/claude-config/sync-notes/2026-07-30-login-screen-and-member-provisioning-state.md +0 -114
- package/reference/claude-config/sync-notes/2026-08-02-auth-guard-defaults-and-truncation-fix.md +0 -122
- package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md +0 -120
- package/reference/claude-config/sync-notes/README.md +0 -43
- package/reference/sdk/framework/interaction-guidance.mdx +0 -182
- package/reference/sdk/framework/memory.mdx +0 -326
- package/reference/sdk/framework/resource-documentation.mdx +0 -90
- package/reference/sdk/roadmap.mdx +0 -164
package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
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,43 +0,0 @@
|
|
|
1
|
-
# System Interface readiness, scoped topology grants, and org ID brands
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The Organization Model API boundary now uses `system.apiInterface` plus derived readiness instead of authored `System.contracts` or top-level `bridgeContracts`. API-backed Systems are ready when their scoped Resources, ontology bindings, catalog contents, and scoped topology grants satisfy the published readiness profile.
|
|
6
|
-
|
|
7
|
-
This removes the old declaration-triggered contract layer before it became a tenant authoring requirement, and it gives API and UI consumers structured readiness diagnostics instead of incidental runtime failures.
|
|
8
|
-
|
|
9
|
-
The same release train also publishes branded WorkOS organization IDs and Supabase organization UUIDs through the shared core/UI package surface. The brands are a compile-time guard against mixing auth identity (`org_...`) with database identity (UUID) in package consumers.
|
|
10
|
-
|
|
11
|
-
## Applies to
|
|
12
|
-
|
|
13
|
-
Template-derived projects that opt into API-backed Systems such as lead-gen or CRM after updating to the released package baselines that include `system.apiInterface` support.
|
|
14
|
-
|
|
15
|
-
The bare `_template` remains API-interface-light by default. Disabled sales, lead-gen, and CRM shell Systems should not declare API interfaces until a compatible recipe pack or tenant-owned model intentionally opts in.
|
|
16
|
-
|
|
17
|
-
Projects that consume the updated `@elevasis/core` or `@elevasis/ui` types may see stricter TypeScript checks around organization IDs. This is expected: WorkOS org IDs and Supabase org UUIDs are intentionally no longer interchangeable at typed chokepoints.
|
|
18
|
-
|
|
19
|
-
## Required actions
|
|
20
|
-
|
|
21
|
-
1. Pull the new package baselines after the release train publishes:
|
|
22
|
-
- `@elevasis/core`
|
|
23
|
-
- `@elevasis/ui`
|
|
24
|
-
- `@elevasis/sdk`
|
|
25
|
-
2. Do not author `contracts`, `bridgeContracts`, versioned `*@v1` contract IDs, or a keyed `interfaces` map in tenant Organization Models.
|
|
26
|
-
3. For an API-backed System, author the flat `system.apiInterface` marker only after the System's scoped Resources and ontology bindings are ready.
|
|
27
|
-
4. Model cross-System API behavior with scoped topology grants rather than broad sibling-System references.
|
|
28
|
-
5. Keep disabled optional-pack shells contract/interface-free until the project deliberately installs an API-ready pack.
|
|
29
|
-
6. When TypeScript reports a branded org-ID mismatch, fix the source value rather than casting through `string`; use package-provided brand helpers only at trusted source boundaries.
|
|
30
|
-
|
|
31
|
-
## Verification
|
|
32
|
-
|
|
33
|
-
- `pnpm -C core test -- organization-model`
|
|
34
|
-
- `pnpm -C operations check`
|
|
35
|
-
- Verify API-backed routes return structured readiness errors when a required System Interface is absent or not ready.
|
|
36
|
-
- Verify API-backed UI actions are disabled until the relevant System Interface readiness passes.
|
|
37
|
-
- Verify org-scoped query keys and Supabase `organization_id` filters receive the intended org-ID flavor after package baselines update.
|
|
38
|
-
|
|
39
|
-
## Not handled by /git-sync
|
|
40
|
-
|
|
41
|
-
`/git-sync` can propagate template guidance, package baselines, and this note, but it does not decide when a tenant's business model is ready to declare `system.apiInterface`. Tenant-specific System Interface markers, scoped Resource bindings, and topology grants remain project-owned authoring decisions.
|
|
42
|
-
|
|
43
|
-
`/git-sync` also does not repair tenant-specific organization identity plumbing. If a project has local hooks or direct Supabase calls outside the template baseline, audit those call sites manually when adopting the branded org-ID package surface.
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
# Invitation Login Loader
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The template login route now handles WorkOS `invitation_token` links without flashing the normal tenant sign-in card before redirecting to hosted AuthKit.
|
|
6
|
-
|
|
7
|
-
## Applies to
|
|
8
|
-
|
|
9
|
-
- Template-derived apps that accept WorkOS organization invitations through `ui/src/routes/login.tsx`.
|
|
10
|
-
- Apps using `@elevasis/ui/features/auth` for shared auth UI helpers.
|
|
11
|
-
|
|
12
|
-
## Required actions
|
|
13
|
-
|
|
14
|
-
1. Pull the latest template sync changes.
|
|
15
|
-
2. Install dependencies so `@elevasis/ui` resolves to the released version that exports `AuthRedirectLoadingScreen`.
|
|
16
|
-
3. Keep any tenant-specific WorkOS env values, especially `VITE_WORKOS_ORG_ID`, in the app environment.
|
|
17
|
-
|
|
18
|
-
## Verification
|
|
19
|
-
|
|
20
|
-
- Open `/login?invitation_token=test-token` and confirm the app shows a neutral gray full-screen loader while redirecting.
|
|
21
|
-
- Run `pnpm -C ui check-types`.
|
|
22
|
-
- Run `pnpm -C ui test src/routes/__tests__/auth-routes.test.tsx` when the project carries the template auth route tests.
|
|
23
|
-
|
|
24
|
-
## Not handled by /git-sync
|
|
25
|
-
|
|
26
|
-
`/git-sync` transports commits only. It does not accept invitations, configure WorkOS invitation URLs, set tenant WorkOS org IDs, or smoke-test the hosted AuthKit redirect in production.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# OM-Declared Topbar Actions + Tenant Request Affordance + Requests→Platform Re-bucket
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This release adds an OM-governed topbar region and a shared in-app request affordance, and moves the submitted-requests System under `platform`:
|
|
6
|
-
|
|
7
|
-
- `@elevasis/core` gains a `navigation.topbar` schema region (`TopbarActionNodeSchema`, `TopbarSectionSchema`) plus the `message-plus` icon token. The topbar is now declared by the Organization Model and toggled via `/org-os manage`, mirroring how the sidebar already works.
|
|
8
|
-
- `@elevasis/ui` gains the topbar substrate (`TopbarActionModule`, `ResolvedTopbarAction`, `TOPBAR_ACTION_MANIFESTS`, `<TopbarActions />`, topbar projection) and the request feature (`useSubmitRequest` hook, `RequestModal`, `RequestButton`, `RequestActionIcon`).
|
|
9
|
-
- The submitted-requests System moves from `monitoring` to a `platform` governance System. A headless `platform` System is introduced and `monitoring.submitted-requests` is re-parented to `platform.submitted-requests`. The route path stays `/monitoring/requests`; only System ownership and the surface's `targets.systems` change.
|
|
10
|
-
|
|
11
|
-
## Applies to
|
|
12
|
-
|
|
13
|
-
- Template-derived apps that render `AppTopbar` and want OM-governed topbar actions.
|
|
14
|
-
- Apps that want an end-user "Request a feature / report an issue" affordance (topbar icon, dashboard card, requests-page button) backed by the existing `reported_requests` API.
|
|
15
|
-
- Apps whose Organization Model declares `monitoring.submitted-requests`.
|
|
16
|
-
|
|
17
|
-
## Required actions
|
|
18
|
-
|
|
19
|
-
1. Pull the latest template sync changes, then `/git-sync` to surface this note.
|
|
20
|
-
2. Install dependencies so `@elevasis/core` and `@elevasis/ui` resolve to the released versions that export the `navigation.topbar` schema and the topbar/request surfaces.
|
|
21
|
-
3. Confirm your OrganizationModel declares `navigation.topbar` (the schema defaults to `{}`, so omitting it is valid). To adopt the request topbar action, add a `navigation.topbar.request` node and register `requestTopbarActionManifest` in your `TOPBAR_ACTION_MANIFESTS` array in `ui/src/routes/__root.tsx`, then render `<TopbarActions />` in `AppTopbar`.
|
|
22
|
-
4. If your OM still parents submitted-requests under `monitoring`, introduce a headless `platform` System and re-parent `monitoring.submitted-requests` to `platform.submitted-requests` in `core/config/organization-model/systems.ts`, and retarget the `monitoring-requests` surface in `navigation.ts`. This is an `/om` content change (direct edits discouraged) — the route path stays `/monitoring/requests`.
|
|
23
|
-
|
|
24
|
-
## Verification
|
|
25
|
-
|
|
26
|
-
- `pnpm -C ui check-types && pnpm -C ui build`.
|
|
27
|
-
- `pnpm -C ui test` — topbar projection, `<TopbarActions />`, and request component tests green.
|
|
28
|
-
- Toggle the `request` topbar action `enabled: false` in your OM and confirm the icon disappears from the topbar.
|
|
29
|
-
- Submit from the UI and confirm a row appears in the requests list with `source = user`.
|
|
30
|
-
|
|
31
|
-
## Not handled by /git-sync
|
|
32
|
-
|
|
33
|
-
`/git-sync` transports commits only. It does not re-bucket your Organization Model (the `platform` System introduction and `monitoring.submitted-requests` → `platform.submitted-requests` re-parent are `/om` content edits authored per project), register topbar manifests in your `__root.tsx`, or add the requests-page nav surface where your project does not already define one.
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# System Interface: Closed Profile Registry, Capability Catalog & Substrate Guidance
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
`@elevasis/core@0.38` tightens the `system.apiInterface` adoption handshake from a free-string `readinessProfile` to a **closed, registry-derived literal union** with a generated capability catalog. The published-schema change is _effectively non-breaking_ because no tenant has authored an `apiInterface` profile to date, but the contract is now explicit: a tenant adopts a platform-provided System Interface (`sales.lead-gen.api`, `sales.crm.api`, `sales.lead-gen.crm-handoff`) by naming the System at its convention-locked path, marking `system.apiInterface` with one of the supported `readinessProfile` literals, and satisfying derived readiness via ontology bindings / scoped resources / scoped topology grants. Authoring an unrecognized profile is now a tenant **typecheck** error with autocomplete, not a deploy-time `RegistryValidationError`. The runtime backstop diagnostic (`SYSTEM_INTERFACE_INVALID: unknown-readiness-profile`) is retained for hand-edited / non-TypeScript OMs and now names the supported profiles and tells authors that custom Systems do not carry `apiInterface` — custom behavior belongs in workflows/operations, ontology, resources, catalogs, topology, and navigation.
|
|
6
|
-
|
|
7
|
-
Parallel substrate updates ride the same train: the SDK scaffold recipes (`extend-lead-gen.md`, `extend-crm.md`, `customize-crm-actions.md`), the SDK agent-rules (`organization-os.md`, `organization-model.md`), the SDK-bundled glossary, and the template `.claude/skills/om/SKILL.md` now teach the flat `system.apiInterface` model and the closed-handshake boundary explicitly. The retired authored `SystemContract` / `BridgeContract` / `@vN` ID vocabulary is gone from all teaching surfaces; agents that still remember it should consult the canonical recipes/agent-rules at `node_modules/@elevasis/sdk/reference/`.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- All tenants that consume `@elevasis/core` and `@elevasis/sdk` and adopt the platform-provided `sales.lead-gen` / `sales.crm` Systems.
|
|
12
|
-
- Tenants whose `core/config/organization-model.ts` (or `organization-model/systems.ts` under the split layout) currently declares `system.apiInterface` on a lead-gen or CRM System.
|
|
13
|
-
- Tenants whose `/om` skill agents reach for authored-contract vocabulary (`SystemContract`, `bridgeContracts`, `*@v1` IDs); those vocabulary mentions should be treated as retired/avoid language after this sync.
|
|
14
|
-
- `external/nirvana-marketing` is the canonical first downstream consumer.
|
|
15
|
-
|
|
16
|
-
## Required actions
|
|
17
|
-
|
|
18
|
-
1. After `/git-sync` runs `pnpm install` and pins `@elevasis/core ^0.38.0` and `@elevasis/sdk ^1.30.0` (run by template-baseline cascade), run `pnpm -C core check-types` and `pnpm -C operations check-types` from the tenant project root. If any pre-existing `system.apiInterface.readinessProfile` value is now a typecheck error, replace it with one of the supported literals from the capability catalog at `node_modules/@elevasis/sdk/reference/scaffold/reference/system-interface-capabilities.md`.
|
|
19
|
-
|
|
20
|
-
2. Browse the capability catalog and the updated glossary in `node_modules/@elevasis/core/reference/glossary.md` to refresh the team's mental model. The terms _System Interface_, _System Interface profile_, _derived readiness_, _scoped topology bridge_, and _boundary invariant_ now have authoritative definitions; old _System Contract_ / _Bridge Contract_ wording should be treated as historical.
|
|
21
|
-
|
|
22
|
-
3. If the tenant has authored a custom System that previously carried a free-string `readinessProfile` (none expected, but verify), drop the `apiInterface` field entirely. Custom Systems extend the platform through the layers the tenant fully owns — ontology, resources, catalogs, topology, navigation, and workflows/operations — never through `apiInterface`.
|
|
23
|
-
|
|
24
|
-
4. After applying baseline + any required `readinessProfile` migration, run `pnpm -C operations check` to confirm deploy preflight (`validateDeclaredSystemInterfaceReadiness` + `detectMissingApiInterfaceDeclarations`) accepts the model.
|
|
25
|
-
|
|
26
|
-
## Verification
|
|
27
|
-
|
|
28
|
-
- `pnpm -C core check-types` and `pnpm -C operations check-types` — must pass against the new narrowed `OrganizationModelSystemInterfaceReadinessProfile` literal union.
|
|
29
|
-
- `pnpm -C operations check` — must pass. The conformance gate now distinguishes API-backed Systems from purely UI-backed ones and only flags the former when `apiInterface` is missing.
|
|
30
|
-
- `pnpm -C operations exec elevasis-sdk om:verify --json` — surface-level model coherence; no new diagnostic shape, but updated wording for `SYSTEM_INTERFACE_*` diagnostics.
|
|
31
|
-
|
|
32
|
-
## Not handled by /git-sync
|
|
33
|
-
|
|
34
|
-
- **Tenant-authored OM that carried a literal `SystemContract` or `bridgeContracts` shape** would have failed schema validation before this sync (that field was already removed). If a tenant has private fixtures or out-of-tree examples using the old shape, migrate them by hand — `/git-sync` only ships template files, not project-private fixtures.
|
|
35
|
-
- **`/om` skill agents that quote the old authored-contract vocabulary** in tenant-local memory or notes will not be auto-corrected. Refresh those notes after reading the updated recipes; the canonical agent-rule guidance now lives at `node_modules/@elevasis/sdk/reference/rules/organization-os.md`.
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Tenant OM Scaffold CLI & Conformance Gate
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
`@elevasis/sdk@1.30` adds a guided, non-technical authoring surface for tenant OM under the new `elevasis-sdk om:scaffold:*` command family, plus a **hard conformance gate** in the deploy preflight that blocks deploys when an API-backed System lacks `system.apiInterface`. Five new interactive commands (`om:scaffold:system`, `om:scaffold:resource`, `om:scaffold:role`, `om:scaffold:knowledge`, `om:scaffold:fill`) walk an author through emitting valid TypeScript into the right file in the split OM layout (`core/config/organization-model/{systems,resources,roles,navigation,profile}.ts`). Every scaffold command refuses to run unless the project uses the split layout (`assertSplitLayout`) and writes through a snapshot-rollback wrapper so an aborted emit never leaves a half-edited file.
|
|
6
|
-
|
|
7
|
-
The deploy preflight now invokes `detectMissingApiInterfaceDeclarations` from `@repo/core/platform` before `validateDeclaredSystemInterfaceReadiness`. A system is flagged when it has resources with ontology bindings (`resource.ontology.actions` or `resource.ontology.writes`) but no `apiInterface` marker. When the gate trips, the diagnostic points the author at `om:scaffold:fill --gaps` for a non-interactive, snapshot-rollback-protected remediation that fills the missing marker(s) from the gap payload. The sync-engine adds a matching `conformance-blocked` lane to `assessSyncLane` and a Contract Conformance check group to `verify-sync.js`, so the same shape surfaces in both deploy and sync surfaces.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- All tenants whose `core/config/organization-model.ts` is in the split layout (the canonical layout for new tenants since the May 2026 multi-file split sync-note).
|
|
12
|
-
- Tenants with API-backed Systems (lead-gen, CRM, or future closed-registry profiles) that don't yet declare `system.apiInterface`.
|
|
13
|
-
- Tenants whose template `.claude/skills/om/SKILL.md` is expected to teach the scaffold surface.
|
|
14
|
-
- `external/nirvana-marketing` is the canonical first downstream consumer.
|
|
15
|
-
|
|
16
|
-
## Required actions
|
|
17
|
-
|
|
18
|
-
1. After `/git-sync` runs `pnpm install` and the new `@elevasis/sdk ^1.30.0` baseline lands, confirm the five new commands resolve:
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
pnpm exec elevasis-sdk om:scaffold:system --help
|
|
22
|
-
pnpm exec elevasis-sdk om:scaffold:resource --help
|
|
23
|
-
pnpm exec elevasis-sdk om:scaffold:role --help
|
|
24
|
-
pnpm exec elevasis-sdk om:scaffold:knowledge --help
|
|
25
|
-
pnpm exec elevasis-sdk om:scaffold:fill --help
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
2. Smoke-test the dry-run path from inside the tenant project:
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
pnpm exec elevasis-sdk om:scaffold:system --dry-run
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Expected: `assertSplitLayout` passes, interactive prompts fire, a dry-run TypeScript block prints, nothing is written.
|
|
35
|
-
|
|
36
|
-
3. Run `pnpm -C operations check` to exercise the new conformance gate locally. If the gate fails on an API-backed System, run `pnpm exec elevasis-sdk om:scaffold:fill --gaps <gap-json>` (or follow the diagnostic's exact instructions) to remediate. Tenants whose Systems are all UI-backed (no resources with ontology bindings) will not trip the gate.
|
|
37
|
-
|
|
38
|
-
4. Refresh the team on the updated `/om` skill guidance: `.claude/skills/om/SKILL.md` and its operations now reference the five scaffold commands as the canonical authoring path for non-technical contributors. Pure hand-edits to `organization-model/*.ts` still work but lose the snapshot-rollback safety net.
|
|
39
|
-
|
|
40
|
-
## Verification
|
|
41
|
-
|
|
42
|
-
- `pnpm exec elevasis-sdk om:scaffold:system --help` — should print the new command surface (id / title / kind / lifecycle prompts and flags).
|
|
43
|
-
- `pnpm -C operations check` — must pass. Conformance gate accepts every API-backed System or reports the gap with a remediation prompt.
|
|
44
|
-
- `pnpm sync:verify` (run from the monorepo) — should show the `Contract Conformance` check group passing for the tenant (no `apiInterface` gaps).
|
|
45
|
-
|
|
46
|
-
## Not handled by /git-sync
|
|
47
|
-
|
|
48
|
-
- **Projects still on the single-file OM layout** (`organization-model.ts` without a sibling `organization-model/` directory) will see `assertSplitLayout` abort every scaffold command with a remediation message pointing at the multi-file split migration. `/git-sync` does not perform that migration; follow the existing `2026-05-22-org-model-multi-file-split.md` sync-note instructions if the split is still pending.
|
|
49
|
-
- **The post-publish `external/_template/.claude/skills/om/operations/scaffold.md` operation file** that documents the new commands inside the `/om` skill is authored during the `/sdk ship` train (post-publish authoring, between `sdk` publish and `external-sync`). Until that file lands, the canonical reference for the new commands is this sync-note plus `--help` on each subcommand.
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# Vibe Layer: Operate Intent + Codify/Toggle Clarifications
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The Ambient Vibe Layer gained an eighth intent — **Operate** — that delegates to `/elevasis` for running already-deployed workflows and agents. The canonical rule (`packages/sdk/docs/agent-rules/vibe.md` → published to tenants at `node_modules/@elevasis/sdk/reference/rules/vibe.md`) was updated alongside the template's hand-written intent table (`external/_template/CLAUDE.md` Ambient Vibe Layer section). Two prior drift corrections also landed in the same train: the Codify section now distinguishes asking-about (Describe) from asking-to-change (Codify) so the classifier stops over-proposing codification on plain questions, and the Toggle section clarifies that the intent is tenant-local only (it cannot toggle platform-level Systems).
|
|
6
|
-
|
|
7
|
-
A new repo gate (`scripts/monorepo/check-vibe-drift.mjs`, wired into `pnpm meta:verify`) now enforces intent-name parity and routing-token coverage between the two surfaces so this kind of drift cannot land silently again. The validator was also de-hardcoded from the seven-intent count so future expansions don't require a global rename.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- All tenants that consume `@elevasis/sdk` and inherit the template `CLAUDE.md` shell.
|
|
12
|
-
- Most directly: any project whose agents already route Capture / Query / Describe / Transition / Navigate / Codify / Toggle through vibe. They will start seeing Operate routed to `/elevasis` after this sync.
|
|
13
|
-
- `external/nirvana-marketing` is the canonical first downstream consumer.
|
|
14
|
-
|
|
15
|
-
## Required actions
|
|
16
|
-
|
|
17
|
-
1. After `/git-sync` runs `pnpm install` and lands the new template CLAUDE.md, confirm your project's `CLAUDE.md` "Ambient Vibe Layer" table contains an **Operate** row. If your tenant has a customized intent table, manually add the row using the form:
|
|
18
|
-
|
|
19
|
-
```
|
|
20
|
-
| Operate | "run", "execute", "launch", "trigger", "kick off", "start" + deployed resource | Delegate to `/elevasis` -- `elevasis-sdk describe` + confirm + `elevasis-sdk exec` |
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
2. Verify the `elevasis` skill is present at `.claude/skills/elevasis/SKILL.md`. It ships from the template; if your project removed it intentionally, document that Operate intents will surface a missing-skill notice instead of being executed.
|
|
24
|
-
|
|
25
|
-
3. If your project carries a tenant-customized Toggle section, confirm it does not attempt platform-level System toggles. Tenant Toggle operates only on the project's own `core/config/organization-model.ts`.
|
|
26
|
-
|
|
27
|
-
## Verification
|
|
28
|
-
|
|
29
|
-
- `pnpm exec elevasis-sdk note:create "test"` — sanity-check the SDK CLI still resolves under the post-sync dependency baseline.
|
|
30
|
-
- In a fresh Claude session, type "run the X workflow" against any deployed resource. The agent should describe → confirm → exec via the `/elevasis` skill flow. Plain questions ("what does X do?") should stay in Describe and not propose codification.
|
|
31
|
-
|
|
32
|
-
## Not handled by /git-sync
|
|
33
|
-
|
|
34
|
-
- **`deploy` skill filename rename** (`.claude/skills/deploy/skill.md` → `SKILL.md`): the template includes the rename, but git is case-insensitive on macOS/Windows. After sync, manually verify the filename is uppercase `SKILL.md`:
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
ls .claude/skills/deploy/
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
If the file is still lowercase `skill.md`, run a two-step rename to force the case change (or use `git mv` if the project's git config is case-sensitive):
|
|
41
|
-
|
|
42
|
-
```
|
|
43
|
-
mv .claude/skills/deploy/skill.md .claude/skills/deploy/SKILL.tmp.md
|
|
44
|
-
mv .claude/skills/deploy/SKILL.tmp.md .claude/skills/deploy/SKILL.md
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
- **Tenant-customized Ambient Vibe Layer prose**: `/git-sync` cannot infer what bespoke intent table edits a project has made. The required action above is the human-review checkpoint.
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# OM snapshot stamp + `@elevasis/sdk` workflow-config promotion + `om:ls` enumeration
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The 2026-05-28 SDK ship train publishes two coordinated package bumps and propagates two template-authored changes:
|
|
6
|
-
|
|
7
|
-
- **`@elevasis/core` 0.40.0** — adds an optional `snapshotHash` field to the Organization Model schema (deploy-time + runtime OM snapshot-drift detection), a `STALE_OM_SNAPSHOT` validation member, and three new `@elevasis/core/knowledge` enumeration helpers (`listAllSystemsFlat`, `listAllResources`, `listAllRoles`).
|
|
8
|
-
- **`@elevasis/sdk` 1.31.0** — promotes the generic `defineWorkflowConfig(resourceId, descriptors, actionRegistry)` helper out of the private platform package into the published SDK barrel, and adds `om:ls /all-systems | /all-resources | /all-roles` enumeration mounts to the tenant `elevasis-sdk om:ls` CLI.
|
|
9
|
-
|
|
10
|
-
These change tenant-visible behavior (a new readiness diagnostic, new CLI mounts, and a new recommended deployment-binding pattern), so they cannot be left to silent dependency-baseline drift.
|
|
11
|
-
|
|
12
|
-
## Applies to
|
|
13
|
-
|
|
14
|
-
- All tenant SDK consumers depending on `@elevasis/core` and/or `@elevasis/sdk` (`external/nirvana-marketing`, and any project scaffolded from `external/_template`).
|
|
15
|
-
- New scaffolds: pick up the `operations/src/metadata.ts` convention seed and (after the post-publish template authoring lands) the `projectDeploymentSpec`-based `operations/src/index.ts`.
|
|
16
|
-
|
|
17
|
-
## Required actions
|
|
18
|
-
|
|
19
|
-
1. **Adopt the bumped baselines.** `core/package.json` → `@elevasis/core` `^0.40.0`; `operations/package.json` → `@elevasis/core` `^0.40.0` and `@elevasis/sdk` `^1.31.0`. (Handled by the package-cascade entries in `_external-sync-prep.json`; verify, do not hand-edit.)
|
|
20
|
-
2. **Redeploy operations after the bump** so the deployment writes a hash-stamped OM snapshot. Until you redeploy, the deployed snapshot carries no `snapshotHash` and the new drift diagnostic stays dormant. Stale-snapshot 503s now name the cause and the fix ("redeploy via `pnpm operations:deploy`") instead of the old opaque "not ready for this API surface".
|
|
21
|
-
3. **New enumeration CLI is available after the `@elevasis/sdk` bump:** `pnpm -C external/<project>/operations exec elevasis-sdk om:ls /all-systems` (also `/all-resources`, `/all-roles`; supports `--json` / `--ids-only`). The tenant `/om` skill documents the drill-down surface.
|
|
22
|
-
4. **Deployment-binding convention (informational for existing tenants; default for new scaffolds):** the template now deploys through `projectDeploymentSpec` with injected descriptor getters and derives per-workflow `config` via the promoted `defineWorkflowConfig`. `operations/src/**` is project-owned, so existing tenants are NOT auto-rewritten; adopt the pattern at your discretion. A typed `operations/src/metadata.ts` stub (triggers / integrations / human checkpoints) is seeded as the home for deployment mechanics.
|
|
23
|
-
|
|
24
|
-
## Verification
|
|
25
|
-
|
|
26
|
-
- `pnpm -C external/<project>/operations exec elevasis-sdk om:ls /all-systems` returns systems (not an empty list).
|
|
27
|
-
- After redeploy, the system-interface readiness probe no longer returns a stale-snapshot 503; a deliberate source/deploy mismatch now surfaces `STALE_OM_SNAPSHOT` with an actionable message.
|
|
28
|
-
- `pnpm sync:verify` and `pnpm external:verify-template-family` pass after the sync.
|
|
29
|
-
|
|
30
|
-
## Not handled by /git-sync
|
|
31
|
-
|
|
32
|
-
- The **operations redeploy** (action 2) is a deliberate deploy, not a file sync — `/git-sync` will not run it.
|
|
33
|
-
- **Adopting `projectDeploymentSpec` / wiring `metadata.ts`** in an existing tenant's `operations/src/**` (project-owned) is a manual, tenant-authored migration; the sync only seeds it into fresh scaffolds.
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
# Client Source and OM Client Profiles
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The client-system release train adds first-class client source support across the platform and introduces top-level Organization Model client profiles in `@elevasis/core/organization-model`.
|
|
6
|
-
|
|
7
|
-
Template-derived projects need the updated package baselines and guidance before relying on the shared clients UI, SDK client commands, or OM client-profile helpers. Tenant-authored client profile content remains project-owned and is not auto-generated by sync.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- Projects that use the shared `@elevasis/ui` clients feature.
|
|
12
|
-
- Projects that create or update clients through `elevasis-sdk client:create` or `elevasis-sdk client:update`.
|
|
13
|
-
- Projects that intentionally author real client profiles in `core/config/organization-model.ts`.
|
|
14
|
-
- Projects that deploy operations bundles against the updated `@elevasis/sdk` baseline.
|
|
15
|
-
|
|
16
|
-
## Required actions
|
|
17
|
-
|
|
18
|
-
1. Pull the package baseline updates from the prepared `/sdk ship` train.
|
|
19
|
-
2. Use the first-class client `source` field for direct clients, for example `word_of_mouth`, instead of storing the primary source only in ad hoc metadata.
|
|
20
|
-
3. If the project intentionally authors OM client profiles, key `organizationModel.clients` by the canonical production `public.clients.id`; the profile `id` must match the same UUID.
|
|
21
|
-
4. Keep tenant-specific client profile records, prompts, branding, workspace links, and custom values project-owned. Do not copy Elevasis or another tenant's client profiles into this project.
|
|
22
|
-
5. Treat `Organization > Clients` as the semantic home for real client profiles and `Systems > Client Management` as the operational platform system.
|
|
23
|
-
|
|
24
|
-
## Verification
|
|
25
|
-
|
|
26
|
-
Run the checks that match the project surface:
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
pnpm -C core check-types
|
|
30
|
-
pnpm -C operations check-types
|
|
31
|
-
pnpm -C operations check
|
|
32
|
-
pnpm -C ui check-types
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
For projects that author OM client profiles, also run the project-local OM validation or deploy preflight before publishing operations resources.
|
|
36
|
-
|
|
37
|
-
## Not handled by /git-sync
|
|
38
|
-
|
|
39
|
-
`/git-sync` can propagate the updated package baselines and this guidance, but it does not create tenant-specific `clients` rows, choose client source values, author OM client profile content, or decide whether a project should model a client profile at all. Maintainers must make those project-specific data and authoring decisions intentionally.
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Knowledge nested-group routing fix
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
`@elevasis/ui` now exports `findOmTreeGroup` (and `OM_NESTED_TREE_GROUPS`) from `@elevasis/ui/knowledge`. The Knowledge Base `$nodeId` route must use `findOmTreeGroup` to resolve `group:` nodes instead of the direct `OM_TREE_GROUPS.find`. Without this, clicking the nested **Profile** and **Business Model** subgroups under Organization renders "Page Not Found", because those keys live in nested subgroups (not in the top-level `OM_TREE_GROUPS` list).
|
|
6
|
-
|
|
7
|
-
## Applies to
|
|
8
|
-
|
|
9
|
-
- Any project whose `ui/src/routes/knowledge/$nodeId.tsx` resolves `group:` route params against `OM_TREE_GROUPS`.
|
|
10
|
-
- Projects on `@elevasis/ui` < `2.44.0`.
|
|
11
|
-
|
|
12
|
-
## Required actions
|
|
13
|
-
|
|
14
|
-
1. Bump `@elevasis/ui` to `^2.44.0` and install.
|
|
15
|
-
2. In `ui/src/routes/knowledge/$nodeId.tsx`:
|
|
16
|
-
- Replace the `OM_TREE_GROUPS` import from `@elevasis/ui/knowledge` with `findOmTreeGroup`.
|
|
17
|
-
- Replace `OM_TREE_GROUPS.find((candidate) => candidate.key === groupKey)` with `findOmTreeGroup(groupKey)`.
|
|
18
|
-
|
|
19
|
-
## Verification
|
|
20
|
-
|
|
21
|
-
- `pnpm -C ui check-types` passes.
|
|
22
|
-
- `pnpm -C ui build` succeeds.
|
|
23
|
-
- In the running app, the Knowledge Base **Profile** and **Business Model** rows under Organization open a describe view instead of "Page Not Found".
|
|
24
|
-
|
|
25
|
-
## Not handled by /git-sync
|
|
26
|
-
|
|
27
|
-
`/git-sync` does not edit project route source. The `$nodeId.tsx` swap to `findOmTreeGroup` is a manual route edit (or applied via `/external sync` route-baseline merge); `/git-sync` only surfaces this note and installs the bumped dependency.
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Nest `projects` under `platform` (fleet-wide OM reparent)
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The shared `@elevasis/ui` `deliveryManifest` now emits `systemId: 'platform.projects'` (it consumes the republished `@elevasis/core` constant `PROJECTS_SYSTEM_ID`, which flipped from `'projects'` to `'platform.projects'`). Any tenant Organization Model that still declares a **root-level** `projects` system will fail `validateManifests` on boot once it installs the new `@elevasis/ui`, because the delivery manifest references a `systemId` that does not exist in the tenant OM.
|
|
6
|
-
|
|
7
|
-
This is a fleet-wide convention change: `projects` is now a child of `platform` (canonical id `platform.projects`) everywhere — Elevasis, the template, and every derived tenant.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- Every tenant whose `core/config/organization-model/` declares a root `projects` system (work-item / checkpoint shape) and a root `platform` system to nest it under.
|
|
12
|
-
- Confirmed in this train: `ZentaraHQ`, `nirvana-marketing`. Run the verification below in any other derived project before installing the new `@elevasis/ui`.
|
|
13
|
-
|
|
14
|
-
## Required actions
|
|
15
|
-
|
|
16
|
-
Apply these in your own `core/config/organization-model/` (this is project-owned OM content — `/external sync` does NOT overwrite it; reparent it yourself via `/om`):
|
|
17
|
-
|
|
18
|
-
1. **Reparent the system.** In `systems.ts`, move the `projects` system block under the existing `platform` system. Set `id: 'platform.projects'` and add `parentSystemId: 'platform'`. Leave the object key, route `path`, and icon as-is.
|
|
19
|
-
2. **Rewrite ontology IDs.** Change every `projects:*` ontology id to `platform.projects:*` (objects, links, actions, catalogs, events, surfaces) — including all cross-references (`ownerSystemId`, `objectType`, `catalogType`, `from`/`to`).
|
|
20
|
-
3. **Navigation.** In `navigation.ts`, update any `targets: { systems: ['projects'] }` to `['platform.projects']`.
|
|
21
|
-
4. **Profile / roles.** In `profile.ts` (or `roles.ts`), update `deliveryFeatureId` / role `responsibleFor` references from `projects` to `platform.projects`.
|
|
22
|
-
5. **Tests.** Update `core/config/organization-model.test.ts`, `organization-model.contract.test.ts`, and `ui/src/routes/__tests__/__root.test.tsx` assertions that reference the `projects` system id, parent, or ontology ids.
|
|
23
|
-
6. **Install + reparent together.** Bump `@elevasis/core` and `@elevasis/ui` (see the dependency baseline written by `/external sync`), reparent the OM in the **same** change, then `pnpm -C core test` and `pnpm -C ui check-types` before booting the app. Do not install the new `@elevasis/ui` while the OM still has root `projects`.
|
|
24
|
-
|
|
25
|
-
Route file paths (`ui/src/routes/projects*.tsx`) stay at `/projects`; only OM ids and nav/profile targets change.
|
|
26
|
-
|
|
27
|
-
## Verification
|
|
28
|
-
|
|
29
|
-
```bash
|
|
30
|
-
# 1. Find any remaining root projects references
|
|
31
|
-
grep -rn "'projects'\|projects:" core/config/organization-model ui/src/routes
|
|
32
|
-
|
|
33
|
-
# 2. Template-family coherence
|
|
34
|
-
pnpm -C core test
|
|
35
|
-
pnpm -C ui check-types
|
|
36
|
-
pnpm -C ui test:contracts
|
|
37
|
-
|
|
38
|
-
# 3. Boot must not throw validateManifests (deliveryManifest systemId must resolve)
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
`platform.projects` must resolve as a child System of `platform`, and the delivery surface must render under it.
|
|
42
|
-
|
|
43
|
-
## Not handled by /git-sync
|
|
44
|
-
|
|
45
|
-
`/git-sync` and `/external sync` will deliver the new `@elevasis/core` + `@elevasis/ui` dependency baselines and this note, but they will **not** edit your `core/config/organization-model/` — tenant OM content is project-owned (`sync-preservation`). The reparent in steps 1-5 is manual per tenant. Installing the new `@elevasis/ui` without doing the reparent first will crash the app on boot.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Skill autogen and `/client` skill
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This train adds the template `/client` skill, a generated `.claude/Overview.md` skill and bundled-rules inventory, `skill-coverage.json`, and capability-query guidance that points agents to `elevasis-sdk cli` as the live command surface.
|
|
6
|
-
|
|
7
|
-
It also ships new `@elevasis/sdk` CLI support for `skill:scaffold` and `skill:check-coverage`, and extends `elevasis-sdk check` so future CLI domains cannot land without either skill ownership or an explicit waiver.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- Every template-derived project that carries `.claude/` skills from `external/_template`.
|
|
12
|
-
- Projects that use `elevasis-sdk check` as their local validation gate.
|
|
13
|
-
- Operators using Claude Code skills to discover or manage clients through the existing `client:*` CLI domain.
|
|
14
|
-
|
|
15
|
-
## Required actions
|
|
16
|
-
|
|
17
|
-
1. Run the prepared external sync so `.claude/skills/client/`, `.claude/Overview.md`, `.claude/registries/skill-coverage.json`, and the updated setup/elevasis skill guidance are copied from the template.
|
|
18
|
-
2. Install the new `@elevasis/sdk` baseline in `operations/package.json` after the SDK publish stage.
|
|
19
|
-
3. Run `pnpm -C operations exec elevasis-sdk check` in each project to verify skill coverage against the live CLI catalog.
|
|
20
|
-
4. Use `elevasis-sdk cli` when answering "what can I do?" or auditing available CLI domains; do not rely on stale prose inventories.
|
|
21
|
-
|
|
22
|
-
## Verification
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
pnpm -C operations exec elevasis-sdk cli client
|
|
26
|
-
pnpm -C operations exec elevasis-sdk check
|
|
27
|
-
pnpm -C operations exec elevasis-sdk skill:check-coverage
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
The project should contain `.claude/skills/client/SKILL.md`, `.claude/Overview.md`, and `.claude/registries/skill-coverage.json` after sync.
|
|
31
|
-
|
|
32
|
-
## Not handled by /git-sync
|
|
33
|
-
|
|
34
|
-
`/git-sync` does not infer skill coverage or regenerate local command inventories. It can deliver the synced files, but maintainers still need to install the new SDK baseline and run the verification commands above. Project-owned `CLAUDE.md` content remains verify-only; the authoritative generated inventory is `.claude/Overview.md`.
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# Scaffold registry lane severity annotations
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This train adds `sync_lane_severity` annotations to the scaffold registry schema and moves external sync lane-severity ownership from hardcoded script sets into registry metadata.
|
|
6
|
-
|
|
7
|
-
The change is intended to keep project sync behavior the same while making the registry the single edit point for paths that need critical manual-merge handling or optional-feature-selection treatment.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- Template-derived projects that use `/external sync` or `pnpm sync:apply` from the Elevasis monorepo.
|
|
12
|
-
- Projects that receive `@elevasis/core` package-baseline updates through `core/package.json` or `operations/package.json`.
|
|
13
|
-
- Operators reviewing external-sync plans that mention critical manual-merge or optional-feature-selection paths.
|
|
14
|
-
|
|
15
|
-
## Required actions
|
|
16
|
-
|
|
17
|
-
1. Run the prepared external sync from the release train so this note reaches derived projects.
|
|
18
|
-
2. After the `@elevasis/core` publish stage, install the prepared core package baseline in template-derived project package files.
|
|
19
|
-
3. Review any sync plan lane labels against the registry entry metadata before widening a manifest or applying catch-up work.
|
|
20
|
-
|
|
21
|
-
No project-authored Organization Model content should be overwritten for this train.
|
|
22
|
-
|
|
23
|
-
## Verification
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
pnpm sync:verify
|
|
27
|
-
pnpm exec tsx scripts/external/sync-apply.ts --all --dry-run --manifest apps/docs/content/docs/in-progress/active-development/sdk-changes/ship/_external-sync-prep.json --strict-manifest
|
|
28
|
-
```
|
|
29
|
-
|
|
30
|
-
The strict manifest dry-run should authorize only the prepared sync note and the core package-baseline cascades.
|
|
31
|
-
|
|
32
|
-
## Not handled by /git-sync
|
|
33
|
-
|
|
34
|
-
`/git-sync` can deliver committed file changes, but it does not publish `@elevasis/core`, install package baselines, validate scaffold registry metadata, or enforce manifest-scoped external-sync write authorization.
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# Appearance Page Decoupled From App-Mode
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The Settings → Appearance page used to be hard-coupled to `dev-centric` app-mode: scaffold removed it under `--client-centric`, every `/external sync` actively deleted it (planner `delete` special-case), and verify forbade it for `client-centric` projects. That made the page silently vanish on every sync for client-centric tenants.
|
|
6
|
-
|
|
7
|
-
This train decouples Appearance from app-mode. Appearance is now an optional standalone page available in any mode. The only remaining app-mode difference is the `OrganizationSwitcher` in the topbar.
|
|
8
|
-
|
|
9
|
-
No npm publish is involved: the page renders the already-published `@elevasis/ui@2.46.0` `AppearanceSettings` component. The substrate changes (`scripts/external/*`) and the `_template` route are monorepo-internal and propagate through `/external sync`.
|
|
10
|
-
|
|
11
|
-
## Applies to
|
|
12
|
-
|
|
13
|
-
- All template-derived projects under `external/` that lack `ui/src/routes/settings/appearance.tsx`.
|
|
14
|
-
- Confirmed pending at prep time: `nirvana-marketing` (sync planner `writes=1` for the appearance route). `contemplative-records` already restored it; `ZentaraHQ` shows no pending write.
|
|
15
|
-
|
|
16
|
-
## Required actions
|
|
17
|
-
|
|
18
|
-
1. The new template route `ui/src/routes/settings/appearance.tsx` propagates automatically via `/external sync` (registry entry `external-sync-feature-route-baseline`, `sync-preservation`). No manual file copy needed — running the prepared sync applies it.
|
|
19
|
-
2. **Per-tenant nav entry is NOT propagated.** `core/config/organization-model/navigation.ts` is project-owned (sync-preservation). For any tenant that should surface Appearance in its sidebar, manually add a `settings-appearance` entry to `navigation.sidebar.bottom.settings.children` (order `50`, after `settings-webhooks`), pointing at the appearance route.
|
|
20
|
-
|
|
21
|
-
## Verification
|
|
22
|
-
|
|
23
|
-
- After sync: `pnpm -C external/<project>/ui check-types` passes with the new route present.
|
|
24
|
-
- `pnpm sync:verify` reports `writes=0` for the synced project's `sync-plan`.
|
|
25
|
-
- The Appearance entry renders in the Settings sidebar only after the per-tenant `navigation.ts` entry is added (step 2).
|
|
26
|
-
|
|
27
|
-
## Not handled by /git-sync
|
|
28
|
-
|
|
29
|
-
`/git-sync` does not author the per-tenant `navigation.ts` nav entry — it is project-owned business content and must be added by hand per tenant. `/git-sync` also will not retroactively restore the route for tenants that were previously stripped by the old delete special-case; run the prepared `/external sync --all` to apply the new non-deleting baseline.
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
# Ontology `surface` → `endpoint` rename + Knowledge Browser UI upgrades
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This release bumps **both** `@elevasis/core` and `@elevasis/ui`. Two distinct changes ride it:
|
|
6
|
-
|
|
7
|
-
1. **Breaking OM contract rename (`@elevasis/core`).** The ontology kind `surface` was renamed to
|
|
8
|
-
`endpoint` to stop colliding with **navigation surfaces** (shell sidebar routes). The published
|
|
9
|
-
contract changed: the `OntologyKind` enum member `'surface'` is now `'endpoint'`, the ontology ID
|
|
10
|
-
namespace `…:surface/…` is now `…:endpoint/…`, `ontology.surfaces` is now `ontology.endpoints`,
|
|
11
|
-
and the exported `OntologySurfaceType` / `OntologySurfaceTypeSchema` are now
|
|
12
|
-
`OntologyEndpointType` / `OntologyEndpointTypeSchema`. **There is no back-compat alias** (hard
|
|
13
|
-
rename — the kind was near-dormant). Any tenant OM that still declares a `:surface/` **ontology**
|
|
14
|
-
ID will fail validation once it installs the new `@elevasis/core`.
|
|
15
|
-
|
|
16
|
-
2. **Knowledge Browser UI upgrades (`@elevasis/ui`).** Three additive, platform-substrate
|
|
17
|
-
enhancements that tenants get purely on the `@elevasis/ui` bump — no authoring change required:
|
|
18
|
-
full `ClientProfile` detail rendering in the Clients panel, clickable group child cards
|
|
19
|
-
(Profile → Identity/Branding navigate like the tree), and explanatory hover tooltips on
|
|
20
|
-
platform-vocabulary badges/edge labels. The ontology tree row + its tooltip now read
|
|
21
|
-
**"Endpoints"** instead of "Surfaces", consistent with change #1.
|
|
22
|
-
|
|
23
|
-
## Applies to
|
|
24
|
-
|
|
25
|
-
- **Change #1 (ontology rename):** every tenant whose `core/config/organization-model/` declares any
|
|
26
|
-
ontology ID with a `:surface/` segment (i.e. an entry under a System's `ontology.surfaces`).
|
|
27
|
-
**Confirmed in this train: ZERO live tenants carry any `:surface/` ontology ID** (verified by a
|
|
28
|
-
repo-wide grep across all of `external/` — only `_template` carried one, migrated in this train).
|
|
29
|
-
The 3 live derived projects (ZentaraHQ, nirvana-marketing, contemplative-records) inherit
|
|
30
|
-
`endpoint/` cleanly. Run the verification below anyway before installing the new `@elevasis/core`.
|
|
31
|
-
- **Change #2 (UI upgrades):** every template-derived project — they render on the `@elevasis/ui`
|
|
32
|
-
bump with no further action.
|
|
33
|
-
|
|
34
|
-
## Required actions
|
|
35
|
-
|
|
36
|
-
`/git-sync` / `/external sync` delivers the new `@elevasis/core` + `@elevasis/ui` dependency
|
|
37
|
-
baselines and this note. The dependency bumps install automatically; the ontology-ID rewrite (only if
|
|
38
|
-
your project authored any) is project-owned OM content and is **not** auto-applied.
|
|
39
|
-
|
|
40
|
-
1. **Install the baselines together.** Bump `@elevasis/core` and `@elevasis/ui` in the same change
|
|
41
|
-
(the baseline write from sync covers `core/package.json`, `operations/package.json`, and
|
|
42
|
-
`ui/package.json`). Do not install the new `@elevasis/core` while your OM still has any `:surface/`
|
|
43
|
-
**ontology** ID.
|
|
44
|
-
2. **Rename any ontology `surface/` IDs (only if present).** In `core/config/organization-model/`,
|
|
45
|
-
change every ontology ID `…:surface/<name>` to `…:endpoint/<name>`, and the containing
|
|
46
|
-
`ontology: { surfaces: { … } }` key to `ontology: { endpoints: { … } }`. Update every
|
|
47
|
-
cross-reference (`ownerSystemId`, `route`, links, etc.). Most tenants have nothing to change here.
|
|
48
|
-
3. **Do NOT touch navigation surfaces.** This is the critical disambiguation. The rename is
|
|
49
|
-
ontology-only. Leave `system.surfaces`, `ui.surfaces`, sidebar `SidebarSurfaceNode`s, the
|
|
50
|
-
`surfaceType` route field, the graph node kind `surface`, and `SurfaceDescribeView` **unchanged** —
|
|
51
|
-
those legitimately own the word "surface" for shell routing and are orthogonal to the ontology kind.
|
|
52
|
-
4. **Update tests.** If your `core/config/organization-model.test.ts` or contract tests assert
|
|
53
|
-
`compiled.ontology.surfaces` or a `:surface/` ontology ID, rename them to `.endpoints` /
|
|
54
|
-
`:endpoint/`. Leave any `ui.surfaces` / navigation-surface assertions alone.
|
|
55
|
-
5. **Verify, then boot.** Run the verification block, then `pnpm -C core test` and
|
|
56
|
-
`pnpm -C ui check-types` before booting the app.
|
|
57
|
-
|
|
58
|
-
## Verification
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# 1. Find any remaining ontology surface/ IDs (navigation surfaces are fine — see discriminator)
|
|
62
|
-
grep -rn ":surface/\|ontology.surfaces\|OntologySurfaceType" core/config/organization-model
|
|
63
|
-
|
|
64
|
-
# Discriminator while reading hits:
|
|
65
|
-
# ontology (RENAME) -> a ":surface/" ID segment, "ontology: { surfaces: ... }", OntologySurface*
|
|
66
|
-
# navigation (KEEP) -> bare system.surfaces / ui.surfaces, SidebarSurface*, surfaceType
|
|
67
|
-
|
|
68
|
-
# 2. Template-family coherence
|
|
69
|
-
pnpm -C core test
|
|
70
|
-
pnpm -C ui check-types
|
|
71
|
-
pnpm -C ui test:contracts
|
|
72
|
-
|
|
73
|
-
# 3. Boot must not throw OM validation (no unknown OntologyKind)
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
`OntologyKindSchema` must accept `endpoint` and reject `surface`; no `:surface/` ontology ID may
|
|
77
|
-
remain. Navigation surfaces must still resolve and render in the sidebar.
|
|
78
|
-
|
|
79
|
-
## Not handled by /git-sync
|
|
80
|
-
|
|
81
|
-
- `/git-sync` and `/external sync` deliver the `@elevasis/core` + `@elevasis/ui` dependency baselines
|
|
82
|
-
and this note, but they do **not** edit your `core/config/organization-model/` — tenant OM content
|
|
83
|
-
is project-owned (`sync-preservation`). The `surface/` → `endpoint/` ontology-ID rewrite in steps
|
|
84
|
-
2–4 is manual per tenant (a no-op for every current live tenant, which carries none).
|
|
85
|
-
- The Knowledge Browser UI upgrades (change #2) require **no** action — they are entirely inside
|
|
86
|
-
`@elevasis/ui` and appear on the bump.
|