@elevasis/sdk 1.22.0 → 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 (41) hide show
  1. package/dist/cli.cjs +980 -42
  2. package/dist/index.d.ts +1221 -220
  3. package/dist/index.js +390 -15
  4. package/dist/test-utils/index.d.ts +964 -211
  5. package/dist/test-utils/index.js +257 -14
  6. package/dist/worker/index.js +122 -14
  7. package/package.json +3 -3
  8. package/reference/claude-config/rules/operations.md +3 -3
  9. package/reference/claude-config/rules/organization-model.md +88 -85
  10. package/reference/claude-config/rules/organization-os.md +104 -104
  11. package/reference/claude-config/rules/vibe.md +235 -235
  12. package/reference/claude-config/skills/om/SKILL.md +324 -0
  13. package/reference/claude-config/skills/{knowledge → om}/operations/customers.md +110 -109
  14. package/reference/claude-config/skills/{knowledge → om}/operations/features.md +77 -76
  15. package/reference/claude-config/skills/{knowledge → om}/operations/goals.md +119 -118
  16. package/reference/claude-config/skills/{knowledge → om}/operations/identity.md +94 -93
  17. package/reference/claude-config/skills/{knowledge → om}/operations/labels.md +94 -94
  18. package/reference/claude-config/skills/{knowledge → om}/operations/offerings.md +110 -109
  19. package/reference/claude-config/skills/{knowledge → om}/operations/roles.md +100 -99
  20. package/reference/claude-config/skills/{knowledge → om}/operations/techStack.md +30 -30
  21. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  22. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  23. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  24. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  25. package/reference/claude-config/skills/tutorial/technical.md +1303 -1303
  26. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  27. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +7 -4
  28. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +52 -0
  29. package/reference/examples/organization-model.ts +26 -2
  30. package/reference/scaffold/core/organization-model.mdx +16 -11
  31. package/reference/scaffold/recipes/add-a-feature.md +28 -26
  32. package/reference/scaffold/recipes/add-a-resource.md +26 -16
  33. package/reference/scaffold/recipes/customize-organization-model.md +5 -3
  34. package/reference/scaffold/recipes/extend-lead-gen.md +9 -9
  35. package/reference/scaffold/recipes/index.md +1 -1
  36. package/reference/scaffold/recipes/query-the-knowledge-graph.md +189 -185
  37. package/reference/scaffold/reference/contracts.md +139 -101
  38. package/reference/scaffold/reference/glossary.md +74 -72
  39. package/reference/claude-config/skills/knowledge/SKILL.md +0 -345
  40. /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-a.md +0 -0
  41. /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-b.md +0 -0
@@ -421,6 +421,42 @@ export type OrganizationModelIntegrationResourceEntry = z.infer<typeof Integrati
421
421
  export type OrganizationModelScriptResourceEntry = z.infer<typeof ScriptResourceEntrySchema>
422
422
  ```
423
423
 
424
+ ### `OrganizationModelTopology`
425
+
426
+ ```typescript
427
+ export type OrganizationModelTopology = z.infer<typeof OmTopologyDomainSchema>
428
+ ```
429
+
430
+ ### `OrganizationModelTopologyNodeKind`
431
+
432
+ ```typescript
433
+ export type OrganizationModelTopologyNodeKind = z.infer<typeof OmTopologyNodeKindSchema>
434
+ ```
435
+
436
+ ### `OrganizationModelTopologyNodeRef`
437
+
438
+ ```typescript
439
+ export type OrganizationModelTopologyNodeRef = z.infer<typeof OmTopologyNodeRefSchema>
440
+ ```
441
+
442
+ ### `OrganizationModelTopologyRelationshipKind`
443
+
444
+ ```typescript
445
+ export type OrganizationModelTopologyRelationshipKind = z.infer<typeof OmTopologyRelationshipKindSchema>
446
+ ```
447
+
448
+ ### `OrganizationModelTopologyRelationship`
449
+
450
+ ```typescript
451
+ export type OrganizationModelTopologyRelationship = z.infer<typeof OmTopologyRelationshipSchema>
452
+ ```
453
+
454
+ ### `OrganizationModelTopologyMetadata`
455
+
456
+ ```typescript
457
+ export type OrganizationModelTopologyMetadata = z.infer<typeof OmTopologyMetadataSchema>
458
+ ```
459
+
424
460
  ### `OrganizationModelActions`
425
461
 
426
462
  ```typescript
@@ -601,8 +637,8 @@ export type DeepPartial<T> =
601
637
  ### `ElevasisOrganizationModel`
602
638
 
603
639
  ```typescript
604
- export type ElevasisOrganizationModel = Omit<OrganizationModel, 'knowledge'> & {
605
- knowledge?: OrganizationModel['knowledge']
640
+ export type ElevasisOrganizationModel = Omit<OrganizationModel, 'knowledge'> & {
641
+ knowledge?: OrganizationModel['knowledge']
606
642
  }
607
643
  ```
608
644
 
@@ -627,107 +663,107 @@ export type SystemSidebarWidthResolver = number | ((context: { currentPath: stri
627
663
  ### `SystemModule`
628
664
 
629
665
  ```typescript
630
- export interface SystemModule {
631
- /** Unique stable identifier for this UI system module. */
632
- key: string
633
- /** Organization Model system id this module presents. Omit for navigation-only app surfaces. */
634
- systemId?: string
635
- /** Route prefixes owned by navigation-only app surfaces. */
636
- routePrefixes?: string[]
637
- /** Capability identifiers contributed by this system module. */
638
- capabilityIds?: string[]
639
- /** Icon used when this system node appears in shell navigation. */
640
- icon?: SystemIconComponent
641
- /** Sidebar component rendered when this system's subtree route is active. */
642
- sidebar?: SystemSidebarComponent
643
- /** Optional shell sidebar width override. Defaults to 250px. */
644
- sidebarWidth?: SystemSidebarWidthResolver
645
- /** Operations-only bridge connecting this system to the organization graph node. */
646
- organizationGraph?: OrganizationGraphSystemBridge
666
+ export interface SystemModule {
667
+ /** Unique stable identifier for this UI system module. */
668
+ key: string
669
+ /** Organization Model system id this module presents. Omit for navigation-only app surfaces. */
670
+ systemId?: string
671
+ /** Route prefixes owned by navigation-only app surfaces. */
672
+ routePrefixes?: string[]
673
+ /** Capability identifiers contributed by this system module. */
674
+ capabilityIds?: string[]
675
+ /** Icon used when this system node appears in shell navigation. */
676
+ icon?: SystemIconComponent
677
+ /** Sidebar component rendered when this system's subtree route is active. */
678
+ sidebar?: SystemSidebarComponent
679
+ /** Optional shell sidebar width override. Defaults to 250px. */
680
+ sidebarWidth?: SystemSidebarWidthResolver
681
+ /** Operations-only bridge connecting this system to the organization graph node. */
682
+ organizationGraph?: OrganizationGraphSystemBridge
647
683
  }
648
684
  ```
649
685
 
650
686
  ### `ResolvedSystemAccess`
651
687
 
652
688
  ```typescript
653
- export interface ResolvedSystemAccess {
654
- featureKey: string
655
- systemId?: string
656
- enabled: boolean
689
+ export interface ResolvedSystemAccess {
690
+ systemKey: string
691
+ systemId?: string
692
+ enabled: boolean
657
693
  }
658
694
  ```
659
695
 
660
696
  ### `ResolvedSystemSemantics`
661
697
 
662
698
  ```typescript
663
- export interface ResolvedSystemSemantics {
664
- capabilityIds: string[]
699
+ export interface ResolvedSystemSemantics {
700
+ capabilityIds: string[]
665
701
  }
666
702
  ```
667
703
 
668
704
  ### `ResolvedSystemModule`
669
705
 
670
706
  ```typescript
671
- export interface ResolvedSystemModule extends SystemModule {
672
- access: ResolvedSystemAccess
673
- semantics: ResolvedSystemSemantics
707
+ export interface ResolvedSystemModule extends SystemModule {
708
+ access: ResolvedSystemAccess
709
+ semantics: ResolvedSystemSemantics
674
710
  }
675
711
  ```
676
712
 
677
713
  ### `ResolvedShellSystem`
678
714
 
679
715
  ```typescript
680
- export type ResolvedShellSystem = OrganizationModelSystemEntry & {
681
- label: string
682
- iconComponent?: SystemIconComponent
716
+ export type ResolvedShellSystem = OrganizationModelSystemEntry & {
717
+ label: string
718
+ iconComponent?: SystemIconComponent
683
719
  }
684
720
  ```
685
721
 
686
722
  ### `ResolvedShellModel`
687
723
 
688
724
  ```typescript
689
- export interface ResolvedShellModel {
690
- systems: readonly ResolvedShellSystem[]
691
- findByPath: (path: string) => ResolvedShellSystem | undefined
692
- findById: (id: string) => ResolvedShellSystem | undefined
693
- childrenOf: (id: string) => ResolvedShellSystem[]
694
- ancestorsOf: (id: string) => ResolvedShellSystem[]
695
- parentOf: (id: string) => ResolvedShellSystem | undefined
696
- topLevel: () => ResolvedShellSystem[]
697
- requiresAdminFor: (id: string) => boolean
698
- devOnlyFor: (id: string) => boolean
725
+ export interface ResolvedShellModel {
726
+ systems: readonly ResolvedShellSystem[]
727
+ findByPath: (path: string) => ResolvedShellSystem | undefined
728
+ findById: (id: string) => ResolvedShellSystem | undefined
729
+ childrenOf: (id: string) => ResolvedShellSystem[]
730
+ ancestorsOf: (id: string) => ResolvedShellSystem[]
731
+ parentOf: (id: string) => ResolvedShellSystem | undefined
732
+ topLevel: () => ResolvedShellSystem[]
733
+ requiresAdminFor: (id: string) => boolean
734
+ devOnlyFor: (id: string) => boolean
699
735
  }
700
736
  ```
701
737
 
702
738
  ### `ShellSidebarLinkItem`
703
739
 
704
740
  ```typescript
705
- export interface ShellSidebarLinkItem {
706
- label: string
707
- link: string
708
- exact?: boolean
709
- activeMatchPaths?: string[]
741
+ export interface ShellSidebarLinkItem {
742
+ label: string
743
+ link: string
744
+ exact?: boolean
745
+ activeMatchPaths?: string[]
710
746
  }
711
747
  ```
712
748
 
713
749
  ### `ShellSidebarLinkGroup`
714
750
 
715
751
  ```typescript
716
- export interface ShellSidebarLinkGroup {
717
- icon: SystemIconComponent
718
- label: string
719
- links?: ShellSidebarLinkItem[]
720
- link?: string
752
+ export interface ShellSidebarLinkGroup {
753
+ icon: SystemIconComponent
754
+ label: string
755
+ links?: ShellSidebarLinkItem[]
756
+ link?: string
721
757
  }
722
758
  ```
723
759
 
724
760
  ### `ShellSidebarProjectionOptions`
725
761
 
726
762
  ```typescript
727
- export interface ShellSidebarProjectionOptions {
728
- isPlatformAdmin?: boolean
729
- isDev?: boolean
730
- section?: 'primary' | 'bottom'
763
+ export interface ShellSidebarProjectionOptions {
764
+ isPlatformAdmin?: boolean
765
+ isDev?: boolean
766
+ section?: 'primary' | 'bottom'
731
767
  }
732
768
  ```
733
769
 
@@ -740,75 +776,75 @@ export type ShellRouteMatchStatus = 'matched' | 'hidden' | 'unmatched'
740
776
  ### `ResolvedShellRouteMatch`
741
777
 
742
778
  ```typescript
743
- export interface ResolvedShellRouteMatch {
744
- status: ShellRouteMatchStatus
745
- path: string
746
- system?: ResolvedSystemModule
747
- node?: ResolvedShellSystem
779
+ export interface ResolvedShellRouteMatch {
780
+ status: ShellRouteMatchStatus
781
+ path: string
782
+ system?: ResolvedSystemModule
783
+ node?: ResolvedShellSystem
748
784
  }
749
785
  ```
750
786
 
751
787
  ### `ShellRuntime`
752
788
 
753
789
  ```typescript
754
- export interface ShellRuntime {
755
- resolveRoute: (path: string) => ResolvedShellRouteMatch
790
+ export interface ShellRuntime {
791
+ resolveRoute: (path: string) => ResolvedShellRouteMatch
756
792
  }
757
793
  ```
758
794
 
759
795
  ### `OrganizationGraphSystemBridge`
760
796
 
761
797
  ```typescript
762
- export interface OrganizationGraphSystemBridge {
763
- systemId?: string
798
+ export interface OrganizationGraphSystemBridge {
799
+ systemId?: string
764
800
  }
765
801
  ```
766
802
 
767
803
  ### `OrganizationGraphContextValue`
768
804
 
769
805
  ```typescript
770
- export interface OrganizationGraphContextValue {
771
- available: boolean
772
- systemId?: string
773
- systemPath?: string
806
+ export interface OrganizationGraphContextValue {
807
+ available: boolean
808
+ systemId?: string
809
+ systemPath?: string
774
810
  }
775
811
  ```
776
812
 
777
813
  ### `ElevasisSystemsProviderProps`
778
814
 
779
815
  ```typescript
780
- export interface ElevasisSystemsProviderProps {
781
- systems?: SystemModule[]
782
- organizationModel?: ElevasisOrganizationModel
783
- timeRange?: TimeRange
784
- operationsApiUrl?: string
785
- operationsSSEManager?: SSEConnectionManagerLike
786
- deliveryApiUrl?: string
787
- deliverySSEManager?: SSEConnectionManagerLike
788
- disabledSubsectionPaths?: string[]
789
- children: ReactNode
816
+ export interface ElevasisSystemsProviderProps {
817
+ systems?: SystemModule[]
818
+ organizationModel?: ElevasisOrganizationModel
819
+ timeRange?: TimeRange
820
+ operationsApiUrl?: string
821
+ operationsSSEManager?: SSEConnectionManagerLike
822
+ deliveryApiUrl?: string
823
+ deliverySSEManager?: SSEConnectionManagerLike
824
+ disabledSubsectionPaths?: string[]
825
+ children: ReactNode
790
826
  }
791
827
  ```
792
828
 
793
829
  ### `ElevasisSystemsContextValue`
794
830
 
795
831
  ```typescript
796
- export interface ElevasisSystemsContextValue {
797
- shellModel: ResolvedShellModel
798
- shellRuntime: ShellRuntime
799
- getSidebarLinks: (options?: ShellSidebarProjectionOptions) => ShellSidebarLinkGroup[]
800
- enabledResolvedSystems: ResolvedSystemModule[]
801
- resolvedSystems: ResolvedSystemModule[]
802
- organizationGraph: OrganizationGraphContextValue
803
- organizationModel?: OrganizationModel
804
- timeRange?: TimeRange
805
- operationsApiUrl?: string
806
- operationsSSEManager?: SSEConnectionManagerLike
807
- deliveryApiUrl?: string
808
- deliverySSEManager?: SSEConnectionManagerLike
809
- disabledSubsectionPaths: string[]
810
- isSystemEnabled: (key: string) => boolean
811
- getResolvedSystem: (key: string) => ResolvedSystemModule | undefined
832
+ export interface ElevasisSystemsContextValue {
833
+ shellModel: ResolvedShellModel
834
+ shellRuntime: ShellRuntime
835
+ getSidebarLinks: (options?: ShellSidebarProjectionOptions) => ShellSidebarLinkGroup[]
836
+ enabledResolvedSystems: ResolvedSystemModule[]
837
+ resolvedSystems: ResolvedSystemModule[]
838
+ organizationGraph: OrganizationGraphContextValue
839
+ organizationModel?: OrganizationModel
840
+ timeRange?: TimeRange
841
+ operationsApiUrl?: string
842
+ operationsSSEManager?: SSEConnectionManagerLike
843
+ deliveryApiUrl?: string
844
+ deliverySSEManager?: SSEConnectionManagerLike
845
+ disabledSubsectionPaths: string[]
846
+ isSystemEnabled: (key: string) => boolean
847
+ getResolvedSystem: (key: string) => ResolvedSystemModule | undefined
812
848
  }
813
849
  ```
814
850
 
@@ -1290,13 +1326,15 @@ export interface HumanCheckpointDefinition extends ResourceDefinition {
1290
1326
  * Used by ResourceRegistry for discovery and Command View for visualization.
1291
1327
  */
1292
1328
  export interface DeploymentSpec {
1293
- /** Deployment version (semver) */
1294
- version: string
1295
- /** Optional Organization Model governance catalog used for OM-code validation */
1296
- organizationModel?: {
1297
- systems?: OrganizationModelSystems
1298
- resources?: OrganizationModelResources
1299
- }
1329
+ /** Deployment version (semver) */
1330
+ version: string
1331
+ /** Optional Organization Model governance catalog used for OM-code validation */
1332
+ organizationModel?: Partial<
1333
+ Pick<
1334
+ OrganizationModel,
1335
+ 'systems' | 'resources' | 'ontology' | 'topology' | 'roles' | 'policies' | 'entities' | 'actions'
1336
+ >
1337
+ >
1300
1338
  /** Workflow definitions */
1301
1339
  workflows?: WorkflowDefinition[]
1302
1340
  /** Agent definitions */
@@ -1,79 +1,81 @@
1
- ---
2
- title: Glossary
3
- description: Terminology disambiguation for Organization OS concepts used in the template scaffold, core package, and published packages.
4
- ---
1
+ ---
2
+ title: Glossary
3
+ description: Terminology disambiguation for Organization OS concepts used in the template scaffold, core package, and published packages.
4
+ ---
5
5
  <!-- @generated by packages/sdk/scripts/copy-reference-docs.mjs -- DO NOT EDIT -->
6
6
  <!-- Regenerate: pnpm scaffold:sync -->
7
7
 
8
-
9
- # Glossary
10
-
11
- ## Terms
12
-
13
- **AdminGuard** -- route-level admin wrapper from `@elevasis/ui/features/auth`. Must nest inside `ProtectedRoute`.
14
-
15
- **Contract** -- the publishable boundary a consumer depends on: Zod schemas, TypeScript types, provider props, resource definitions, or workflow I/O schemas.
16
-
17
- **DeploymentSpec** -- runtime/deploy assembly for one organization: workflows, agents, triggers, integrations, relationships, external resources, and human checkpoints. It assembles executable behavior around Organization Model resource descriptors; it is not the source of resource identity.
18
-
19
- **Feature** -- legacy or UI-package wording for a platform capability area. In the current Organization Model, use **System** for semantic ownership and **navigation surface** for shell placement. Keep "feature" only when referring to existing UI package folders, exported manifest names, or legacy compatibility recipes.
20
-
21
- **SystemGuard** -- route-level System gate from `@elevasis/ui/features/auth`.
22
-
8
+
9
+ # Glossary
10
+
11
+ ## Terms
12
+
13
+ **AdminGuard** -- route-level admin wrapper from `@elevasis/ui/features/auth`. Must nest inside `ProtectedRoute`.
14
+
15
+ **Contract** -- the publishable boundary a consumer depends on: Zod schemas, TypeScript types, provider props, resource definitions, or workflow I/O schemas.
16
+
17
+ **DeploymentSpec** -- runtime/deploy assembly for one organization: workflows, agents, triggers, integrations, relationships, external resources, and human checkpoints. It assembles executable behavior around Organization Model resource descriptors; it is not the source of resource identity.
18
+
19
+ **Feature** -- legacy or UI-package wording for a platform capability area. In the current Organization Model, use **System** for semantic ownership and **navigation surface** for shell placement. Keep "feature" only when referring to existing UI package folders, exported manifest names, or legacy compatibility recipes.
20
+
21
+ **SystemGuard** -- route-level System gate from `@elevasis/ui/features/auth`.
22
+
23
23
  **SystemModule** -- manifest contract a shell module provides to `ElevasisSystemsProvider`. Key fields are `key`, optional `systemId`, optional `routePrefixes`, optional `capabilityIds`, optional `icon`, optional `sidebar`, and optional `sidebarWidth`. Graph bridge metadata is compatibility-only; new semantic bindings belong in the Organization Model System, ontology, navigation, and Resource descriptors.
24
-
25
- **systemId** -- the `SystemModule` field that points to an `OrganizationModel.systems` entry. Navigation-only app modules may omit it and use route prefixes/surface metadata instead.
26
-
27
- **Foundations** -- local adapter layer in external projects that exports `canonicalOrganizationModel`, `organizationModel`, and workflow I/O schemas.
28
-
29
- **Graph node ID** -- kind-prefixed cross-collection identifier such as `system:sales.crm`, `integration:instantly`, or `resource:lead-import`.
30
-
31
- **Manifest** -- a runtime declaration for a feature or resource collection.
32
-
24
+
25
+ **systemId** -- the `SystemModule` field that points to an `OrganizationModel.systems` entry. Navigation-only app modules may omit it and use route prefixes/surface metadata instead.
26
+
27
+ **systemId (resource — deprecated)** -- the legacy `resource.systemId` field on Organization Model resource descriptors. Removed from the target contract; the canonical attachment is **`resource.systemPath`** (dot-separated path resolved against the system tree). Some external templates still ship a `systemId` compatibility mirror while published `@elevasis/core` releases catch up; treat that field as legacy adapter data only and author new resource relationships against `systemPath`. Query with `getResourcesForSystem(model, path)`.
28
+
29
+ **Foundations** -- local adapter layer in external projects that exports `canonicalOrganizationModel`, `organizationModel`, and workflow I/O schemas.
30
+
31
+ **Graph node ID** -- kind-prefixed cross-collection identifier such as `system:sales.crm`, `integration:instantly`, or `resource:lead-import`.
32
+
33
+ **Manifest** -- a runtime declaration for a feature or resource collection.
34
+
33
35
  **MembershipFeatureConfig** -- legacy per-member feature override config. Current System visibility should be authored through Organization Model System lifecycle/access metadata and resolved through provider compatibility layers for older consumers.
34
-
35
- **OrganizationModel** -- top-level semantic contract for an organization. Current primary fields include `version`, `domainMetadata`, `branding`, `navigation`, `ontology`, `systems`, `resources`, `identity`, `customers`, `offerings`, `roles`, `goals`, `policies`, `statuses`, and `knowledge`. Legacy domain keys such as `sales`, `prospecting`, `projects`, `actions`, and `entities` remain compatibility inputs while projects migrate to System-owned ontology/config/resource contracts.
36
-
36
+
37
+ **OrganizationModel** -- top-level semantic contract for an organization. Current primary fields include `version`, `domainMetadata`, `branding`, `navigation`, `ontology`, `systems`, `resources`, `topology`, `identity`, `customers`, `offerings`, `roles`, `goals`, `policies`, `statuses`, and `knowledge`. Legacy domain keys such as `sales`, `prospecting`, `projects`, `actions`, and `entities` remain compatibility inputs while projects migrate to System-owned ontology/config/resource contracts.
38
+
37
39
  **OrganizationModelSystemEntry** -- System node in `OrganizationModel.systems`. Primary authoring fields include `id`, `label`, `description`, `parentSystemId`, `systems`, `lifecycle`, `ui`, `requiresAdmin`, `devOnly`, `responsibleRoleId`, `governedByKnowledge`, `drivesGoals`, `actions`, `policies`, `ontology`, `config`, and `order`. `subsystems` and `content` are retained compatibility inputs for older projects and should not be used for new recursive Systems, schemas, catalogs, or config.
38
-
39
- **Provider / ElevasisSystemsProvider** -- runtime that registers System modules, resolves System access against the org model, projects sidebar navigation, and exposes shell helpers through `useElevasisSystems()`.
40
-
41
- **Resource** -- governance-only descriptor in `OrganizationModel.resources` for a workflow, agent, integration, or script. Runtime code derives `resourceId` and kind from the descriptor, then attaches executable behavior in operations.
42
-
43
- **Resource descriptor** -- OM entry with canonical `id`, required `systemPath`, governance `status`, optional role ownership, optional `actionKey`, `codeRefs`, and nested `ontology` bindings for implemented actions, read/write objects, used catalogs, and emitted events. Top-level `emits` remains a compatibility mirror for older descriptors.
44
-
40
+
41
+ **Provider / ElevasisSystemsProvider** -- runtime that registers System modules, resolves System access against the org model, projects sidebar navigation, and exposes shell helpers through `useElevasisSystems()`.
42
+
43
+ **Resource** -- governance-only descriptor in `OrganizationModel.resources` for a workflow, agent, integration, or script. Runtime code derives `resourceId` and kind from the descriptor, then attaches executable behavior in operations.
44
+
45
+ **Resource descriptor** -- OM entry with canonical `id`, required `systemPath`, descriptor `title` / `description`, governance `status`, optional role ownership, `codeRefs`, and nested `ontology` bindings for `actions`, optional `primaryAction`, read/write objects, used catalogs, and emitted events. Top-level `emits` remains a compatibility mirror for older descriptors.
46
+
45
47
  **System** -- tenant-defined bounded context in `OrganizationModel.systems` that groups operational resources and carries governance metadata such as responsible role, governing knowledge, driven goals, kind, lifecycle, System-local ontology, and System-local config.
46
-
47
- **ResourceCategory** -- resource metadata category: `production`, `diagnostic`, `internal`, or `testing`.
48
-
49
- **ResourceLink** -- graph binding on resource metadata: `{ nodeId, kind }`.
50
-
51
- **Settings asymmetry** -- Settings is a navigation/app surface whose individual pages are normally governed by admin checks rather than user-facing System toggles.
52
-
53
- **Shell model** -- provider output used by sidebars and breadcrumbs. Includes `systems`, `childrenOf`, `ancestorsOf`, `parentOf`, `topLevel`, `findByPath`, `requiresAdminFor`, and `devOnlyFor`.
54
-
55
- **Subshell / Sidebar** -- System- or route-prefix-scoped UI region rendered when the current route matches a module whose manifest supplies a sidebar.
56
-
57
- **Topology** -- runtime resource relationships declared in `DeploymentSpec.relationships`.
58
-
59
- ## Package Boundary
60
-
61
- **`@elevasis/core`**
62
-
63
- - `OrganizationModel`, `OrganizationModelSystemEntry`
64
- - `SystemEntry`, `ResourceEntry`
65
- - `resolveOrganizationModel`, `defineOrganizationModel`, `DEFAULT_ORGANIZATION_MODEL`
66
- - `MembershipFeatureConfig`
67
- - `DeploymentSpec`, `ResourceLink`, `ResourceCategory`
68
-
69
- **`@elevasis/ui`**
70
-
71
- - `SystemModule`
72
- - `SystemGuard`, `AdminGuard`, `ProtectedRoute`
73
- - `ElevasisSystemsProvider`, `ElevasisCoreProvider`, `useElevasisSystems`
74
-
75
- **External project source**
76
-
77
- - `canonicalOrganizationModel`
78
- - `organizationModel`
79
- - workflow I/O schemas
48
+
49
+ **ResourceCategory** -- resource metadata category: `production`, `diagnostic`, `internal`, or `testing`.
50
+
51
+ **ResourceLink** -- graph binding on resource metadata: `{ nodeId, kind }`.
52
+
53
+ **Settings asymmetry** -- Settings is a navigation/app surface whose individual pages are normally governed by admin checks rather than user-facing System toggles.
54
+
55
+ **Shell model** -- provider output used by sidebars and breadcrumbs. Includes `systems`, `childrenOf`, `ancestorsOf`, `parentOf`, `topLevel`, `findByPath`, `requiresAdminFor`, and `devOnlyFor`.
56
+
57
+ **Subshell / Sidebar** -- System- or route-prefix-scoped UI region rendered when the current route matches a module whose manifest supplies a sidebar.
58
+
59
+ **Topology** -- durable OM operational wiring declared in `OrganizationModel.topology.relationships`. Initial relationship kinds are `triggers`, `uses`, and `approval`; relationships use typed refs such as `{ kind: 'resource', id: 'lead-import' }`.
60
+
61
+ ## Package Boundary
62
+
63
+ **`@elevasis/core`**
64
+
65
+ - `OrganizationModel`, `OrganizationModelSystemEntry`
66
+ - `SystemEntry`, `ResourceEntry`
67
+ - `resolveOrganizationModel`, `defineOrganizationModel`, `DEFAULT_ORGANIZATION_MODEL`
68
+ - `MembershipFeatureConfig`
69
+ - `DeploymentSpec`, `ResourceLink`, `ResourceCategory`
70
+
71
+ **`@elevasis/ui`**
72
+
73
+ - `SystemModule`
74
+ - `SystemGuard`, `AdminGuard`, `ProtectedRoute`
75
+ - `ElevasisSystemsProvider`, `ElevasisCoreProvider`, `useElevasisSystems`
76
+
77
+ **External project source**
78
+
79
+ - `canonicalOrganizationModel`
80
+ - `organizationModel`
81
+ - workflow I/O schemas