@elevasis/sdk 1.20.2 → 1.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.cjs +4220 -1583
- package/dist/index.d.ts +1035 -481
- package/dist/index.js +7381 -4187
- package/dist/node/index.d.ts +1 -3
- package/dist/node/index.js +40 -49
- package/dist/test-utils/index.d.ts +699 -123
- package/dist/test-utils/index.js +3826 -630
- package/dist/worker/index.js +3616 -442
- package/package.json +3 -3
- package/reference/_navigation.md +9 -7
- package/reference/_reference-manifest.json +1 -1
- package/reference/claude-config/hooks/post-edit-validate.mjs +98 -98
- package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +188 -188
- package/reference/claude-config/hooks/tool-failure-recovery.mjs +73 -73
- package/reference/claude-config/registries/graph-skills.json +4 -4
- package/reference/claude-config/registries/knowledge-flags.json +0 -2
- package/reference/claude-config/rules/active-change-index.md +80 -80
- package/reference/claude-config/rules/agent-start-here.md +277 -273
- package/reference/claude-config/rules/deployment.md +57 -57
- package/reference/claude-config/rules/error-handling.md +56 -56
- package/reference/claude-config/rules/execution.md +40 -40
- package/reference/claude-config/rules/frontend.md +4 -4
- package/reference/claude-config/rules/observability.md +31 -31
- package/reference/claude-config/rules/operations.md +29 -17
- package/reference/claude-config/rules/organization-model.md +108 -40
- package/reference/claude-config/rules/organization-os.md +115 -113
- package/reference/claude-config/rules/package-taxonomy.md +33 -33
- package/reference/claude-config/rules/platform.md +42 -42
- package/reference/claude-config/rules/shared-types.md +49 -46
- package/reference/claude-config/rules/task-tracking.md +47 -47
- package/reference/claude-config/rules/ui.md +200 -200
- package/reference/claude-config/rules/vibe.md +235 -231
- package/reference/claude-config/scripts/statusline-command.js +18 -18
- package/reference/claude-config/settings.json +34 -34
- package/reference/claude-config/skills/deploy/{SKILL.md → skill.md} +156 -156
- package/reference/claude-config/skills/dsp/SKILL.md +66 -66
- package/reference/claude-config/skills/elevasis/SKILL.md +235 -235
- package/reference/claude-config/skills/explore/SKILL.md +6 -6
- package/reference/claude-config/skills/git-sync/SKILL.md +126 -126
- package/reference/claude-config/skills/knowledge/SKILL.md +330 -271
- package/reference/claude-config/skills/knowledge/operations/codify-level-a.md +100 -100
- package/reference/claude-config/skills/knowledge/operations/codify-level-b.md +159 -158
- package/reference/claude-config/skills/knowledge/operations/customers.md +109 -109
- package/reference/claude-config/skills/knowledge/operations/features.md +76 -113
- package/reference/claude-config/skills/knowledge/operations/goals.md +118 -118
- package/reference/claude-config/skills/knowledge/operations/identity.md +93 -93
- package/reference/claude-config/skills/knowledge/operations/labels.md +94 -89
- package/reference/claude-config/skills/knowledge/operations/offerings.md +109 -109
- package/reference/claude-config/skills/knowledge/operations/roles.md +99 -99
- package/reference/claude-config/skills/knowledge/operations/techStack.md +30 -30
- package/reference/claude-config/skills/project/SKILL.md +1088 -1088
- package/reference/claude-config/skills/run-ui/SKILL.md +73 -73
- package/reference/claude-config/skills/save/SKILL.md +3 -3
- package/reference/claude-config/skills/setup/SKILL.md +275 -275
- package/reference/claude-config/skills/status/SKILL.md +59 -59
- package/reference/claude-config/skills/submit-request/SKILL.md +180 -180
- package/reference/claude-config/skills/sync/SKILL.md +47 -47
- package/reference/claude-config/skills/tutorial/SKILL.md +259 -259
- package/reference/claude-config/skills/tutorial/progress-template.md +74 -74
- package/reference/claude-config/skills/tutorial/technical.md +1303 -1306
- package/reference/claude-config/skills/tutorial/vibe-coder.md +890 -890
- package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +27 -27
- package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +30 -30
- package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +73 -73
- package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +86 -86
- package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +55 -55
- package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +97 -97
- package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +112 -112
- package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +93 -93
- package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +58 -58
- package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +56 -56
- package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +71 -71
- package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +83 -83
- package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +59 -59
- package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +42 -42
- package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +60 -60
- package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +37 -37
- package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +34 -34
- package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +38 -38
- package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +32 -32
- package/reference/claude-config/sync-notes/2026-05-09-command-system.md +33 -33
- package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +69 -69
- package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +30 -0
- package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +42 -0
- package/reference/claude-config/sync-notes/README.md +43 -43
- package/reference/cli.mdx +808 -668
- package/reference/concepts.mdx +146 -146
- package/reference/deployment/api.mdx +297 -297
- package/reference/deployment/command-center.mdx +209 -209
- package/reference/deployment/index.mdx +195 -195
- package/reference/deployment/provided-features.mdx +107 -93
- package/reference/deployment/ui-execution.mdx +250 -250
- package/reference/examples/organization-model.ts +147 -84
- package/reference/framework/agent.mdx +156 -156
- package/reference/framework/index.mdx +195 -195
- package/reference/framework/interaction-guidance.mdx +182 -182
- package/reference/framework/memory.mdx +326 -326
- package/reference/framework/project-structure.mdx +282 -282
- package/reference/framework/tutorial-system.mdx +135 -135
- package/reference/getting-started.mdx +142 -142
- package/reference/index.mdx +106 -106
- package/reference/packages/core/src/README.md +14 -14
- package/reference/packages/core/src/business/README.md +2 -2
- package/reference/packages/core/src/knowledge/README.md +33 -32
- package/reference/packages/core/src/organization-model/README.md +149 -109
- package/reference/packages/core/src/test-utils/README.md +37 -37
- package/reference/packages/ui/src/api/README.md +18 -18
- package/reference/packages/ui/src/app/README.md +24 -24
- package/reference/packages/ui/src/auth/README.md +18 -18
- package/reference/packages/ui/src/components/README.md +24 -24
- package/reference/packages/ui/src/execution/README.md +16 -16
- package/reference/packages/ui/src/features/README.md +28 -28
- package/reference/packages/ui/src/graph/README.md +16 -16
- package/reference/packages/ui/src/hooks/README.md +23 -23
- package/reference/packages/ui/src/initialization/README.md +19 -19
- package/reference/packages/ui/src/knowledge/README.md +31 -31
- package/reference/packages/ui/src/organization/README.md +18 -18
- package/reference/packages/ui/src/profile/README.md +19 -19
- package/reference/packages/ui/src/provider/README.md +32 -32
- package/reference/packages/ui/src/router/README.md +18 -18
- package/reference/packages/ui/src/sse/README.md +13 -13
- package/reference/packages/ui/src/test-utils/README.md +7 -7
- package/reference/packages/ui/src/theme/README.md +23 -23
- package/reference/packages/ui/src/theme/presets/README.md +19 -19
- package/reference/packages/ui/src/types/README.md +16 -16
- package/reference/packages/ui/src/utils/README.md +18 -18
- package/reference/packages/ui/src/zustand/README.md +18 -18
- package/reference/platform-tools/adapters-integration.mdx +301 -301
- package/reference/platform-tools/adapters-platform.mdx +553 -553
- package/reference/platform-tools/index.mdx +217 -217
- package/reference/platform-tools/type-safety.mdx +82 -82
- package/reference/resources/index.mdx +349 -349
- package/reference/resources/patterns.mdx +449 -449
- package/reference/resources/types.mdx +116 -116
- package/reference/roadmap.mdx +165 -165
- package/reference/runtime.mdx +173 -173
- package/reference/scaffold/core/organization-graph.mdx +110 -89
- package/reference/scaffold/core/organization-model.mdx +226 -171
- package/reference/scaffold/index.mdx +67 -67
- package/reference/scaffold/operations/propagation-pipeline.md +77 -77
- package/reference/scaffold/operations/scaffold-maintenance.md +10 -10
- package/reference/scaffold/operations/workflow-recipes.md +138 -138
- package/reference/scaffold/recipes/add-a-feature.md +310 -88
- package/reference/scaffold/recipes/add-a-resource.md +137 -117
- package/reference/scaffold/recipes/customize-crm-actions.md +439 -439
- package/reference/scaffold/recipes/customize-knowledge-browser.md +384 -0
- package/reference/scaffold/recipes/customize-organization-model.md +281 -118
- package/reference/scaffold/recipes/extend-a-base-entity.md +8 -8
- package/reference/scaffold/recipes/extend-crm.md +40 -39
- package/reference/scaffold/recipes/extend-lead-gen.md +400 -401
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +118 -114
- package/reference/scaffold/recipes/index.md +47 -46
- package/reference/scaffold/recipes/query-the-knowledge-graph.md +227 -0
- package/reference/scaffold/reference/contracts.md +2389 -2121
- package/reference/scaffold/reference/feature-registry.md +9 -20
- package/reference/scaffold/reference/glossary.md +76 -76
- package/reference/scaffold/ui/composition-extensibility.mdx +233 -233
- package/reference/scaffold/ui/customization.md +243 -243
- package/reference/scaffold/ui/feature-flags-and-gating.md +46 -46
- package/reference/scaffold/ui/feature-shell.mdx +72 -72
- package/reference/scaffold/ui/recipes.md +221 -213
- package/reference/spine/spine-primer.md +96 -96
- package/reference/templates/index.mdx +47 -47
- package/reference/troubleshooting.mdx +223 -223
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
# Roles domain
|
|
2
|
-
|
|
3
|
-
The `roles` domain describes who does what inside the organization — a role chart inspired by the
|
|
4
|
-
EOS Accountability Chart but using plain-language field names throughout. Agents use this domain
|
|
5
|
-
for HITL routing, escalation logic, and approval-rights reasoning.
|
|
6
|
-
|
|
7
|
-
Field names are developer-facing; when narrating to users, say "role", "responsibilities",
|
|
8
|
-
"reports to", and "held by". Do not say "seat", "accountability", or "EOS".
|
|
9
|
-
|
|
10
|
-
## Schema
|
|
11
|
-
|
|
12
|
-
Source: `packages/core/src/organization-model/domains/roles.ts`
|
|
13
|
-
|
|
14
|
-
```typescript
|
|
15
|
-
RolesDomainSchema = z.object({
|
|
16
|
-
roles: z.array(RoleSchema).default([])
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
RoleSchema = z.object({
|
|
20
|
-
id: z.string().trim().min(1).max(100), // stable ID, e.g. "role-ceo"
|
|
21
|
-
title: z.string().trim().min(1).max(200), // display title, e.g. "CEO"
|
|
22
|
-
responsibilities: z.array(z.string().trim().max(500)).default([]),// what this role owns
|
|
23
|
-
reportsToId: z.string().trim().min(1).max(100).optional(), // must ref another roles[].id
|
|
24
|
-
heldBy: z.string().trim().max(200).optional() // name or email, free-form
|
|
25
|
-
})
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## Field reference
|
|
29
|
-
|
|
30
|
-
| Field | Type | Max | Notes |
|
|
31
|
-
| ------------------ | -------- | --- | --------------------------------------------------------------- |
|
|
32
|
-
| `id` | string | 100 | Stable key, min 1 char; e.g. `"role-ceo"` |
|
|
33
|
-
| `title` | string | 200 | Display title; min 1 char required |
|
|
34
|
-
| `responsibilities` | string[] | 500 | Each item: one thing this role is accountable for |
|
|
35
|
-
| `reportsToId` | string | 100 | Optional; must reference another `roles[].id` in the collection |
|
|
36
|
-
| `heldBy` | string | 200 | Optional; name or email of the person holding this role |
|
|
37
|
-
|
|
38
|
-
## Validation rules
|
|
39
|
-
|
|
40
|
-
- `reportsToId` (when present) must resolve to another `roles[].id` in the same collection;
|
|
41
|
-
enforced at parse time by `OrganizationModelSchema.superRefine()`
|
|
42
|
-
- Absence of `reportsToId` indicates a top-level role (no reporting line)
|
|
43
|
-
- Cycle detection is not enforced by the schema (known limitation); agents should surface
|
|
44
|
-
obvious cycles (e.g. role A reports to role B which reports to role A)
|
|
45
|
-
- `heldBy` is free-form; no validation beyond max length
|
|
46
|
-
- An empty roles array means no HITL routing or escalation rules are available
|
|
47
|
-
|
|
48
|
-
## Examples
|
|
49
|
-
|
|
50
|
-
```typescript
|
|
51
|
-
roles: {
|
|
52
|
-
roles: [
|
|
53
|
-
{
|
|
54
|
-
id: "role-ceo",
|
|
55
|
-
title: "CEO",
|
|
56
|
-
responsibilities: [
|
|
57
|
-
"Set company direction",
|
|
58
|
-
"Final approval on deals >$10K",
|
|
59
|
-
"Manage investor relations"
|
|
60
|
-
],
|
|
61
|
-
reportsToId: undefined,
|
|
62
|
-
heldBy: "Alice Johnson"
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
id: "role-head-of-client-success",
|
|
66
|
-
title: "Head of Client Success",
|
|
67
|
-
responsibilities: [
|
|
68
|
-
"Own client health scores",
|
|
69
|
-
"Lead quarterly business reviews",
|
|
70
|
-
"Handle escalations"
|
|
71
|
-
],
|
|
72
|
-
reportsToId: "role-ceo",
|
|
73
|
-
heldBy: undefined
|
|
74
|
-
}
|
|
75
|
-
]
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
## Where it lives in the adapter
|
|
80
|
-
|
|
81
|
-
`core/config/organization-model.ts` under the `roles` key of
|
|
82
|
-
`defineOrganizationModel({...})`.
|
|
83
|
-
|
|
84
|
-
To read the current role chart: open the adapter file and inspect the `roles.roles` array, or
|
|
85
|
-
use `pnpm exec elevasis-sdk knowledge:cat roles` (external project).
|
|
86
|
-
|
|
87
|
-
## Write path
|
|
88
|
-
|
|
89
|
-
To add, edit, or remove a role, the `/knowledge` skill runs the codify ceremony
|
|
90
|
-
(`operations/codify-level-a.md`): snapshot → propose → confirm → write → typecheck → Zod parse →
|
|
91
|
-
rollback on failure. Only the `roles` array is written; no other keys in the adapter are touched.
|
|
92
|
-
Before writing, the skill verifies all `reportsToId` references resolve to IDs that will exist
|
|
93
|
-
after the write. When removing a role, the skill surfaces any other roles that `reportsToId` to it
|
|
94
|
-
and asks whether to clear those reporting lines before proceeding.
|
|
95
|
-
|
|
96
|
-
---
|
|
97
|
-
|
|
98
|
-
**Read via `/knowledge`** — natural-language queries like "who is responsible for client
|
|
99
|
-
escalations?" or "list my roles" route to this domain via the skill's intent classifier.
|
|
1
|
+
# Roles domain
|
|
2
|
+
|
|
3
|
+
The `roles` domain describes who does what inside the organization — a role chart inspired by the
|
|
4
|
+
EOS Accountability Chart but using plain-language field names throughout. Agents use this domain
|
|
5
|
+
for HITL routing, escalation logic, and approval-rights reasoning.
|
|
6
|
+
|
|
7
|
+
Field names are developer-facing; when narrating to users, say "role", "responsibilities",
|
|
8
|
+
"reports to", and "held by". Do not say "seat", "accountability", or "EOS".
|
|
9
|
+
|
|
10
|
+
## Schema
|
|
11
|
+
|
|
12
|
+
Source: `packages/core/src/organization-model/domains/roles.ts`
|
|
13
|
+
|
|
14
|
+
```typescript
|
|
15
|
+
RolesDomainSchema = z.object({
|
|
16
|
+
roles: z.array(RoleSchema).default([])
|
|
17
|
+
})
|
|
18
|
+
|
|
19
|
+
RoleSchema = z.object({
|
|
20
|
+
id: z.string().trim().min(1).max(100), // stable ID, e.g. "role-ceo"
|
|
21
|
+
title: z.string().trim().min(1).max(200), // display title, e.g. "CEO"
|
|
22
|
+
responsibilities: z.array(z.string().trim().max(500)).default([]),// what this role owns
|
|
23
|
+
reportsToId: z.string().trim().min(1).max(100).optional(), // must ref another roles[].id
|
|
24
|
+
heldBy: z.string().trim().max(200).optional() // name or email, free-form
|
|
25
|
+
})
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Field reference
|
|
29
|
+
|
|
30
|
+
| Field | Type | Max | Notes |
|
|
31
|
+
| ------------------ | -------- | --- | --------------------------------------------------------------- |
|
|
32
|
+
| `id` | string | 100 | Stable key, min 1 char; e.g. `"role-ceo"` |
|
|
33
|
+
| `title` | string | 200 | Display title; min 1 char required |
|
|
34
|
+
| `responsibilities` | string[] | 500 | Each item: one thing this role is accountable for |
|
|
35
|
+
| `reportsToId` | string | 100 | Optional; must reference another `roles[].id` in the collection |
|
|
36
|
+
| `heldBy` | string | 200 | Optional; name or email of the person holding this role |
|
|
37
|
+
|
|
38
|
+
## Validation rules
|
|
39
|
+
|
|
40
|
+
- `reportsToId` (when present) must resolve to another `roles[].id` in the same collection;
|
|
41
|
+
enforced at parse time by `OrganizationModelSchema.superRefine()`
|
|
42
|
+
- Absence of `reportsToId` indicates a top-level role (no reporting line)
|
|
43
|
+
- Cycle detection is not enforced by the schema (known limitation); agents should surface
|
|
44
|
+
obvious cycles (e.g. role A reports to role B which reports to role A)
|
|
45
|
+
- `heldBy` is free-form; no validation beyond max length
|
|
46
|
+
- An empty roles array means no HITL routing or escalation rules are available
|
|
47
|
+
|
|
48
|
+
## Examples
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
roles: {
|
|
52
|
+
roles: [
|
|
53
|
+
{
|
|
54
|
+
id: "role-ceo",
|
|
55
|
+
title: "CEO",
|
|
56
|
+
responsibilities: [
|
|
57
|
+
"Set company direction",
|
|
58
|
+
"Final approval on deals >$10K",
|
|
59
|
+
"Manage investor relations"
|
|
60
|
+
],
|
|
61
|
+
reportsToId: undefined,
|
|
62
|
+
heldBy: "Alice Johnson"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
id: "role-head-of-client-success",
|
|
66
|
+
title: "Head of Client Success",
|
|
67
|
+
responsibilities: [
|
|
68
|
+
"Own client health scores",
|
|
69
|
+
"Lead quarterly business reviews",
|
|
70
|
+
"Handle escalations"
|
|
71
|
+
],
|
|
72
|
+
reportsToId: "role-ceo",
|
|
73
|
+
heldBy: undefined
|
|
74
|
+
}
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Where it lives in the adapter
|
|
80
|
+
|
|
81
|
+
`core/config/organization-model.ts` under the `roles` key of
|
|
82
|
+
`defineOrganizationModel({...})`.
|
|
83
|
+
|
|
84
|
+
To read the current role chart: open the adapter file and inspect the `roles.roles` array, or
|
|
85
|
+
use `pnpm exec elevasis-sdk knowledge:cat roles` (external project).
|
|
86
|
+
|
|
87
|
+
## Write path
|
|
88
|
+
|
|
89
|
+
To add, edit, or remove a role, the `/knowledge` skill runs the codify ceremony
|
|
90
|
+
(`operations/codify-level-a.md`): snapshot → propose → confirm → write → typecheck → Zod parse →
|
|
91
|
+
rollback on failure. Only the `roles` array is written; no other keys in the adapter are touched.
|
|
92
|
+
Before writing, the skill verifies all `reportsToId` references resolve to IDs that will exist
|
|
93
|
+
after the write. When removing a role, the skill surfaces any other roles that `reportsToId` to it
|
|
94
|
+
and asks whether to clear those reporting lines before proceeding.
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
**Read via `/knowledge`** — natural-language queries like "who is responsible for client
|
|
99
|
+
escalations?" or "list my roles" route to this domain via the skill's intent classifier.
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
# TechStack Context
|
|
2
|
-
|
|
3
|
-
Tech stack information is no longer modeled through `resourceMappings`. Resource identity and governance metadata live in OM Resources descriptors under `organizationModel.resources
|
|
4
|
-
|
|
5
|
-
## Current Resource-Governance Contract
|
|
6
|
-
|
|
7
|
-
- Resource IDs are authored once in `core/config/organization-model.ts`.
|
|
8
|
-
- Runtime workflows, agents, and integrations derive `resourceId` / `type` from OM descriptors during deployment assembly.
|
|
9
|
-
- `DeploymentSpec` remains the runtime/deploy bundle, not an independent identity catalog.
|
|
10
|
-
- `pnpm -C operations check` validates descriptor/code alignment before deploy.
|
|
11
|
-
|
|
12
|
-
## Where To Look
|
|
13
|
-
|
|
14
|
-
- `core/config/organization-model.ts` -- Systems and Resources descriptors.
|
|
15
|
-
- `operations/src/index.ts` -- deployment assembly that binds executable behavior to descriptors.
|
|
16
|
-
- `pnpm elevasis-sdk project:list --pretty` -- live deployed resource surface.
|
|
17
|
-
- Project knowledge nodes -- narrative details such as credential owner, setup notes, and system-of-record rationale when they do not fit the descriptor shape.
|
|
18
|
-
|
|
19
|
-
## Write Path
|
|
20
|
-
|
|
21
|
-
When the user wants to document or change integration ownership, credential status, or system-of-record context:
|
|
22
|
-
|
|
23
|
-
1. Inspect `core/config/organization-model.ts` for the relevant integration Resource descriptor.
|
|
24
|
-
2. If the descriptor identity, System membership, owner role, or status is wrong, update the descriptor through the `/knowledge` ceremony where possible.
|
|
25
|
-
3. If the requested detail is operational narrative rather than descriptor schema, capture it in a knowledge node or project documentation instead of recreating `resourceMappings`.
|
|
26
|
-
4. Run `pnpm -C operations check` after descriptor or deployment assembly changes.
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
**Read via `/knowledge`** -- natural-language queries like "what integrations are configured?" or "is HubSpot our system of record for contacts?" route here for inspection and recommendation.
|
|
1
|
+
# TechStack Context
|
|
2
|
+
|
|
3
|
+
Tech stack information is no longer modeled through `resourceMappings`. Resource identity and governance metadata live in OM Resources descriptors under the id-keyed `organizationModel.resources` map; external platform context belongs on the relevant integration descriptor or in project knowledge when the descriptor schema does not expose a dedicated field yet.
|
|
4
|
+
|
|
5
|
+
## Current Resource-Governance Contract
|
|
6
|
+
|
|
7
|
+
- Resource IDs are authored once in `core/config/organization-model.ts`.
|
|
8
|
+
- Runtime workflows, agents, and integrations derive `resourceId` / `type` from OM descriptors during deployment assembly.
|
|
9
|
+
- `DeploymentSpec` remains the runtime/deploy bundle, not an independent identity catalog.
|
|
10
|
+
- `pnpm -C operations check` validates descriptor/code alignment before deploy.
|
|
11
|
+
|
|
12
|
+
## Where To Look
|
|
13
|
+
|
|
14
|
+
- `core/config/organization-model.ts` -- Systems and Resources descriptors.
|
|
15
|
+
- `operations/src/index.ts` -- deployment assembly that binds executable behavior to descriptors.
|
|
16
|
+
- `pnpm elevasis-sdk project:list --pretty` -- live deployed resource surface.
|
|
17
|
+
- Project knowledge nodes -- narrative details such as credential owner, setup notes, and system-of-record rationale when they do not fit the descriptor shape.
|
|
18
|
+
|
|
19
|
+
## Write Path
|
|
20
|
+
|
|
21
|
+
When the user wants to document or change integration ownership, credential status, or system-of-record context:
|
|
22
|
+
|
|
23
|
+
1. Inspect `core/config/organization-model.ts` for the relevant integration Resource descriptor.
|
|
24
|
+
2. If the descriptor identity, System membership, owner role, or status is wrong, update the descriptor through the `/knowledge` ceremony where possible.
|
|
25
|
+
3. If the requested detail is operational narrative rather than descriptor schema, capture it in a knowledge node or project documentation instead of recreating `resourceMappings`.
|
|
26
|
+
4. Run `pnpm -C operations check` after descriptor or deployment assembly changes.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
**Read via `/knowledge`** -- natural-language queries like "what integrations are configured?" or "is HubSpot our system of record for contacts?" route here for inspection and recommendation.
|