enigma-memory 0.1.15 → 0.1.16
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/README.md +64 -84
- package/apps/cli/bin/enigma.mjs +30 -5
- package/apps/native-host/README.md +20 -0
- package/deploy/SIMULATION.md +34 -38
- package/docs/benchmark-attestation-network.md +2 -2
- package/docs/benchmark-reproducibility.md +21 -9
- package/docs/browser-extension-install.md +9 -6
- package/docs/client-connectors.md +22 -52
- package/docs/demo-proof-network.md +3 -3
- package/docs/developer-ecosystem.md +205 -223
- package/docs/developer-proof-quickstart.md +3 -3
- package/docs/enigma-memory-ready-conformance.md +1 -1
- package/docs/hosted-cloud-product.md +2 -0
- package/docs/install-anywhere.md +61 -66
- package/docs/memory-benchmarks.md +6 -3
- package/docs/proof-network-build-notes.md +2 -2
- package/docs/proof-network.md +32 -7
- package/docs/sdk-api.md +1 -1
- package/docs/solana-devnet-acceptance.md +1 -1
- package/docs/solana-proof-rail.md +1 -1
- package/package.json +7 -1
- package/packages/connectors/src/index.js +13 -0
- package/packages/mcp-server/README.md +22 -0
- package/packages/mcp-server/src/index.js +1 -1
- package/scripts/build-benchmark-proof-release.mjs +106 -5
- package/scripts/build-cloudflare-token-policy.mjs +6 -2
- package/scripts/build-hosted-api-key-lifecycle.mjs +1 -1
- package/scripts/build-hosted-customer-lifecycle.mjs +1 -1
- package/scripts/build-installer-assets.mjs +1 -1
- package/scripts/build-production-handoff-packet.mjs +1 -1
- package/scripts/build-production-unblocker.mjs +1 -1
- package/scripts/build-production-workplan.mjs +3 -1
- package/scripts/build-proof-network-packet.mjs +1 -1
- package/scripts/check.mjs +3 -1
- package/scripts/cloudflare-ops.mjs +35 -0
- package/scripts/collect-hosted-backend-live-evidence.mjs +44 -2
- package/scripts/run-memory-benchmarks.mjs +5 -0
- package/scripts/run-standard-memory-benchmarks.mjs +127 -3
- package/scripts/stage-cloudflare-pages-artifact.mjs +145 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Client connectors
|
|
2
2
|
|
|
3
|
-
Enigma connects to assistant clients through MCP. The client starts `enigma-mcp` over stdio, and Enigma reads/writes the local vault bundle named by `ENIGMA_BUNDLE`.
|
|
3
|
+
Enigma connects to assistant clients through MCP. The client starts `enigma-mcp` over stdio, and Enigma reads/writes the local vault bundle named by `ENIGMA_BUNDLE`. Install once, run setup once, then connect the same AI Memory Passport everywhere when you explicitly choose to write a client config.
|
|
4
4
|
|
|
5
5
|
Supported connector IDs:
|
|
6
6
|
|
|
@@ -12,47 +12,11 @@ Supported connector IDs:
|
|
|
12
12
|
- `opencode`
|
|
13
13
|
- `generic-mcp`
|
|
14
14
|
|
|
15
|
-
## Public test drive first
|
|
16
|
-
|
|
17
|
-
Prove the live npm package path without credentials, hosted SaaS, provider calls, or client-config writes:
|
|
18
|
-
|
|
19
|
-
```sh
|
|
20
|
-
npm install -g enigma-memory
|
|
21
|
-
enigma test-drive --overwrite
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
`enigma test-drive --overwrite` writes an isolated demo under `.enigma/test-drive` by default, emits one public-safe JSON summary, and does not print raw private memory plaintext. Use `--dry-run` to preview without writing, or `--out-dir <path>` to choose another isolated demo directory. The local proof/demo is bounded to Enigma-controlled vault state, receipts, checkpoints, committed roots, exported bundle shape, and declared boundary operations; it is not hosted SaaS evidence and does not prove provider deletion or model forgetting.
|
|
25
|
-
|
|
26
15
|
## One clear path
|
|
27
16
|
|
|
28
|
-
After the test drive, create a regular local workspace:
|
|
29
|
-
|
|
30
17
|
```sh
|
|
31
18
|
npm install -g enigma-memory
|
|
32
19
|
enigma setup --overwrite
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
`enigma setup --overwrite` writes local Enigma artifacts under the workspace `.enigma` path and emits deterministic, public-safe JSON without printing raw memory plaintext. It does not write Claude, Cursor, Kimi, VS Code, Roo, OpenCode, or generic MCP client configs.
|
|
36
|
-
|
|
37
|
-
To auto-detect installed or already-configured clients and show the setup connector plan without mutating client configs:
|
|
38
|
-
|
|
39
|
-
```sh
|
|
40
|
-
enigma setup --client auto --overwrite
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
`--client auto` selects clients found by connector detection and falls back to the default setup client list when none are present. The setup output lists selected clients, skipped clients, and the reason for each skip.
|
|
44
|
-
|
|
45
|
-
To explicitly write connector entries for installed/config-present clients only:
|
|
46
|
-
|
|
47
|
-
```sh
|
|
48
|
-
enigma setup --connect-installed --overwrite
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
`--connect-installed` implies auto client selection and is a client-config write flag. It skips missing client configs instead of creating every default client config. Only explicit write flags mutate client configs. Existing `enigma connect <client>` behavior and existing `enigma setup --write-connectors` behavior for explicit/default clients are unchanged.
|
|
52
|
-
|
|
53
|
-
After setup, use the same local vault from the CLI or connected clients:
|
|
54
|
-
|
|
55
|
-
```sh
|
|
56
20
|
enigma remember --text-file ./memory.txt
|
|
57
21
|
enigma search --query "..."
|
|
58
22
|
enigma context --query "..." --optimize
|
|
@@ -60,13 +24,9 @@ enigma verify --export ./.enigma/export.json
|
|
|
60
24
|
enigma connect claude-desktop --dry-run
|
|
61
25
|
```
|
|
62
26
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
One-off public test drive without a global install:
|
|
27
|
+
`enigma setup --overwrite` writes local Enigma artifacts under the workspace `.enigma` path and emits deterministic, public-safe JSON without printing raw memory plaintext. It does not write Claude, Cursor, Kimi, VS Code, Roo, OpenCode, or generic MCP client configs. Client config writes happen only when you explicitly run `enigma connect <client>` without `--dry-run`.
|
|
66
28
|
|
|
67
|
-
|
|
68
|
-
npx --yes --package enigma-memory enigma test-drive --overwrite
|
|
69
|
-
```
|
|
29
|
+
Provider-native memory is non-canonical cache only in this architecture. The Enigma vault remains canonical, and Enigma receipts prove Enigma-controlled lifecycle events; they do not prove that a hosted provider deleted hidden copies or that a model forgot anything.
|
|
70
30
|
|
|
71
31
|
From a source checkout, use this only for package development or source-only docs:
|
|
72
32
|
|
|
@@ -77,14 +37,6 @@ npm install -g .
|
|
|
77
37
|
|
|
78
38
|
## Preview, then connect
|
|
79
39
|
|
|
80
|
-
Preview installed/config-present connector targets during setup without changing client configs:
|
|
81
|
-
|
|
82
|
-
```sh
|
|
83
|
-
enigma setup --client auto --overwrite
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
The output reports selected clients, skipped clients, and skip reasons. If no installed/config-present client is discovered, auto selection falls back to the default setup client list for planning.
|
|
87
|
-
|
|
88
40
|
Preview one client without changing it:
|
|
89
41
|
|
|
90
42
|
```sh
|
|
@@ -97,7 +49,25 @@ enigma connect opencode --dry-run
|
|
|
97
49
|
enigma connect generic-mcp --dry-run
|
|
98
50
|
```
|
|
99
51
|
|
|
100
|
-
When
|
|
52
|
+
When the single-client dry run looks right, remove `--dry-run` for the client you want:
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
enigma connect claude-desktop
|
|
56
|
+
enigma connect cursor
|
|
57
|
+
enigma connect kimi-code
|
|
58
|
+
enigma connect vscode-cline
|
|
59
|
+
enigma connect roo
|
|
60
|
+
enigma connect opencode
|
|
61
|
+
enigma connect generic-mcp
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Optional setup-time planning for installed/config-present connector targets remains available:
|
|
65
|
+
|
|
66
|
+
```sh
|
|
67
|
+
enigma setup --client auto --overwrite
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Use the explicit setup-time write flag only when you want setup to write all installed/config-present client configs it discovers:
|
|
101
71
|
|
|
102
72
|
```sh
|
|
103
73
|
enigma setup --connect-installed --overwrite
|
|
@@ -201,7 +201,7 @@ enigma chain attest \
|
|
|
201
201
|
--report-hash sha256:5555555555555555555555555555555555555555555555555555555555555555 \
|
|
202
202
|
--dataset-ref enigma-fixture:deterministic-local:v1 \
|
|
203
203
|
--runner-ref enigma-memory:local-benchmark-runner:v1 \
|
|
204
|
-
--package-ref npm:enigma-memory@0.1.
|
|
204
|
+
--package-ref npm:enigma-memory@0.1.16 \
|
|
205
205
|
--score recall_at_5=1 \
|
|
206
206
|
--score p95_latency_ms=14 \
|
|
207
207
|
--out .enigma/proof-network/benchmark-attestation.json
|
|
@@ -219,7 +219,7 @@ enigma chain attest \
|
|
|
219
219
|
--report-file .enigma/benchmarks/report.json \
|
|
220
220
|
--dataset-ref enigma-fixture:deterministic-local:v1 \
|
|
221
221
|
--runner-ref enigma-memory:scripts/run-memory-benchmarks.mjs \
|
|
222
|
-
--package-ref npm:enigma-memory@0.1.
|
|
222
|
+
--package-ref npm:enigma-memory@0.1.16 \
|
|
223
223
|
--score recall_at_5=1 \
|
|
224
224
|
--score p95_latency_ms=14 \
|
|
225
225
|
--out .enigma/proof-network/benchmark-attestation.json
|
|
@@ -236,7 +236,7 @@ Expected public-safe output shape from `chain attest`:
|
|
|
236
236
|
"report_hash": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
|
|
237
237
|
"dataset_ref": "enigma-fixture:deterministic-local:v1",
|
|
238
238
|
"runner_ref": "enigma-memory:local-benchmark-runner:v1",
|
|
239
|
-
"package_ref": "npm:enigma-memory@0.1.
|
|
239
|
+
"package_ref": "npm:enigma-memory@0.1.16",
|
|
240
240
|
"scores": {
|
|
241
241
|
"recall_at_5": 1,
|
|
242
242
|
"p95_latency_ms": 14
|
|
@@ -1,223 +1,205 @@
|
|
|
1
|
-
# Developer ecosystem
|
|
2
|
-
|
|
3
|
-
Enigma Memory is a local-first SDK, CLI, MCP server, and service-contract package. The developer surfaces are designed to be copied without secrets, cloud credentials, hidden local paths, or account identifiers.
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
For most developers, start with the installed CLI before reading the SDK internals or service contracts:
|
|
8
|
-
|
|
9
|
-
```sh
|
|
10
|
-
npm install -g enigma-memory
|
|
11
|
-
enigma
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
{
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
"
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
{
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
"
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
{
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
"
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
## Claim boundaries for developers
|
|
207
|
-
|
|
208
|
-
Enigma proof artifacts cover Enigma-controlled or Enigma-mediated state: local vault events, receipts, active/tombstoned memory addresses, context-pack retrieval/injection receipts, relay/gateway records, usage events, and settlement receipts.
|
|
209
|
-
|
|
210
|
-
They do not prove:
|
|
211
|
-
|
|
212
|
-
- provider-side deletion;
|
|
213
|
-
- model forgetting;
|
|
214
|
-
- compliance certification;
|
|
215
|
-
- token ROI, investment outcome, or provider invoice savings;
|
|
216
|
-
- hosted-cloud readiness from a local demo;
|
|
217
|
-
- benchmark leadership from SDK mechanics alone.
|
|
218
|
-
|
|
219
|
-
Benchmark claims require benchmark-specific evidence. LoCoMo covers long-term conversational memory QA, event summarization, and multimodal generation across long conversations. LongMemEval covers extraction, multi-session reasoning, temporal reasoning, knowledge updates, and abstention. Agent-memory benchmark results can depend heavily on the agent/framework/tool loop, not only on the memory store. Keep those distinctions when writing integrations or public copy.
|
|
220
|
-
|
|
221
|
-
## What to keep out of examples
|
|
222
|
-
|
|
223
|
-
Do not add secrets, tokens, 2FA codes, cloud account ids, personal data, provider transcripts, raw private memory, absolute local paths, or unreviewed hosted endpoints to examples/templates. Public-safe examples should use generic ids, relative paths, placeholders, hashes, commitments, counts, receipt ids, and roots.
|
|
1
|
+
# Developer ecosystem
|
|
2
|
+
|
|
3
|
+
Enigma Memory is a local-first SDK, CLI, MCP server, and service-contract package. The developer surfaces are designed to be copied without secrets, cloud credentials, hidden local paths, or account identifiers.
|
|
4
|
+
|
|
5
|
+
## CLI memory passport loop
|
|
6
|
+
|
|
7
|
+
For most developers, start with the installed CLI before reading the SDK internals or service contracts:
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install -g enigma-memory
|
|
11
|
+
enigma setup --overwrite
|
|
12
|
+
enigma remember --text-file ./memory.txt
|
|
13
|
+
enigma search --query "..."
|
|
14
|
+
enigma context --query "..." --optimize
|
|
15
|
+
enigma verify --export ./.enigma/export.json
|
|
16
|
+
enigma connect claude-desktop --dry-run
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
`enigma setup --overwrite` writes local Enigma artifacts under the workspace `.enigma` path and emits deterministic, public-safe JSON without printing raw memory plaintext. It does not write third-party app configs unless you explicitly run `enigma connect <client>` without `--dry-run`. Treat provider-native memory as non-canonical cache only; the local Enigma vault is canonical.
|
|
20
|
+
|
|
21
|
+
Optional public test-drive loop:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
npx --yes --package enigma-memory enigma test-drive --overwrite
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
`enigma test-drive --overwrite` is zero-credential, local-only, and public-safe by default. It does not call external providers, contact hosted Enigma SaaS, require OpenAI/Anthropic/Cloudflare credentials, create accounts, or write third-party client configs.
|
|
28
|
+
|
|
29
|
+
## Copyable starting points
|
|
30
|
+
|
|
31
|
+
- SDK/API guide: [`docs/sdk-api.md`](./sdk-api.md)
|
|
32
|
+
- Node example app: [`examples/node-basic-memory.mjs`](../examples/node-basic-memory.mjs)
|
|
33
|
+
- GitHub Actions example: [`examples/ci/github-actions.yml`](../examples/ci/github-actions.yml)
|
|
34
|
+
- Benchmark reproducibility guide: [`docs/benchmark-reproducibility.md`](./benchmark-reproducibility.md)
|
|
35
|
+
- Generic MCP client template: [`templates/mcp-client-config.json`](../templates/mcp-client-config.json)
|
|
36
|
+
|
|
37
|
+
## Local SDK loop
|
|
38
|
+
|
|
39
|
+
Use the SDK when you want an app-owned vault and receipt-backed proof loop:
|
|
40
|
+
|
|
41
|
+
1. Create a local vault with `createVault`.
|
|
42
|
+
2. Add a generic, non-private memory with `remember`.
|
|
43
|
+
3. Create a passport with `createPassport`.
|
|
44
|
+
4. Compile a receipt-backed context pack with `compileContextPack`.
|
|
45
|
+
5. Export a proof-carrying bundle with `exportBundle`; keep full bundles private unless local import key material has been reviewed and removed.
|
|
46
|
+
6. Verify receipts with `verifyReceiptChain`, `enigma verify`, `enigma-verify`, or MCP `enigma_verify_receipts`.
|
|
47
|
+
|
|
48
|
+
The example app prints ids, counts, roots, and verification status only. It does not print raw memory text, generated key material, credentials, provider transcripts, or local absolute paths.
|
|
49
|
+
|
|
50
|
+
## CLI and CI loop
|
|
51
|
+
|
|
52
|
+
The CI example installs Node 24, installs `enigma-memory` into a disposable npm project, exposes the package benchmark script, then runs:
|
|
53
|
+
|
|
54
|
+
```sh
|
|
55
|
+
npx enigma test-drive --overwrite
|
|
56
|
+
npx enigma setup --overwrite
|
|
57
|
+
npx enigma doctor
|
|
58
|
+
npm run benchmark:memory-suite -- --out benchmark-report.json
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
and then runs a small ESM import smoke. It does not require GitHub secrets, cloud provider credentials, npm tokens, private bundles, local path assumptions, hosted Enigma SaaS, external memory-provider calls, or official dataset network downloads in normal CI. The test-drive and benchmark steps write public-safe local JSON reports; see the benchmark reproducibility guide for claim boundaries and the requirements for any future live third-party comparison.
|
|
62
|
+
|
|
63
|
+
The workflow also includes optional official-dataset benchmark preparation steps gated behind the manual `workflow_dispatch` input `run_standard_benchmark: true`. Normal `push` and `pull_request` runs skip them, so official dataset downloads are not required in normal CI. Enable the manual path only after the repository has reviewed network use and dataset-license handling:
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
node ./node_modules/enigma-memory/scripts/download-standard-benchmarks.mjs --dry-run
|
|
67
|
+
node ./node_modules/enigma-memory/scripts/download-standard-benchmarks.mjs --execute --dataset all --out-dir .enigma/benchmarks/datasets --manifest .enigma/benchmarks/dataset-manifest.json
|
|
68
|
+
node ./node_modules/enigma-memory/scripts/run-standard-memory-benchmarks.mjs --locomo .enigma/benchmarks/datasets/locomo10.json --longmemeval .enigma/benchmarks/datasets/longmemeval_s_cleaned.json --max-locomo-qa 25 --max-longmemeval-items 25 --top-k 5 --out .enigma/standard-memory-benchmark-sample.json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Those commands produce a dataset manifest with source URLs, byte sizes, and SHA-256 hashes plus a standard benchmark report using schema `enigma.standard_memory_benchmark_suite.v1`. The standard runner is retrieval/evidence proxy scoring only: it does not call providers, grade generated answers, or produce competitor scores.
|
|
72
|
+
|
|
73
|
+
Use the workflow as a template in a consumer repository. It is intentionally limited to install/import/doctor smoke coverage, local proof generation, and deterministic local benchmark evidence by default; it does not publish packages, deploy infrastructure, contact hosted Enigma cloud, call external memory providers, or download official benchmark datasets unless you intentionally enable `run_standard_benchmark` for a manual workflow run.
|
|
74
|
+
|
|
75
|
+
## Proof Network developer loop
|
|
76
|
+
|
|
77
|
+
The proof-network path gives integrators a public, privacy-preserving adoption track before any chain transaction or hosted integration exists. The adoption ladder is intentionally simple:
|
|
78
|
+
|
|
79
|
+
1. Install or invoke the npm package.
|
|
80
|
+
2. Run the local test drive to produce safe roots/receipts/counts.
|
|
81
|
+
3. Generate proof-network chain artifacts from public-safe inputs.
|
|
82
|
+
4. Verify those artifacts locally.
|
|
83
|
+
5. Wire the same artifact contract into a connector, benchmark dashboard, or conformance test.
|
|
84
|
+
|
|
85
|
+
```sh
|
|
86
|
+
npx --yes --package enigma-memory enigma test-drive --overwrite
|
|
87
|
+
npx --yes --package enigma-memory enigma chain anchor --root sha256:8f8f... --root sha256:9a9a... --ref demo-local-vault --authority demo-public-authority --batch-ref demo-anchor-batch --out .enigma/proof-anchor-batch.json
|
|
88
|
+
npx --yes --package enigma-memory enigma chain grant --subject did:example:agent --capability memory.read --scope demo-scope --resource-ref sha256:8f8f... --policy-hash sha256:7e7e... --expires-at 2026-07-01T00:00:00Z --grant-ref demo-grant --out .enigma/proof-capability-grant.json
|
|
89
|
+
npx --yes --package enigma-memory enigma chain revoke --grant-hash sha256:6d6d... --reason scope-ended --revocation-ref demo-revocation --out .enigma/proof-capability-revocation.json
|
|
90
|
+
npx --yes --package enigma-memory enigma chain attest --report-file benchmark-report.json --dataset-ref sha256:5c5c... --runner-ref enigma-standard-runner --package-ref enigma-memory@0.1.5 --score accuracy=0.92 --out .enigma/proof-benchmark-attestation.json
|
|
91
|
+
npx --yes --package enigma-memory enigma chain verify --file .enigma/proof-anchor-batch.json
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
`enigma chain anchor`, `grant`, `revoke`, `attest`, and `verify` are local planning commands. They create or validate opaque JSON proof-network artifacts for Solana-ready anchoring, but they do not create accounts, sign with private keys, submit transactions, deploy programs, or call RPC providers. Generated chain artifacts must keep `transaction_submitted:false` and `raw_memory_on_chain:false`; if an example needs a memory reference, use a public-safe commitment or receipt root rather than raw memory, prompts, transcripts, completions, embeddings, ACL bodies, tenant names, provider responses, private keys, seed phrases, or credentials.
|
|
95
|
+
|
|
96
|
+
Use proof artifacts as the common exchange format for developer integrations:
|
|
97
|
+
|
|
98
|
+
- **NPM test-drive adopters:** run the test drive, create an anchor batch from local roots/refs, verify the artifact, and attach the JSON to a pull request, demo, or release note without exposing private memory.
|
|
99
|
+
- **Chain artifact builders:** treat `anchor_batch`, `capability_grant`, `capability_revocation`, `benchmark_attestation`, and `packet` as the supported public artifact types. Anchors carry roots/refs/counts for later settlement; grants carry subject, capability, scope, resource refs, policy hashes, and expiry; revocations carry grant hashes and nullifiers; attestations carry report hashes plus dataset, runner, package, and score refs.
|
|
100
|
+
- **Conformance program partners:** build fixtures that accept valid proof-network artifacts and reject artifacts that leak private payload keys or values, omit the false transaction flags, use raw ACL or tenant bodies, or mix raw memory with public chain payloads. A connector should pass conformance before it claims proof-network support.
|
|
101
|
+
- **Benchmark attestation contributors:** hash the benchmark report or pass the report file, then bind it to dataset, runner, and package refs. The attestation makes benchmark evidence portable, but benchmark claims still depend on the benchmark guide's dataset, scoring, and comparison boundaries.
|
|
102
|
+
- **Connector authors:** wallet, agent, MCP, CI, and dashboard connectors can verify packets, display opaque Solana-ready roots, enforce grants before retrieval, publish revocation/nullifier artifacts when access ends, and keep private bundles off-chain while sharing verifiable commitments.
|
|
103
|
+
|
|
104
|
+
Conformance should stay narrow and testable. A proof-network connector is ready for public examples when it can:
|
|
105
|
+
|
|
106
|
+
1. accept every supported proof-network artifact shape and return a deterministic validation result;
|
|
107
|
+
2. reject any artifact containing private-looking field names or values before display, upload, signing, or indexing;
|
|
108
|
+
3. preserve `transaction_submitted:false` unless a separate reviewed settlement path actually submits a transaction;
|
|
109
|
+
4. preserve `raw_memory_on_chain:false` for every chain-facing artifact;
|
|
110
|
+
5. enforce capability grant subject, capability, scope, resource-ref, policy-hash, and expiry constraints before retrieval;
|
|
111
|
+
6. accept capability revocations/nullifiers and stop treating revoked grants as usable;
|
|
112
|
+
7. bind benchmark attestations to report hashes/files plus dataset, runner, and package refs without importing the raw benchmark corpus or private model output.
|
|
113
|
+
|
|
114
|
+
Good first connector projects are deliberately small: a CLI verifier that fails CI on leaked private payloads, a wallet preview that shows only roots/scopes/expiry/nullifiers, an MCP middleware that blocks retrieval without a live grant, a benchmark dashboard that accepts attestation JSON beside a report hash, and a Solana explorer plugin that labels opaque anchor batches without claiming transaction submission.
|
|
115
|
+
|
|
116
|
+
This path is intentionally copyable: npm install, run a local test drive, generate proof artifacts, verify them, then wire the same public-safe contract into a connector or conformance test. Do not position it as live settlement, provider deletion proof, compliance certification, or benchmark leadership without the separate evidence those claims require.
|
|
117
|
+
|
|
118
|
+
## MCP client loop
|
|
119
|
+
|
|
120
|
+
The same installed package can be used by Claude Desktop, Cursor, Kimi Code, or any generic MCP client. The smooth path is still one local setup plus a dry-run connector preview: `enigma setup --overwrite`, then `enigma connect claude-desktop --dry-run` or the matching client id. Remove `--dry-run` only when you explicitly want Enigma to write that client config. Manual snippets remain useful when a client needs a copied entry; replace the bundle path with the local path from your setup output, and restart the client.
|
|
121
|
+
|
|
122
|
+
Claude Desktop:
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"mcpServers": {
|
|
127
|
+
"enigma": {
|
|
128
|
+
"command": "enigma-mcp",
|
|
129
|
+
"args": [],
|
|
130
|
+
"env": {
|
|
131
|
+
"ENIGMA_BUNDLE": "/absolute/path/to/.enigma/bundle.json"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Cursor:
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"mcpServers": {
|
|
143
|
+
"enigma": {
|
|
144
|
+
"command": "enigma-mcp",
|
|
145
|
+
"args": [],
|
|
146
|
+
"env": {
|
|
147
|
+
"ENIGMA_BUNDLE": "/absolute/path/to/.enigma/bundle.json"
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
Kimi Code:
|
|
155
|
+
|
|
156
|
+
```json
|
|
157
|
+
{
|
|
158
|
+
"mcpServers": {
|
|
159
|
+
"enigma": {
|
|
160
|
+
"command": "enigma-mcp",
|
|
161
|
+
"args": [],
|
|
162
|
+
"env": {
|
|
163
|
+
"ENIGMA_BUNDLE": "/absolute/path/to/.enigma/bundle.json"
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
Generic MCP:
|
|
171
|
+
|
|
172
|
+
```json
|
|
173
|
+
{
|
|
174
|
+
"mcpServers": {
|
|
175
|
+
"enigma": {
|
|
176
|
+
"command": "enigma-mcp",
|
|
177
|
+
"args": [],
|
|
178
|
+
"env": {
|
|
179
|
+
"ENIGMA_BUNDLE": "/absolute/path/to/.enigma/bundle.json"
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Do not commit private bundle paths if they reveal local usernames, workspace names, account ids, or other personal details.
|
|
187
|
+
|
|
188
|
+
## Claim boundaries for developers
|
|
189
|
+
|
|
190
|
+
Enigma proof artifacts cover Enigma-controlled or Enigma-mediated state: local vault events, receipts, active/tombstoned memory addresses, context-pack retrieval/injection receipts, relay/gateway records, usage events, and settlement receipts.
|
|
191
|
+
|
|
192
|
+
They do not prove:
|
|
193
|
+
|
|
194
|
+
- provider-side deletion;
|
|
195
|
+
- model forgetting;
|
|
196
|
+
- compliance certification;
|
|
197
|
+
- token ROI, investment outcome, or provider invoice savings;
|
|
198
|
+
- hosted-cloud readiness from a local demo;
|
|
199
|
+
- benchmark leadership from SDK mechanics alone.
|
|
200
|
+
|
|
201
|
+
Benchmark claims require benchmark-specific evidence. LoCoMo covers long-term conversational memory QA, event summarization, and multimodal generation across long conversations. LongMemEval covers extraction, multi-session reasoning, temporal reasoning, knowledge updates, and abstention. Agent-memory benchmark results can depend heavily on the agent/framework/tool loop, not only on the memory store. Keep those distinctions when writing integrations or public copy.
|
|
202
|
+
|
|
203
|
+
## What to keep out of examples
|
|
204
|
+
|
|
205
|
+
Do not add secrets, tokens, 2FA codes, cloud account ids, personal data, provider transcripts, raw private memory, absolute local paths, or unreviewed hosted endpoints to examples/templates. Public-safe examples should use generic ids, relative paths, placeholders, hashes, commitments, counts, receipt ids, and roots.
|
|
@@ -141,7 +141,7 @@ npx --yes --package enigma-memory enigma chain attest \
|
|
|
141
141
|
--report-hash sha256:6666666666666666666666666666666666666666666666666666666666666666 \
|
|
142
142
|
--dataset-ref dataset:quickstart-public-fixture:v1 \
|
|
143
143
|
--runner-ref runner:enigma-local:v1 \
|
|
144
|
-
--package-ref npm:enigma-memory@0.1.
|
|
144
|
+
--package-ref npm:enigma-memory@0.1.16 \
|
|
145
145
|
--score recall_at_5=1 \
|
|
146
146
|
--score p95_latency_ms=14 \
|
|
147
147
|
--out .enigma/proof-quickstart/benchmark-attestation.json
|
|
@@ -154,7 +154,7 @@ npx --yes --package enigma-memory enigma chain attest \
|
|
|
154
154
|
--report-file .enigma/proof-quickstart/reviewed-benchmark-report.json \
|
|
155
155
|
--dataset-ref dataset:quickstart-public-fixture:v1 \
|
|
156
156
|
--runner-ref runner:enigma-local:v1 \
|
|
157
|
-
--package-ref npm:enigma-memory@0.1.
|
|
157
|
+
--package-ref npm:enigma-memory@0.1.16 \
|
|
158
158
|
--score recall_at_5=1 \
|
|
159
159
|
--score p95_latency_ms=14 \
|
|
160
160
|
--out .enigma/proof-quickstart/benchmark-attestation.json
|
|
@@ -282,7 +282,7 @@ const attestation = createBenchmarkAttestation({
|
|
|
282
282
|
report_hash: 'sha256:6666666666666666666666666666666666666666666666666666666666666666',
|
|
283
283
|
dataset_ref: 'dataset:quickstart-public-fixture:v1',
|
|
284
284
|
runner_ref: 'runner:enigma-local:v1',
|
|
285
|
-
package_ref: 'npm:enigma-memory@0.1.
|
|
285
|
+
package_ref: 'npm:enigma-memory@0.1.16',
|
|
286
286
|
sample_count: 12,
|
|
287
287
|
run_count: 1,
|
|
288
288
|
});
|