@elevasis/sdk 1.22.1 → 1.24.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 (70) hide show
  1. package/dist/cli.cjs +5738 -6283
  2. package/dist/index.d.ts +187 -242
  3. package/dist/index.js +1830 -2912
  4. package/dist/node/index.d.ts +3722 -2
  5. package/dist/node/index.js +163 -1
  6. package/dist/test-utils/index.d.ts +61 -72
  7. package/dist/test-utils/index.js +240 -1479
  8. package/dist/types/worker/index.d.ts +2 -0
  9. package/dist/types/worker/utils.d.ts +9 -0
  10. package/dist/worker/index.js +261 -1487
  11. package/package.json +5 -4
  12. package/reference/_navigation.md +1 -0
  13. package/reference/claude-config/rules/active-change-index.md +11 -80
  14. package/reference/claude-config/rules/agent-start-here.md +11 -277
  15. package/reference/claude-config/rules/deployment.md +11 -57
  16. package/reference/claude-config/rules/error-handling.md +11 -56
  17. package/reference/claude-config/rules/execution.md +11 -40
  18. package/reference/claude-config/rules/frontend.md +11 -43
  19. package/reference/claude-config/rules/observability.md +11 -31
  20. package/reference/claude-config/rules/operations.md +11 -80
  21. package/reference/claude-config/rules/organization-model.md +7 -115
  22. package/reference/claude-config/rules/organization-os.md +8 -112
  23. package/reference/claude-config/rules/package-taxonomy.md +11 -33
  24. package/reference/claude-config/rules/platform.md +11 -42
  25. package/reference/claude-config/rules/shared-types.md +10 -48
  26. package/reference/claude-config/rules/task-tracking.md +11 -47
  27. package/reference/claude-config/rules/ui.md +11 -200
  28. package/reference/claude-config/rules/vibe.md +11 -235
  29. package/reference/claude-config/skills/om/SKILL.md +324 -0
  30. package/reference/claude-config/skills/{knowledge → om}/operations/customers.md +110 -109
  31. package/reference/claude-config/skills/{knowledge → om}/operations/features.md +77 -76
  32. package/reference/claude-config/skills/{knowledge → om}/operations/goals.md +119 -118
  33. package/reference/claude-config/skills/{knowledge → om}/operations/identity.md +94 -93
  34. package/reference/claude-config/skills/{knowledge → om}/operations/labels.md +94 -94
  35. package/reference/claude-config/skills/{knowledge → om}/operations/offerings.md +110 -109
  36. package/reference/claude-config/skills/{knowledge → om}/operations/roles.md +100 -99
  37. package/reference/claude-config/skills/{knowledge → om}/operations/techStack.md +30 -30
  38. package/reference/claude-config/skills/project/SKILL.md +1088 -1088
  39. package/reference/claude-config/skills/setup/SKILL.md +275 -275
  40. package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
  41. package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
  42. package/reference/claude-config/skills/tutorial/technical.md +1303 -1303
  43. package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
  44. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
  45. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +52 -0
  46. package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +33 -0
  47. package/reference/rules/active-change-index.md +83 -0
  48. package/reference/rules/agent-start-here.md +280 -0
  49. package/reference/rules/deployment.md +60 -0
  50. package/reference/rules/error-handling.md +59 -0
  51. package/reference/rules/execution.md +43 -0
  52. package/reference/rules/frontend.md +46 -0
  53. package/reference/rules/observability.md +34 -0
  54. package/reference/rules/operations.md +85 -0
  55. package/reference/rules/organization-model.md +119 -0
  56. package/reference/rules/organization-os.md +118 -0
  57. package/reference/rules/package-taxonomy.md +36 -0
  58. package/reference/rules/platform.md +45 -0
  59. package/reference/rules/shared-types.md +52 -0
  60. package/reference/rules/task-tracking.md +50 -0
  61. package/reference/rules/ui.md +203 -0
  62. package/reference/rules/vibe.md +238 -0
  63. package/reference/scaffold/core/organization-graph.mdx +4 -5
  64. package/reference/scaffold/core/organization-model.mdx +1 -1
  65. package/reference/scaffold/recipes/query-the-knowledge-graph.md +189 -185
  66. package/reference/scaffold/reference/contracts.md +108 -96
  67. package/reference/scaffold/reference/glossary.md +71 -69
  68. package/reference/claude-config/skills/knowledge/SKILL.md +0 -345
  69. /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-a.md +0 -0
  70. /package/reference/claude-config/skills/{knowledge → om}/operations/codify-level-b.md +0 -0
@@ -309,7 +309,7 @@ export type OrganizationModelSystemLifecycle = z.infer<typeof SystemLifecycleSch
309
309
  ### `OrganizationModelSystemStatus`
310
310
 
311
311
  ```typescript
312
- /** @deprecated Use OrganizationModelSystemLifecycle. Accepted for one publish cycle. */
312
+ /** @deprecated Use OrganizationModelSystemLifecycle. Accepted for one publish cycle. */
313
313
  export type OrganizationModelSystemStatus = z.infer<typeof SystemStatusSchema>
314
314
  ```
315
315
 
@@ -379,6 +379,18 @@ export type OrganizationModelResourceGovernanceStatus = z.infer<typeof ResourceG
379
379
  export type OrganizationModelResourceOntologyBinding = z.infer<typeof ResourceOntologyBindingSchema>
380
380
  ```
381
381
 
382
+ ### `OrganizationModelContractRef`
383
+
384
+ ```typescript
385
+ export type OrganizationModelContractRef = z.infer<typeof ContractRefSchema>
386
+ ```
387
+
388
+ ### `OrganizationModelResourceOntologyBindingContract`
389
+
390
+ ```typescript
391
+ export type OrganizationModelResourceOntologyBindingContract = ResourceOntologyBindingContract
392
+ ```
393
+
382
394
  ### `OrganizationModelAgentKind`
383
395
 
384
396
  ```typescript
@@ -628,7 +640,7 @@ export type OrganizationModelBuiltinIconToken = z.infer<typeof OrganizationModel
628
640
  ### `DeepPartial`
629
641
 
630
642
  ```typescript
631
- export type DeepPartial<T> =
643
+ export type DeepPartial<T> =
632
644
  T extends Array<infer U> ? Array<DeepPartial<U>> : T extends object ? { [K in keyof T]?: DeepPartial<T[K]> } : T
633
645
  ```
634
646
 
@@ -637,8 +649,8 @@ export type DeepPartial<T> =
637
649
  ### `ElevasisOrganizationModel`
638
650
 
639
651
  ```typescript
640
- export type ElevasisOrganizationModel = Omit<OrganizationModel, 'knowledge'> & {
641
- knowledge?: OrganizationModel['knowledge']
652
+ export type ElevasisOrganizationModel = Omit<OrganizationModel, 'knowledge'> & {
653
+ knowledge?: OrganizationModel['knowledge']
642
654
  }
643
655
  ```
644
656
 
@@ -663,107 +675,107 @@ export type SystemSidebarWidthResolver = number | ((context: { currentPath: stri
663
675
  ### `SystemModule`
664
676
 
665
677
  ```typescript
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
678
+ export interface SystemModule {
679
+ /** Unique stable identifier for this UI system module. */
680
+ key: string
681
+ /** Organization Model system id this module presents. Omit for navigation-only app surfaces. */
682
+ systemId?: string
683
+ /** Route prefixes owned by navigation-only app surfaces. */
684
+ routePrefixes?: string[]
685
+ /** Capability identifiers contributed by this system module. */
686
+ capabilityIds?: string[]
687
+ /** Icon used when this system node appears in shell navigation. */
688
+ icon?: SystemIconComponent
689
+ /** Sidebar component rendered when this system's subtree route is active. */
690
+ sidebar?: SystemSidebarComponent
691
+ /** Optional shell sidebar width override. Defaults to 250px. */
692
+ sidebarWidth?: SystemSidebarWidthResolver
693
+ /** Operations-only bridge connecting this system to the organization graph node. */
694
+ organizationGraph?: OrganizationGraphSystemBridge
683
695
  }
684
696
  ```
685
697
 
686
698
  ### `ResolvedSystemAccess`
687
699
 
688
700
  ```typescript
689
- export interface ResolvedSystemAccess {
690
- featureKey: string
691
- systemId?: string
692
- enabled: boolean
701
+ export interface ResolvedSystemAccess {
702
+ systemKey: string
703
+ systemId?: string
704
+ enabled: boolean
693
705
  }
694
706
  ```
695
707
 
696
708
  ### `ResolvedSystemSemantics`
697
709
 
698
710
  ```typescript
699
- export interface ResolvedSystemSemantics {
700
- capabilityIds: string[]
711
+ export interface ResolvedSystemSemantics {
712
+ capabilityIds: string[]
701
713
  }
702
714
  ```
703
715
 
704
716
  ### `ResolvedSystemModule`
705
717
 
706
718
  ```typescript
707
- export interface ResolvedSystemModule extends SystemModule {
708
- access: ResolvedSystemAccess
709
- semantics: ResolvedSystemSemantics
719
+ export interface ResolvedSystemModule extends SystemModule {
720
+ access: ResolvedSystemAccess
721
+ semantics: ResolvedSystemSemantics
710
722
  }
711
723
  ```
712
724
 
713
725
  ### `ResolvedShellSystem`
714
726
 
715
727
  ```typescript
716
- export type ResolvedShellSystem = OrganizationModelSystemEntry & {
717
- label: string
718
- iconComponent?: SystemIconComponent
728
+ export type ResolvedShellSystem = OrganizationModelSystemEntry & {
729
+ label: string
730
+ iconComponent?: SystemIconComponent
719
731
  }
720
732
  ```
721
733
 
722
734
  ### `ResolvedShellModel`
723
735
 
724
736
  ```typescript
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
737
+ export interface ResolvedShellModel {
738
+ systems: readonly ResolvedShellSystem[]
739
+ findByPath: (path: string) => ResolvedShellSystem | undefined
740
+ findById: (id: string) => ResolvedShellSystem | undefined
741
+ childrenOf: (id: string) => ResolvedShellSystem[]
742
+ ancestorsOf: (id: string) => ResolvedShellSystem[]
743
+ parentOf: (id: string) => ResolvedShellSystem | undefined
744
+ topLevel: () => ResolvedShellSystem[]
745
+ requiresAdminFor: (id: string) => boolean
746
+ devOnlyFor: (id: string) => boolean
735
747
  }
736
748
  ```
737
749
 
738
750
  ### `ShellSidebarLinkItem`
739
751
 
740
752
  ```typescript
741
- export interface ShellSidebarLinkItem {
742
- label: string
743
- link: string
744
- exact?: boolean
745
- activeMatchPaths?: string[]
753
+ export interface ShellSidebarLinkItem {
754
+ label: string
755
+ link: string
756
+ exact?: boolean
757
+ activeMatchPaths?: string[]
746
758
  }
747
759
  ```
748
760
 
749
761
  ### `ShellSidebarLinkGroup`
750
762
 
751
763
  ```typescript
752
- export interface ShellSidebarLinkGroup {
753
- icon: SystemIconComponent
754
- label: string
755
- links?: ShellSidebarLinkItem[]
756
- link?: string
764
+ export interface ShellSidebarLinkGroup {
765
+ icon: SystemIconComponent
766
+ label: string
767
+ links?: ShellSidebarLinkItem[]
768
+ link?: string
757
769
  }
758
770
  ```
759
771
 
760
772
  ### `ShellSidebarProjectionOptions`
761
773
 
762
774
  ```typescript
763
- export interface ShellSidebarProjectionOptions {
764
- isPlatformAdmin?: boolean
765
- isDev?: boolean
766
- section?: 'primary' | 'bottom'
775
+ export interface ShellSidebarProjectionOptions {
776
+ isPlatformAdmin?: boolean
777
+ isDev?: boolean
778
+ section?: 'primary' | 'bottom'
767
779
  }
768
780
  ```
769
781
 
@@ -776,75 +788,75 @@ export type ShellRouteMatchStatus = 'matched' | 'hidden' | 'unmatched'
776
788
  ### `ResolvedShellRouteMatch`
777
789
 
778
790
  ```typescript
779
- export interface ResolvedShellRouteMatch {
780
- status: ShellRouteMatchStatus
781
- path: string
782
- system?: ResolvedSystemModule
783
- node?: ResolvedShellSystem
791
+ export interface ResolvedShellRouteMatch {
792
+ status: ShellRouteMatchStatus
793
+ path: string
794
+ system?: ResolvedSystemModule
795
+ node?: ResolvedShellSystem
784
796
  }
785
797
  ```
786
798
 
787
799
  ### `ShellRuntime`
788
800
 
789
801
  ```typescript
790
- export interface ShellRuntime {
791
- resolveRoute: (path: string) => ResolvedShellRouteMatch
802
+ export interface ShellRuntime {
803
+ resolveRoute: (path: string) => ResolvedShellRouteMatch
792
804
  }
793
805
  ```
794
806
 
795
807
  ### `OrganizationGraphSystemBridge`
796
808
 
797
809
  ```typescript
798
- export interface OrganizationGraphSystemBridge {
799
- systemId?: string
810
+ export interface OrganizationGraphSystemBridge {
811
+ systemId?: string
800
812
  }
801
813
  ```
802
814
 
803
815
  ### `OrganizationGraphContextValue`
804
816
 
805
817
  ```typescript
806
- export interface OrganizationGraphContextValue {
807
- available: boolean
808
- systemId?: string
809
- systemPath?: string
818
+ export interface OrganizationGraphContextValue {
819
+ available: boolean
820
+ systemId?: string
821
+ systemPath?: string
810
822
  }
811
823
  ```
812
824
 
813
825
  ### `ElevasisSystemsProviderProps`
814
826
 
815
827
  ```typescript
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
828
+ export interface ElevasisSystemsProviderProps {
829
+ systems?: SystemModule[]
830
+ organizationModel?: ElevasisOrganizationModel
831
+ timeRange?: TimeRange
832
+ operationsApiUrl?: string
833
+ operationsSSEManager?: SSEConnectionManagerLike
834
+ deliveryApiUrl?: string
835
+ deliverySSEManager?: SSEConnectionManagerLike
836
+ disabledSubsectionPaths?: string[]
837
+ children: ReactNode
826
838
  }
827
839
  ```
828
840
 
829
841
  ### `ElevasisSystemsContextValue`
830
842
 
831
843
  ```typescript
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
844
+ export interface ElevasisSystemsContextValue {
845
+ shellModel: ResolvedShellModel
846
+ shellRuntime: ShellRuntime
847
+ getSidebarLinks: (options?: ShellSidebarProjectionOptions) => ShellSidebarLinkGroup[]
848
+ enabledResolvedSystems: ResolvedSystemModule[]
849
+ resolvedSystems: ResolvedSystemModule[]
850
+ organizationGraph: OrganizationGraphContextValue
851
+ organizationModel?: OrganizationModel
852
+ timeRange?: TimeRange
853
+ operationsApiUrl?: string
854
+ operationsSSEManager?: SSEConnectionManagerLike
855
+ deliveryApiUrl?: string
856
+ deliverySSEManager?: SSEConnectionManagerLike
857
+ disabledSubsectionPaths: string[]
858
+ isSystemEnabled: (key: string) => boolean
859
+ getResolvedSystem: (key: string) => ResolvedSystemModule | undefined
848
860
  }
849
861
  ```
850
862
 
@@ -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
-
36
+
35
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.
36
-
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
-
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
+
43
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.
44
-
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
-
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
+
57
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' }`.
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
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