@elevasis/sdk 1.44.2 → 1.45.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 +1001 -652
- package/dist/index.d.ts +1045 -509
- package/dist/index.js +748 -690
- package/dist/node/index.d.ts +105 -97
- package/dist/test-utils/index.d.ts +42 -28
- package/dist/test-utils/index.js +549 -732
- package/dist/worker/index.d.ts +12112 -0
- package/dist/worker/index.js +211 -186
- package/package.json +6 -9
- package/reference/_navigation.md +151 -21
- package/reference/_reference-manifest.json +186 -4
- package/reference/claude-config.md +8 -0
- package/reference/core/index.mdx +3 -3
- package/reference/examples/organization-model.ts +117 -111
- package/reference/index.mdx +4 -4
- package/reference/rules/active-change-index.md +40 -54
- package/reference/rules/agent-runtime.md +81 -0
- package/reference/rules/agent-start-here.md +71 -163
- package/reference/rules/deployment.md +33 -10
- package/reference/rules/error-handling.md +26 -0
- package/reference/rules/execution.md +13 -0
- package/reference/rules/frontend.md +10 -3
- package/reference/rules/observability.md +9 -1
- package/reference/rules/operations.md +26 -17
- package/reference/rules/organization-model.md +74 -88
- package/reference/rules/organization-os.md +71 -88
- package/reference/rules/package-taxonomy.md +11 -2
- package/reference/rules/platform.md +13 -7
- package/reference/rules/shared-types.md +15 -0
- package/reference/rules/task-tracking.md +30 -5
- package/reference/rules/ui.md +145 -3
- package/reference/rules/vibe-intents.md +271 -0
- package/reference/rules/vibe.md +17 -243
- package/reference/scaffold/core/organization-graph.mdx +111 -97
- package/reference/scaffold/core/organization-model.mdx +234 -214
- package/reference/scaffold/operations/propagation-pipeline.md +1 -1
- package/reference/scaffold/operations/scaffold-maintenance.md +19 -18
- package/reference/scaffold/operations/workflow-recipes.md +71 -19
- package/reference/scaffold/recipes/add-a-feature.md +156 -146
- package/reference/scaffold/recipes/add-a-resource.md +123 -117
- package/reference/scaffold/recipes/customize-crm-actions.md +25 -10
- package/reference/scaffold/recipes/customize-knowledge-browser.md +52 -117
- package/reference/scaffold/recipes/customize-organization-model.md +161 -149
- package/reference/scaffold/recipes/extend-a-base-entity.md +156 -140
- package/reference/scaffold/recipes/extend-crm.md +16 -11
- package/reference/scaffold/recipes/extend-lead-gen.md +25 -7
- package/reference/scaffold/recipes/gate-by-feature-or-admin.md +160 -118
- package/reference/scaffold/recipes/index.md +2 -2
- package/reference/scaffold/recipes/query-the-knowledge-graph.md +23 -23
- package/reference/scaffold/reference/contracts.md +12 -1
- package/reference/scaffold/reference/glossary.md +3 -3
- package/reference/scaffold/reference/system-interface-capabilities.md +5 -4
- package/reference/scaffold/ui/composition-extensibility.mdx +271 -232
- package/reference/scaffold/ui/feature-flags-and-gating.md +14 -6
- package/reference/scaffold/ui/feature-shell.mdx +279 -62
- package/reference/scaffold/ui/recipes.md +229 -197
- package/reference/sdk/cli-management.mdx +77 -29
- package/reference/sdk/concepts.mdx +2 -0
- package/reference/sdk/define-builders.mdx +76 -0
- package/reference/sdk/deployment/command-center.mdx +6 -2
- package/reference/sdk/deployment/execution-reference.mdx +64 -186
- package/reference/sdk/deployment/index.mdx +2 -0
- package/reference/sdk/exports.mdx +4 -4
- package/reference/sdk/framework/agent.mdx +49 -119
- package/reference/sdk/framework/index.mdx +46 -65
- package/reference/sdk/framework/project-structure.mdx +150 -205
- package/reference/sdk/framework/tutorial-system.mdx +2 -2
- package/reference/sdk/human-in-the-loop.mdx +152 -0
- package/reference/sdk/index.mdx +6 -7
- package/reference/sdk/platform-tools/index.mdx +12 -0
- package/reference/sdk/platform-tools/type-safety.mdx +4 -0
- package/reference/sdk/project-deployment-spec.mdx +131 -0
- package/reference/sdk/resources/index.mdx +23 -7
- package/reference/sdk/resources/patterns.mdx +54 -24
- package/reference/sdk/resources/types.mdx +7 -4
- package/reference/sdk/templates/data-enrichment.mdx +7 -3
- package/reference/sdk/templates/email-sender.mdx +139 -135
- package/reference/sdk/templates/lead-scorer.mdx +5 -1
- package/reference/sdk/templates/pdf-generator.mdx +155 -151
- package/reference/sdk/templates/recurring-job.mdx +195 -189
- package/reference/sdk/templates/text-classifier.mdx +4 -0
- package/reference/sdk/templates/web-scraper.mdx +139 -135
- package/reference/spine/spine-primer.md +135 -96
- package/reference/ui/index.mdx +14 -7
- package/dist/types/worker/adapters/anymailfinder.d.ts +0 -14
- package/dist/types/worker/adapters/apify.d.ts +0 -14
- package/dist/types/worker/adapters/approval.d.ts +0 -23
- package/dist/types/worker/adapters/attio.d.ts +0 -22
- package/dist/types/worker/adapters/clickup.d.ts +0 -22
- package/dist/types/worker/adapters/create-adapter.d.ts +0 -41
- package/dist/types/worker/adapters/crm.d.ts +0 -20
- package/dist/types/worker/adapters/dropbox.d.ts +0 -14
- package/dist/types/worker/adapters/email.d.ts +0 -25
- package/dist/types/worker/adapters/execution.d.ts +0 -22
- package/dist/types/worker/adapters/gmail.d.ts +0 -14
- package/dist/types/worker/adapters/google-sheets.d.ts +0 -14
- package/dist/types/worker/adapters/index.d.ts +0 -33
- package/dist/types/worker/adapters/instantly.d.ts +0 -14
- package/dist/types/worker/adapters/lead.d.ts +0 -28
- package/dist/types/worker/adapters/list.d.ts +0 -9
- package/dist/types/worker/adapters/llm.d.ts +0 -45
- package/dist/types/worker/adapters/millionverifier.d.ts +0 -14
- package/dist/types/worker/adapters/notification.d.ts +0 -28
- package/dist/types/worker/adapters/pdf.d.ts +0 -22
- package/dist/types/worker/adapters/projects.d.ts +0 -20
- package/dist/types/worker/adapters/resend.d.ts +0 -14
- package/dist/types/worker/adapters/scheduler.d.ts +0 -25
- package/dist/types/worker/adapters/signature-api.d.ts +0 -14
- package/dist/types/worker/adapters/storage.d.ts +0 -33
- package/dist/types/worker/adapters/stripe.d.ts +0 -14
- package/dist/types/worker/adapters/tomba.d.ts +0 -14
- package/dist/types/worker/index.d.ts +0 -60
- package/dist/types/worker/platform.d.ts +0 -90
- package/dist/types/worker/utils.d.ts +0 -9
- package/reference/claude-config/Overview.md +0 -230
- package/reference/claude-config/hooks/post-edit-validate.mjs +0 -98
- package/reference/claude-config/hooks/scaffold-registry-reminder.mjs +0 -187
- package/reference/claude-config/hooks/tool-failure-recovery.mjs +0 -73
- package/reference/claude-config/registries/graph-skills.json +0 -4
- package/reference/claude-config/registries/knowledge-flags.json +0 -154
- package/reference/claude-config/registries/skill-coverage.json +0 -20
- package/reference/claude-config/rules/active-change-index.md +0 -22
- package/reference/claude-config/rules/agent-start-here.md +0 -22
- package/reference/claude-config/rules/deployment.md +0 -22
- package/reference/claude-config/rules/error-handling.md +0 -22
- package/reference/claude-config/rules/execution.md +0 -22
- package/reference/claude-config/rules/frontend.md +0 -22
- package/reference/claude-config/rules/observability.md +0 -22
- package/reference/claude-config/rules/operations.md +0 -22
- package/reference/claude-config/rules/organization-model.md +0 -22
- package/reference/claude-config/rules/organization-os.md +0 -22
- package/reference/claude-config/rules/package-taxonomy.md +0 -22
- package/reference/claude-config/rules/platform.md +0 -22
- package/reference/claude-config/rules/shared-types.md +0 -22
- package/reference/claude-config/rules/task-tracking.md +0 -22
- package/reference/claude-config/rules/topbar-actions.md +0 -70
- package/reference/claude-config/rules/ui.md +0 -22
- package/reference/claude-config/rules/vibe.md +0 -22
- package/reference/claude-config/scripts/statusline-command.js +0 -18
- package/reference/claude-config/settings.json +0 -30
- package/reference/claude-config/skills/client/SKILL.md +0 -201
- package/reference/claude-config/skills/deploy/SKILL.md +0 -159
- package/reference/claude-config/skills/dsp/SKILL.md +0 -66
- package/reference/claude-config/skills/elevasis/SKILL.md +0 -251
- package/reference/claude-config/skills/explore/SKILL.md +0 -78
- package/reference/claude-config/skills/git-sync/SKILL.md +0 -166
- package/reference/claude-config/skills/om/SKILL.md +0 -475
- package/reference/claude-config/skills/om/operations/build.md +0 -237
- package/reference/claude-config/skills/om/operations/codify-level-a.md +0 -109
- package/reference/claude-config/skills/om/operations/codify-level-b.md +0 -159
- package/reference/claude-config/skills/om/operations/customers.md +0 -114
- package/reference/claude-config/skills/om/operations/features.md +0 -88
- package/reference/claude-config/skills/om/operations/goals.md +0 -123
- package/reference/claude-config/skills/om/operations/identity.md +0 -97
- package/reference/claude-config/skills/om/operations/labels.md +0 -110
- package/reference/claude-config/skills/om/operations/offerings.md +0 -114
- package/reference/claude-config/skills/om/operations/roles.md +0 -104
- package/reference/claude-config/skills/om/operations/scaffold.md +0 -163
- package/reference/claude-config/skills/om/operations/techStack.md +0 -38
- package/reference/claude-config/skills/project/SKILL.md +0 -1114
- package/reference/claude-config/skills/run-ui/SKILL.md +0 -73
- package/reference/claude-config/skills/save/SKILL.md +0 -183
- package/reference/claude-config/skills/setup/SKILL.md +0 -290
- package/reference/claude-config/skills/status/SKILL.md +0 -59
- package/reference/claude-config/skills/submit-request/SKILL.md +0 -180
- package/reference/claude-config/skills/sync/SKILL.md +0 -47
- package/reference/claude-config/skills/tutorial/SKILL.md +0 -259
- package/reference/claude-config/skills/tutorial/progress-template.md +0 -74
- package/reference/claude-config/skills/tutorial/technical.md +0 -1303
- package/reference/claude-config/skills/tutorial/vibe-coder.md +0 -890
- package/reference/claude-config/sync-notes/2026-04-22-git-sync-and-sync-notes.md +0 -27
- package/reference/claude-config/sync-notes/2026-04-22-lead-gen-deliverability-removal.md +0 -30
- package/reference/claude-config/sync-notes/2026-04-24-test-utils-and-template-tests.md +0 -73
- package/reference/claude-config/sync-notes/2026-04-24-ui-consolidation-and-sdk-cli-train.md +0 -86
- package/reference/claude-config/sync-notes/2026-04-25-auth-role-system-and-settings-roles.md +0 -55
- package/reference/claude-config/sync-notes/2026-04-27-crm-hitl-action-layer-cutover.md +0 -97
- package/reference/claude-config/sync-notes/2026-04-27-lead-gen-substrate-train.md +0 -112
- package/reference/claude-config/sync-notes/2026-04-29-crm-state-and-lead-gen-processing-status.md +0 -93
- package/reference/claude-config/sync-notes/2026-05-02-crm-ownership-next-action.md +0 -58
- package/reference/claude-config/sync-notes/2026-05-02-template-hardcode-workos-config.md +0 -56
- package/reference/claude-config/sync-notes/2026-05-04-elevasis-workspace.md +0 -71
- package/reference/claude-config/sync-notes/2026-05-04-knowledge-bundle.md +0 -83
- package/reference/claude-config/sync-notes/2026-05-04-template-skills-run-ui-and-tutorial.md +0 -59
- package/reference/claude-config/sync-notes/2026-05-05-list-builder.md +0 -42
- package/reference/claude-config/sync-notes/2026-05-06-crm-spine.md +0 -60
- package/reference/claude-config/sync-notes/2026-05-06-sdk-changes-release-train.md +0 -37
- package/reference/claude-config/sync-notes/2026-05-07-sdk-changes-release-train.md +0 -34
- package/reference/claude-config/sync-notes/2026-05-08-resource-governance-scaffold-guidance.md +0 -38
- package/reference/claude-config/sync-notes/2026-05-09-clients-domain.md +0 -32
- package/reference/claude-config/sync-notes/2026-05-09-command-system.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-09-resource-governance-and-misc.md +0 -69
- package/reference/claude-config/sync-notes/2026-05-12-sdk-ready-release-train.md +0 -30
- package/reference/claude-config/sync-notes/2026-05-14-organization-model-ontology-refactor.md +0 -45
- package/reference/claude-config/sync-notes/2026-05-15-om-skill-rename-and-write-family.md +0 -52
- package/reference/claude-config/sync-notes/2026-05-17-sdk-boundary-consolidation.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-20-om-define-helpers.md +0 -32
- package/reference/claude-config/sync-notes/2026-05-22-access-model-and-right-panel.md +0 -43
- package/reference/claude-config/sync-notes/2026-05-22-lead-gen-tenant-config.md +0 -40
- package/reference/claude-config/sync-notes/2026-05-22-org-model-multi-file-split.md +0 -61
- package/reference/claude-config/sync-notes/2026-05-23-branding-names-to-identity.md +0 -49
- package/reference/claude-config/sync-notes/2026-05-23-lead-gen-manage-access.md +0 -31
- package/reference/claude-config/sync-notes/2026-05-23-om-deployment-drift-detection.md +0 -42
- package/reference/claude-config/sync-notes/2026-05-23-om-full-model-deploy-contract.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-23-ui-sdk-package-fixes.md +0 -37
- package/reference/claude-config/sync-notes/2026-05-24-platform-invite-router-core-baseline.md +0 -28
- package/reference/claude-config/sync-notes/2026-05-24-system-interface-readiness.md +0 -43
- package/reference/claude-config/sync-notes/2026-05-25-invitation-login-loader.md +0 -26
- package/reference/claude-config/sync-notes/2026-05-25-om-topbar-requests.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-25-system-interface-profile-registry-and-substrate.md +0 -35
- package/reference/claude-config/sync-notes/2026-05-25-tenant-om-scaffold-cli.md +0 -49
- package/reference/claude-config/sync-notes/2026-05-25-vibe-operate-intent.md +0 -47
- package/reference/claude-config/sync-notes/2026-05-28-om-snapshot-sdk-workflow-config.md +0 -33
- package/reference/claude-config/sync-notes/2026-05-30-client-source-and-om-profiles.md +0 -39
- package/reference/claude-config/sync-notes/2026-06-02-knowledge-nested-group-routing.md +0 -27
- package/reference/claude-config/sync-notes/2026-06-02-nest-projects-under-platform.md +0 -45
- package/reference/claude-config/sync-notes/2026-06-03-skill-autogen-and-client-skill.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-04-scaffold-registry-lane-severity.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-05-appearance-app-mode-decouple.md +0 -29
- package/reference/claude-config/sync-notes/2026-06-05-ontology-endpoint-rename-and-knowledge-browser-ui.md +0 -86
- package/reference/claude-config/sync-notes/2026-06-06-om-build-systems-scaffold.md +0 -47
- package/reference/claude-config/sync-notes/2026-06-06-om-item-copy-references.md +0 -50
- package/reference/claude-config/sync-notes/2026-06-08-knowledge-base-page-not-found-fix.md +0 -76
- package/reference/claude-config/sync-notes/2026-06-09-agent-sessions-public-agent-chat-route.md +0 -75
- package/reference/claude-config/sync-notes/2026-06-09-sdk-cli-load-org-model-resolution.md +0 -42
- package/reference/claude-config/sync-notes/2026-06-12-agent-grants-visualizer-operations.md +0 -30
- package/reference/claude-config/sync-notes/2026-06-14-session-ux-and-project-cli-json.md +0 -33
- package/reference/claude-config/sync-notes/2026-06-14-shared-session-conversation-view.md +0 -26
- package/reference/claude-config/sync-notes/2026-06-15-session-chat-zero-wiring.md +0 -46
- package/reference/claude-config/sync-notes/2026-06-17-agent-session-ux-features.md +0 -34
- package/reference/claude-config/sync-notes/2026-06-25-shared-page-scroll-contract-guard.md +0 -52
- package/reference/claude-config/sync-notes/2026-06-26-leadgen-overview-om-telemetry.md +0 -47
- package/reference/claude-config/sync-notes/2026-07-21-agent-scaffold-hardening.md +0 -75
- package/reference/claude-config/sync-notes/2026-07-23-agent-session-memory.md +0 -49
- package/reference/claude-config/sync-notes/2026-07-23-workos-org-marker.md +0 -50
- package/reference/claude-config/sync-notes/2026-07-24-claude-5-models-and-session-surface-fixes.md +0 -116
- package/reference/claude-config/sync-notes/2026-07-27-agent-strict-output-and-turn-drift.md +0 -73
- package/reference/claude-config/sync-notes/2026-07-28-agent-reply-is-its-own-field.md +0 -84
- package/reference/claude-config/sync-notes/2026-07-30-login-screen-and-member-provisioning-state.md +0 -114
- package/reference/claude-config/sync-notes/2026-08-02-auth-guard-defaults-and-truncation-fix.md +0 -122
- package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md +0 -120
- package/reference/claude-config/sync-notes/README.md +0 -43
- package/reference/sdk/framework/interaction-guidance.mdx +0 -182
- package/reference/sdk/framework/memory.mdx +0 -326
- package/reference/sdk/framework/resource-documentation.mdx +0 -90
- package/reference/sdk/roadmap.mdx +0 -164
package/reference/claude-config/sync-notes/2026-08-03-cli-gateway-errors-and-request-timeout.md
DELETED
|
@@ -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
|
|
@@ -1,326 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
title: Memory System
|
|
3
|
-
description: Cross-session project knowledge stored in .claude/memory/ -- deployment state, environment, decisions, and error patterns that persist between Claude Code sessions
|
|
4
|
-
loadWhen: "Working with agent memory or session state"
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
The memory system gives Claude Code a structured knowledge base for your project that survives across sessions. Deployment history, discovered credentials, architectural decisions, and error patterns are all written to `.claude/memory/` as the project evolves -- so the agent never starts from scratch.
|
|
8
|
-
|
|
9
|
-
The `memory/` directory is gitignored and personal to each developer. The `profile/` subdirectory is created by `/meta init` during first-run setup. All other topics are created by the agent as the project evolves.
|
|
10
|
-
|
|
11
|
-
## Purpose
|
|
12
|
-
|
|
13
|
-
Without project memory, the agent starts every session with only the context of the current conversation. It cannot remember that you already deployed yesterday, that a particular credential is configured, or that you encountered and solved a specific TypeScript error last week.
|
|
14
|
-
|
|
15
|
-
With project memory, the agent loads a root index at session start, sees what has been recorded, and can retrieve detail on demand. Error patterns are matched before diagnosis. Deployment state is available before deploying again. The agent can say "I've seen this before -- here's the fix" instead of repeating the same diagnostic process.
|
|
16
|
-
|
|
17
|
-
## Architecture
|
|
18
|
-
|
|
19
|
-
Memory is organized as a hierarchical index tree. Every directory has an `index.md` that maps to its children -- either content files or subdirectories with their own indexes.
|
|
20
|
-
|
|
21
|
-
**The invariant:** A reader always starts at the root index and drills down. The agent reads `memory/index.md` at session start. It reads individual topic files on demand when the user asks about that topic or the agent is about to perform an action in that domain.
|
|
22
|
-
|
|
23
|
-
**The scaling rule:** When a content file outgrows a single document, it graduates into a subdirectory:
|
|
24
|
-
|
|
25
|
-
1. `topic.md` becomes `topic/index.md` + sub-files
|
|
26
|
-
2. The parent index updates its link from `topic.md` to `topic/index.md`
|
|
27
|
-
3. The new sub-index maps to the sub-files
|
|
28
|
-
|
|
29
|
-
This pattern is recursive. Subdirectories can split further as needed. The agent applies its own judgment about when a file has grown past usefulness as a single document.
|
|
30
|
-
|
|
31
|
-
### Starting Structure
|
|
32
|
-
|
|
33
|
-
After `/meta init` and a first deployment, the structure looks like this:
|
|
34
|
-
|
|
35
|
-
```
|
|
36
|
-
.claude/memory/
|
|
37
|
-
├── index.md # Root index -- read at session start
|
|
38
|
-
├── profile/ # Developer profile (created by /meta init)
|
|
39
|
-
│ ├── index.md # Profile summary with links to sub-files
|
|
40
|
-
│ ├── identity.md # Organization, industry, goals, integrations
|
|
41
|
-
│ ├── skills.md # Skill dimensions and Growth Log
|
|
42
|
-
│ └── preferences.md # Verbosity, guidance style, interaction patterns
|
|
43
|
-
├── deployment-state.md # Deploy IDs, resource inventory, org info
|
|
44
|
-
├── environment.md # Credentials, API keys, env vars
|
|
45
|
-
├── decisions.md # Architectural decisions and patterns
|
|
46
|
-
└── errors/ # Subdirectory -- multiple categories
|
|
47
|
-
├── index.md # Error category summary with counts
|
|
48
|
-
├── deploy.md # Deployment error patterns
|
|
49
|
-
├── runtime.md # Runtime execution error patterns
|
|
50
|
-
└── typescript.md # Type and build error patterns
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Profile tracking starts as a subdirectory because it has natural sub-topics from day one (identity, skills, preferences). Error tracking starts as a subdirectory because it naturally spans multiple categories. Other topics start as flat files.
|
|
54
|
-
|
|
55
|
-
### Grown Structure
|
|
56
|
-
|
|
57
|
-
As a project matures, other topics may split:
|
|
58
|
-
|
|
59
|
-
```
|
|
60
|
-
.claude/memory/
|
|
61
|
-
├── index.md
|
|
62
|
-
├── environment.md
|
|
63
|
-
├── decisions.md
|
|
64
|
-
├── deployment-state/ # Grew large enough to split
|
|
65
|
-
│ ├── index.md
|
|
66
|
-
│ ├── resources.md
|
|
67
|
-
│ └── history.md
|
|
68
|
-
└── errors/
|
|
69
|
-
├── index.md
|
|
70
|
-
├── deploy.md
|
|
71
|
-
├── typescript.md
|
|
72
|
-
└── runtime/ # Runtime errors grew further
|
|
73
|
-
├── index.md
|
|
74
|
-
├── lead-scorer.md
|
|
75
|
-
└── email-sender.md
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
## Memory Topics
|
|
79
|
-
|
|
80
|
-
### Developer Profile
|
|
81
|
-
|
|
82
|
-
The `profile/` directory stores the developer's personal context -- organization details, skill levels, goals, and interaction preferences. It is created during `/meta init` guided setup and is the first thing the root index links to.
|
|
83
|
-
|
|
84
|
-
```
|
|
85
|
-
.claude/memory/profile/
|
|
86
|
-
├── index.md # Profile summary with links to sub-files
|
|
87
|
-
├── identity.md # Organization, industry, goals, integrations
|
|
88
|
-
├── skills.md # Skill dimensions and Growth Log
|
|
89
|
-
└── preferences.md # Verbosity, guidance style, interaction patterns
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
**`identity.md`** records the organization name, industry, size, project goals, and known tool integrations. Example:
|
|
93
|
-
|
|
94
|
-
```markdown
|
|
95
|
-
# Identity
|
|
96
|
-
|
|
97
|
-
| Field | Value |
|
|
98
|
-
| --- | --- |
|
|
99
|
-
| Organization | Acme Corp |
|
|
100
|
-
| Industry | E-commerce |
|
|
101
|
-
| Size | 10-50 |
|
|
102
|
-
|
|
103
|
-
## Project Goals
|
|
104
|
-
|
|
105
|
-
- Automate lead scoring from Attio CRM
|
|
106
|
-
- Send follow-up emails via Resend
|
|
107
|
-
- Weekly pipeline reports
|
|
108
|
-
|
|
109
|
-
## Known Integrations
|
|
110
|
-
|
|
111
|
-
- Attio (CRM)
|
|
112
|
-
- Resend (email)
|
|
113
|
-
- Google Sheets (reporting)
|
|
114
|
-
```
|
|
115
|
-
|
|
116
|
-
**`skills.md`** stores four skill dimensions as structured values so the Adaptive Guidance rules in [Interaction Guidance](interaction-guidance.mdx) can apply them consistently. It also tracks a Growth Log so the agent can detect when a level upgrade is warranted. Example:
|
|
117
|
-
|
|
118
|
-
```markdown
|
|
119
|
-
# Skills
|
|
120
|
-
|
|
121
|
-
| Dimension | Level | Since |
|
|
122
|
-
| --- | --- | --- |
|
|
123
|
-
| platformNavigation | oriented | 2026-02-25 |
|
|
124
|
-
| apiIntegration | basic | 2026-02-25 |
|
|
125
|
-
| automation | low-code | 2026-02-25 |
|
|
126
|
-
| domainExpertise | high | 2026-02-25 |
|
|
127
|
-
|
|
128
|
-
## Growth Log
|
|
129
|
-
|
|
130
|
-
| Date | Observation | Dimension | Change |
|
|
131
|
-
| --- | --- | --- | --- |
|
|
132
|
-
| 2026-03-01 | Navigated to Execution Logs and filtered by resource without direction | platformNavigation | none -> oriented |
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
Valid levels per dimension:
|
|
136
|
-
|
|
137
|
-
- `platformNavigation`: none / oriented / comfortable
|
|
138
|
-
- `apiIntegration`: none / basic / proficient
|
|
139
|
-
- `automation`: none / low-code / custom
|
|
140
|
-
- `domainExpertise`: high / low
|
|
141
|
-
|
|
142
|
-
**`preferences.md`** stores verbosity and proactive guidance settings. Example:
|
|
143
|
-
|
|
144
|
-
```markdown
|
|
145
|
-
# Preferences
|
|
146
|
-
|
|
147
|
-
| Setting | Value |
|
|
148
|
-
| --- | --- |
|
|
149
|
-
| Verbosity | detailed |
|
|
150
|
-
| Proactive guidance | yes |
|
|
151
|
-
```
|
|
152
|
-
|
|
153
|
-
### Root Index
|
|
154
|
-
|
|
155
|
-
`memory/index.md` is the only file read at session start. It lists all topics with their last-updated dates, giving the agent enough context to know what has been recorded without loading any detail.
|
|
156
|
-
|
|
157
|
-
```markdown
|
|
158
|
-
# Project Memory
|
|
159
|
-
|
|
160
|
-
Agent-maintained cross-session knowledge base. Updated automatically.
|
|
161
|
-
|
|
162
|
-
| Entry | Topic | Last Updated |
|
|
163
|
-
| --- | --- | --- |
|
|
164
|
-
| [profile/](profile/index.md) | Developer profile (skills, identity, preferences) | 2026-02-25 |
|
|
165
|
-
| [deployment-state.md](deployment-state.md) | Deploy history, resource inventory, org info | 2026-02-25 |
|
|
166
|
-
| [environment.md](environment.md) | Credentials, API keys, env vars | 2026-02-25 |
|
|
167
|
-
| [decisions.md](decisions.md) | Architectural decisions and patterns | 2026-02-26 |
|
|
168
|
-
| [errors/](errors/index.md) | Error patterns by category | 2026-02-26 |
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
Subdirectory entries link to their `index.md` rather than the directory itself.
|
|
172
|
-
|
|
173
|
-
### Deployment State
|
|
174
|
-
|
|
175
|
-
`deployment-state.md` tracks the most recent deploy and resource inventory. The agent updates it after every successful deployment.
|
|
176
|
-
|
|
177
|
-
```markdown
|
|
178
|
-
# Deployment State
|
|
179
|
-
|
|
180
|
-
## Latest Deploy
|
|
181
|
-
|
|
182
|
-
| Field | Value |
|
|
183
|
-
| --- | --- |
|
|
184
|
-
| Date | 2026-02-26 |
|
|
185
|
-
| Deploy ID | dep_abc123 |
|
|
186
|
-
| Resource count | 2 |
|
|
187
|
-
| Organization | acme-corp |
|
|
188
|
-
|
|
189
|
-
## Resources
|
|
190
|
-
|
|
191
|
-
- `echo` (workflow, dev) -- echoes input, starter resource
|
|
192
|
-
- `lead-scorer` (workflow, prod) -- scores leads from Attio
|
|
193
|
-
|
|
194
|
-
## Deploy History
|
|
195
|
-
|
|
196
|
-
| Date | Deploy ID | Resources | Status |
|
|
197
|
-
| --- | --- | --- | --- |
|
|
198
|
-
| 2026-02-26 | dep_abc123 | 2 | success |
|
|
199
|
-
| 2026-02-25 | dep_xyz789 | 1 | success |
|
|
200
|
-
```
|
|
201
|
-
|
|
202
|
-
### Environment
|
|
203
|
-
|
|
204
|
-
`environment.md` records discovered credentials and environment variable status. The agent updates it when credentials are confirmed via the command center or deployment output.
|
|
205
|
-
|
|
206
|
-
### Decisions
|
|
207
|
-
|
|
208
|
-
`decisions.md` captures architectural choices as a table: which tools were chosen, what patterns were established, and why. The agent adds a row when the user makes a significant decision during development.
|
|
209
|
-
|
|
210
|
-
## Error Tracking
|
|
211
|
-
|
|
212
|
-
Error tracking is the first memory topic to outgrow a flat file. It starts as a subdirectory with one file per error category.
|
|
213
|
-
|
|
214
|
-
### Error Index
|
|
215
|
-
|
|
216
|
-
`errors/index.md` provides a high-level summary of known error patterns by category. The agent reads this file (via the root index) at session start.
|
|
217
|
-
|
|
218
|
-
```markdown
|
|
219
|
-
# Error Patterns
|
|
220
|
-
|
|
221
|
-
Error pattern tracking by category. Updated when errors are diagnosed and resolved.
|
|
222
|
-
|
|
223
|
-
| Entry | Category | Patterns | Total Occurrences | Last Seen |
|
|
224
|
-
| --- | --- | --- | --- | --- |
|
|
225
|
-
| [deploy.md](deploy.md) | Deployment | 2 | 3 | 2026-02-26 |
|
|
226
|
-
| [runtime.md](runtime.md) | Runtime | 1 | 1 | 2026-02-26 |
|
|
227
|
-
| [typescript.md](typescript.md) | TypeScript | 1 | 2 | 2026-02-25 |
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
- **Patterns** -- count of unique error patterns in the category file
|
|
231
|
-
- **Total Occurrences** -- sum of all occurrences across patterns
|
|
232
|
-
- **Last Seen** -- most recent date any error in this category was seen
|
|
233
|
-
|
|
234
|
-
### Category Files
|
|
235
|
-
|
|
236
|
-
Each category file is a table of known error patterns with resolutions:
|
|
237
|
-
|
|
238
|
-
```markdown
|
|
239
|
-
# Deploy Errors
|
|
240
|
-
|
|
241
|
-
| Last Seen | Error | Resolution | Occurrences |
|
|
242
|
-
| --- | --- | --- | --- |
|
|
243
|
-
| 2026-02-25 | `ELEVASIS_PLATFORM_KEY not set` | Added key to `.env` | 2 |
|
|
244
|
-
| 2026-02-26 | `Schema validation: missing outputSchema` | Added Zod output schema to workflow | 1 |
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
Runtime errors include the resource name since the same error in different resources may have different causes:
|
|
248
|
-
|
|
249
|
-
```markdown
|
|
250
|
-
# Runtime Errors
|
|
251
|
-
|
|
252
|
-
| Last Seen | Resource | Error | Resolution | Occurrences |
|
|
253
|
-
| --- | --- | --- | --- | --- |
|
|
254
|
-
| 2026-02-26 | lead-scorer | `PlatformToolError: credential not found` | Set credential via `elevasis-sdk env set` | 1 |
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
### Error Resolution Flow
|
|
258
|
-
|
|
259
|
-
When the agent encounters an error, it follows this sequence:
|
|
260
|
-
|
|
261
|
-
1. Checks `memory/errors/index.md` (already loaded via root index) for a matching category
|
|
262
|
-
2. If the relevant category has known patterns, reads the category file
|
|
263
|
-
3. If a match exists, applies the known resolution immediately -- "I've seen this before, here's the fix"
|
|
264
|
-
4. If no match exists, diagnoses normally, then logs the new pattern
|
|
265
|
-
|
|
266
|
-
When the agent logs a resolved error:
|
|
267
|
-
|
|
268
|
-
1. Reads the relevant category file (e.g., `memory/errors/deploy.md`)
|
|
269
|
-
2. If the pattern already exists, increments `Occurrences` and updates `Last Seen`
|
|
270
|
-
3. If it is a new pattern, adds a new row
|
|
271
|
-
4. Updates the error index: recalculates `Patterns`, `Total Occurrences`, and `Last Seen`
|
|
272
|
-
5. If the category file does not exist yet, creates it and adds a row to the error index
|
|
273
|
-
|
|
274
|
-
## Scaling Rule
|
|
275
|
-
|
|
276
|
-
When a file has grown past usefulness as a single document -- too many rows to scan, too many unrelated concerns, or too much context to load for a targeted lookup -- split it into a subdirectory.
|
|
277
|
-
|
|
278
|
-
**Before split:**
|
|
279
|
-
|
|
280
|
-
```
|
|
281
|
-
memory/
|
|
282
|
-
├── index.md
|
|
283
|
-
└── deployment-state.md # entry: deployment-state.md
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
**After split:**
|
|
287
|
-
|
|
288
|
-
```
|
|
289
|
-
memory/
|
|
290
|
-
├── index.md # entry updated: deployment-state/ -> deployment-state/index.md
|
|
291
|
-
└── deployment-state/
|
|
292
|
-
├── index.md
|
|
293
|
-
├── resources.md
|
|
294
|
-
└── history.md
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
The parent index link changes from `deployment-state.md` to `deployment-state/index.md`. The new sub-index maps to the sub-files. The agent applies this pattern at every depth level.
|
|
298
|
-
|
|
299
|
-
## Maintenance
|
|
300
|
-
|
|
301
|
-
### Pruning
|
|
302
|
-
|
|
303
|
-
Keep content useful, not exhaustive:
|
|
304
|
-
|
|
305
|
-
- Keep the most recent ~20 entries in tables that grow over time (deploy history, error patterns)
|
|
306
|
-
- Drop patterns that have not recurred in 30 or more days unless the resolution was non-obvious
|
|
307
|
-
- Summarize if patterns are worth preserving but detail is not
|
|
308
|
-
|
|
309
|
-
### Index Hygiene
|
|
310
|
-
|
|
311
|
-
- If a file exists but is not in its parent index, add it
|
|
312
|
-
- If an index references a missing file, remove the row
|
|
313
|
-
|
|
314
|
-
The agent self-heals on read. Index hygiene is applied as part of normal session operation.
|
|
315
|
-
|
|
316
|
-
### Promotion
|
|
317
|
-
|
|
318
|
-
If an error pattern recurs 3 or more times, promote it to a rule in the `CLAUDE.md` Rules section. Rules prevent errors rather than diagnosing them.
|
|
319
|
-
|
|
320
|
-
## Relationship to Claude Code Auto-Memory
|
|
321
|
-
|
|
322
|
-
Claude Code's auto-memory (`MEMORY.md`) and project memory (`.claude/memory/`) are complementary -- both should be active. Auto-memory captures organic discoveries; project memory captures structured project state that `CLAUDE.md` explicitly instructs the agent to record.
|
|
323
|
-
|
|
324
|
-
---
|
|
325
|
-
|
|
326
|
-
**Last Updated:** 2026-02-25
|