@elevasis/sdk 1.44.3 → 1.46.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 (259) hide show
  1. package/dist/cli.cjs +35026 -30226
  2. package/dist/index.d.ts +1786 -808
  3. package/dist/index.js +789 -739
  4. package/dist/node/index.d.ts +105 -181
  5. package/dist/node/index.js +2 -2
  6. package/dist/test-utils/index.d.ts +901 -359
  7. package/dist/test-utils/index.js +587 -824
  8. package/dist/worker/index.d.ts +12685 -0
  9. package/dist/worker/index.js +188 -216
  10. package/package.json +4 -7
  11. package/reference/_navigation.md +161 -22
  12. package/reference/_reference-manifest.json +228 -4
  13. package/reference/claude-config.md +8 -0
  14. package/reference/core/exports.mdx +2 -0
  15. package/reference/core/index.mdx +3 -3
  16. package/reference/examples/organization-model.ts +117 -111
  17. package/reference/index.mdx +4 -4
  18. package/reference/packages/core/src/business/README.md +4 -1
  19. package/reference/packages/core/src/content/README.md +19 -0
  20. package/reference/packages/core/src/organization-model/README.md +148 -149
  21. package/reference/packages/core/src/organization-model/readiness/README.md +42 -0
  22. package/reference/packages/ui/src/features/README.md +28 -28
  23. package/reference/rules/active-change-index.md +40 -54
  24. package/reference/rules/agent-runtime.md +81 -0
  25. package/reference/rules/agent-start-here.md +71 -163
  26. package/reference/rules/deployment.md +33 -10
  27. package/reference/rules/error-handling.md +26 -0
  28. package/reference/rules/execution.md +13 -0
  29. package/reference/rules/frontend.md +10 -3
  30. package/reference/rules/observability.md +9 -1
  31. package/reference/rules/operations.md +26 -17
  32. package/reference/rules/organization-model.md +74 -88
  33. package/reference/rules/organization-os.md +71 -88
  34. package/reference/rules/package-taxonomy.md +11 -2
  35. package/reference/rules/platform.md +13 -7
  36. package/reference/rules/shared-types.md +36 -0
  37. package/reference/rules/task-tracking.md +30 -5
  38. package/reference/rules/ui.md +145 -3
  39. package/reference/rules/vibe-intents.md +271 -0
  40. package/reference/rules/vibe.md +17 -243
  41. package/reference/scaffold/core/organization-graph.mdx +112 -99
  42. package/reference/scaffold/core/organization-model.mdx +231 -215
  43. package/reference/scaffold/operations/propagation-pipeline.md +16 -17
  44. package/reference/scaffold/operations/scaffold-maintenance.md +22 -20
  45. package/reference/scaffold/operations/workflow-recipes.md +72 -20
  46. package/reference/scaffold/recipes/add-a-feature.md +156 -146
  47. package/reference/scaffold/recipes/add-a-resource.md +123 -117
  48. package/reference/scaffold/recipes/customize-crm-actions.md +28 -13
  49. package/reference/scaffold/recipes/customize-knowledge-browser.md +52 -117
  50. package/reference/scaffold/recipes/customize-organization-model.md +161 -149
  51. package/reference/scaffold/recipes/extend-a-base-entity.md +156 -140
  52. package/reference/scaffold/recipes/extend-content.md +265 -0
  53. package/reference/scaffold/recipes/extend-crm.md +16 -11
  54. package/reference/scaffold/recipes/extend-lead-gen.md +37 -21
  55. package/reference/scaffold/recipes/gate-by-feature-or-admin.md +160 -118
  56. package/reference/scaffold/recipes/index.md +6 -3
  57. package/reference/scaffold/recipes/query-the-knowledge-graph.md +23 -23
  58. package/reference/scaffold/reference/contracts.md +30 -56
  59. package/reference/scaffold/reference/feature-registry.md +3 -0
  60. package/reference/scaffold/reference/glossary.md +4 -4
  61. package/reference/scaffold/reference/system-interface-capabilities.md +5 -4
  62. package/reference/scaffold/ui/composition-extensibility.mdx +271 -232
  63. package/reference/scaffold/ui/customization.md +2 -2
  64. package/reference/scaffold/ui/feature-flags-and-gating.md +14 -6
  65. package/reference/scaffold/ui/feature-shell.mdx +277 -62
  66. package/reference/scaffold/ui/recipes.md +229 -197
  67. package/reference/sdk/cli-management.mdx +166 -33
  68. package/reference/sdk/cli.mdx +90 -13
  69. package/reference/sdk/concepts.mdx +2 -0
  70. package/reference/sdk/define-builders.mdx +76 -0
  71. package/reference/sdk/deployment/command-center.mdx +6 -2
  72. package/reference/sdk/deployment/execution-reference.mdx +64 -186
  73. package/reference/sdk/deployment/index.mdx +2 -0
  74. package/reference/sdk/exports.mdx +4 -4
  75. package/reference/sdk/framework/agent.mdx +52 -116
  76. package/reference/sdk/framework/index.mdx +46 -65
  77. package/reference/sdk/framework/project-structure.mdx +150 -205
  78. package/reference/sdk/framework/tutorial-system.mdx +2 -2
  79. package/reference/sdk/human-in-the-loop.mdx +152 -0
  80. package/reference/sdk/index.mdx +6 -7
  81. package/reference/sdk/platform-tools/adapters-platform.mdx +3 -1
  82. package/reference/sdk/platform-tools/index.mdx +12 -0
  83. package/reference/sdk/platform-tools/type-safety.mdx +4 -0
  84. package/reference/sdk/project-deployment-spec.mdx +131 -0
  85. package/reference/sdk/resources/index.mdx +21 -7
  86. package/reference/sdk/resources/patterns.mdx +54 -24
  87. package/reference/sdk/resources/types.mdx +7 -4
  88. package/reference/sdk/templates/data-enrichment.mdx +7 -3
  89. package/reference/sdk/templates/email-sender.mdx +139 -135
  90. package/reference/sdk/templates/lead-scorer.mdx +5 -1
  91. package/reference/sdk/templates/pdf-generator.mdx +155 -151
  92. package/reference/sdk/templates/recurring-job.mdx +195 -189
  93. package/reference/sdk/templates/text-classifier.mdx +4 -0
  94. package/reference/sdk/templates/web-scraper.mdx +139 -135
  95. package/reference/spine/spine-primer.md +135 -96
  96. package/reference/ui/exports.mdx +1 -0
  97. package/reference/ui/index.mdx +14 -7
  98. package/dist/types/worker/adapters/anymailfinder.d.ts +0 -14
  99. package/dist/types/worker/adapters/apify.d.ts +0 -14
  100. package/dist/types/worker/adapters/approval.d.ts +0 -23
  101. package/dist/types/worker/adapters/attio.d.ts +0 -22
  102. package/dist/types/worker/adapters/clickup.d.ts +0 -22
  103. package/dist/types/worker/adapters/create-adapter.d.ts +0 -41
  104. package/dist/types/worker/adapters/crm.d.ts +0 -20
  105. package/dist/types/worker/adapters/dropbox.d.ts +0 -14
  106. package/dist/types/worker/adapters/email.d.ts +0 -25
  107. package/dist/types/worker/adapters/execution.d.ts +0 -22
  108. package/dist/types/worker/adapters/gmail.d.ts +0 -14
  109. package/dist/types/worker/adapters/google-sheets.d.ts +0 -14
  110. package/dist/types/worker/adapters/index.d.ts +0 -33
  111. package/dist/types/worker/adapters/instantly.d.ts +0 -14
  112. package/dist/types/worker/adapters/lead.d.ts +0 -28
  113. package/dist/types/worker/adapters/list.d.ts +0 -9
  114. package/dist/types/worker/adapters/llm.d.ts +0 -45
  115. package/dist/types/worker/adapters/millionverifier.d.ts +0 -14
  116. package/dist/types/worker/adapters/notification.d.ts +0 -28
  117. package/dist/types/worker/adapters/pdf.d.ts +0 -22
  118. package/dist/types/worker/adapters/projects.d.ts +0 -20
  119. package/dist/types/worker/adapters/resend.d.ts +0 -14
  120. package/dist/types/worker/adapters/scheduler.d.ts +0 -25
  121. package/dist/types/worker/adapters/signature-api.d.ts +0 -14
  122. package/dist/types/worker/adapters/storage.d.ts +0 -33
  123. package/dist/types/worker/adapters/stripe.d.ts +0 -14
  124. package/dist/types/worker/adapters/tomba.d.ts +0 -14
  125. package/dist/types/worker/index.d.ts +0 -60
  126. package/dist/types/worker/platform.d.ts +0 -90
  127. package/dist/types/worker/utils.d.ts +0 -9
  128. package/reference/claude-config/Overview.md +0 -230
  129. package/reference/claude-config/hooks/post-edit-validate.mjs +0 -98
  130. package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +0 -187
  131. package/reference/claude-config/hooks/tool-failure-recovery.mjs +0 -73
  132. package/reference/claude-config/registries/graph-skills.json +0 -4
  133. package/reference/claude-config/registries/knowledge-flags.json +0 -154
  134. package/reference/claude-config/registries/skill-coverage.json +0 -20
  135. package/reference/claude-config/rules/active-change-index.md +0 -22
  136. package/reference/claude-config/rules/agent-start-here.md +0 -22
  137. package/reference/claude-config/rules/deployment.md +0 -22
  138. package/reference/claude-config/rules/error-handling.md +0 -22
  139. package/reference/claude-config/rules/execution.md +0 -22
  140. package/reference/claude-config/rules/frontend.md +0 -22
  141. package/reference/claude-config/rules/observability.md +0 -22
  142. package/reference/claude-config/rules/operations.md +0 -22
  143. package/reference/claude-config/rules/organization-model.md +0 -22
  144. package/reference/claude-config/rules/organization-os.md +0 -22
  145. package/reference/claude-config/rules/package-taxonomy.md +0 -22
  146. package/reference/claude-config/rules/platform.md +0 -22
  147. package/reference/claude-config/rules/shared-types.md +0 -22
  148. package/reference/claude-config/rules/task-tracking.md +0 -22
  149. package/reference/claude-config/rules/topbar-actions.md +0 -70
  150. package/reference/claude-config/rules/ui.md +0 -22
  151. package/reference/claude-config/rules/vibe.md +0 -22
  152. package/reference/claude-config/scripts/statusline-command.js +0 -18
  153. package/reference/claude-config/settings.json +0 -30
  154. package/reference/claude-config/skills/client/SKILL.md +0 -201
  155. package/reference/claude-config/skills/deploy/SKILL.md +0 -159
  156. package/reference/claude-config/skills/dsp/SKILL.md +0 -66
  157. package/reference/claude-config/skills/elevasis/SKILL.md +0 -251
  158. package/reference/claude-config/skills/explore/SKILL.md +0 -78
  159. package/reference/claude-config/skills/git-sync/SKILL.md +0 -166
  160. package/reference/claude-config/skills/om/SKILL.md +0 -475
  161. package/reference/claude-config/skills/om/operations/build.md +0 -237
  162. package/reference/claude-config/skills/om/operations/codify-level-a.md +0 -109
  163. package/reference/claude-config/skills/om/operations/codify-level-b.md +0 -159
  164. package/reference/claude-config/skills/om/operations/customers.md +0 -114
  165. package/reference/claude-config/skills/om/operations/features.md +0 -88
  166. package/reference/claude-config/skills/om/operations/goals.md +0 -123
  167. package/reference/claude-config/skills/om/operations/identity.md +0 -97
  168. package/reference/claude-config/skills/om/operations/labels.md +0 -110
  169. package/reference/claude-config/skills/om/operations/offerings.md +0 -114
  170. package/reference/claude-config/skills/om/operations/roles.md +0 -104
  171. package/reference/claude-config/skills/om/operations/scaffold.md +0 -163
  172. package/reference/claude-config/skills/om/operations/techStack.md +0 -38
  173. package/reference/claude-config/skills/project/SKILL.md +0 -1114
  174. package/reference/claude-config/skills/run-ui/SKILL.md +0 -73
  175. package/reference/claude-config/skills/save/SKILL.md +0 -183
  176. package/reference/claude-config/skills/setup/SKILL.md +0 -290
  177. package/reference/claude-config/skills/status/SKILL.md +0 -59
  178. package/reference/claude-config/skills/submit-request/SKILL.md +0 -180
  179. package/reference/claude-config/skills/sync/SKILL.md +0 -47
  180. package/reference/claude-config/skills/tutorial/SKILL.md +0 -259
  181. package/reference/claude-config/skills/tutorial/progress-template.md +0 -74
  182. package/reference/claude-config/skills/tutorial/technical.md +0 -1303
  183. package/reference/claude-config/skills/tutorial/vibe-coder.md +0 -890
  184. package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +0 -27
  185. package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +0 -30
  186. package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +0 -73
  187. package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +0 -86
  188. package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +0 -55
  189. package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +0 -97
  190. package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +0 -112
  191. package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +0 -93
  192. package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +0 -58
  193. package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +0 -56
  194. package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +0 -71
  195. package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +0 -83
  196. package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +0 -59
  197. package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +0 -42
  198. package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +0 -60
  199. package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +0 -37
  200. package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +0 -34
  201. package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +0 -38
  202. package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +0 -32
  203. package/reference/claude-config/sync-notes/2026-05-09-command-system.md +0 -33
  204. package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +0 -69
  205. package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +0 -30
  206. package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +0 -45
  207. package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +0 -52
  208. package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +0 -33
  209. package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +0 -32
  210. package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +0 -43
  211. package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +0 -40
  212. package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +0 -61
  213. package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +0 -49
  214. package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +0 -31
  215. package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +0 -42
  216. package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +0 -33
  217. package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +0 -37
  218. package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +0 -28
  219. package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +0 -43
  220. package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +0 -26
  221. package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +0 -33
  222. package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +0 -35
  223. package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +0 -49
  224. package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +0 -47
  225. package/reference/claude-config/sync-notes/2026-05-28-om-snapshot-sdk-workflow-config.md +0 -33
  226. package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +0 -39
  227. package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +0 -27
  228. package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +0 -45
  229. package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +0 -34
  230. package/reference/claude-config/sync-notes/2026-06-04-scaffold-registry-lane-severity.md +0 -34
  231. package/reference/claude-config/sync-notes/2026-06-05-appearance-app-mode-decouple.md +0 -29
  232. package/reference/claude-config/sync-notes/2026-06-05-ontology-endpoint-rename-and-knowledge-browser-ui.md +0 -86
  233. package/reference/claude-config/sync-notes/2026-06-06-om-build-systems-scaffold.md +0 -47
  234. package/reference/claude-config/sync-notes/2026-06-06-om-item-copy-references.md +0 -50
  235. package/reference/claude-config/sync-notes/2026-06-08-knowledge-base-page-not-found-fix.md +0 -76
  236. package/reference/claude-config/sync-notes/2026-06-09-agent-sessions-public-agent-chat-route.md +0 -75
  237. package/reference/claude-config/sync-notes/2026-06-09-sdk-cli-load-org-model-resolution.md +0 -42
  238. package/reference/claude-config/sync-notes/2026-06-12-agent-grants-visualizer-operations.md +0 -30
  239. package/reference/claude-config/sync-notes/2026-06-14-session-ux-and-project-cli-json.md +0 -33
  240. package/reference/claude-config/sync-notes/2026-06-14-shared-session-conversation-view.md +0 -26
  241. package/reference/claude-config/sync-notes/2026-06-15-session-chat-zero-wiring.md +0 -46
  242. package/reference/claude-config/sync-notes/2026-06-17-agent-session-ux-features.md +0 -34
  243. package/reference/claude-config/sync-notes/2026-06-25-shared-page-scroll-contract-guard.md +0 -52
  244. package/reference/claude-config/sync-notes/2026-06-26-leadgen-overview-om-telemetry.md +0 -47
  245. package/reference/claude-config/sync-notes/2026-07-21-agent-scaffold-hardening.md +0 -75
  246. package/reference/claude-config/sync-notes/2026-07-23-agent-session-memory.md +0 -49
  247. package/reference/claude-config/sync-notes/2026-07-23-workos-org-marker.md +0 -50
  248. package/reference/claude-config/sync-notes/2026-07-24-claude-5-models-and-session-surface-fixes.md +0 -116
  249. package/reference/claude-config/sync-notes/2026-07-27-agent-strict-output-and-turn-drift.md +0 -73
  250. package/reference/claude-config/sync-notes/2026-07-28-agent-reply-is-its-own-field.md +0 -84
  251. package/reference/claude-config/sync-notes/2026-07-30-login-screen-and-member-provisioning-state.md +0 -114
  252. package/reference/claude-config/sync-notes/2026-08-02-auth-guard-defaults-and-truncation-fix.md +0 -122
  253. package/reference/claude-config/sync-notes/2026-08-03-agent-prose-escape-normalization.md +0 -88
  254. package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md +0 -120
  255. package/reference/claude-config/sync-notes/README.md +0 -43
  256. package/reference/sdk/framework/interaction-guidance.mdx +0 -182
  257. package/reference/sdk/framework/memory.mdx +0 -326
  258. package/reference/sdk/framework/resource-documentation.mdx +0 -90
  259. package/reference/sdk/roadmap.mdx +0 -164
@@ -1,88 +0,0 @@
1
- # Agent prose is repaired before it is stored
2
-
3
- ## Why this note exists
4
-
5
- **Your agents have been writing the two characters `\n` into their replies where a line break
6
- belongs, and `\"` where a quotation mark belongs.** The operator reads `\n\n` in the middle of a
7
- sentence, and the stored transcript keeps those characters forever.
8
-
9
- Measured on 2026-08-03 across four 14-turn production sessions on a live tenant agent — 56 assistant
10
- replies:
11
-
12
- | Surface | Rows | Rows affected | Literal `\n` | Literal `\"` |
13
- | ----------- | ---- | ------------- | ------------ | ------------ |
14
- | `message` | 56 | 28 | 111 | 146 |
15
- | `reasoning` | 56 | 1 | 4 | 0 |
16
-
17
- Half the replies were affected. This is a different defect from the em-dash corruption in
18
- `2026-07-28-agent-reply-is-its-own-field.md`, and that fix still holds — em-dashes were clean across
19
- all 56 replies here. This one is on the field that fix created.
20
-
21
- **The model is choosing the wrong characters, not the wrong encoding.** Three replies carried one
22
- paragraph break written as real newlines and another written as the two characters, inside the
23
- _same string_. No serialization layer produces that — a layer that escapes, escapes everything. So
24
- there is nothing to wait for on the provider side: the output is valid JSON, it satisfies the
25
- response schema, and no parser can tell the difference.
26
-
27
- **It also feeds back.** Assistant text is replayed verbatim into the next turn as trusted context,
28
- so a damaged reply becomes evidence to the model of how this agent writes.
29
-
30
- The runtime now repairs it deterministically at the single point where model output is validated —
31
- upstream of persist, stream, render, and replay. `\n`, `\r\n`, `\t`, and `\"` are converted to the
32
- characters they denote in `message`, in `reasoning`, and in session-memory values.
33
-
34
- ## Applies to
35
-
36
- - **Every agent, not only session-capable ones.** `reasoning` and `memoryOps` are normalized on all
37
- agents; `message` on the ones that have it.
38
- - **Session memory especially.** A stored memory value is re-sent on every iteration of every
39
- later turn and never ages out, so one literal escape stored there is one the model re-reads for
40
- the life of the session. This surface had never been measured before this train.
41
- - **No agent definition changes are required.** You do not edit your agents. The repair lives in the
42
- runtime your bundle carries.
43
-
44
- ## Two behaviors worth knowing
45
-
46
- 1. **The normalizer is not markdown-aware.** A fenced code block or inline span containing a literal
47
- `\n` **is** converted. This was a deliberate trade: a reply whose line breaks are all literal has
48
- no line structure for a fence to start on, so the replies most in need of repair are exactly the
49
- ones a fence scan would fail to parse. If you run an agent that discusses escape sequences or
50
- regexes in its user-facing prose, this is the case to check.
51
- 2. **A doubled backslash is left alone**, and JSON-shaped memory values are skipped entirely — so a
52
- stored JSON blob keeps its internal escaping and still parses.
53
-
54
- ## Required actions
55
-
56
- 1. **Take the `@elevasis/sdk` baseline bump** this train propagates, then reinstall in `operations/`
57
- so the new worker bundle is present.
58
- 2. **Redeploy your operations bundle.** This is the step that closes the defect. The agent loop is
59
- inlined into your deployed bundle, so an existing deployment keeps emitting damaged prose until
60
- it is redeployed:
61
-
62
- ```bash
63
- pnpm -C operations exec elevasis-sdk deploy --prod
64
- ```
65
-
66
- A platform-side deploy does not fix this for you, and neither does the reinstall on its own.
67
-
68
- 3. **Do not treat existing transcripts as clean.** No backfill is performed. Replies and memory
69
- snapshots written before your redeploy keep the literal escapes they already have. Memory
70
- snapshots in particular are live agent state, and rewriting them mid-session was judged riskier
71
- than the damage.
72
-
73
- ## Verification
74
-
75
- - Run a multi-turn session and ask for a reply with paragraph structure — a short summary in two or
76
- three paragraphs is enough. Read the reply: the signature failure is a visible `\n\n` between
77
- sentences, or a quotation mark rendered as `\"`.
78
- - **Check a reply containing quoted speech.** Quote escapes were the larger surface (146 of 257
79
- measured occurrences), and one measured reply carried six of them with no newline escapes at all —
80
- so a reply can be damaged purely on quotes and look fine structurally.
81
- - If your agent declares `memoryPreferences`, run enough turns for it to write session memory, then
82
- confirm a stored value comes back with real line breaks rather than literal ones.
83
-
84
- ## Not handled by /git-sync
85
-
86
- - **The redeploy.** `/git-sync` commits and pushes the propagated dependency baseline. Your deployed
87
- agents keep producing damaged prose until you run action 2 above.
88
- - **Repairing existing transcripts or memory snapshots.** No backfill is performed, by decision.
@@ -1,120 +0,0 @@
1
- # Your CLI now explains a 502 instead of just reporting one, and no request hangs forever
2
-
3
- ## Why this note exists
4
-
5
- This train publishes one package — `@elevasis/sdk` — and every change in it is in the CLI you type
6
- commands into. Nothing about your workflows, organization model, or UI moves. But the CLI's failure
7
- messages change, and one of them changes in a way that is meant to stop you doing something harmful.
8
-
9
- **1. A gateway failure now tells you the work may still be running, and how to check.** Until now
10
- every non-2xx response produced the same shape: `API request failed (502)`. That message is
11
- technically accurate and practically dangerous, because the most natural reaction to it is to run the
12
- command again.
13
-
14
- A 502, 503, or 504 does not come from the platform API. It comes from a hop in front of it that ended
15
- your connection while the API was still working. The request you sent may have completed in full. We
16
- found this the hard way: a session turn returned 502 to the CLI after 300 seconds, and a later
17
- database query showed the turn had **completed successfully server-side in 319.8 seconds** with a
18
- model reply written and no error of any kind. The only thing that failed was the connection carrying
19
- the answer back. It was turn 14 of a 14-turn run — re-running blind would have executed that turn a
20
- second time.
21
-
22
- The new message says the proxy ended the connection, that this is not the API rejecting your request,
23
- that the work may still be running, and which command to use to look for a result before re-running.
24
-
25
- **2. Every CLI request is now bounded by a timeout, defaulting to 2 hours.** Before, the CLI used a
26
- bare `fetch()` with no signal, so a connection that stalled would sit there indefinitely with no
27
- output. The limit is deliberately set high — it matches the server's own socket budget on long routes.
28
- The goal is to bound an indefinite hang, not to police how long your work may take. Anything shorter
29
- would make the CLI give up on executions the API is still legitimately serving, turning a working long
30
- run into a reported failure. Override it with `ELEVASIS_CLI_TIMEOUT_MS` if you have a reason to.
31
-
32
- **3. "Timed out" and "never reached the API" are now different messages.** A bare `fetch()` rejection
33
- carries no status, so a dead port, a wrong API URL, and a stalled connection were indistinguishable.
34
- They now read differently.
35
-
36
- **4. The friendly authentication message now applies to every verb.** A 401 on `GET` printed a clear
37
- "check your platform key" message; a 401 on `POST`, `PATCH`, or `DELETE` printed the raw response
38
- body. All four now share the same message.
39
-
40
- **5. Three dead exports were removed from the agent memory surface.** `MEMORY_DOMAINS.ACTION_OWNED`
41
- was an empty array, `isActionOwnedKey` returned `false` for every input, and the `ActionOwnedKey` type
42
- resolved to `never`. They are gone. The live half of that layer is unchanged and still enforced: an
43
- agent still cannot write to a tool-owned memory key. If your project imports any of the three removed
44
- names, it was importing something that could never do anything — but the import will now fail, so it
45
- is worth a grep.
46
-
47
- ## Applies to
48
-
49
- - **Every project that uses the `elevasis-sdk` CLI**, which is every template-family project. Items 1
50
- through 4 arrive with the baseline bump and need no source edit from you.
51
- - **Any script or CI job that parses CLI stderr.** The gateway, timeout, and transport messages are
52
- new text. If something greps for `API request failed`, check it.
53
- - **Any project importing `ACTION_OWNED`, `isActionOwnedKey`, or `ActionOwnedKey`** from the SDK, for
54
- item 5. We found no such import in any template-family project, but only you can see out-of-tree
55
- code.
56
- - **Not applicable to your organization model, knowledge nodes, workflows, or UI.** Nothing in this
57
- train touches authored content or any rendered surface.
58
-
59
- ## Required actions
60
-
61
- 1. **Take the `@elevasis/sdk` baseline bump** this train propagates, then reinstall in `operations/`:
62
-
63
- ```bash
64
- pnpm -C operations install
65
- ```
66
-
67
- 2. **Grep for the three removed memory exports** before you deploy. This is the only change in the
68
- train that can break a build, and it is cheap to rule out:
69
-
70
- ```bash
71
- grep -rn "ACTION_OWNED\|isActionOwnedKey\|ActionOwnedKey" operations/src core/config
72
- ```
73
-
74
- No output means item 5 does not affect you.
75
-
76
- 3. **Redeploy `operations/`.** The baseline bump changes what your next bundle contains; it does not
77
- change what is already deployed:
78
-
79
- ```bash
80
- pnpm -C operations exec elevasis-sdk deploy
81
- ```
82
-
83
- 4. **Check any script that matches on CLI error text.** If you have automation that branches on
84
- `API request failed`, it will no longer match a gateway failure.
85
-
86
- ## Verification
87
-
88
- - **Read the installed bundle, not the version number.** A bumped pin and a green sync report are
89
- claims about intent; the installed file is the only ground truth:
90
-
91
- ```bash
92
- grep -c "GATEWAY_STATUSES" operations/node_modules/@elevasis/sdk/dist/cli.cjs
93
- grep -c "ACTION_OWNED" operations/node_modules/@elevasis/sdk/dist/worker/index.js
94
- ```
95
-
96
- The first must be non-zero and the second must be `0`. Either result the other way means the
97
- install did not land, regardless of what `package.json` says.
98
-
99
- - **Provoke a transport failure and read the message.** The cheapest honest check that the new
100
- branches are live, because it needs no broken server:
101
-
102
- ```bash
103
- ELEVASIS_API_URL=http://localhost:9 pnpm -C operations exec elevasis-sdk list
104
- ```
105
-
106
- You should get a message naming the endpoint and saying the request never reached the API — not a
107
- bare `fetch failed`.
108
-
109
- - **Confirm the timeout is configurable.** Setting `ELEVASIS_CLI_TIMEOUT_MS=1` on any command should
110
- produce a timeout message that quotes the limit back to you.
111
-
112
- ## Not handled by /git-sync
113
-
114
- - **The `operations/` reinstall.** `/git-sync` propagates and commits the dependency baseline. The
115
- `node_modules` copy your CLI actually executes is not updated until you run `pnpm install` yourself,
116
- and the CLI will keep printing the old messages until you do.
117
- - **The `operations/` redeploy.** Bumping the `@elevasis/sdk` pin changes what your next bundle
118
- contains. Your currently deployed workers keep running the old bundle until you deploy.
119
- - **The grep for the removed memory exports.** Nothing can detect an out-of-tree import for you.
120
- - **Updating scripts that match on CLI error text.** The sync cannot see your automation.
@@ -1,43 +0,0 @@
1
- # Sync Notes
2
-
3
- Template-owned downstream migration guidance lives in this directory.
4
-
5
- ## File Contract
6
-
7
- - Operative note files must be named `YYYY-MM-DD-<slug>.md`
8
- - `README.md` explains the contract and is ignored by `/git-sync`
9
- - Notes are append-only. Add a new dated file for each downstream-affecting release train instead of rewriting an older note
10
-
11
- ## When A Note Is Mandatory
12
-
13
- Add a new operative note whenever a train affects derived projects beyond a normal pull, install, and baseline verify. Common triggers:
14
-
15
- - template dependency-baseline changes
16
- - scaffold or sync-contract changes
17
- - rename or migration work
18
- - verifier or behavior changes that downstream maintainers need to understand
19
- - any release train that will ask maintainers to do manual follow-up after pulling
20
-
21
- ## Required Sections
22
-
23
- Every operative note must include these exact headings:
24
-
25
- ## Why this note exists
26
-
27
- Explain what changed and why downstream maintainers are seeing this note.
28
-
29
- ## Applies to
30
-
31
- State which projects, app modes, or versions need the follow-up.
32
-
33
- ## Required actions
34
-
35
- List the manual work maintainers need to do after `/git-sync`.
36
-
37
- ## Verification
38
-
39
- List the commands or flows that confirm the migration landed correctly.
40
-
41
- ## Not handled by /git-sync
42
-
43
- Call out what remains manual so maintainers do not assume the pull/install/verify flow reconciled everything.
@@ -1,182 +0,0 @@
1
- ---
2
- title: "Interaction Guidance"
3
- description: "Full dimensional adaptation rules per skill axis -- platform navigation, API integration, automation concepts, domain expertise -- with growth tracking protocol"
4
- loadWhen: "Unsure how to adapt for a skill combination"
5
- ---
6
-
7
- This reference defines how to adapt every interaction based on the dimensions in `.claude/memory/profile/skills.md`. Read it when the compact directive in CLAUDE.md is not enough to decide how to handle an unusual skill combination.
8
-
9
- ---
10
-
11
- ## Skill Dimensions
12
-
13
- The user profile stores four independent skill dimensions. Each dimension has its own adaptation rules. Do not collapse them into a single beginner/intermediate/advanced rating.
14
-
15
- ### Platform Navigation (none / oriented / comfortable)
16
-
17
- **none** -- Never used the Command Center. Does not know where pages are.
18
-
19
- - Walk through each page step by step before directing the user there
20
- - Provide exact navigation paths (e.g., "Open the Command Center, then click Execution Runner in the left sidebar")
21
- - Explain what each page does before asking them to use it
22
- - Do not assume they can find a page by name alone
23
-
24
- **oriented** -- Has explored the Command Center, knows the main sections.
25
-
26
- - Reference pages by name (Execution Runner, Command Queue, Task Scheduler)
27
- - Briefly remind the user what a page does on first mention in a session
28
- - Trust them to navigate once you name the destination
29
-
30
- **comfortable** -- Regularly uses the Command Center without guidance.
31
-
32
- - Reference pages by name only, no reminders needed
33
- - Focus on advanced filtering, schedule types, and log detail navigation
34
- - Trust them to explore and navigate independently
35
-
36
- ---
37
-
38
- ### API and Integration (none / basic / proficient)
39
-
40
- **none** -- Has not called an API directly. Uses tools with built-in integrations.
41
-
42
- - Explain what credentials are and why they exist before any integration code
43
- - Walk through credential creation in the platform command center step by step
44
- - Explain what "calling an API" means in plain English
45
- - Explain why `.env` exists and what `ELEVASIS_PLATFORM_KEY` is for
46
- - Do not assume they understand HTTP methods, JSON, or authentication headers
47
-
48
- **basic** -- Has used APIs with documentation or built simple integrations.
49
-
50
- - Show `platform.call()` patterns with brief notes on credential names
51
- - Reference the platform credential system for setup without full walkthrough
52
- - Explain SDK-specific credential patterns (how the platform injects secrets server-side)
53
-
54
- **proficient** -- Has built production integrations, understands REST and auth patterns.
55
-
56
- - Just the code and credential name
57
- - Trust them to set up credentials in the command center without guidance
58
- - Focus on SDK-specific behavior (timeout, error types, server-side injection)
59
-
60
- ---
61
-
62
- ### Automation Concepts (none / low-code / custom)
63
-
64
- **none** -- Has not used automation tools. Thinks in manual processes.
65
-
66
- - Use analogies before any technical explanation (see Analogies section)
67
- - Explain the execution model early: "Your code runs on Elevasis servers, not your computer"
68
- - Define Workflow, Step, Trigger, Schema, Credential on first use
69
- - Explain why automation is valuable for their specific use case before building anything
70
- - Explain deploy: "After deploy, your workflow is live and can be triggered"
71
-
72
- **low-code** -- Has used Zapier, Make, or similar tools.
73
-
74
- - Map Elevasis concepts to tools they know: "Steps are like Zapier actions. The workflow is the Zap."
75
- - Focus on what is different: code is more flexible but requires TypeScript
76
- - Explain schema validation: "Zapier has field mapping; Elevasis has schemas that validate the shape of data"
77
-
78
- **custom** -- Has written custom automation scripts or integrations.
79
-
80
- - Skip analogies
81
- - Focus on the SDK execution model: worker threads, postMessage, ephemeral processes
82
- - Explain the credential security model (server-side injection, no env vars in workers)
83
- - Discuss error handling patterns and retry behavior
84
-
85
- ---
86
-
87
- ### Domain Expertise
88
-
89
- Domain expertise is not a code skill. It is the user's depth of knowledge in their industry or business function (sales, finance, operations, marketing, etc.).
90
-
91
- When domain expertise is high:
92
-
93
- - Ask for business process descriptions before designing schemas
94
- - Let them drive the "what" (business logic); you handle the "how" (implementation)
95
- - Translate their process description into workflow steps, schemas, and tool choices
96
- - Validate your understanding: "So the workflow should: receive a new lead from the CRM, score it based on these criteria, and send a Slack alert if the score is above 80?"
97
- - Trust their judgment on what the workflow should do; never second-guess business logic
98
-
99
- When domain expertise is low:
100
-
101
- - Ask clarifying questions about the business process before designing anything
102
- - Do not assume what "a lead" or "a deal" or "an invoice" means in their context
103
- - Confirm edge cases explicitly: "What should happen if the lead has no email address?"
104
-
105
- ---
106
-
107
- ## Analogies for Non-Technical Users
108
-
109
- Use these when programming level is none or minimal, or when automation level is none.
110
-
111
- | Concept | Analogy |
112
- | ------------- | ----------------------------------------------------------------------------------------------------------- |
113
- | Workflow | A recipe: ingredients go in (input), steps are instructions, finished dish comes out (output) |
114
- | Step | One instruction in a recipe: "add salt," "stir for 2 minutes" |
115
- | Schema | A form template: it defines what fields exist and what type of data each field accepts |
116
- | Deployment | Publishing: like publishing a document so others can access it |
117
- | Execution | One run: like baking the recipe once |
118
- | Platform tool | A kitchen appliance: you use the mixer (tool) without knowing how it works inside |
119
- | Credential | A key: you give Elevasis the key to your Gmail account; it unlocks the door when needed |
120
- | Assembly line | Raw material goes in one end (input), each station does one job (step), finished product comes out (output) |
121
-
122
- Choose the analogy that fits the user's domain. A sales operations person will relate more to "a form template" than a developer would.
123
-
124
- ---
125
-
126
- ## Growth Tracking Protocol
127
-
128
- ### Observations
129
-
130
- During each session, note behaviors that reveal skill level changes. Examples:
131
-
132
- - User wrote a handler without asking for help
133
- - User suggested using StepType.CONDITIONAL without prompting
134
- - User asked a question that shows they now understand the execution model
135
- - User navigated to the correct Command Center page without being directed
136
- - User filtered Execution Logs by resource independently to diagnose a failure
137
- - User created a Task Scheduler entry unassisted
138
-
139
- ### Promotion Rules
140
-
141
- Do not automatically update the skill profile for every observation. Update when:
142
-
143
- - The user independently performs a task they previously needed explicit help with
144
- - The behavior is consistent across at least two instances (not a one-off)
145
- - The observation demonstrates understanding, not just copying a pattern
146
-
147
- ### Update Format
148
-
149
- When updating `.claude/memory/profile/skills.md` Growth Log:
150
-
151
- ```
152
- | Date | Observation | Dimension | Change |
153
- | 2026-03-01 | Navigated to Execution Logs and filtered by resource without direction | platformNavigation | none -> oriented |
154
- ```
155
-
156
- Also update the dimension's Level and Since fields in the Dimensions table.
157
-
158
- ### Celebration
159
-
160
- When growth is observed, acknowledge it briefly:
161
-
162
- - "You found that on your own -- looks like you've got the Command Center navigation down."
163
- - "Good catch on the optional field -- that is exactly the kind of thing that trips people up."
164
-
165
- Keep it natural. One sentence is enough. Do not over-celebrate.
166
-
167
- ---
168
-
169
- ## When This Reference is Needed
170
-
171
- Load this file when:
172
-
173
- - Starting `/meta init` to understand how to phrase the competency assessment questions
174
- - The user's skill combination is unusual and the compact CLAUDE.md directive is not enough to decide how to respond
175
- - Reassessing skill levels after several sessions
176
- - Writing the initial profile during onboarding
177
-
178
- For routine sessions, the compact directive in CLAUDE.md plus the user's stored `skills.md` is sufficient.
179
-
180
- ---
181
-
182
- **Last Updated:** 2026-02-26