@elevasis/sdk 1.22.1 → 1.23.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 +681 -29
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -3
- package/dist/test-utils/index.d.ts +1 -0
- package/dist/test-utils/index.js +4 -3
- package/dist/worker/index.js +4 -3
- package/package.json +2 -2
- package/reference/claude-config/rules/organization-model.md +77 -80
- package/reference/claude-config/rules/organization-os.md +104 -104
- package/reference/claude-config/rules/vibe.md +235 -235
- package/reference/claude-config/skills/om/SKILL.md +324 -0
- package/reference/claude-config/skills/{knowledge → om}/operations/customers.md +110 -109
- package/reference/claude-config/skills/{knowledge → om}/operations/features.md +77 -76
- package/reference/claude-config/skills/{knowledge → om}/operations/goals.md +119 -118
- package/reference/claude-config/skills/{knowledge → om}/operations/identity.md +94 -93
- package/reference/claude-config/skills/{knowledge → om}/operations/labels.md +94 -94
- package/reference/claude-config/skills/{knowledge → om}/operations/offerings.md +110 -109
- package/reference/claude-config/skills/{knowledge → om}/operations/roles.md +100 -99
- package/reference/claude-config/skills/{knowledge → om}/operations/techStack.md +30 -30
- package/reference/claude-config/skills/project/SKILL.md +1088 -1088
- package/reference/claude-config/skills/setup/SKILL.md +275 -275
- package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
- package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
- package/reference/claude-config/skills/tutorial/technical.md +1303 -1303
- package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
- package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +52 -0
- package/reference/scaffold/recipes/query-the-knowledge-graph.md +189 -185
- package/reference/scaffold/reference/contracts.md +94 -94
- package/reference/scaffold/reference/glossary.md +71 -69
- package/reference/claude-config/skills/knowledge/SKILL.md +0 -345
- /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-a.md +0 -0
- /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-b.md +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -4533,6 +4533,7 @@ declare const ProspectingBuildTemplateStepSchema: z.ZodObject<{
|
|
|
4533
4533
|
crm: "crm";
|
|
4534
4534
|
"lead-gen": "lead-gen";
|
|
4535
4535
|
projects: "projects";
|
|
4536
|
+
clients: "clients";
|
|
4536
4537
|
operations: "operations";
|
|
4537
4538
|
monitoring: "monitoring";
|
|
4538
4539
|
knowledge: "knowledge";
|
|
@@ -4669,6 +4670,7 @@ declare const ProspectingBuildTemplateSchema: z.ZodObject<{
|
|
|
4669
4670
|
crm: "crm";
|
|
4670
4671
|
"lead-gen": "lead-gen";
|
|
4671
4672
|
projects: "projects";
|
|
4673
|
+
clients: "clients";
|
|
4672
4674
|
operations: "operations";
|
|
4673
4675
|
monitoring: "monitoring";
|
|
4674
4676
|
knowledge: "knowledge";
|
|
@@ -4735,6 +4737,7 @@ declare const ProspectingBuildTemplateSchema: z.ZodObject<{
|
|
|
4735
4737
|
crm: "crm";
|
|
4736
4738
|
"lead-gen": "lead-gen";
|
|
4737
4739
|
projects: "projects";
|
|
4740
|
+
clients: "clients";
|
|
4738
4741
|
operations: "operations";
|
|
4739
4742
|
monitoring: "monitoring";
|
|
4740
4743
|
knowledge: "knowledge";
|
|
@@ -11021,6 +11024,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
11021
11024
|
crm: "crm";
|
|
11022
11025
|
"lead-gen": "lead-gen";
|
|
11023
11026
|
projects: "projects";
|
|
11027
|
+
clients: "clients";
|
|
11024
11028
|
operations: "operations";
|
|
11025
11029
|
monitoring: "monitoring";
|
|
11026
11030
|
knowledge: "knowledge";
|
package/dist/index.js
CHANGED
|
@@ -68,6 +68,7 @@ var ORGANIZATION_MODEL_ICON_TOKENS = [
|
|
|
68
68
|
"crm",
|
|
69
69
|
"lead-gen",
|
|
70
70
|
"projects",
|
|
71
|
+
"clients",
|
|
71
72
|
"operations",
|
|
72
73
|
"monitoring",
|
|
73
74
|
"knowledge",
|
|
@@ -7290,7 +7291,7 @@ var DEFAULT_ORGANIZATION_MODEL_NAVIGATION = {
|
|
|
7290
7291
|
business: {
|
|
7291
7292
|
type: "group",
|
|
7292
7293
|
label: "Business",
|
|
7293
|
-
icon: "
|
|
7294
|
+
icon: "briefcase",
|
|
7294
7295
|
order: 20,
|
|
7295
7296
|
children: {
|
|
7296
7297
|
sales: {
|
|
@@ -7307,7 +7308,7 @@ var DEFAULT_ORGANIZATION_MODEL_NAVIGATION = {
|
|
|
7307
7308
|
label: "Clients",
|
|
7308
7309
|
path: "/clients",
|
|
7309
7310
|
surfaceType: "list",
|
|
7310
|
-
icon: "
|
|
7311
|
+
icon: "clients",
|
|
7311
7312
|
order: 20,
|
|
7312
7313
|
targets: { systems: ["clients"] }
|
|
7313
7314
|
},
|
|
@@ -7681,7 +7682,7 @@ var DEFAULT_ORGANIZATION_MODEL = {
|
|
|
7681
7682
|
enabled: true,
|
|
7682
7683
|
lifecycle: "active",
|
|
7683
7684
|
color: "orange",
|
|
7684
|
-
icon: "
|
|
7685
|
+
icon: "clients",
|
|
7685
7686
|
path: "/clients"
|
|
7686
7687
|
},
|
|
7687
7688
|
operations: {
|
|
@@ -10261,6 +10261,7 @@ declare const OrganizationModelSchema: z.ZodObject<{
|
|
|
10261
10261
|
crm: "crm";
|
|
10262
10262
|
"lead-gen": "lead-gen";
|
|
10263
10263
|
projects: "projects";
|
|
10264
|
+
clients: "clients";
|
|
10264
10265
|
operations: "operations";
|
|
10265
10266
|
monitoring: "monitoring";
|
|
10266
10267
|
knowledge: "knowledge";
|
package/dist/test-utils/index.js
CHANGED
|
@@ -6519,6 +6519,7 @@ var ORGANIZATION_MODEL_ICON_TOKENS = [
|
|
|
6519
6519
|
"crm",
|
|
6520
6520
|
"lead-gen",
|
|
6521
6521
|
"projects",
|
|
6522
|
+
"clients",
|
|
6522
6523
|
"operations",
|
|
6523
6524
|
"monitoring",
|
|
6524
6525
|
"knowledge",
|
|
@@ -9671,7 +9672,7 @@ var DEFAULT_ORGANIZATION_MODEL_NAVIGATION = {
|
|
|
9671
9672
|
business: {
|
|
9672
9673
|
type: "group",
|
|
9673
9674
|
label: "Business",
|
|
9674
|
-
icon: "
|
|
9675
|
+
icon: "briefcase",
|
|
9675
9676
|
order: 20,
|
|
9676
9677
|
children: {
|
|
9677
9678
|
sales: {
|
|
@@ -9688,7 +9689,7 @@ var DEFAULT_ORGANIZATION_MODEL_NAVIGATION = {
|
|
|
9688
9689
|
label: "Clients",
|
|
9689
9690
|
path: "/clients",
|
|
9690
9691
|
surfaceType: "list",
|
|
9691
|
-
icon: "
|
|
9692
|
+
icon: "clients",
|
|
9692
9693
|
order: 20,
|
|
9693
9694
|
targets: { systems: ["clients"] }
|
|
9694
9695
|
},
|
|
@@ -10062,7 +10063,7 @@ var DEFAULT_ORGANIZATION_MODEL = {
|
|
|
10062
10063
|
enabled: true,
|
|
10063
10064
|
lifecycle: "active",
|
|
10064
10065
|
color: "orange",
|
|
10065
|
-
icon: "
|
|
10066
|
+
icon: "clients",
|
|
10066
10067
|
path: "/clients"
|
|
10067
10068
|
},
|
|
10068
10069
|
operations: {
|
package/dist/worker/index.js
CHANGED
|
@@ -4611,6 +4611,7 @@ var ORGANIZATION_MODEL_ICON_TOKENS = [
|
|
|
4611
4611
|
"crm",
|
|
4612
4612
|
"lead-gen",
|
|
4613
4613
|
"projects",
|
|
4614
|
+
"clients",
|
|
4614
4615
|
"operations",
|
|
4615
4616
|
"monitoring",
|
|
4616
4617
|
"knowledge",
|
|
@@ -7763,7 +7764,7 @@ var DEFAULT_ORGANIZATION_MODEL_NAVIGATION = {
|
|
|
7763
7764
|
business: {
|
|
7764
7765
|
type: "group",
|
|
7765
7766
|
label: "Business",
|
|
7766
|
-
icon: "
|
|
7767
|
+
icon: "briefcase",
|
|
7767
7768
|
order: 20,
|
|
7768
7769
|
children: {
|
|
7769
7770
|
sales: {
|
|
@@ -7780,7 +7781,7 @@ var DEFAULT_ORGANIZATION_MODEL_NAVIGATION = {
|
|
|
7780
7781
|
label: "Clients",
|
|
7781
7782
|
path: "/clients",
|
|
7782
7783
|
surfaceType: "list",
|
|
7783
|
-
icon: "
|
|
7784
|
+
icon: "clients",
|
|
7784
7785
|
order: 20,
|
|
7785
7786
|
targets: { systems: ["clients"] }
|
|
7786
7787
|
},
|
|
@@ -8154,7 +8155,7 @@ var DEFAULT_ORGANIZATION_MODEL = {
|
|
|
8154
8155
|
enabled: true,
|
|
8155
8156
|
lifecycle: "active",
|
|
8156
8157
|
color: "orange",
|
|
8157
|
-
icon: "
|
|
8158
|
+
icon: "clients",
|
|
8158
8159
|
path: "/clients"
|
|
8159
8160
|
},
|
|
8160
8161
|
operations: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elevasis/sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.23.0",
|
|
4
4
|
"description": "SDK for building Elevasis organization resources",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"tsup": "^8.0.0",
|
|
58
58
|
"typescript": "5.9.2",
|
|
59
59
|
"zod": "^4.1.0",
|
|
60
|
-
"@repo/core": "0.
|
|
60
|
+
"@repo/core": "0.25.0",
|
|
61
61
|
"@repo/typescript-config": "0.0.0",
|
|
62
62
|
"@repo/eslint-config": "0.0.0"
|
|
63
63
|
},
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Edits to the canonical organization model go through /
|
|
3
|
-
paths:
|
|
4
|
-
- core/config/organization-model.ts
|
|
5
|
-
- core/config/extensions/**/*.ts
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# Organization Model Edit Guide
|
|
9
|
-
|
|
10
|
-
`core/config/organization-model.ts` is the single source of truth for this
|
|
11
|
-
project's organizational identity -- it encodes customers, offerings, roles, goals,
|
|
1
|
+
---
|
|
2
|
+
description: Edits to the canonical organization model go through /om
|
|
3
|
+
paths:
|
|
4
|
+
- core/config/organization-model.ts
|
|
5
|
+
- core/config/extensions/**/*.ts
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Organization Model Edit Guide
|
|
9
|
+
|
|
10
|
+
`core/config/organization-model.ts` is the single source of truth for this
|
|
11
|
+
project's organizational identity -- it encodes customers, offerings, roles, goals,
|
|
12
12
|
Systems, ontology, Policies, Knowledge, config, and Resources
|
|
13
13
|
descriptors that agents, workflows, and the UI shell all consume at runtime.
|
|
14
14
|
New semantic authoring should start in system-colocated `ontology` scopes. Top-level
|
|
15
15
|
`entities`, top-level `actions`, and `System.content` remain compatibility mirrors while
|
|
16
16
|
published consumers finish moving to compiled ontology indexes.
|
|
17
|
-
|
|
18
|
-
## Preferred Entry Point: `/
|
|
19
|
-
|
|
20
|
-
Direct edits to `organization-model.ts` are discouraged. Instead, use `/
|
|
21
|
-
`/
|
|
22
|
-
|
|
23
|
-
1. The skill reads the current model so proposals start from ground truth.
|
|
24
|
-
2. It drafts only the specific block being changed, leaving everything else intact.
|
|
25
|
-
3. The user confirms before any file is written.
|
|
26
|
-
4. After writing, `pnpm -C operations check-types` runs and `OrganizationModelSchema.parse()`
|
|
27
|
-
is verified. On failure the file is rolled back automatically.
|
|
28
|
-
|
|
29
|
-
Use `/
|
|
17
|
+
|
|
18
|
+
## Preferred Entry Point: `/om`
|
|
19
|
+
|
|
20
|
+
Direct edits to `organization-model.ts` are discouraged. Instead, use `/om` (or
|
|
21
|
+
`/om <domain>`) to run the read → propose → confirm → write → validate ceremony:
|
|
22
|
+
|
|
23
|
+
1. The skill reads the current model so proposals start from ground truth.
|
|
24
|
+
2. It drafts only the specific block being changed, leaving everything else intact.
|
|
25
|
+
3. The user confirms before any file is written.
|
|
26
|
+
4. After writing, `pnpm -C operations check-types` runs and `OrganizationModelSchema.parse()`
|
|
27
|
+
is verified. On failure the file is rolled back automatically.
|
|
28
|
+
|
|
29
|
+
Use `/om <domain>` for targeted edits: `identity`, `customers`, `offerings`,
|
|
30
30
|
`roles`, `goals`, `techStack`, `systems`, `actions`, or `labels`. Resource identity and
|
|
31
31
|
governance metadata belong in the id-keyed `resources` map; operations code derives runtime
|
|
32
32
|
`resourceId` / `type` from those descriptors.
|
|
@@ -43,62 +43,62 @@ Author system-local semantics by boundary:
|
|
|
43
43
|
- `System.content`, top-level `entities`, and top-level `actions` are compatibility mirrors only. Keep them aligned when current published consumers still need them, but do not treat them as the primary authoring surface.
|
|
44
44
|
|
|
45
45
|
Do not author Resource `actionKey` in the target contract. Runtime/UI routing that needs a single selectable action should read `resource.ontology.primaryAction`.
|
|
46
|
-
|
|
47
|
-
## Runtime Validation
|
|
48
|
-
|
|
49
|
-
The model is validated at startup via `resolveOrganizationModel()` followed by
|
|
50
|
-
`OrganizationModelSchema.parse()`. Cross-reference checks (segment ID refs in offerings,
|
|
51
|
-
role reporting lines, period ordering in goals) are runtime-only and not caught by tsc
|
|
52
|
-
alone -- always let the ceremony run both checks before treating a change as complete.
|
|
53
|
-
|
|
54
|
-
## Extension Files
|
|
55
|
-
|
|
56
|
-
New Zod extension files under `core/config/extensions/` are Level B codify
|
|
57
|
-
operations. Route these through `/
|
|
58
|
-
to explicit user confirmation before scaffolding a new `.ts` file.
|
|
59
|
-
|
|
60
|
-
This is a soft guide, not a hard block. The ceremony exists to prevent silent schema
|
|
61
|
-
drift and to keep the model's editorial history visible.
|
|
62
|
-
|
|
63
|
-
## Resource System Attachment
|
|
64
|
-
|
|
65
|
-
Every resource in the id-keyed `organizationModel.resources` map declares which System it belongs to
|
|
66
|
-
via `systemPath` -- a dot-separated path that resolves against the OM system tree
|
|
67
|
-
(e.g. `"sys.operations"`, `"sales.crm"`):
|
|
68
|
-
|
|
69
|
-
```ts
|
|
70
|
-
{
|
|
71
|
-
id: 'apify-website-crawl',
|
|
72
|
-
systemPath: 'sys.operations', // canonical system attachment
|
|
73
|
-
kind: 'workflow',
|
|
74
|
-
...
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
`systemPath` is validated at parse time by `SystemPathSchema` and cross-checked by
|
|
79
|
-
`OrganizationModelSchema.superRefine` -- an unresolvable path causes a Zod error at
|
|
80
|
-
schema validation. Use `getResourcesForSystem(model, path)` (from `@elevasis/core`) to
|
|
81
|
-
query resources for a system at runtime. Pass `{ includeDescendants: true }` to include
|
|
82
|
-
all descendant systems (segment-aware -- `'sales'` does NOT match `'salesforce.foo'`).
|
|
83
|
-
|
|
46
|
+
|
|
47
|
+
## Runtime Validation
|
|
48
|
+
|
|
49
|
+
The model is validated at startup via `resolveOrganizationModel()` followed by
|
|
50
|
+
`OrganizationModelSchema.parse()`. Cross-reference checks (segment ID refs in offerings,
|
|
51
|
+
role reporting lines, period ordering in goals) are runtime-only and not caught by tsc
|
|
52
|
+
alone -- always let the ceremony run both checks before treating a change as complete.
|
|
53
|
+
|
|
54
|
+
## Extension Files
|
|
55
|
+
|
|
56
|
+
New Zod extension files under `core/config/extensions/` are Level B codify
|
|
57
|
+
operations. Route these through `/om <domain>` as well -- the skill gates Level B
|
|
58
|
+
to explicit user confirmation before scaffolding a new `.ts` file.
|
|
59
|
+
|
|
60
|
+
This is a soft guide, not a hard block. The ceremony exists to prevent silent schema
|
|
61
|
+
drift and to keep the model's editorial history visible.
|
|
62
|
+
|
|
63
|
+
## Resource System Attachment
|
|
64
|
+
|
|
65
|
+
Every resource in the id-keyed `organizationModel.resources` map declares which System it belongs to
|
|
66
|
+
via `systemPath` -- a dot-separated path that resolves against the OM system tree
|
|
67
|
+
(e.g. `"sys.operations"`, `"sales.crm"`):
|
|
68
|
+
|
|
69
|
+
```ts
|
|
70
|
+
{
|
|
71
|
+
id: 'apify-website-crawl',
|
|
72
|
+
systemPath: 'sys.operations', // canonical system attachment
|
|
73
|
+
kind: 'workflow',
|
|
74
|
+
...
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
`systemPath` is validated at parse time by `SystemPathSchema` and cross-checked by
|
|
79
|
+
`OrganizationModelSchema.superRefine` -- an unresolvable path causes a Zod error at
|
|
80
|
+
schema validation. Use `getResourcesForSystem(model, path)` (from `@elevasis/core`) to
|
|
81
|
+
query resources for a system at runtime. Pass `{ includeDescendants: true }` to include
|
|
82
|
+
all descendant systems (segment-aware -- `'sales'` does NOT match `'salesforce.foo'`).
|
|
83
|
+
|
|
84
84
|
Some external templates may carry a `systemId` compatibility mirror while published
|
|
85
85
|
`@elevasis/core` releases catch up to the current source contract. Treat that field as
|
|
86
86
|
legacy adapter data only; author new resource relationships against `systemPath`.
|
|
87
|
-
|
|
88
|
-
Do not fetch resources for every system-oriented read by default. For agent workflows, start
|
|
89
|
-
with the user's requested OM/
|
|
90
|
-
runtime ownership, executable implementation, observability, deployment, or resource governance.
|
|
91
|
-
Use the descendant rollup only when parent-system scope is intended.
|
|
92
|
-
|
|
93
|
-
`resource.category` and `resource.links[].nodeId` are **runtime filter overlays** -- they
|
|
94
|
-
drive UI faceted filtering in the Command Center but do NOT define system membership.
|
|
95
|
-
System membership is `systemPath` only.
|
|
96
|
-
|
|
97
|
-
```ts
|
|
98
|
-
// category and links power UI filter chips; systemPath is the
|
|
99
|
-
// canonical OM attachment used for graph edges and getResourcesForSystem queries.
|
|
100
|
-
```
|
|
101
|
-
|
|
87
|
+
|
|
88
|
+
Do not fetch resources for every system-oriented read by default. For agent workflows, start
|
|
89
|
+
with the user's requested OM/om context and query resources only when the task involves
|
|
90
|
+
runtime ownership, executable implementation, observability, deployment, or resource governance.
|
|
91
|
+
Use the descendant rollup only when parent-system scope is intended.
|
|
92
|
+
|
|
93
|
+
`resource.category` and `resource.links[].nodeId` are **runtime filter overlays** -- they
|
|
94
|
+
drive UI faceted filtering in the Command Center but do NOT define system membership.
|
|
95
|
+
System membership is `systemPath` only.
|
|
96
|
+
|
|
97
|
+
```ts
|
|
98
|
+
// category and links power UI filter chips; systemPath is the
|
|
99
|
+
// canonical OM attachment used for graph edges and getResourcesForSystem queries.
|
|
100
|
+
```
|
|
101
|
+
|
|
102
102
|
`resource.codeRefs[]` are repo-relative implementation breadcrumbs for agents and
|
|
103
103
|
operators. Use them to point from a governed OM Resource descriptor to the operations
|
|
104
104
|
entrypoint, handler, schema, test, docs, or config files that implement it. They do
|
|
@@ -114,6 +114,3 @@ types, link types, event types, and surfaces. `System.config` owns local setting
|
|
|
114
114
|
defaults. If current UI or runtime code still needs legacy mirrors, keep `entities`,
|
|
115
115
|
`actions`, or `System.content` aligned with the ontology/config record instead of
|
|
116
116
|
inventing a separate source of truth.
|
|
117
|
-
|
|
118
|
-
See `.claude/rules/system-shaping.md` (in the monorepo) for the substrate-shaping
|
|
119
|
-
propagation checklist that governs renames of this shape.
|
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
# Organization OS
|
|
2
|
-
|
|
1
|
+
# Organization OS
|
|
2
|
+
|
|
3
3
|
Organization OS is the semantic contract layer defining how organizations, Systems, Actions, ontology, resources, policies, roles, goals, knowledge, and runtime surfaces relate. This project consumes Organization OS through published `@elevasis/core` / `@elevasis/sdk` configuration and does not maintain the monorepo schema.
|
|
4
4
|
|
|
5
5
|
This rule is an orientation and reference map. Concrete edit rules for `core/config/organization-model.ts`, `systemPath`, resources, ontology, knowledge, and validation live in `.claude/rules/organization-model.md`.
|
|
6
|
-
|
|
7
|
-
## Key Files in This Project
|
|
8
|
-
|
|
6
|
+
|
|
7
|
+
## Key Files in This Project
|
|
8
|
+
|
|
9
9
|
- `core/config/organization-model.ts` -- project-specific org model definition, Systems, system-local ontology/config, Knowledge, and Resources descriptor catalog (`organizationModel.resources`)
|
|
10
|
-
- `core/config/extensions/` -- project-owned entity extension schemas
|
|
11
|
-
- `core/types/entities.ts` -- typed entity contracts (Project, Deal, etc.). Extends `BaseProject`, `BaseDeal` from `@elevasis/core/entities` with project-specific metadata. Read this when authoring workflows that operate on these entities.
|
|
12
|
-
- `ui/src/routes/__root.tsx` -- wires `ElevasisSystemsProvider` with `canonicalOrganizationModel`
|
|
13
|
-
- `ui/src/app-config.ts` -- references the org model
|
|
14
|
-
- `operations/src/index.ts` -- `DeploymentSpec` registry for workflows and agents
|
|
15
|
-
|
|
16
|
-
## Domain Overview
|
|
17
|
-
|
|
18
|
-
As of the 2026-05 resource-governance expansion, `OrganizationModel` includes platform configuration, organizational reality, governance, and knowledge domains:
|
|
19
|
-
|
|
10
|
+
- `core/config/extensions/` -- project-owned entity extension schemas
|
|
11
|
+
- `core/types/entities.ts` -- typed entity contracts (Project, Deal, etc.). Extends `BaseProject`, `BaseDeal` from `@elevasis/core/entities` with project-specific metadata. Read this when authoring workflows that operate on these entities.
|
|
12
|
+
- `ui/src/routes/__root.tsx` -- wires `ElevasisSystemsProvider` with `canonicalOrganizationModel`
|
|
13
|
+
- `ui/src/app-config.ts` -- references the org model
|
|
14
|
+
- `operations/src/index.ts` -- `DeploymentSpec` registry for workflows and agents
|
|
15
|
+
|
|
16
|
+
## Domain Overview
|
|
17
|
+
|
|
18
|
+
As of the 2026-05 resource-governance expansion, `OrganizationModel` includes platform configuration, organizational reality, governance, and knowledge domains:
|
|
19
|
+
|
|
20
20
|
**Platform configuration:** `systems`, `branding`, `navigation`
|
|
21
|
-
|
|
22
|
-
**Organizational reality:** `identity`, `customers`, `offerings`, `roles`, `goals`
|
|
23
|
-
|
|
21
|
+
|
|
22
|
+
**Organizational reality:** `identity`, `customers`, `offerings`, `roles`, `goals`
|
|
23
|
+
|
|
24
24
|
**Governance:** `resources`, `policies`, and resource-to-System relationships
|
|
25
25
|
|
|
26
26
|
**Ontology, config, and knowledge:** `System.ontology` owns durable semantic contracts such as object types, action types, catalog types, link types, event types, and surfaces. `System.config` owns system-local JSON settings and defaults. `knowledge` is a flat id-keyed map of playbooks, strategies, and references that explain or govern systems and ontology records.
|
|
27
27
|
|
|
28
28
|
Resource identity is authored once in the id-keyed `resources` map. Each resource attaches to a System via `systemPath` and can declare ontology relationships through `resource.ontology`. Operations imports those descriptors and derives runtime `resourceId` / `type` while assembling the `DeploymentSpec`.
|
|
29
|
-
|
|
30
|
-
### Domain Rename Note
|
|
31
|
-
|
|
32
|
-
Some legacy UI feature constants and consumer-facing route keys are intentionally unchanged for compatibility:
|
|
33
|
-
|
|
34
|
-
| Old field | New field | Legacy key (unchanged) | UI constant (unchanged) |
|
|
35
|
-
| ---------- | ------------- | ---------------------- |
|
|
36
|
-
| `crm` | `sales` | `'crm'` | `CRM_FEATURE_ID`
|
|
37
|
-
| `leadGen` | `prospecting` | `'lead-gen'` | `LEAD_GEN_FEATURE_ID`
|
|
38
|
-
| `delivery` | `projects` | `'projects'` | `PROJECTS_FEATURE_ID`
|
|
39
|
-
|
|
40
|
-
## Reference Documentation
|
|
41
|
-
|
|
42
|
-
Full Organization OS documentation ships with the SDK and is available locally after `pnpm install`:
|
|
43
|
-
|
|
44
|
-
### Scaffold Reference (via SDK)
|
|
45
|
-
|
|
46
|
-
All paths under `node_modules/@elevasis/sdk/reference/scaffold/`:
|
|
47
|
-
|
|
48
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/index.mdx` -- scaffold root and navigation
|
|
49
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/core/organization-model.mdx` -- semantic contract, domains, adapter authoring, validation gate, `/
|
|
50
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/core/organization-graph.mdx` -- graph derivation, node/edge taxonomy, lenses
|
|
51
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/ui/feature-shell.mdx` -- SystemModule manifest, provider runtime
|
|
52
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/ui/composition-extensibility.mdx` -- layout primitives, router abstraction
|
|
53
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/ui/recipes.md` -- copy-paste UI recipes for pages, nav items, components
|
|
54
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/ui/feature-flags-and-gating.md` -- three-concept gating model
|
|
55
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/ui/customization.md` -- sidebar composition via manifest overrides
|
|
56
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-feature.md` -- end-to-end OM-backed System recipe through manifest, routes, and gating
|
|
57
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md` -- author and deploy a workflow or agent
|
|
58
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/gate-by-feature-or-admin.md` -- decision table for access control patterns
|
|
59
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md` -- build or extend lead-gen pages, sidebars, hooks, list/member state, artifacts, workflow adapters, and prospecting semantics
|
|
60
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/operations/workflow-recipes.md` -- workflow anatomy, adapter patterns, trigger patterns
|
|
61
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/operations/propagation-pipeline.md` -- how sync and verification work across projects
|
|
62
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/operations/scaffold-maintenance.md` -- content placement and auto-generation pipeline
|
|
63
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/reference/glossary.md` -- Organization OS term definitions
|
|
64
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md` -- auto-generated TypeScript contract shapes
|
|
65
|
-
- `node_modules/@elevasis/sdk/reference/scaffold/reference/feature-registry.md` -- auto-generated feature manifest catalog
|
|
66
|
-
|
|
67
|
-
### Local Project Docs
|
|
68
|
-
|
|
69
|
-
- `.claude/rules/agent-start-here.md` -- canonical first-read for agents (includes task-class routing)
|
|
70
|
-
|
|
71
|
-
## Published Subpaths and Constants
|
|
72
|
-
|
|
73
|
-
- `@elevasis/core/organization-model` -- the curated organization-model barrel. Exports `defineOrganizationModel`, `resolveOrganizationModel`, `OrganizationModelSchema`, `DEFAULT_ORGANIZATION_MODEL`, organization-model types, and typed System/Action plus legacy UI feature/surface constants.
|
|
74
|
-
- Legacy UI feature IDs: `CRM_FEATURE_ID`, `LEAD_GEN_FEATURE_ID`, `PROJECTS_FEATURE_ID`, `OPERATIONS_FEATURE_ID`, `MONITORING_FEATURE_ID`, `SETTINGS_FEATURE_ID`, `SEO_FEATURE_ID`
|
|
75
|
-
- Headline surface IDs: `CRM_PIPELINE_SURFACE_ID`, `LEAD_GEN_LISTS_SURFACE_ID`, `PROJECTS_INDEX_SURFACE_ID`, `OPERATIONS_ORGANIZATION_GRAPH_SURFACE_ID`
|
|
76
|
-
- Reality domain types: `OrganizationModelIdentity`, `OrganizationModelCustomers`, `OrganizationModelCustomerSegment`, `OrganizationModelOfferings`, `OrganizationModelProduct`, `OrganizationModelRoles`, `OrganizationModelRole`, `OrganizationModelGoals`, `OrganizationModelObjective`, `OrganizationModelKeyResult`
|
|
77
|
-
- TechStack: `TechStackEntrySchema`, `OrganizationModelTechStackEntry`
|
|
78
|
-
- Use constants instead of magic strings when overriding the org model.
|
|
79
|
-
- `@elevasis/core/entities` -- entity contracts barrel. Exports `BaseProject`, `BaseProjectSchema`, `BaseProjectInput` and the equivalents for `Milestone`, `Task`, `Deal`, `Company`, `Contact`. Each base interface is generic over a `\<TMeta>` extension slot. Extend these in `core/types/entities.ts` to add project-specific fields.
|
|
80
|
-
|
|
81
|
-
## When Working with Organization OS
|
|
82
|
-
|
|
83
|
-
- **Changing org model (structural reality):** Use `/
|
|
84
|
-
- **Building or extending CRM:** Start with `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-crm.md`. CRM spans Organization OS sales semantics, shared UI primitives, deal hooks, workflow adapters, and generated contracts.
|
|
85
|
-
- **Building or extending lead gen:** Start with `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md`. Lead gen spans Organization OS prospecting semantics, shared UI primitives, list/member hooks, artifact hooks, workflow adapters, and generated contracts.
|
|
86
|
-
- **Customizing CRM deal actions:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/customize-crm-actions.md`. Do not add `sales.actions` to the org model; the v1 server-side override surface is intentionally deferred.
|
|
87
|
-
- **Adding or toggling a System:** Follow the current scaffold recipes when they mention UI features, but translate Organization OS changes to Systems, navigation surfaces, and Actions. Use `/
|
|
88
|
-
- **Adding a resource:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md`.
|
|
89
|
-
- **Extending entities:** Start with `core/types/entities.ts` for the demo extension pattern. Base shapes come from `@elevasis/core/entities`.
|
|
90
|
-
- **Authoring a workflow that takes a Project/Deal/etc.:** Reference entity types from `core/types/entities.ts` in the input schema -- do not redeclare them.
|
|
29
|
+
|
|
30
|
+
### Domain Rename Note
|
|
31
|
+
|
|
32
|
+
Some legacy UI feature constants and consumer-facing route keys are intentionally unchanged for compatibility:
|
|
33
|
+
|
|
34
|
+
| Old field | New field | Legacy key (unchanged) | UI constant (unchanged) |
|
|
35
|
+
| ---------- | ------------- | ---------------------- | ----------------------- |
|
|
36
|
+
| `crm` | `sales` | `'crm'` | `CRM_FEATURE_ID` |
|
|
37
|
+
| `leadGen` | `prospecting` | `'lead-gen'` | `LEAD_GEN_FEATURE_ID` |
|
|
38
|
+
| `delivery` | `projects` | `'projects'` | `PROJECTS_FEATURE_ID` |
|
|
39
|
+
|
|
40
|
+
## Reference Documentation
|
|
41
|
+
|
|
42
|
+
Full Organization OS documentation ships with the SDK and is available locally after `pnpm install`:
|
|
43
|
+
|
|
44
|
+
### Scaffold Reference (via SDK)
|
|
45
|
+
|
|
46
|
+
All paths under `node_modules/@elevasis/sdk/reference/scaffold/`:
|
|
47
|
+
|
|
48
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/index.mdx` -- scaffold root and navigation
|
|
49
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/core/organization-model.mdx` -- semantic contract, domains, adapter authoring, validation gate, `/om` entry point
|
|
50
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/core/organization-graph.mdx` -- graph derivation, node/edge taxonomy, lenses
|
|
51
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/ui/feature-shell.mdx` -- SystemModule manifest, provider runtime
|
|
52
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/ui/composition-extensibility.mdx` -- layout primitives, router abstraction
|
|
53
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/ui/recipes.md` -- copy-paste UI recipes for pages, nav items, components
|
|
54
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/ui/feature-flags-and-gating.md` -- three-concept gating model
|
|
55
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/ui/customization.md` -- sidebar composition via manifest overrides
|
|
56
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-feature.md` -- end-to-end OM-backed System recipe through manifest, routes, and gating
|
|
57
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md` -- author and deploy a workflow or agent
|
|
58
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/gate-by-feature-or-admin.md` -- decision table for access control patterns
|
|
59
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md` -- build or extend lead-gen pages, sidebars, hooks, list/member state, artifacts, workflow adapters, and prospecting semantics
|
|
60
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/operations/workflow-recipes.md` -- workflow anatomy, adapter patterns, trigger patterns
|
|
61
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/operations/propagation-pipeline.md` -- how sync and verification work across projects
|
|
62
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/operations/scaffold-maintenance.md` -- content placement and auto-generation pipeline
|
|
63
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/reference/glossary.md` -- Organization OS term definitions
|
|
64
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md` -- auto-generated TypeScript contract shapes
|
|
65
|
+
- `node_modules/@elevasis/sdk/reference/scaffold/reference/feature-registry.md` -- auto-generated feature manifest catalog
|
|
66
|
+
|
|
67
|
+
### Local Project Docs
|
|
68
|
+
|
|
69
|
+
- `.claude/rules/agent-start-here.md` -- canonical first-read for agents (includes task-class routing)
|
|
70
|
+
|
|
71
|
+
## Published Subpaths and Constants
|
|
72
|
+
|
|
73
|
+
- `@elevasis/core/organization-model` -- the curated organization-model barrel. Exports `defineOrganizationModel`, `resolveOrganizationModel`, `OrganizationModelSchema`, `DEFAULT_ORGANIZATION_MODEL`, organization-model types, and typed System/Action plus legacy UI feature/surface constants.
|
|
74
|
+
- Legacy UI feature IDs: `CRM_FEATURE_ID`, `LEAD_GEN_FEATURE_ID`, `PROJECTS_FEATURE_ID`, `OPERATIONS_FEATURE_ID`, `MONITORING_FEATURE_ID`, `SETTINGS_FEATURE_ID`, `SEO_FEATURE_ID`
|
|
75
|
+
- Headline surface IDs: `CRM_PIPELINE_SURFACE_ID`, `LEAD_GEN_LISTS_SURFACE_ID`, `PROJECTS_INDEX_SURFACE_ID`, `OPERATIONS_ORGANIZATION_GRAPH_SURFACE_ID`
|
|
76
|
+
- Reality domain types: `OrganizationModelIdentity`, `OrganizationModelCustomers`, `OrganizationModelCustomerSegment`, `OrganizationModelOfferings`, `OrganizationModelProduct`, `OrganizationModelRoles`, `OrganizationModelRole`, `OrganizationModelGoals`, `OrganizationModelObjective`, `OrganizationModelKeyResult`
|
|
77
|
+
- TechStack: `TechStackEntrySchema`, `OrganizationModelTechStackEntry`
|
|
78
|
+
- Use constants instead of magic strings when overriding the org model.
|
|
79
|
+
- `@elevasis/core/entities` -- entity contracts barrel. Exports `BaseProject`, `BaseProjectSchema`, `BaseProjectInput` and the equivalents for `Milestone`, `Task`, `Deal`, `Company`, `Contact`. Each base interface is generic over a `\<TMeta>` extension slot. Extend these in `core/types/entities.ts` to add project-specific fields.
|
|
80
|
+
|
|
81
|
+
## When Working with Organization OS
|
|
82
|
+
|
|
83
|
+
- **Changing org model (structural reality):** Use `/om` as the entry point. Direct edits to `core/config/organization-model.ts` are discouraged -- `/om` runs the read -> propose -> confirm -> write -> validate ceremony. Run `/om` for the full layered flow or `/om \<domain>` for a targeted domain. See `.claude/rules/organization-model.md` for the concrete authoring boundary.
|
|
84
|
+
- **Building or extending CRM:** Start with `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-crm.md`. CRM spans Organization OS sales semantics, shared UI primitives, deal hooks, workflow adapters, and generated contracts.
|
|
85
|
+
- **Building or extending lead gen:** Start with `node_modules/@elevasis/sdk/reference/scaffold/recipes/extend-lead-gen.md`. Lead gen spans Organization OS prospecting semantics, shared UI primitives, list/member hooks, artifact hooks, workflow adapters, and generated contracts.
|
|
86
|
+
- **Customizing CRM deal actions:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/customize-crm-actions.md`. Do not add `sales.actions` to the org model; the v1 server-side override surface is intentionally deferred.
|
|
87
|
+
- **Adding or toggling a System:** Follow the current scaffold recipes when they mention UI features, but translate Organization OS changes to Systems, navigation surfaces, and Actions. Use `/om systems` for availability/routing changes.
|
|
88
|
+
- **Adding a resource:** Follow `node_modules/@elevasis/sdk/reference/scaffold/recipes/add-a-resource.md`.
|
|
89
|
+
- **Extending entities:** Start with `core/types/entities.ts` for the demo extension pattern. Base shapes come from `@elevasis/core/entities`.
|
|
90
|
+
- **Authoring a workflow that takes a Project/Deal/etc.:** Reference entity types from `core/types/entities.ts` in the input schema -- do not redeclare them.
|
|
91
91
|
- **Adding system-local ontology/config:** Put durable business schema in `System.ontology`, local defaults/settings in `System.config`, executable implementations in `resources`, and explanatory or governing material in `knowledge`.
|
|
92
|
-
- **Understanding contracts:** Check `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md` for current type shapes.
|
|
93
|
-
- **Debugging sync issues:** Check `node_modules/@elevasis/sdk/reference/scaffold/operations/propagation-pipeline.md` for the verification pipeline.
|
|
94
|
-
|
|
95
|
-
## `/
|
|
96
|
-
|
|
97
|
-
`/
|
|
98
|
-
|
|
99
|
-
**Usage:**
|
|
100
|
-
|
|
101
|
-
- `/
|
|
102
|
-
- `/
|
|
103
|
-
- `/
|
|
104
|
-
- `/
|
|
105
|
-
- `/
|
|
106
|
-
- `/
|
|
107
|
-
- `/
|
|
108
|
-
- `/
|
|
109
|
-
- `/
|
|
110
|
-
|
|
111
|
-
Every write is gated: `resolveOrganizationModel()` must succeed (Zod cross-refs pass) and `pnpm -C operations check-types` must pass. On failure the change is rolled back.
|
|
112
|
-
|
|
113
|
-
**Distinction from `/setup`:** `/setup` is first-time bootstrap only. After bootstrap it delegates here. `/
|
|
114
|
-
|
|
115
|
-
The ambient vibe layer (`.claude/rules/vibe.md`) automatically detects Codify intent in plain language and delegates to `/
|
|
92
|
+
- **Understanding contracts:** Check `node_modules/@elevasis/sdk/reference/scaffold/reference/contracts.md` for current type shapes.
|
|
93
|
+
- **Debugging sync issues:** Check `node_modules/@elevasis/sdk/reference/scaffold/operations/propagation-pipeline.md` for the verification pipeline.
|
|
94
|
+
|
|
95
|
+
## `/om` -- Org Model QA Entry Point
|
|
96
|
+
|
|
97
|
+
`/om` is the recurring, safe-to-re-run org model editor for this project. It is a skill (not a command) at `.claude/skills/om/SKILL.md`.
|
|
98
|
+
|
|
99
|
+
**Usage:**
|
|
100
|
+
|
|
101
|
+
- `/om` -- layered flow: identity → customers → offerings → roles → goals → techStack
|
|
102
|
+
- `/om identity` -- legal identity, mission/vision, industry, geography, timezone
|
|
103
|
+
- `/om customers` -- customer segments with jobs-to-be-done, pains, gains, firmographics
|
|
104
|
+
- `/om offerings` -- products and services with pricing model and segment references
|
|
105
|
+
- `/om roles` -- role chart with responsibilities, reporting lines, and holders
|
|
106
|
+
- `/om goals` -- organizational goals with period and measurable outcomes
|
|
107
|
+
- `/om techStack` -- external-SaaS and integration context; resource identity still belongs in OM Resources descriptors
|
|
108
|
+
- `/om systems` -- enable, disable, or add Systems; route invokable behavior through Actions
|
|
109
|
+
- `/om labels` -- edit display labels on enum entries (statuses, stages)
|
|
110
|
+
|
|
111
|
+
Every write is gated: `resolveOrganizationModel()` must succeed (Zod cross-refs pass) and `pnpm -C operations check-types` must pass. On failure the change is rolled back.
|
|
112
|
+
|
|
113
|
+
**Distinction from `/setup`:** `/setup` is first-time bootstrap only. After bootstrap it delegates here. `/om` is idempotent and safe to re-run at any time.
|
|
114
|
+
|
|
115
|
+
The ambient vibe layer (`.claude/rules/vibe.md`) automatically detects Codify intent in plain language and delegates to `/om`. Power users can invoke `/om` directly to bypass the ambient layer entirely.
|