@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.
Files changed (32) hide show
  1. package/dist/cli.cjs +681 -29
  2. package/dist/index.d.ts +4 -0
  3. package/dist/index.js +4 -3
  4. package/dist/test-utils/index.d.ts +1 -0
  5. package/dist/test-utils/index.js +4 -3
  6. package/dist/worker/index.js +4 -3
  7. package/package.json +2 -2
  8. package/reference/claude-config/rules/organization-model.md +77 -80
  9. package/reference/claude-config/rules/organization-os.md +104 -104
  10. package/reference/claude-config/rules/vibe.md +235 -235
  11. package/reference/claude-config/skills/om/SKILL.md +324 -0
  12. package/reference/claude-config/skills/{knowledge → om}/operations/customers.md +110 -109
  13. package/reference/claude-config/skills/{knowledge → om}/operations/features.md +77 -76
  14. package/reference/claude-config/skills/{knowledge → om}/operations/goals.md +119 -118
  15. package/reference/claude-config/skills/{knowledge → om}/operations/identity.md +94 -93
  16. package/reference/claude-config/skills/{knowledge → om}/operations/labels.md +94 -94
  17. package/reference/claude-config/skills/{knowledge → om}/operations/offerings.md +110 -109
  18. package/reference/claude-config/skills/{knowledge → om}/operations/roles.md +100 -99
  19. package/reference/claude-config/skills/{knowledge → om}/operations/techStack.md +30 -30
  20. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  21. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  22. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  23. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  24. package/reference/claude-config/skills/tutorial/technical.md +1303 -1303
  25. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  26. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +52 -0
  27. package/reference/scaffold/recipes/query-the-knowledge-graph.md +189 -185
  28. package/reference/scaffold/reference/contracts.md +94 -94
  29. package/reference/scaffold/reference/glossary.md +71 -69
  30. package/reference/claude-config/skills/knowledge/SKILL.md +0 -345
  31. /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-a.md +0 -0
  32. /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: "business",
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: "projects",
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: "projects",
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";
@@ -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: "business",
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: "projects",
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: "projects",
10066
+ icon: "clients",
10066
10067
  path: "/clients"
10067
10068
  },
10068
10069
  operations: {
@@ -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: "business",
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: "projects",
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: "projects",
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.22.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.24.1",
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 /knowledge
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: `/knowledge`
19
-
20
- Direct edits to `organization-model.ts` are discouraged. Instead, use `/knowledge` (or
21
- `/knowledge <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 `/knowledge <domain>` for targeted edits: `identity`, `customers`, `offerings`,
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 `/knowledge <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
-
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/knowledge 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
-
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, `/knowledge` 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 `/knowledge` as the entry point. Direct edits to `core/config/organization-model.ts` are discouraged -- `/knowledge` runs the read -> propose -> confirm -> write -> validate ceremony. Run `/knowledge` for the full layered flow or `/knowledge \<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 `/knowledge 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.
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
- ## `/knowledge` -- Org Model QA Entry Point
96
-
97
- `/knowledge` is the recurring, safe-to-re-run org model editor for this project. It is a skill (not a command) at `.claude/skills/knowledge/SKILL.md`.
98
-
99
- **Usage:**
100
-
101
- - `/knowledge` -- layered flow: identity → customers → offerings → roles → goals → techStack
102
- - `/knowledge identity` -- legal identity, mission/vision, industry, geography, timezone
103
- - `/knowledge customers` -- customer segments with jobs-to-be-done, pains, gains, firmographics
104
- - `/knowledge offerings` -- products and services with pricing model and segment references
105
- - `/knowledge roles` -- role chart with responsibilities, reporting lines, and holders
106
- - `/knowledge goals` -- organizational goals with period and measurable outcomes
107
- - `/knowledge techStack` -- external-SaaS and integration context; resource identity still belongs in OM Resources descriptors
108
- - `/knowledge systems` -- enable, disable, or add Systems; route invokable behavior through Actions
109
- - `/knowledge 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. `/knowledge` 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 `/knowledge`. Power users can invoke `/knowledge` directly to bypass the ambient layer entirely.
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.