@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.
- package/dist/cli.cjs +1608 -594
- package/dist/index.d.ts +87 -1
- package/dist/index.js +30 -25
- package/dist/node/index.d.ts +84 -1
- package/dist/test-utils/index.d.ts +84 -1
- package/dist/test-utils/index.js +242 -23
- package/dist/worker/index.js +1 -0
- package/package.json +2 -2
- package/reference/claude-config/rules/topbar-actions.md +70 -0
- package/reference/claude-config/skills/om/SKILL.md +18 -1
- package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
- package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +45 -45
- package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +52 -52
- package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +33 -33
- package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +32 -32
- package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +43 -43
- package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +40 -40
- package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +61 -61
- package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +49 -49
- package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +31 -31
- package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +42 -42
- package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +33 -33
- package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +37 -37
- package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +28 -28
- package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +43 -43
- package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +26 -0
- package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +33 -0
- package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +35 -0
- package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +49 -0
- package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +47 -0
- package/reference/examples/organization-model.ts +18 -0
- package/reference/rules/organization-model.md +4 -1
- package/reference/rules/organization-os.md +7 -1
- package/reference/rules/ui.md +207 -207
- package/reference/rules/vibe.md +52 -18
- package/reference/scaffold/index.mdx +9 -7
- package/reference/scaffold/operations/scaffold-maintenance.md +14 -4
- package/reference/scaffold/reference/contracts.md +423 -338
- package/reference/scaffold/reference/glossary.md +14 -2
- package/reference/scaffold/reference/system-interface-capabilities.md +50 -0
- /package/reference/claude-config/skills/deploy/{skill.md → SKILL.md} +0 -0
package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
# Organization Model Ontology Refactor
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The template now demonstrates the Organization Model ontology and topology bridge. New semantic contracts should be authored in `System.ontology`; executable Resources bind through `resource.ontology.actions` and optional `resource.ontology.primaryAction`; durable operational wiring belongs in `organizationModel.topology.relationships`. Legacy `entities`, `actions`, and `System.content` remain compatibility mirrors for current consumers.
|
|
6
|
-
|
|
7
|
-
## Applies to
|
|
8
|
-
|
|
9
|
-
- `core/config/organization-model.ts`
|
|
10
|
-
- `core/config/organization-model.test.ts`
|
|
11
|
-
- `core/config/organization-model.contract.test.ts`
|
|
12
|
-
- `core/config/README.md`
|
|
13
|
-
- `operations/src/index.ts`
|
|
14
|
-
- `operations/src/resource-registry.test.ts`
|
|
15
|
-
- `operations/src/README.md`
|
|
16
|
-
- `.claude/rules/organization-model.md`
|
|
17
|
-
- `.claude/rules/operations.md`
|
|
18
|
-
|
|
19
|
-
## Required actions
|
|
20
|
-
|
|
21
|
-
1. Preserve system-colocated ontology scopes when syncing template organization-model changes.
|
|
22
|
-
2. Migrate Resource descriptors from `ontology.implements` / `actionKey` to `ontology.actions` / `ontology.primaryAction`; keep `codeRefs` with the Resource descriptor.
|
|
23
|
-
3. Preserve `organizationModel.topology.relationships` when syncing template organization-model changes; keep secrets, credential values, provider webhook mechanics, and per-run state outside the OM.
|
|
24
|
-
4. Keep `entities`, `actions`, and `System.content` aligned as compatibility mirrors until downstream consumers move fully to compiled ontology indexes.
|
|
25
|
-
5. Do not overwrite project-owned `core/config/extensions/**` files.
|
|
26
|
-
|
|
27
|
-
## Verification
|
|
28
|
-
|
|
29
|
-
Run the template verification lane after applying this sync:
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
pnpm -C external/_template/core test
|
|
33
|
-
pnpm -C external/_template/core exec tsc --noEmit
|
|
34
|
-
pnpm -C external/_template/operations check
|
|
35
|
-
pnpm -C external/_template/operations check-types
|
|
36
|
-
pnpm -C external/_template/operations test
|
|
37
|
-
pnpm sync:verify --pre
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Not handled by /git-sync
|
|
41
|
-
|
|
42
|
-
- Choosing project-specific ontology IDs for tenant-owned systems.
|
|
43
|
-
- Choosing project-specific topology relationships for tenant-owned workflows, checkpoints, integrations, or schedules.
|
|
44
|
-
- Migrating project-owned extension files under `core/config/extensions/**`.
|
|
45
|
-
- Retiring compatibility mirrors before the full internal, SDK, scaffold, and external template-family green cycle.
|
|
1
|
+
# Organization Model Ontology Refactor
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
The template now demonstrates the Organization Model ontology and topology bridge. New semantic contracts should be authored in `System.ontology`; executable Resources bind through `resource.ontology.actions` and optional `resource.ontology.primaryAction`; durable operational wiring belongs in `organizationModel.topology.relationships`. Legacy `entities`, `actions`, and `System.content` remain compatibility mirrors for current consumers.
|
|
6
|
+
|
|
7
|
+
## Applies to
|
|
8
|
+
|
|
9
|
+
- `core/config/organization-model.ts`
|
|
10
|
+
- `core/config/organization-model.test.ts`
|
|
11
|
+
- `core/config/organization-model.contract.test.ts`
|
|
12
|
+
- `core/config/README.md`
|
|
13
|
+
- `operations/src/index.ts`
|
|
14
|
+
- `operations/src/resource-registry.test.ts`
|
|
15
|
+
- `operations/src/README.md`
|
|
16
|
+
- `.claude/rules/organization-model.md`
|
|
17
|
+
- `.claude/rules/operations.md`
|
|
18
|
+
|
|
19
|
+
## Required actions
|
|
20
|
+
|
|
21
|
+
1. Preserve system-colocated ontology scopes when syncing template organization-model changes.
|
|
22
|
+
2. Migrate Resource descriptors from `ontology.implements` / `actionKey` to `ontology.actions` / `ontology.primaryAction`; keep `codeRefs` with the Resource descriptor.
|
|
23
|
+
3. Preserve `organizationModel.topology.relationships` when syncing template organization-model changes; keep secrets, credential values, provider webhook mechanics, and per-run state outside the OM.
|
|
24
|
+
4. Keep `entities`, `actions`, and `System.content` aligned as compatibility mirrors until downstream consumers move fully to compiled ontology indexes.
|
|
25
|
+
5. Do not overwrite project-owned `core/config/extensions/**` files.
|
|
26
|
+
|
|
27
|
+
## Verification
|
|
28
|
+
|
|
29
|
+
Run the template verification lane after applying this sync:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pnpm -C external/_template/core test
|
|
33
|
+
pnpm -C external/_template/core exec tsc --noEmit
|
|
34
|
+
pnpm -C external/_template/operations check
|
|
35
|
+
pnpm -C external/_template/operations check-types
|
|
36
|
+
pnpm -C external/_template/operations test
|
|
37
|
+
pnpm sync:verify --pre
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Not handled by /git-sync
|
|
41
|
+
|
|
42
|
+
- Choosing project-specific ontology IDs for tenant-owned systems.
|
|
43
|
+
- Choosing project-specific topology relationships for tenant-owned workflows, checkpoints, integrations, or schedules.
|
|
44
|
+
- Migrating project-owned extension files under `core/config/extensions/**`.
|
|
45
|
+
- Retiring compatibility mirrors before the full internal, SDK, scaffold, and external template-family green cycle.
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
# OM Skill Rename + Write Family Release Train
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This release train renames the tenant `/knowledge` skill to `/om` and broadens it, ports `om:search` / `om:describe` to the `elevasis-sdk` CLI, and bumps the `@elevasis/core` and `@elevasis/sdk` dependency baselines. The template `.claude` skill surface changed shape (a directory was renamed and slash-command references were rewritten across CLAUDE.md, rules, and adjacent skills), and `@elevasis/core` / `@elevasis/sdk` published new exports and CLI commands. Ordinary git merge does not reconcile a managed `.claude` skill rename or pull republished package baselines, so template-derived projects need an operative note.
|
|
6
|
-
|
|
7
|
-
This note covers the `om-skill` workstream (the `/knowledge` -> `/om` rename + SDK CLI port) and the package-baseline cascades from the same train (`@elevasis/core` minor from `om-skill` + `om-create-skill`; `@elevasis/sdk` minor from `om-skill`). It does NOT cover the unrelated Shared-UI-Migration changes under `external/_template/ui/**`, which are a separate workstream and not part of this train.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- `external/_template/.claude/skills/om/SKILL.md` (renamed from `external/_template/.claude/skills/knowledge/SKILL.md`; canonical 5-bucket decision tree with the tenant Codify/Toggle ceremony preserved)
|
|
12
|
-
- `external/_template/.claude/skills/om/operations/*.md` (10 files moved from `knowledge/operations/`; `elevasis-sdk knowledge:*` references rewritten to `elevasis-sdk om:*`, `/knowledge` footers rewritten to `/om`)
|
|
13
|
-
- `external/_template/.claude/skills/knowledge/` (DELETED — directory removed; tombstone, do not re-create on sync)
|
|
14
|
-
- `external/_template/CLAUDE.md` (Slash Commands table — `/knowledge` -> `/om`)
|
|
15
|
-
- `external/_template/.claude/rules/{organization-model,organization-os,vibe}.md` (slash-command references)
|
|
16
|
-
- `external/_template/.claude/skills/{setup,project,tutorial}/*.md` (slash-command references)
|
|
17
|
-
- `external/_template/core/package.json` (`@elevasis/core` baseline -> 0.25.0)
|
|
18
|
-
- `external/_template/operations/package.json` (`@elevasis/core` -> 0.25.0 and `@elevasis/sdk` -> 1.23.0 baselines)
|
|
19
|
-
|
|
20
|
-
Package baselines become concrete only after the `core` and `sdk` publish stages of `/sdk ship` complete; the `.claude` skill rename is template-authored and already present in `external/_template`.
|
|
21
|
-
|
|
22
|
-
## Required actions
|
|
23
|
-
|
|
24
|
-
1. Apply the managed `.claude` skill rename atomically: create `.claude/skills/om/` (SKILL.md + `operations/`) and delete the former knowledge skill directory in the same sync. Never leave both directories present — two skills advertising the same scope is the exact confusion the rename removes.
|
|
25
|
-
2. Preserve any tenant-owned Codify/Toggle ceremony content in the project's `om/SKILL.md` Write-Power section; do not overwrite project-authored knowledge node content under `core/config/knowledge/**` (the content directory is separate from the slash-command name).
|
|
26
|
-
3. Rewrite `/knowledge` -> `/om` and `elevasis-sdk knowledge:*` -> `elevasis-sdk om:*` references in managed surfaces only; `knowledge:*` CLI aliases remain valid, so do not hard-fail on legacy invocations in project-owned files.
|
|
27
|
-
4. After the `/sdk ship` publish stages land, bump the `@elevasis/core` (0.25.0) and `@elevasis/sdk` (1.23.0) baselines in `core/package.json` and `operations/package.json`, then reinstall.
|
|
28
|
-
5. The `/om` write sub-skill family (`verify` / `create` / `rename` / `deprecate`) is intentionally NOT ported to the tenant template in this train (deferred to a dedicated task). Do not scaffold those tenant operations from this sync.
|
|
29
|
-
|
|
30
|
-
## Verification
|
|
31
|
-
|
|
32
|
-
Run the template verification lane after applying this sync:
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
pnpm sync:verify --pre
|
|
36
|
-
pnpm external:verify
|
|
37
|
-
pnpm -C external/_template/operations check-types
|
|
38
|
-
pnpm -C external/_template/operations test
|
|
39
|
-
```
|
|
40
|
-
|
|
41
|
-
Then confirm in each downstream project:
|
|
42
|
-
|
|
43
|
-
- `.claude/skills/om/` exists with `SKILL.md` + `operations/`; the former knowledge skill directory is gone.
|
|
44
|
-
- `elevasis-sdk om:search "<query>"` and `elevasis-sdk om:describe <id>` resolve against the tenant's organization model; legacy `elevasis-sdk knowledge:*` still aliases.
|
|
45
|
-
- `@elevasis/core` resolves to >= 0.25.0 and `@elevasis/sdk` to >= 1.23.0.
|
|
46
|
-
|
|
47
|
-
## Not handled by /git-sync
|
|
48
|
-
|
|
49
|
-
- Publishing `@elevasis/core` (0.25.0) or `@elevasis/sdk` (1.23.0) — owned by `/sdk ship` publish stages.
|
|
50
|
-
- Redeploying the SDK resources bundle (`elevasis-operations`) after the `@elevasis/sdk` publish.
|
|
51
|
-
- Tenant-specific conflict resolution in dirty external project worktrees, including reconciling any project-authored edits to the former `knowledge/SKILL.md`.
|
|
52
|
-
- The unrelated Shared-UI-Migration changes under `external/_template/ui/**` (separate workstream; not in this train's scope).
|
|
1
|
+
# OM Skill Rename + Write Family Release Train
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
This release train renames the tenant `/knowledge` skill to `/om` and broadens it, ports `om:search` / `om:describe` to the `elevasis-sdk` CLI, and bumps the `@elevasis/core` and `@elevasis/sdk` dependency baselines. The template `.claude` skill surface changed shape (a directory was renamed and slash-command references were rewritten across CLAUDE.md, rules, and adjacent skills), and `@elevasis/core` / `@elevasis/sdk` published new exports and CLI commands. Ordinary git merge does not reconcile a managed `.claude` skill rename or pull republished package baselines, so template-derived projects need an operative note.
|
|
6
|
+
|
|
7
|
+
This note covers the `om-skill` workstream (the `/knowledge` -> `/om` rename + SDK CLI port) and the package-baseline cascades from the same train (`@elevasis/core` minor from `om-skill` + `om-create-skill`; `@elevasis/sdk` minor from `om-skill`). It does NOT cover the unrelated Shared-UI-Migration changes under `external/_template/ui/**`, which are a separate workstream and not part of this train.
|
|
8
|
+
|
|
9
|
+
## Applies to
|
|
10
|
+
|
|
11
|
+
- `external/_template/.claude/skills/om/SKILL.md` (renamed from `external/_template/.claude/skills/knowledge/SKILL.md`; canonical 5-bucket decision tree with the tenant Codify/Toggle ceremony preserved)
|
|
12
|
+
- `external/_template/.claude/skills/om/operations/*.md` (10 files moved from `knowledge/operations/`; `elevasis-sdk knowledge:*` references rewritten to `elevasis-sdk om:*`, `/knowledge` footers rewritten to `/om`)
|
|
13
|
+
- `external/_template/.claude/skills/knowledge/` (DELETED — directory removed; tombstone, do not re-create on sync)
|
|
14
|
+
- `external/_template/CLAUDE.md` (Slash Commands table — `/knowledge` -> `/om`)
|
|
15
|
+
- `external/_template/.claude/rules/{organization-model,organization-os,vibe}.md` (slash-command references)
|
|
16
|
+
- `external/_template/.claude/skills/{setup,project,tutorial}/*.md` (slash-command references)
|
|
17
|
+
- `external/_template/core/package.json` (`@elevasis/core` baseline -> 0.25.0)
|
|
18
|
+
- `external/_template/operations/package.json` (`@elevasis/core` -> 0.25.0 and `@elevasis/sdk` -> 1.23.0 baselines)
|
|
19
|
+
|
|
20
|
+
Package baselines become concrete only after the `core` and `sdk` publish stages of `/sdk ship` complete; the `.claude` skill rename is template-authored and already present in `external/_template`.
|
|
21
|
+
|
|
22
|
+
## Required actions
|
|
23
|
+
|
|
24
|
+
1. Apply the managed `.claude` skill rename atomically: create `.claude/skills/om/` (SKILL.md + `operations/`) and delete the former knowledge skill directory in the same sync. Never leave both directories present — two skills advertising the same scope is the exact confusion the rename removes.
|
|
25
|
+
2. Preserve any tenant-owned Codify/Toggle ceremony content in the project's `om/SKILL.md` Write-Power section; do not overwrite project-authored knowledge node content under `core/config/knowledge/**` (the content directory is separate from the slash-command name).
|
|
26
|
+
3. Rewrite `/knowledge` -> `/om` and `elevasis-sdk knowledge:*` -> `elevasis-sdk om:*` references in managed surfaces only; `knowledge:*` CLI aliases remain valid, so do not hard-fail on legacy invocations in project-owned files.
|
|
27
|
+
4. After the `/sdk ship` publish stages land, bump the `@elevasis/core` (0.25.0) and `@elevasis/sdk` (1.23.0) baselines in `core/package.json` and `operations/package.json`, then reinstall.
|
|
28
|
+
5. The `/om` write sub-skill family (`verify` / `create` / `rename` / `deprecate`) is intentionally NOT ported to the tenant template in this train (deferred to a dedicated task). Do not scaffold those tenant operations from this sync.
|
|
29
|
+
|
|
30
|
+
## Verification
|
|
31
|
+
|
|
32
|
+
Run the template verification lane after applying this sync:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
pnpm sync:verify --pre
|
|
36
|
+
pnpm external:verify
|
|
37
|
+
pnpm -C external/_template/operations check-types
|
|
38
|
+
pnpm -C external/_template/operations test
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Then confirm in each downstream project:
|
|
42
|
+
|
|
43
|
+
- `.claude/skills/om/` exists with `SKILL.md` + `operations/`; the former knowledge skill directory is gone.
|
|
44
|
+
- `elevasis-sdk om:search "<query>"` and `elevasis-sdk om:describe <id>` resolve against the tenant's organization model; legacy `elevasis-sdk knowledge:*` still aliases.
|
|
45
|
+
- `@elevasis/core` resolves to >= 0.25.0 and `@elevasis/sdk` to >= 1.23.0.
|
|
46
|
+
|
|
47
|
+
## Not handled by /git-sync
|
|
48
|
+
|
|
49
|
+
- Publishing `@elevasis/core` (0.25.0) or `@elevasis/sdk` (1.23.0) — owned by `/sdk ship` publish stages.
|
|
50
|
+
- Redeploying the SDK resources bundle (`elevasis-operations`) after the `@elevasis/sdk` publish.
|
|
51
|
+
- Tenant-specific conflict resolution in dirty external project worktrees, including reconciling any project-authored edits to the former `knowledge/SKILL.md`.
|
|
52
|
+
- The unrelated Shared-UI-Migration changes under `external/_template/ui/**` (separate workstream; not in this train's scope).
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
# SDK Boundary Consolidation Release Train
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This train publishes the SDK boundary consolidation work and updates the template to consume more of the published Elevasis SDK family instead of carrying local boilerplate. It also carries the Organization Model bridge retirement and typed-contract hardening that the ship train depends on.
|
|
6
|
-
|
|
7
|
-
## Applies to
|
|
8
|
-
|
|
9
|
-
- Template UI shells derived from `external/_template/ui`.
|
|
10
|
-
- Template operations packages that depend on `@elevasis/sdk`.
|
|
11
|
-
- Template core packages that depend on `@elevasis/core`.
|
|
12
|
-
- Projects that still carry copied `.claude/rules/*.md` files instead of SDK reference pointers.
|
|
13
|
-
|
|
14
|
-
## Required actions
|
|
15
|
-
|
|
16
|
-
- Refresh package baselines after publishing `@elevasis/core`, `@elevasis/ui`, and `@elevasis/sdk`.
|
|
17
|
-
- Adopt `ElevasisAuthenticatedShell` from `@elevasis/ui/app` in template-derived root routes.
|
|
18
|
-
- Replace local UI test/store/query-client helpers with `@elevasis/ui/test-utils`, `@elevasis/ui/test-utils/setup`, `createElevasisAppStore`, and `createElevasisQueryClient`.
|
|
19
|
-
- Keep project-specific Claude guidance as compatibility stubs that point at `@elevasis/sdk/reference/rules/`.
|
|
20
|
-
- Treat `System.ontology.catalogTypes` and `System.config` as canonical Organization Model authoring surfaces; do not reintroduce `System.content`.
|
|
21
|
-
|
|
22
|
-
## Verification
|
|
23
|
-
|
|
24
|
-
- `pnpm sdk:verify-release`
|
|
25
|
-
- `pnpm scaffold:verify`
|
|
26
|
-
- `pnpm verify:scaffold-reference`
|
|
27
|
-
- `pnpm sync:verify`
|
|
28
|
-
- `pnpm org-os:verify`
|
|
29
|
-
- Template UI typecheck and tests from the source workstream.
|
|
30
|
-
|
|
31
|
-
## Not handled by /git-sync
|
|
32
|
-
|
|
33
|
-
`/git-sync` does not publish npm packages, deploy the operations resource bundle, or decide whether project-owned files should adopt a template baseline. Those steps remain owned by `/sdk ship` and the prepared external-sync manifest.
|
|
1
|
+
# SDK Boundary Consolidation Release Train
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
This train publishes the SDK boundary consolidation work and updates the template to consume more of the published Elevasis SDK family instead of carrying local boilerplate. It also carries the Organization Model bridge retirement and typed-contract hardening that the ship train depends on.
|
|
6
|
+
|
|
7
|
+
## Applies to
|
|
8
|
+
|
|
9
|
+
- Template UI shells derived from `external/_template/ui`.
|
|
10
|
+
- Template operations packages that depend on `@elevasis/sdk`.
|
|
11
|
+
- Template core packages that depend on `@elevasis/core`.
|
|
12
|
+
- Projects that still carry copied `.claude/rules/*.md` files instead of SDK reference pointers.
|
|
13
|
+
|
|
14
|
+
## Required actions
|
|
15
|
+
|
|
16
|
+
- Refresh package baselines after publishing `@elevasis/core`, `@elevasis/ui`, and `@elevasis/sdk`.
|
|
17
|
+
- Adopt `ElevasisAuthenticatedShell` from `@elevasis/ui/app` in template-derived root routes.
|
|
18
|
+
- Replace local UI test/store/query-client helpers with `@elevasis/ui/test-utils`, `@elevasis/ui/test-utils/setup`, `createElevasisAppStore`, and `createElevasisQueryClient`.
|
|
19
|
+
- Keep project-specific Claude guidance as compatibility stubs that point at `@elevasis/sdk/reference/rules/`.
|
|
20
|
+
- Treat `System.ontology.catalogTypes` and `System.config` as canonical Organization Model authoring surfaces; do not reintroduce `System.content`.
|
|
21
|
+
|
|
22
|
+
## Verification
|
|
23
|
+
|
|
24
|
+
- `pnpm sdk:verify-release`
|
|
25
|
+
- `pnpm scaffold:verify`
|
|
26
|
+
- `pnpm verify:scaffold-reference`
|
|
27
|
+
- `pnpm sync:verify`
|
|
28
|
+
- `pnpm org-os:verify`
|
|
29
|
+
- Template UI typecheck and tests from the source workstream.
|
|
30
|
+
|
|
31
|
+
## Not handled by /git-sync
|
|
32
|
+
|
|
33
|
+
`/git-sync` does not publish npm packages, deploy the operations resource bundle, or decide whether project-owned files should adopt a template baseline. Those steps remain owned by `/sdk ship` and the prepared external-sync manifest.
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
# Organization Model Define Helpers Release Train
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This train publishes `@elevasis/core` 0.28.0, which adds a generic `defineDomainRecord<TSchema>(schema, entries)` helper plus eleven domain-specific authoring wrappers (`defineAction`/`defineActions`, `defineEntity`/`defineEntities`, `defineSystem`/`defineSystems`, `defineCustomer`/`defineCustomers`, `defineOffering`/`defineOfferings`, `defineRole`/`defineRoles`, `defineGoal`/`defineGoals`, `defineStatus`/`defineStatuses`, `definePolicy`/`definePolicies`, `defineKnowledgeNode`/`defineKnowledgeNodes`). The audit that motivated this train (package vs. project boundary) found that projects were hand-rolling the "validate every entry against its schema, then return an id-keyed map" pattern in multiple places — the helpers eliminate that duplication and make validation uniform.
|
|
6
|
-
|
|
7
|
-
After this publish, the template's `external/_template/core/config/organization-model.ts` drops 6 local `TemplateX` type aliases and 2 local helper redefinitions in favor of the published equivalents.
|
|
8
|
-
|
|
9
|
-
## Applies to
|
|
10
|
-
|
|
11
|
-
- `external/_template/core/config/organization-model.ts` (template authoring surface)
|
|
12
|
-
- Any downstream tenant project derived from `_template` that still carries local `TemplateActionRef` / `TemplateActionEntry` / `TemplateEntityEntry` / `TemplateSystemEntry` / `TemplateResourceOntologyBinding` / `TemplateWorkflowResourceEntry` aliases, or local `listAllSystems` / `toDomainRecord` helpers
|
|
13
|
-
- `external/_template/core/package.json` and `external/_template/operations/package.json` (baseline cascade — both pin `@elevasis/core`)
|
|
14
|
-
|
|
15
|
-
## Required actions
|
|
16
|
-
|
|
17
|
-
- Refresh `@elevasis/core` to 0.28.0 in `core/package.json` and `operations/package.json` (caret range picks it up automatically; `pnpm install` to actualize).
|
|
18
|
-
- Drop the 6 `TemplateX` type aliases from `core/config/organization-model.ts` and import the canonical types from `@elevasis/core/organization-model` instead: `ActionRef`, `OrganizationAction`, `Entity`, `OrganizationModelSystemEntry`, `ResourceOntologyBinding`, `WorkflowResourceEntry`.
|
|
19
|
-
- Drop the local `listAllSystems` and `toDomainRecord` helpers; use `listAllSystems` and `defineDomainRecord` from `@elevasis/core/organization-model`.
|
|
20
|
-
- Keep `TemplateWorkflowResourceEntry` ONLY as an intersection that adds the `systemId` compat mirror plus required `title`/`description`: `WorkflowResourceEntry & { systemId: string; title: string; description: string }`. This compat mirror is the sole justified divergence.
|
|
21
|
-
- Author calls that build domain records should migrate from the hand-rolled `toDomainRecord(entries)` form to the validating `defineDomainRecord(Schema, entries)` form, or use the domain-specific `defineActions`, `defineEntities`, etc. wrappers where applicable.
|
|
22
|
-
|
|
23
|
-
## Verification
|
|
24
|
-
|
|
25
|
-
- `pnpm -C core check-types`
|
|
26
|
-
- `pnpm -C operations check-types`
|
|
27
|
-
- `pnpm -C ui check-types`
|
|
28
|
-
- Run `pnpm sync:verify` from the monorepo root after `/external sync --all` propagates.
|
|
29
|
-
|
|
30
|
-
## Not handled by /git-sync
|
|
31
|
-
|
|
32
|
-
`/git-sync` does not republish `@elevasis/core`, edit your `core/config/organization-model.ts` for you, or migrate hand-rolled `toDomainRecord` call sites to `defineDomainRecord`. Those edits are intentional authoring changes; review them in a normal PR. The `pnpm install` after the dependency bump IS handled.
|
|
1
|
+
# Organization Model Define Helpers Release Train
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
This train publishes `@elevasis/core` 0.28.0, which adds a generic `defineDomainRecord<TSchema>(schema, entries)` helper plus eleven domain-specific authoring wrappers (`defineAction`/`defineActions`, `defineEntity`/`defineEntities`, `defineSystem`/`defineSystems`, `defineCustomer`/`defineCustomers`, `defineOffering`/`defineOfferings`, `defineRole`/`defineRoles`, `defineGoal`/`defineGoals`, `defineStatus`/`defineStatuses`, `definePolicy`/`definePolicies`, `defineKnowledgeNode`/`defineKnowledgeNodes`). The audit that motivated this train (package vs. project boundary) found that projects were hand-rolling the "validate every entry against its schema, then return an id-keyed map" pattern in multiple places — the helpers eliminate that duplication and make validation uniform.
|
|
6
|
+
|
|
7
|
+
After this publish, the template's `external/_template/core/config/organization-model.ts` drops 6 local `TemplateX` type aliases and 2 local helper redefinitions in favor of the published equivalents.
|
|
8
|
+
|
|
9
|
+
## Applies to
|
|
10
|
+
|
|
11
|
+
- `external/_template/core/config/organization-model.ts` (template authoring surface)
|
|
12
|
+
- Any downstream tenant project derived from `_template` that still carries local `TemplateActionRef` / `TemplateActionEntry` / `TemplateEntityEntry` / `TemplateSystemEntry` / `TemplateResourceOntologyBinding` / `TemplateWorkflowResourceEntry` aliases, or local `listAllSystems` / `toDomainRecord` helpers
|
|
13
|
+
- `external/_template/core/package.json` and `external/_template/operations/package.json` (baseline cascade — both pin `@elevasis/core`)
|
|
14
|
+
|
|
15
|
+
## Required actions
|
|
16
|
+
|
|
17
|
+
- Refresh `@elevasis/core` to 0.28.0 in `core/package.json` and `operations/package.json` (caret range picks it up automatically; `pnpm install` to actualize).
|
|
18
|
+
- Drop the 6 `TemplateX` type aliases from `core/config/organization-model.ts` and import the canonical types from `@elevasis/core/organization-model` instead: `ActionRef`, `OrganizationAction`, `Entity`, `OrganizationModelSystemEntry`, `ResourceOntologyBinding`, `WorkflowResourceEntry`.
|
|
19
|
+
- Drop the local `listAllSystems` and `toDomainRecord` helpers; use `listAllSystems` and `defineDomainRecord` from `@elevasis/core/organization-model`.
|
|
20
|
+
- Keep `TemplateWorkflowResourceEntry` ONLY as an intersection that adds the `systemId` compat mirror plus required `title`/`description`: `WorkflowResourceEntry & { systemId: string; title: string; description: string }`. This compat mirror is the sole justified divergence.
|
|
21
|
+
- Author calls that build domain records should migrate from the hand-rolled `toDomainRecord(entries)` form to the validating `defineDomainRecord(Schema, entries)` form, or use the domain-specific `defineActions`, `defineEntities`, etc. wrappers where applicable.
|
|
22
|
+
|
|
23
|
+
## Verification
|
|
24
|
+
|
|
25
|
+
- `pnpm -C core check-types`
|
|
26
|
+
- `pnpm -C operations check-types`
|
|
27
|
+
- `pnpm -C ui check-types`
|
|
28
|
+
- Run `pnpm sync:verify` from the monorepo root after `/external sync --all` propagates.
|
|
29
|
+
|
|
30
|
+
## Not handled by /git-sync
|
|
31
|
+
|
|
32
|
+
`/git-sync` does not republish `@elevasis/core`, edit your `core/config/organization-model.ts` for you, or migrate hand-rolled `toDomainRecord` call sites to `defineDomainRecord`. Those edits are intentional authoring changes; review them in a normal PR. The `pnpm install` after the dependency bump IS handled.
|
|
@@ -1,43 +1,43 @@
|
|
|
1
|
-
# Access Model And Right Panel Host
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
This release train replaces the retired feature-access route guards with the unified Access Model and adds the shared right-panel host plus shared Notes view to the template UI. Downstream projects need to accept the new package baselines and reconcile any project-owned routes or dashboard surfaces that still use the old `SystemGuard` / `createFeatureAccessHook` pattern.
|
|
6
|
-
|
|
7
|
-
## Applies to
|
|
8
|
-
|
|
9
|
-
Template-derived projects that use `@elevasis/ui` route guards, dashboard feature availability, right-panel UI, Notes, or template-managed route files under `ui/src/routes/**` and `ui/src/features/**`.
|
|
10
|
-
|
|
11
|
-
Projects without custom route guards or right-panel customizations can accept the template updates normally, then run the verification gates below.
|
|
12
|
-
|
|
13
|
-
## Required actions
|
|
14
|
-
|
|
15
|
-
1. Pull the prepared template/package updates with `/git-sync` after the SDK ship train publishes `@elevasis/core` and `@elevasis/ui`.
|
|
16
|
-
2. Replace project-owned `SystemGuard`, `SurfaceGuard`, `AdminGuard`, `createFeatureAccessHook`, `useOrganizationPermissions`, and `useHasPermission` usages with `AccessGuard`, `useAccess`, and `AccessKeys`.
|
|
17
|
-
3. Keep app-local right-panel registries project-owned, but compose them with `RightPanelProvider`, `RightPanelLayer`, and shared views from `@elevasis/ui/features/right-panel-host` and `@elevasis/ui/features/notes`.
|
|
18
|
-
4. Preserve tenant-specific route content, Organization Model Systems, and custom dashboard cards while updating their access checks to the new Access Model.
|
|
19
|
-
5. Do not import workspace packages such as `@repo/core` or `@repo/ui` from external projects. Use the published `@elevasis/*` packages.
|
|
20
|
-
|
|
21
|
-
## Verification
|
|
22
|
-
|
|
23
|
-
Run the project baseline gates after syncing:
|
|
24
|
-
|
|
25
|
-
```powershell
|
|
26
|
-
pnpm -C ui check-types
|
|
27
|
-
pnpm -C ui build
|
|
28
|
-
pnpm -C ui test
|
|
29
|
-
pnpm -C core test
|
|
30
|
-
pnpm test
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
For projects with custom route guards, also grep for retired access APIs:
|
|
34
|
-
|
|
35
|
-
```powershell
|
|
36
|
-
rg "SystemGuard|SurfaceGuard|AdminGuard|createFeatureAccessHook|useOrganizationPermissions|useHasPermission" ui/src
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
For projects adopting the right-panel host, open the app shell and confirm the panel trigger opens Notes, closes cleanly, preserves width on desktop, and does not hide project-owned navigation controls.
|
|
40
|
-
|
|
41
|
-
## Not handled by /git-sync
|
|
42
|
-
|
|
43
|
-
`/git-sync` updates template-propagated files and package baselines. It does not rewrite project-owned custom routes, custom dashboard widgets, custom right-panel views, tenant Organization Model entries, or tenant-specific access semantics. Those remain project-authored decisions that must be migrated to the Access Model by the downstream maintainer.
|
|
1
|
+
# Access Model And Right Panel Host
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
This release train replaces the retired feature-access route guards with the unified Access Model and adds the shared right-panel host plus shared Notes view to the template UI. Downstream projects need to accept the new package baselines and reconcile any project-owned routes or dashboard surfaces that still use the old `SystemGuard` / `createFeatureAccessHook` pattern.
|
|
6
|
+
|
|
7
|
+
## Applies to
|
|
8
|
+
|
|
9
|
+
Template-derived projects that use `@elevasis/ui` route guards, dashboard feature availability, right-panel UI, Notes, or template-managed route files under `ui/src/routes/**` and `ui/src/features/**`.
|
|
10
|
+
|
|
11
|
+
Projects without custom route guards or right-panel customizations can accept the template updates normally, then run the verification gates below.
|
|
12
|
+
|
|
13
|
+
## Required actions
|
|
14
|
+
|
|
15
|
+
1. Pull the prepared template/package updates with `/git-sync` after the SDK ship train publishes `@elevasis/core` and `@elevasis/ui`.
|
|
16
|
+
2. Replace project-owned `SystemGuard`, `SurfaceGuard`, `AdminGuard`, `createFeatureAccessHook`, `useOrganizationPermissions`, and `useHasPermission` usages with `AccessGuard`, `useAccess`, and `AccessKeys`.
|
|
17
|
+
3. Keep app-local right-panel registries project-owned, but compose them with `RightPanelProvider`, `RightPanelLayer`, and shared views from `@elevasis/ui/features/right-panel-host` and `@elevasis/ui/features/notes`.
|
|
18
|
+
4. Preserve tenant-specific route content, Organization Model Systems, and custom dashboard cards while updating their access checks to the new Access Model.
|
|
19
|
+
5. Do not import workspace packages such as `@repo/core` or `@repo/ui` from external projects. Use the published `@elevasis/*` packages.
|
|
20
|
+
|
|
21
|
+
## Verification
|
|
22
|
+
|
|
23
|
+
Run the project baseline gates after syncing:
|
|
24
|
+
|
|
25
|
+
```powershell
|
|
26
|
+
pnpm -C ui check-types
|
|
27
|
+
pnpm -C ui build
|
|
28
|
+
pnpm -C ui test
|
|
29
|
+
pnpm -C core test
|
|
30
|
+
pnpm test
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
For projects with custom route guards, also grep for retired access APIs:
|
|
34
|
+
|
|
35
|
+
```powershell
|
|
36
|
+
rg "SystemGuard|SurfaceGuard|AdminGuard|createFeatureAccessHook|useOrganizationPermissions|useHasPermission" ui/src
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
For projects adopting the right-panel host, open the app shell and confirm the panel trigger opens Notes, closes cleanly, preserves width on desktop, and does not hide project-owned navigation controls.
|
|
40
|
+
|
|
41
|
+
## Not handled by /git-sync
|
|
42
|
+
|
|
43
|
+
`/git-sync` updates template-propagated files and package baselines. It does not rewrite project-owned custom routes, custom dashboard widgets, custom right-panel views, tenant Organization Model entries, or tenant-specific access semantics. Those remain project-authored decisions that must be migrated to the Access Model by the downstream maintainer.
|
|
@@ -1,40 +1,40 @@
|
|
|
1
|
-
# Lead Gen Tenant Config Boundary
|
|
2
|
-
|
|
3
|
-
## Why this note exists
|
|
4
|
-
|
|
5
|
-
The lead-gen list-builder package boundary changed so shared packages own reusable mechanics and tenant projects own lead-gen values. `@elevasis/core` no longer carries Elevasis tenant build-template defaults, and `@elevasis/ui` derives lead-gen configuration from the provider-injected Organization Model through `useLeadGenConfig()` instead of importing Elevasis-owned defaults.
|
|
6
|
-
|
|
7
|
-
## Applies to
|
|
8
|
-
|
|
9
|
-
Template-derived projects that use the shared lead-gen pages, list-builder runner, build templates, workflow actions, or `@elevasis/ui/features/lead-gen`.
|
|
10
|
-
|
|
11
|
-
Projects with no lead-gen surface and no list-builder workflows can ignore the lead-gen authoring steps, but should still accept package baseline updates from the release train.
|
|
12
|
-
|
|
13
|
-
## Required actions
|
|
14
|
-
|
|
15
|
-
1. Pull the template/package updates with `/git-sync` after the SDK ship train lands.
|
|
16
|
-
2. Keep lead-gen stage catalogs, build templates, workflow actions, resources, topology, and credential names in the project Organization Model (`core/config/organization-model.ts`).
|
|
17
|
-
3. Provide project-owned list-builder action wiring in the UI, typically through `ui/src/config/listActions.ts` and the local app shell.
|
|
18
|
-
4. Keep tenant workflow implementations in the project operations package and use `listBuilderWorkflow` from `@elevasis/sdk/worker` for stage handlers.
|
|
19
|
-
5. Do not import Elevasis workspace packages such as `@repo/elevasis-core`, `@repo/core`, or `@repo/ui` from an external project. Use the published `@elevasis/*` packages.
|
|
20
|
-
6. If the project previously relied on shared UI fallback defaults for lead-gen templates or export workflow IDs, add those values to the project Organization Model before expecting list creation or the build runner to behave usefully.
|
|
21
|
-
|
|
22
|
-
## Verification
|
|
23
|
-
|
|
24
|
-
Run the project baseline gates after syncing:
|
|
25
|
-
|
|
26
|
-
```powershell
|
|
27
|
-
pnpm -C core test
|
|
28
|
-
pnpm -C operations check-types
|
|
29
|
-
pnpm -C operations check
|
|
30
|
-
pnpm -C operations test
|
|
31
|
-
pnpm -C ui check-types
|
|
32
|
-
pnpm -C ui build
|
|
33
|
-
pnpm test
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
For projects with lead-gen enabled, also open the lead-gen list creation and list detail routes and confirm the shared UI sees the project-authored build templates, stage labels, and export workflow.
|
|
37
|
-
|
|
38
|
-
## Not handled by /git-sync
|
|
39
|
-
|
|
40
|
-
`/git-sync` updates template-propagated files and package baselines. It does not invent project-specific lead-gen catalogs, workflow contracts, credentials, or `listActions` for an existing tenant. Those remain project-authored decisions.
|
|
1
|
+
# Lead Gen Tenant Config Boundary
|
|
2
|
+
|
|
3
|
+
## Why this note exists
|
|
4
|
+
|
|
5
|
+
The lead-gen list-builder package boundary changed so shared packages own reusable mechanics and tenant projects own lead-gen values. `@elevasis/core` no longer carries Elevasis tenant build-template defaults, and `@elevasis/ui` derives lead-gen configuration from the provider-injected Organization Model through `useLeadGenConfig()` instead of importing Elevasis-owned defaults.
|
|
6
|
+
|
|
7
|
+
## Applies to
|
|
8
|
+
|
|
9
|
+
Template-derived projects that use the shared lead-gen pages, list-builder runner, build templates, workflow actions, or `@elevasis/ui/features/lead-gen`.
|
|
10
|
+
|
|
11
|
+
Projects with no lead-gen surface and no list-builder workflows can ignore the lead-gen authoring steps, but should still accept package baseline updates from the release train.
|
|
12
|
+
|
|
13
|
+
## Required actions
|
|
14
|
+
|
|
15
|
+
1. Pull the template/package updates with `/git-sync` after the SDK ship train lands.
|
|
16
|
+
2. Keep lead-gen stage catalogs, build templates, workflow actions, resources, topology, and credential names in the project Organization Model (`core/config/organization-model.ts`).
|
|
17
|
+
3. Provide project-owned list-builder action wiring in the UI, typically through `ui/src/config/listActions.ts` and the local app shell.
|
|
18
|
+
4. Keep tenant workflow implementations in the project operations package and use `listBuilderWorkflow` from `@elevasis/sdk/worker` for stage handlers.
|
|
19
|
+
5. Do not import Elevasis workspace packages such as `@repo/elevasis-core`, `@repo/core`, or `@repo/ui` from an external project. Use the published `@elevasis/*` packages.
|
|
20
|
+
6. If the project previously relied on shared UI fallback defaults for lead-gen templates or export workflow IDs, add those values to the project Organization Model before expecting list creation or the build runner to behave usefully.
|
|
21
|
+
|
|
22
|
+
## Verification
|
|
23
|
+
|
|
24
|
+
Run the project baseline gates after syncing:
|
|
25
|
+
|
|
26
|
+
```powershell
|
|
27
|
+
pnpm -C core test
|
|
28
|
+
pnpm -C operations check-types
|
|
29
|
+
pnpm -C operations check
|
|
30
|
+
pnpm -C operations test
|
|
31
|
+
pnpm -C ui check-types
|
|
32
|
+
pnpm -C ui build
|
|
33
|
+
pnpm test
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
For projects with lead-gen enabled, also open the lead-gen list creation and list detail routes and confirm the shared UI sees the project-authored build templates, stage labels, and export workflow.
|
|
37
|
+
|
|
38
|
+
## Not handled by /git-sync
|
|
39
|
+
|
|
40
|
+
`/git-sync` updates template-propagated files and package baselines. It does not invent project-specific lead-gen catalogs, workflow contracts, credentials, or `listActions` for an existing tenant. Those remain project-authored decisions.
|