enigma-memory 0.1.15 → 0.1.17
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 +70 -86
- package/apps/cli/bin/enigma.mjs +152 -15
- 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 +70 -9
- package/docs/blockchain-only-mechanisms.md +12 -0
- package/docs/browser-extension-install.md +9 -6
- package/docs/client-connectors.md +29 -55
- package/docs/demo-proof-network.md +3 -3
- package/docs/developer-ecosystem.md +207 -223
- package/docs/developer-proof-quickstart.md +3 -3
- package/docs/enigma-memory-ready-conformance.md +1 -1
- package/docs/hosted-cloud-product.md +31 -0
- package/docs/install-anywhere.md +68 -70
- package/docs/memory-benchmarks.md +21 -3
- package/docs/memory-drive-health-model.md +41 -0
- package/docs/proof-network-build-notes.md +2 -2
- package/docs/proof-network.md +90 -8
- 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/hosted-cloud/src/index.js +470 -2
- package/packages/mcp-server/README.md +22 -0
- package/packages/mcp-server/src/index.js +1 -1
- package/packages/passport/src/index.js +730 -0
- package/packages/proof-network/src/index.js +139 -0
- package/scripts/build-benchmark-proof-release.mjs +119 -6
- 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 +23 -3
- package/scripts/build-installer-assets.mjs +1 -1
- package/scripts/build-production-handoff-packet.mjs +1 -1
- package/scripts/build-production-unblocker.mjs +409 -409
- 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 +287 -5
- package/scripts/stage-cloudflare-pages-artifact.mjs +145 -0
package/deploy/SIMULATION.md
CHANGED
|
@@ -103,50 +103,46 @@ and are non-empty.
|
|
|
103
103
|
`sim.enigmamemory.com`, `relay.sim.enigmamemory.com`,
|
|
104
104
|
`gateway.sim.enigmamemory.com`, and `*.sim.enigmamemory.com`.
|
|
105
105
|
|
|
106
|
-
##
|
|
106
|
+
## Shortest path from local simulation to hosted readiness
|
|
107
107
|
|
|
108
|
-
The simulation
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
108
|
+
The local simulation proves that the relay, gateway, fail-closed readiness
|
|
109
|
+
checks, hosted-live collector, and hosted-live validator can interoperate. It
|
|
110
|
+
does **not** produce production go-live evidence because it uses loopback DNS,
|
|
111
|
+
self-signed TLS, mocked KMS/SIEM services, and fixture operator approval.
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
Run the local proof without external credentials:
|
|
114
114
|
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
--tenant enigma-sim --deployment-mode hosted --environment local-simulation \
|
|
119
|
-
--target-regions local --requested-go-live-date 2026-06-25 \
|
|
120
|
-
--evidence-repository https://github.com/enigma-memory/evidence/sim \
|
|
121
|
-
--packet-owner "Simulation Owner" \
|
|
122
|
-
--last-updated 2026-06-25T00:00:00.000Z \
|
|
123
|
-
--owners-json .enigma/sim-owner-overrides.json \
|
|
124
|
-
--evidence-refs .enigma/sim-evidence-overrides.json \
|
|
125
|
-
--out .enigma/sim-operator-acceptance.json --validate
|
|
126
|
-
```
|
|
115
|
+
```bash
|
|
116
|
+
node --test test/enigma-hosted-go-live-simulation.test.mjs
|
|
117
|
+
```
|
|
127
118
|
|
|
128
|
-
|
|
119
|
+
That test starts `deploy/docker-compose.local-production-simulation.yml`,
|
|
120
|
+
builds a simulation-only operator acceptance packet, collects relay/gateway
|
|
121
|
+
`/livez` and `/readyz` evidence, validates it with
|
|
122
|
+
`scripts/validate-hosted-backend-live.mjs`, and tears the stack down. For manual
|
|
123
|
+
simulation probing, `production:hosted-collect -- --local-simulation-loopback`
|
|
124
|
+
is restricted to `https://*.sim.enigmamemory.com` loopback probes with
|
|
125
|
+
self-signed TLS and must not be used as production evidence.
|
|
129
126
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
```
|
|
127
|
+
Move from that local proof to real hosted relay/gateway readiness with the same
|
|
128
|
+
script chain, replacing every template with operator-owned production evidence:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
npm run production:evidence-starter -- --out-dir <evidence-dir> --domain enigmamemory.com --tenant <tenant-id> --environment production
|
|
132
|
+
npm run production:backend-env -- --out-dir <backend-env-kit-dir> --domain enigmamemory.com --tenant <tenant-id> --environment production
|
|
133
|
+
# Operator deploys relay/gateway from deploy/docker-compose.production.example.yml or deploy/kubernetes/enigma-backend.example.yaml using private filled env/secrets.
|
|
134
|
+
npm run production:manifests -- --out <evidence-dir>/production-manifests.json
|
|
135
|
+
npm run production:storage -- --out <evidence-dir>/production-storage-migration.json
|
|
136
|
+
npm run infrastructure:readiness -- --manifest <evidence-dir>/infrastructure-readiness-manifest.json --live --cloudflare-live required > <evidence-dir>/infrastructure-readiness-live.json
|
|
137
|
+
npm run production:hosted-collect -- --relay-url https://relay.enigmamemory.com --gateway-url https://gateway.enigmamemory.com --refs-json <evidence-dir>/hosted-refs.json --domain enigmamemory.com --environment-id production --cloud-provider <provider> --region <region> --owner <owner> --operator-decision go --operator-packet-ref <operator-packet-ref> --operator-approved-at <iso8601> --operator-approved-by <operator> --out <evidence-dir>/hosted-backend-live-collection.json --evidence-out <evidence-dir>/hosted-backend-live.json
|
|
138
|
+
npm run production:hosted-live -- --evidence <evidence-dir>/hosted-backend-live.json
|
|
139
|
+
npm run production:acceptance:packet -- --out <evidence-dir>/operator-acceptance-packet.json --owners-json <evidence-dir>/owner-approval-refs.json --evidence-refs <evidence-dir>/evidence-refs.json --readiness <evidence-dir>/infrastructure-readiness-live.json --manifest <evidence-dir>/infrastructure-readiness-manifest.json --storage <evidence-dir>/production-storage-migration.json --release-audit .enigma/release-audit-current.json --production-manifests <evidence-dir>/production-manifests.json --decision go --tenant <tenant-id> --target-regions <regions> --requested-go-live-date <date> --evidence-repository <evidence-repository> --packet-owner <operator> --validate
|
|
140
|
+
npm run production:acceptance -- --packet <evidence-dir>/operator-acceptance-packet.json
|
|
141
|
+
```
|
|
146
142
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
143
|
+
Hosted readiness remains blocked until the production commands above observe
|
|
144
|
+
public HTTPS relay/gateway probes, all required hosted refs, and operator
|
|
145
|
+
acceptance `go` for the exact target environment.
|
|
150
146
|
|
|
151
147
|
Never commit `deploy/secrets-simulation/` or `*.pem` files. Both are
|
|
152
148
|
`.gitignore`d.
|
|
@@ -169,7 +169,7 @@ Minimum public-safe attestation skeleton:
|
|
|
169
169
|
"track": "public_practice",
|
|
170
170
|
"program": {
|
|
171
171
|
"name": "enigma_benchmark_attestation_network",
|
|
172
|
-
"version": "0.1.
|
|
172
|
+
"version": "0.1.17",
|
|
173
173
|
"policy_ref": "sha256:policy-root"
|
|
174
174
|
},
|
|
175
175
|
"run": {
|
|
@@ -177,7 +177,7 @@ Minimum public-safe attestation skeleton:
|
|
|
177
177
|
"nonce": "sha256:run-nonce-commitment",
|
|
178
178
|
"status": "completed",
|
|
179
179
|
"runner_ref": "sha256:runner-root",
|
|
180
|
-
"package_ref": "npm:enigma-memory@0.1.
|
|
180
|
+
"package_ref": "npm:enigma-memory@0.1.17",
|
|
181
181
|
"adapter_ref": "local:enigma-relevance",
|
|
182
182
|
"environment_ref": "sha256:environment-summary-root"
|
|
183
183
|
},
|
|
@@ -4,7 +4,7 @@ This guide explains how to reproduce the current local Enigma memory benchmark,
|
|
|
4
4
|
|
|
5
5
|
## What is reproducible today
|
|
6
6
|
|
|
7
|
-
The current planned package is `enigma-memory@0.1.
|
|
7
|
+
The current planned package is `enigma-memory@0.1.17`. Two benchmark paths are reproducible without provider credentials:
|
|
8
8
|
|
|
9
9
|
1. The local deterministic memory suite, available through the package script and the script file it wraps:
|
|
10
10
|
|
|
@@ -20,12 +20,15 @@ The current planned package is `enigma-memory@0.1.15`. Two benchmark paths are r
|
|
|
20
20
|
2. The official-dataset standard runner, which consumes locally downloaded LoCoMo and/or LongMemEval JSON files:
|
|
21
21
|
|
|
22
22
|
```sh
|
|
23
|
+
node 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 --dry-run
|
|
23
24
|
node 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
|
|
24
25
|
```
|
|
25
26
|
|
|
26
|
-
The
|
|
27
|
+
The `--dry-run` command emits `enigma.standard_memory_benchmark_plan.v1`: a public-safe offline plan with file names, sample caps, top-k, local method rows, a requirements-only Mem0 adapter row, and explicit boundaries. It does not read dataset files, hash data, produce scores, call APIs, run Mem0 or competitor adapters, generate answers, or spend provider budget.
|
|
27
28
|
|
|
28
|
-
|
|
29
|
+
The scored standard report schema is `enigma.standard_memory_benchmark_suite.v1`. It scores retrieval/evidence coverage over official dataset records with local deterministic methods only and includes a requirements-only Mem0 row with `scores_included:false`. It does not call LLM providers, generate final answers, grade natural-language answer correctness, call Mem0 or other competitor SDKs, or create provider/competitor scores.
|
|
30
|
+
|
|
31
|
+
In that standard report, `keyword_filter` is intentionally the simpler lexical baseline. `enigma_relevance` is the deterministic Enigma retrieval approximation: it uses deterministic query expansion, term normalization and stemming, task/category and temporal/date hints, role/session metadata, phrase/proximity scoring, and final reranking for evidence diversity. It does not use raw answer text, evidence labels, or `has_answer` flags to choose records. It must be interpreted only as retrieval/evidence proxy scoring over the local dataset file named in the report, not as LLM answer accuracy, provider performance, Mem0/competitor performance, or leaderboard standing.
|
|
29
32
|
|
|
30
33
|
| Standard-runner row | Retrieval boundary |
|
|
31
34
|
| --- | --- |
|
|
@@ -64,7 +67,7 @@ Do not commit downloaded files or raw benchmark conversations. The package `.git
|
|
|
64
67
|
|
|
65
68
|
## Reproduce and save local fixture JSON
|
|
66
69
|
|
|
67
|
-
1. Use a clean checkout containing `enigma-memory@0.1.
|
|
70
|
+
1. Use a clean checkout containing `enigma-memory@0.1.17`.
|
|
68
71
|
2. From a repository root that contains `enigma/package.json`, enter the package directory:
|
|
69
72
|
|
|
70
73
|
```sh
|
|
@@ -94,7 +97,15 @@ Interpret improvements as local fixture behavior. Enigma reduces context-pack es
|
|
|
94
97
|
|
|
95
98
|
## Run the official-dataset standard benchmark
|
|
96
99
|
|
|
97
|
-
The standard runner reads local dataset files produced by the downloader and writes a public-safe proxy report to the path supplied with `--out`.
|
|
100
|
+
The standard runner reads local dataset files produced by the downloader and writes a public-safe proxy report to the path supplied with `--out`. Preview the exact offline boundary first:
|
|
101
|
+
|
|
102
|
+
```sh
|
|
103
|
+
node 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 --dry-run
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
That command proves only the planned local files, sample bounds, `--top-k`, deterministic local rows, and no-API/no-Mem0/no-competitor/no-score boundary. It does not prove the files exist, hash the datasets, or report accuracy.
|
|
107
|
+
|
|
108
|
+
A bounded scored sample is the safest first run:
|
|
98
109
|
|
|
99
110
|
```sh
|
|
100
111
|
node 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
|
|
@@ -106,6 +117,7 @@ Useful runner options:
|
|
|
106
117
|
- `--longmemeval <path>` supplies a local LongMemEval JSON file. Use one cleaned split per run when you want split-specific evidence.
|
|
107
118
|
- `--max-locomo-qa <n>` and `--max-longmemeval-items <n>` bound the sample size.
|
|
108
119
|
- `--top-k <n>` controls retrieval depth; the default is `5`.
|
|
120
|
+
- `--dry-run` prints the public-safe offline plan and does not read dataset files or produce scores.
|
|
109
121
|
- `--out <path>` writes public-safe JSON to that path. Without `--out`, the report is printed to stdout.
|
|
110
122
|
|
|
111
123
|
If only `--locomo` or only `--longmemeval` is supplied, the runner scores only that dataset.
|
|
@@ -130,7 +142,7 @@ Public sharing should include the generated benchmark report JSON and generated
|
|
|
130
142
|
|
|
131
143
|
## Proof-network benchmark attestations
|
|
132
144
|
|
|
133
|
-
For the planned 0.1.
|
|
145
|
+
For the planned 0.1.17 proof-network layer, benchmark results should be represented as a public-safe local attestation rather than by publishing raw benchmark inputs. The attestation JSON uses `schema: "enigma.proof_network.benchmark_attestation.v1"` and may be bundled in `enigma.proof_network.packet.v1` for review. The benchmark proof-release flow is local planning only: it does not call APIs, submit transactions, or claim hosted SaaS behavior, and generated artifacts must keep `transaction_submitted: false` and `raw_memory_on_chain: false`.
|
|
134
146
|
|
|
135
147
|
Hash the generated benchmark report and companion dataset manifest, then attest only the report hash, schema name, dataset refs, runner refs, package refs, score commitments, record counts, top-k/sample bounds, and timestamps needed for review. The public artifacts must not contain raw dataset rows, raw conversations, prompts, private questions, private answers, provider responses, embeddings, credentials, tenant names, account ids, local absolute paths, unpublished benchmark scores, or the raw benchmark report body.
|
|
136
148
|
|
|
@@ -139,12 +151,12 @@ Use a `sha256:<hex>` commitment for the report and manifest. The proof-release s
|
|
|
139
151
|
After running one of the benchmark commands above and confirming the report is public-safe, create a local proof release:
|
|
140
152
|
|
|
141
153
|
```sh
|
|
142
|
-
npm run benchmark:proof-release -- --report .enigma/standard-memory-benchmark-sample.json --dataset-ref "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" --runner-ref "runner:run-standard-memory-benchmarks.mjs@reviewed-revision" --package-ref "enigma-memory@0.1.
|
|
154
|
+
npm run benchmark:proof-release -- --report .enigma/standard-memory-benchmark-sample.json --dataset-ref "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" --runner-ref "runner:run-standard-memory-benchmarks.mjs@reviewed-revision" --package-ref "enigma-memory@0.1.17" --score "retrieval_evidence_proxy=<value-copied-from-report>" --out-dir .enigma/benchmark-proof-release
|
|
143
155
|
```
|
|
144
156
|
|
|
145
|
-
The command writes `benchmark-attestation.json`, `benchmark-proof-packet.json`, and `benchmark-proof-release.json` in the output directory. The release manifest uses `schema: "enigma.benchmark_proof_release.v1"` and records explicit boundaries: local benchmark attestation only, no
|
|
157
|
+
The command writes `benchmark-attestation.json`, `benchmark-proof-packet.json`, and `benchmark-proof-release.json` in the output directory. The release manifest uses `schema: "enigma.benchmark_proof_release.v1"` and records explicit boundaries: local benchmark attestation only, local report file hashing only, no network calls, no provider APIs, no API spend, no provider answer-accuracy claim, no competitor performance claim, no Solana submission claim, no hosted SaaS claim, and no ROI/profit/provider-savings claim.
|
|
146
158
|
|
|
147
|
-
When a report file is supplied, the generated attestation is a reproducibility receipt for a specific local report hash and explicitly supplied aggregate score commitments. It is not evidence of provider answer accuracy, competitor performance, Solana settlement, ROI, hosted-cloud readiness, provider deletion, model forgetting, or live model behavior.
|
|
159
|
+
When a report file is supplied, the generated attestation is a reproducibility receipt for a specific local report hash and explicitly supplied aggregate score commitments. The proof builder now requires a compatible benchmark schema plus explicit offline `benchmark_boundaries`, and rejects scored external adapter rows. It is not evidence of provider answer accuracy, Mem0 or competitor performance, Solana settlement, ROI, hosted-cloud readiness, provider deletion, model forgetting, or live model behavior.
|
|
148
160
|
|
|
149
161
|
## Local baseline rows in the report
|
|
150
162
|
|
|
@@ -168,6 +180,55 @@ Use these standards as dataset sources, citations, and task-category references,
|
|
|
168
180
|
|
|
169
181
|
The local report mirrors some task categories from those benchmarks but does not download or score official records. The standard runner consumes official local dataset files and scores retrieval/evidence coverage; it does not run the original papers' full LLM evaluation pipelines or claim leaderboard-equivalent answer accuracy.
|
|
170
182
|
|
|
183
|
+
## Full-answer benchmark protocol plan (--protocol-plan)
|
|
184
|
+
|
|
185
|
+
The scored standard runner is retrieval/evidence proxy only. A true apples-to-apples full-answer run (same category set, same top-k, same frozen answerer and judge, same prompts, same competitor adapters) is a separate, credentialed benchmark that this package does not execute. `--protocol-plan` is the readiness layer between the two: it emits a public-safe plan of that future protocol without reading datasets, calling providers, generating answers, judging answers, or running competitor adapters.
|
|
186
|
+
|
|
187
|
+
```sh
|
|
188
|
+
cd enigma
|
|
189
|
+
node 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 --protocol-plan --out .enigma/standard-memory-benchmark-protocol-plan.json
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
Optionally pin the public-safe model/prompt/protocol refs so the plan records exactly which artifacts a future live run must freeze (defaults mark every ref `not-selected`/`not-pinned`):
|
|
193
|
+
|
|
194
|
+
```sh
|
|
195
|
+
node scripts/run-standard-memory-benchmarks.mjs --locomo .enigma/benchmarks/datasets/locomo10.json --top-k 5 --protocol-plan \
|
|
196
|
+
--answerer-ref "model:answerer@frozen-revision" \
|
|
197
|
+
--judge-ref "model:judge@frozen-revision" \
|
|
198
|
+
--answer-prompt-ref "prompt:standard-answer@frozen-revision" \
|
|
199
|
+
--judge-prompt-ref "prompt:standard-judge@frozen-revision" \
|
|
200
|
+
--protocol-ref "protocol:apples-to-apples-full-answer@frozen-revision" \
|
|
201
|
+
--out .enigma/standard-memory-benchmark-protocol-plan.json
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
The emitted schema is `enigma.standard_memory_benchmark_protocol_plan.v1`. It records the planned category set (the same LoCoMo/LongMemEval task categories the scored report uses), `--top-k`, the answerer model ref and judge model ref, the prompt refs and protocol ref, the requirements-only competitor adapter refs, and cost-estimate inputs (sample limits, token caps, temperature, retries, timeout, and a `budget_cap_set:false` flag). It does not contain raw questions, raw answers, prompts, provider responses, embeddings, credentials, dataset bytes, or scores.
|
|
205
|
+
|
|
206
|
+
The plan carries explicit boundaries that must read `false`:
|
|
207
|
+
|
|
208
|
+
| Boundary | Meaning |
|
|
209
|
+
| --- | --- |
|
|
210
|
+
| `protocol_boundaries.network_required` | No network is used to produce the plan. |
|
|
211
|
+
| `protocol_boundaries.provider_calls_made` | No provider APIs are called. |
|
|
212
|
+
| `protocol_boundaries.answers_generated` | No model answers are generated. |
|
|
213
|
+
| `protocol_boundaries.judged` | No answers are judged or graded. |
|
|
214
|
+
| `protocol_boundaries.competitor_adapters_run` | No Mem0 or other competitor adapters are run. |
|
|
215
|
+
| `benchmark_boundaries.llm_answer_accuracy_scored` | The plan is not a score. |
|
|
216
|
+
| `benchmark_boundaries.retrieval_evidence_proxy_scored` | The plan does not even score the retrieval proxy. |
|
|
217
|
+
|
|
218
|
+
The protocol plan can be turned into a local proof release with the same command used for a scored report, because the proof-release builder accepts either a local retrieval proxy report or a protocol-plan report:
|
|
219
|
+
|
|
220
|
+
```sh
|
|
221
|
+
npm run benchmark:proof-release -- --report .enigma/standard-memory-benchmark-protocol-plan.json --dataset-ref "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" --runner-ref "runner:run-standard-memory-benchmarks.mjs@protocol-plan" --package-ref "enigma-memory@0.1.17" --out-dir .enigma/benchmark-protocol-proof-release
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
The resulting attestation uses the existing `enigma.proof_network.benchmark_attestation.v1` schema and binds the protocol-plan report hash plus `report_hash_only` metric roots; it does not copy the report body. A protocol-plan proof release is evidence of protocol readiness only. It is not evidence that answers were generated, that answers were judged, that any provider or competitor was called or outperformed, or that benchmark leadership, ROI, provider deletion, model forgetting, or compliance was achieved. Competitor adapter refs are references, not scores; a reference is never a superiority claim.
|
|
225
|
+
|
|
226
|
+
### What the protocol plan proves and does not prove
|
|
227
|
+
|
|
228
|
+
**Proves:** the exact category set, top-k, planned answerer/judge model refs, prompt/protocol refs, competitor adapter refs, and cost-estimate inputs that a future full-answer run would freeze, plus the explicit no-network/no-provider/no-answers/no-judgement boundary.
|
|
229
|
+
|
|
230
|
+
**Does not prove:** that any model answered correctly, that any model was judged, that any provider or competitor ran, that prompts are final, that a budget cap was set, or that the planned run would favor Enigma. Pinned refs mark which artifacts a future run must freeze; they are not a claim that the run happened or succeeded.
|
|
231
|
+
|
|
171
232
|
## Future provider answer-accuracy runs
|
|
172
233
|
|
|
173
234
|
A real answer-accuracy run is a different benchmark from the current standard runner. It would need all of the following before any answer-correctness or model-quality claim is published:
|
|
@@ -166,6 +166,8 @@ Keep private:
|
|
|
166
166
|
|
|
167
167
|
The registry should answer, "Which public key attested to which digest under which schema?" It should not answer, "What private data produced that digest?" Disclosure of the underlying report is a separate permissioned review action.
|
|
168
168
|
|
|
169
|
+
The local Enigma artifacts that prepare this registry are `enigma.proof_network.registry_entry.v1` and `enigma.proof_network.registry_batch.v1`. A registry entry binds one already-created artifact (anchor batch, benchmark attestation, connector conformance attestation, health report, operator receipt, or settlement job ref) to a public-safe `registry_ref`, the artifact schema ref, digest refs, signer refs, an entry type, and a count — never the artifact body. A registry batch sorts entry hashes into a single registry root. Both are local planning artifacts: they carry `transaction_submitted:false` and `raw_memory_on_chain:false`, and they do not prove that any marketplace, registry program, or live chain has adopted the index. What the chain would uniquely add is shared discovery (any verifier can resolve an indexed digest by package, dataset, runner, or operator key without trusting one private API) and signer accountability (the public key that attested to a digest is recorded alongside it); neither requires revealing the private report behind the digest.
|
|
170
|
+
|
|
169
171
|
## Mechanism 5: USDC escrow and settlement
|
|
170
172
|
|
|
171
173
|
### Blockchain-native value
|
|
@@ -292,6 +294,7 @@ The public rail should be modeled as a small state machine over commitments, not
|
|
|
292
294
|
| Grant record | program id, `grant`, issuer key, subject key, scope digest, capability | grant id, capability, scope digest, expiry, revocation ref | Was this public subject granted this scoped capability at this time? |
|
|
293
295
|
| Nullifier record | program id, `nullifier`, nullifier digest | nullifier digest, issuer key, effective slot, optional safe reason ref | Should verifiers reject the matching grant, scope, or one-time proof? |
|
|
294
296
|
| Attestation record | program id, `attestation`, attestor key, report or packet digest | digest, attestation type, public-safe refs, slot, signature | Which public key attested to this digest under which schema? |
|
|
297
|
+
| Registry index record | program id, `registry`, registry namespace ref, artifact digest, attestor key | artifact digest, artifact schema ref, entry type, public-safe digest/signer refs, count, slot, signature | Which public key indexed which digest under which schema and registry namespace? |
|
|
295
298
|
| Escrow record | program id, `escrow`, payer key, operator key, job ref | token mint, amount, proof refs, release rule, timeout, state | Are funds locked, releasable, refundable, or disputed against public-safe refs? |
|
|
296
299
|
| Reputation index | program id, `operator`, operator key | counters, correction refs, challenge refs, signer rotation refs | What public-key history can be checked without private customer facts? |
|
|
297
300
|
|
|
@@ -342,6 +345,15 @@ The chain contributes shared permission and revocation state. It does not expose
|
|
|
342
345
|
|
|
343
346
|
The chain contributes shared discovery and signer accountability. It does not publish raw benchmark examples or private results.
|
|
344
347
|
|
|
348
|
+
### Marketplace registry index
|
|
349
|
+
|
|
350
|
+
1. Enigma creates one or more proof artifacts (anchor, attestation, health report, operator receipt, or settlement job ref) and keeps their bodies private.
|
|
351
|
+
2. Enigma emits a registry entry per artifact that records only the artifact hash, schema ref, digest refs, signer refs, entry type, and a registry namespace ref.
|
|
352
|
+
3. Enigma aggregates entries into a registry batch whose root commits to the whole index.
|
|
353
|
+
4. A reviewer resolves individual artifact hashes through approved private channels; a public observer can see only that a digest was indexed under a schema by named signers.
|
|
354
|
+
|
|
355
|
+
The chain would contribute shared discovery and signer accountability. The local registry artifacts do not broadcast to a marketplace, register on a live chain, or prove third-party adoption.
|
|
356
|
+
|
|
345
357
|
### Escrow for proof-backed operator work
|
|
346
358
|
|
|
347
359
|
1. A payer would lock USDC against a job ref and release rule.
|
|
@@ -27,21 +27,24 @@ node scripts/package-browser-extension.mjs --zip ./dist/enigma-browser-extension
|
|
|
27
27
|
|
|
28
28
|
The ZIP command does not publish, sign, upload, or submit the extension.
|
|
29
29
|
|
|
30
|
-
## Install the native host first
|
|
30
|
+
## Install the native host and MCP connector first
|
|
31
31
|
|
|
32
|
-
Install the npm package
|
|
32
|
+
Install the npm package, create the local bundle, and let Enigma merge the MCP server entry into the selected client config. Pick the command for the client you use:
|
|
33
33
|
|
|
34
34
|
```sh
|
|
35
|
-
npm install -g enigma-memory
|
|
35
|
+
npm install -g enigma-memory && enigma setup --client claude-desktop --write-connectors --overwrite
|
|
36
|
+
npm install -g enigma-memory && enigma setup --client cursor --write-connectors --overwrite
|
|
37
|
+
npm install -g enigma-memory && enigma setup --client kimi-code --write-connectors --overwrite
|
|
38
|
+
npm install -g enigma-memory && enigma setup --client vscode-cline --write-connectors --overwrite
|
|
36
39
|
```
|
|
37
40
|
|
|
38
|
-
|
|
41
|
+
If you want Enigma to touch only client config files that already exist, use:
|
|
39
42
|
|
|
40
43
|
```sh
|
|
41
|
-
|
|
44
|
+
npm install -g enigma-memory && enigma setup --client auto --connect-installed --overwrite
|
|
42
45
|
```
|
|
43
46
|
|
|
44
|
-
Set `ENIGMA_BUNDLE` for the browser-launched host process, or point the native-host manifest at a small local wrapper that sets `ENIGMA_BUNDLE=<absolute-bundle-path>` before launching `enigma-native-host`. Native messaging manifests require an absolute executable path; they do not expand shell aliases, `~`, `$HOME`, `%USERPROFILE%`, or command arguments.
|
|
47
|
+
Set `ENIGMA_BUNDLE` for the browser-launched host process to the same bundle path reported by setup, or point the native-host manifest at a small local wrapper that sets `ENIGMA_BUNDLE=<absolute-bundle-path>` before launching `enigma-native-host`. Native messaging manifests require an absolute executable path; they do not expand shell aliases, `~`, `$HOME`, `%USERPROFILE%`, or command arguments.
|
|
45
48
|
|
|
46
49
|
Resolve the absolute host executable path:
|
|
47
50
|
|
|
@@ -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,61 +12,25 @@ 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
|
-
enigma
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
|
19
|
+
enigma init
|
|
20
|
+
enigma setup --client auto --connect-installed --overwrite
|
|
21
|
+
enigma drive health
|
|
22
|
+
enigma status
|
|
56
23
|
enigma remember --text-file ./memory.txt
|
|
57
|
-
enigma search --query "
|
|
58
|
-
enigma context --query "
|
|
24
|
+
enigma search --query "project context"
|
|
25
|
+
enigma context --query "project context" --optimize
|
|
59
26
|
enigma verify --export ./.enigma/export.json
|
|
60
|
-
enigma connect claude-desktop --dry-run
|
|
61
27
|
```
|
|
62
28
|
|
|
63
|
-
|
|
29
|
+
One command connects every installed client: `enigma setup --client auto --connect-installed --overwrite` writes the `mcpServers.enigma` entry into every installed/config-present client it detects (Claude Desktop, Cursor, Kimi Code, VS Code/Cline, Roo, OpenCode, generic MCP). It skips clients that are not installed and never creates configs from scratch; preview with `--dry-run` first. `enigma drive health` reports a SMART-style memory-drive health packet (freshness, tombstone backlog, stale derived artifacts, receipt coverage, connector health) from local metadata only — it is part of the Memory Drive surface in this release, and `enigma status` plus `enigma doctor` cover local passport counts, roots, and connector readiness in every build. No setup command prints raw memory plaintext.
|
|
64
30
|
|
|
65
|
-
|
|
31
|
+
For a single client, or to preview before writing, use `enigma connect <client> --dry-run` and then drop `--dry-run`.
|
|
66
32
|
|
|
67
|
-
|
|
68
|
-
npx --yes --package enigma-memory enigma test-drive --overwrite
|
|
69
|
-
```
|
|
33
|
+
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
34
|
|
|
71
35
|
From a source checkout, use this only for package development or source-only docs:
|
|
72
36
|
|
|
@@ -77,14 +41,6 @@ npm install -g .
|
|
|
77
41
|
|
|
78
42
|
## Preview, then connect
|
|
79
43
|
|
|
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
44
|
Preview one client without changing it:
|
|
89
45
|
|
|
90
46
|
```sh
|
|
@@ -97,7 +53,25 @@ enigma connect opencode --dry-run
|
|
|
97
53
|
enigma connect generic-mcp --dry-run
|
|
98
54
|
```
|
|
99
55
|
|
|
100
|
-
When
|
|
56
|
+
When the single-client dry run looks right, remove `--dry-run` for the client you want:
|
|
57
|
+
|
|
58
|
+
```sh
|
|
59
|
+
enigma connect claude-desktop
|
|
60
|
+
enigma connect cursor
|
|
61
|
+
enigma connect kimi-code
|
|
62
|
+
enigma connect vscode-cline
|
|
63
|
+
enigma connect roo
|
|
64
|
+
enigma connect opencode
|
|
65
|
+
enigma connect generic-mcp
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
Optional setup-time planning for installed/config-present connector targets remains available:
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
enigma setup --client auto --overwrite
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Use the explicit setup-time write flag only when you want setup to write all installed/config-present client configs it discovers:
|
|
101
75
|
|
|
102
76
|
```sh
|
|
103
77
|
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.17 \
|
|
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.17 \
|
|
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.17",
|
|
240
240
|
"scores": {
|
|
241
241
|
"recall_at_5": 1,
|
|
242
242
|
"p95_latency_ms": 14
|