enigma-memory 0.1.13 → 0.1.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +36 -17
  2. package/apps/cli/bin/enigma.mjs +320 -42
  3. package/deploy/docker-compose.local-production-simulation.yml +10 -11
  4. package/docs/benchmark-attestation-network.md +487 -487
  5. package/docs/benchmark-reproducibility.md +10 -9
  6. package/docs/demo-proof-network.md +275 -275
  7. package/docs/developer-ecosystem.md +223 -223
  8. package/docs/developer-proof-quickstart.md +325 -325
  9. package/docs/enigma-memory-ready-conformance.md +376 -376
  10. package/docs/hosted-cloud-product.md +10 -0
  11. package/docs/install-anywhere.md +34 -17
  12. package/docs/installers-and-desktop.md +9 -7
  13. package/docs/proof-network-build-notes.md +240 -240
  14. package/docs/proof-network.md +257 -257
  15. package/docs/sdk-api.md +324 -324
  16. package/docs/solana-devnet-acceptance.md +48 -0
  17. package/docs/solana-proof-rail.md +453 -453
  18. package/examples/ci/github-actions.yml +6 -8
  19. package/package.json +8 -1
  20. package/packages/mcp-server/src/index.js +1 -1
  21. package/packages/passport/src/index.js +9 -5
  22. package/scripts/build-benchmark-proof-release.mjs +391 -0
  23. package/scripts/build-goal-completion-audit.mjs +11 -5
  24. package/scripts/build-hosted-api-key-lifecycle.mjs +1 -1
  25. package/scripts/build-hosted-customer-lifecycle.mjs +1 -1
  26. package/scripts/build-installer-assets.mjs +126 -10
  27. package/scripts/build-production-handoff-packet.mjs +7 -6
  28. package/scripts/build-production-unblocker.mjs +409 -0
  29. package/scripts/build-proof-network-packet.mjs +1 -1
  30. package/scripts/release-audit.mjs +71 -2
  31. package/scripts/run-standard-memory-benchmarks.mjs +1 -1
  32. package/scripts/wait-for-backend-ready.mjs +4 -2
@@ -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.13`. Two benchmark paths are reproducible without provider credentials:
7
+ The current planned package is `enigma-memory@0.1.14`. 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
 
@@ -64,7 +64,7 @@ Do not commit downloaded files or raw benchmark conversations. The package `.git
64
64
 
65
65
  ## Reproduce and save local fixture JSON
66
66
 
67
- 1. Use a clean checkout containing `enigma-memory@0.1.13`.
67
+ 1. Use a clean checkout containing `enigma-memory@0.1.14`.
68
68
  2. From a repository root that contains `enigma/package.json`, enter the package directory:
69
69
 
70
70
  ```sh
@@ -130,20 +130,21 @@ Public sharing should include the generated benchmark report JSON and generated
130
130
 
131
131
  ## Proof-network benchmark attestations
132
132
 
133
- For the planned 0.1.13 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 attestation flow is local planning only: it does not submit transactions, and generated artifacts must keep `transaction_submitted: false` and `raw_memory_on_chain: false`.
133
+ For the planned 0.1.14 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
134
 
135
- Hash the generated benchmark report and companion dataset manifest, then attest only the hashes, schema names, dataset refs, runner refs, package refs, aggregate metric names/values copied from the report, record counts, top-k/sample bounds, timestamps, and signatures or signer refs needed for review. The public artifact must not contain raw dataset rows, raw conversations, prompts, private questions, private answers, provider responses, embeddings, credentials, tenant names, account ids, local absolute paths, or unpublished benchmark scores.
135
+ 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
136
 
137
- Use a `sha256:<hex>` commitment for the report and manifest. If the CLI derives the report commitment from `--report-file`, publish the resulting hash field only; if a reviewer precomputes a hash, hash the final public-safe JSON artifact that will be shared, not any raw source dataset or private run directory.
137
+ Use a `sha256:<hex>` commitment for the report and manifest. The proof-release script derives the report commitment from `--report` and writes that hash to the attestation, proof packet, and release manifest; it does not copy the report JSON body or report path into proof artifacts. Hash the final public-safe benchmark report that will be shared, not any raw source dataset or private run directory.
138
138
 
139
- After running one of the benchmark commands above and confirming the report is public-safe, create a local planning attestation with placeholder hashes and metric values replaced from the generated report and manifest:
139
+ After running one of the benchmark commands above and confirming the report is public-safe, create a local proof release:
140
140
 
141
141
  ```sh
142
- enigma chain attest --report-file .enigma/standard-memory-benchmark-sample.json --dataset-ref "sha256:<public-dataset-or-manifest-hash>" --runner-ref "run-standard-memory-benchmarks.mjs@<reviewed-revision>" --package-ref "enigma-memory@0.1.13" --score "retrieval_evidence_proxy=<value-copied-from-report>" --out .enigma/standard-memory-benchmark-attestation.json
143
- enigma chain verify --file .enigma/standard-memory-benchmark-attestation.json
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.14" --score "retrieval_evidence_proxy=<value-copied-from-report>" --out-dir .enigma/benchmark-proof-release
144
143
  ```
145
144
 
146
- When a report file is supplied, the attestation command should derive a SHA-256 report commitment from the JSON report and store that commitment rather than copying the report body into the proof artifact. If a precomputed report hash is used instead, record the hash algorithm, report schema, dataset manifest hash, and the exact runner/package refs that produced it. Treat the proof-network attestation as a reproducibility receipt for a specific local report hash and explicitly recorded aggregate metrics, not as evidence of provider answer accuracy, competitor performance, Solana settlement, or live model behavior.
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 API calls, 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
+
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.
147
148
 
148
149
  ## Local baseline rows in the report
149
150
 
@@ -1,275 +1,275 @@
1
- # Proof Network demo scripts
2
-
3
- Use these scripts to show Enigma's Proof Network with a local package install. They create and verify public-safe JSON proof artifacts only. They do not submit Solana transactions, call hosted Enigma, call model providers, write client configs, or place raw memory on chain.
4
-
5
- Requirements:
6
-
7
- - Node.js `>=24`
8
- - `enigma-memory` available through npm or a local package install
9
- - No provider credentials for the three default demos
10
-
11
- Run the commands from a writable demo directory after installing the package, for example `npm install -g enigma-memory`. For a one-off public npm run, prefix each `enigma` command with `npx --yes --package enigma-memory`. From a source checkout, replace `enigma` with `node apps/cli/bin/enigma.mjs`.
12
-
13
- Public-safety rule: proof artifacts may contain hashes, roots, refs, counts, timestamps, public authority refs, signatures, and boolean claim boundaries. They must not contain raw memory, prompts, transcripts, completions, embeddings, ACL bodies, tenant names, private keys, API keys, seed phrases, or provider responses.
14
-
15
- ## Demo 1 — public npm test-drive + proof anchor plan
16
-
17
- Goal: run the public local test drive, then produce a Solana-ready anchor batch that commits only opaque roots and refs. The batch is a transaction plan, not a submitted transaction.
18
-
19
- ```sh
20
- node -e "require('node:fs').mkdirSync('.enigma/proof-network',{recursive:true})"
21
-
22
- enigma test-drive \
23
- --out-dir .enigma/proof-network/test-drive \
24
- --overwrite
25
-
26
- enigma chain anchor \
27
- --root sha256:1111111111111111111111111111111111111111111111111111111111111111 \
28
- --root sha256:2222222222222222222222222222222222222222222222222222222222222222 \
29
- --root sha256:3333333333333333333333333333333333333333333333333333333333333333 \
30
- --ref npm-test-drive:bundle-root:v1 \
31
- --ref npm-test-drive:receipt-root:v1 \
32
- --ref npm-test-drive:context-root:v1 \
33
- --authority did:web:enigma.example#local-demo \
34
- --batch-ref proof-network-demo-anchor-001 \
35
- --out .enigma/proof-network/anchor-batch.json
36
-
37
- enigma chain verify \
38
- --file .enigma/proof-network/anchor-batch.json
39
- ```
40
-
41
- Expected public-safe output shape from `chain anchor`:
42
-
43
- ```json
44
- {
45
- "ok": true,
46
- "artifact_type": "enigma.proof_network.anchor_batch.v1",
47
- "transaction_submitted": false,
48
- "raw_memory_on_chain": false,
49
- "batch_ref": "proof-network-demo-anchor-001",
50
- "roots": [
51
- "sha256:1111111111111111111111111111111111111111111111111111111111111111",
52
- "sha256:2222222222222222222222222222222222222222222222222222222222222222",
53
- "sha256:3333333333333333333333333333333333333333333333333333333333333333"
54
- ],
55
- "refs": [
56
- "npm-test-drive:bundle-root:v1",
57
- "npm-test-drive:receipt-root:v1",
58
- "npm-test-drive:context-root:v1"
59
- ],
60
- "solana_ready": true,
61
- "claim_boundaries": {
62
- "provider_calls": false,
63
- "hosted_enigma_calls": false,
64
- "transaction_submitted": false,
65
- "raw_memory_on_chain": false
66
- }
67
- }
68
- ```
69
-
70
- Expected public-safe output shape from `chain verify`:
71
-
72
- ```json
73
- {
74
- "ok": true,
75
- "artifact_type": "enigma.proof_network.anchor_batch.v1",
76
- "valid": true,
77
- "transaction_submitted": false,
78
- "raw_memory_on_chain": false,
79
- "private_payload_detected": false
80
- }
81
- ```
82
-
83
- Presenter notes:
84
-
85
- 1. The test drive proves local Enigma-controlled state only.
86
- 2. The anchor batch is Solana-ready because it is an opaque commitment payload, but it is not a transaction and it is not submitted.
87
- 3. Replace the demo roots with roots emitted by your own local Enigma run when presenting a real local artifact. Do not paste memory text, prompts, embeddings, provider responses, or tenant/customer names into `--root`, `--ref`, or `--authority`.
88
-
89
- ## Demo 2 — cross-model memory receipt demo
90
-
91
- Goal: show one local Enigma bundle producing public receipt summaries for multiple model/client profiles, then issue a scoped capability grant and revocation for one public subject ref. No model provider is contacted.
92
-
93
- ```sh
94
- node -e "require('node:fs').mkdirSync('.enigma/proof-network',{recursive:true})"
95
-
96
- enigma test-drive \
97
- --out-dir .enigma/proof-network/cross-model \
98
- --overwrite
99
-
100
- enigma demo cross-model \
101
- --bundle .enigma/proof-network/cross-model/bundle.json \
102
- --out .enigma/proof-network/cross-model-report.json
103
-
104
- enigma chain grant \
105
- --subject agent:claude-desktop:local-demo \
106
- --capability memory.context.read \
107
- --scope context-pack:cross-model-demo:v1 \
108
- --expires-at 2026-12-31T00:00:00.000Z \
109
- --grant-ref proof-network-demo-grant-001 \
110
- --out .enigma/proof-network/capability-grant.json
111
-
112
- enigma chain revoke \
113
- --grant-hash sha256:4444444444444444444444444444444444444444444444444444444444444444 \
114
- --reason demo-complete \
115
- --revocation-ref proof-network-demo-revocation-001 \
116
- --out .enigma/proof-network/capability-revocation.json
117
-
118
- enigma chain verify \
119
- --file .enigma/proof-network/capability-grant.json
120
-
121
- enigma chain verify \
122
- --file .enigma/proof-network/capability-revocation.json
123
- ```
124
-
125
- Expected public-safe output shape from `demo cross-model`:
126
-
127
- ```json
128
- {
129
- "ok": true,
130
- "demo": "cross-model-memory",
131
- "provider_calls": false,
132
- "raw_memory_included": false,
133
- "profiles": [
134
- {
135
- "client": "claude-desktop",
136
- "context_pack_hash": "sha256:...",
137
- "receipt_refs": ["receipt:..."]
138
- },
139
- {
140
- "client": "cursor",
141
- "context_pack_hash": "sha256:...",
142
- "receipt_refs": ["receipt:..."]
143
- },
144
- {
145
- "client": "kimi-code",
146
- "context_pack_hash": "sha256:...",
147
- "receipt_refs": ["receipt:..."]
148
- }
149
- ]
150
- }
151
- ```
152
-
153
- Expected public-safe output shape from `chain grant`:
154
-
155
- ```json
156
- {
157
- "ok": true,
158
- "artifact_type": "enigma.proof_network.capability_grant.v1",
159
- "transaction_submitted": false,
160
- "raw_memory_on_chain": false,
161
- "subject": "agent:claude-desktop:local-demo",
162
- "capability": "memory.context.read",
163
- "scope": "context-pack:cross-model-demo:v1",
164
- "expires_at": "2026-12-31T00:00:00.000Z",
165
- "grant_ref": "proof-network-demo-grant-001",
166
- "private_payload_detected": false
167
- }
168
- ```
169
-
170
- Expected public-safe output shape from `chain revoke`:
171
-
172
- ```json
173
- {
174
- "ok": true,
175
- "artifact_type": "enigma.proof_network.capability_revocation.v1",
176
- "transaction_submitted": false,
177
- "raw_memory_on_chain": false,
178
- "grant_hash": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
179
- "reason": "demo-complete",
180
- "revocation_ref": "proof-network-demo-revocation-001",
181
- "private_payload_detected": false
182
- }
183
- ```
184
-
185
- Presenter notes:
186
-
187
- 1. The cross-model report is a receipt demo, not proof that a provider remembered or forgot anything.
188
- 2. Capability grants are public authorization receipts. Scopes must be public refs, not ACL JSON, tenant names, or private policy bodies.
189
- 3. Revocations should point to grant hashes or nullifiers. Do not include the original private grant context.
190
-
191
- ## Demo 3 — benchmark attestation demo
192
-
193
- Goal: turn a benchmark report hash or local report file into a public benchmark attestation. This demo uses deterministic refs and scores only; the proof artifact does not include dataset rows, questions, answers, prompts, completions, provider responses, or credentials.
194
-
195
- Package-only path with a precomputed public report hash:
196
-
197
- ```sh
198
- node -e "require('node:fs').mkdirSync('.enigma/proof-network',{recursive:true})"
199
-
200
- enigma chain attest \
201
- --report-hash sha256:5555555555555555555555555555555555555555555555555555555555555555 \
202
- --dataset-ref enigma-fixture:deterministic-local:v1 \
203
- --runner-ref enigma-memory:local-benchmark-runner:v1 \
204
- --package-ref npm:enigma-memory@0.1.13 \
205
- --score recall_at_5=1 \
206
- --score p95_latency_ms=14 \
207
- --out .enigma/proof-network/benchmark-attestation.json
208
-
209
- enigma chain verify \
210
- --file .enigma/proof-network/benchmark-attestation.json
211
- ```
212
-
213
- Source-checkout path when you have a local benchmark report file:
214
-
215
- ```sh
216
- node scripts/run-memory-benchmarks.mjs
217
-
218
- enigma chain attest \
219
- --report-file .enigma/benchmarks/report.json \
220
- --dataset-ref enigma-fixture:deterministic-local:v1 \
221
- --runner-ref enigma-memory:scripts/run-memory-benchmarks.mjs \
222
- --package-ref npm:enigma-memory@0.1.13 \
223
- --score recall_at_5=1 \
224
- --score p95_latency_ms=14 \
225
- --out .enigma/proof-network/benchmark-attestation.json
226
- ```
227
-
228
- Expected public-safe output shape from `chain attest`:
229
-
230
- ```json
231
- {
232
- "ok": true,
233
- "artifact_type": "enigma.proof_network.benchmark_attestation.v1",
234
- "transaction_submitted": false,
235
- "raw_memory_on_chain": false,
236
- "report_hash": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
237
- "dataset_ref": "enigma-fixture:deterministic-local:v1",
238
- "runner_ref": "enigma-memory:local-benchmark-runner:v1",
239
- "package_ref": "npm:enigma-memory@0.1.13",
240
- "scores": {
241
- "recall_at_5": 1,
242
- "p95_latency_ms": 14
243
- },
244
- "private_payload_detected": false
245
- }
246
- ```
247
-
248
- Optional full-answer benchmark note: a separate full-answer benchmark runner may require provider credentials for the model being evaluated. Keep those credentials in local environment variables or a secret manager only. The public proof artifact should still contain only `report_hash`, `dataset_ref`, `runner_ref`, `package_ref`, scores, roots, refs, signatures, and claim boundaries. Never include provider requests, provider responses, prompts, answers, dataset rows, account ids, API keys, tenant names, or raw memory in the attestation.
249
-
250
- Presenter notes:
251
-
252
- 1. A benchmark attestation proves that a named report hash, dataset ref, runner ref, package ref, and score set were committed together.
253
- 2. It is not a leaderboard claim unless the named benchmark protocol, dataset access, runner, scoring rules, and comparison set are independently published and reproducible.
254
- 3. `chain verify` validates the artifact shape and public-safety boundaries; it does not rerun the benchmark.
255
-
256
- ## Close the demo
257
-
258
- Verify every generated artifact before sharing it:
259
-
260
- ```sh
261
- enigma chain verify --file .enigma/proof-network/anchor-batch.json
262
- enigma chain verify --file .enigma/proof-network/capability-grant.json
263
- enigma chain verify --file .enigma/proof-network/capability-revocation.json
264
- enigma chain verify --file .enigma/proof-network/benchmark-attestation.json
265
- ```
266
-
267
- Safe closing claim: Enigma can create local, public-safe proof-network artifacts that are ready for chain anchoring without exposing memory contents or submitting a transaction.
268
-
269
- Unsafe claims to avoid:
270
-
271
- - "A Solana transaction was submitted" unless you separately submitted one outside these local planning commands.
272
- - "Raw memory is on chain"; that should never be true for these demos.
273
- - "Providers deleted or forgot the memory."
274
- - "Provider-native memory is canonical."
275
- - "Benchmark leadership is proven" unless a reproducible comparison protocol and artifacts are published.
1
+ # Proof Network demo scripts
2
+
3
+ Use these scripts to show Enigma's Proof Network with a local package install. They create and verify public-safe JSON proof artifacts only. They do not submit Solana transactions, call hosted Enigma, call model providers, write client configs, or place raw memory on chain.
4
+
5
+ Requirements:
6
+
7
+ - Node.js `>=24`
8
+ - `enigma-memory` available through npm or a local package install
9
+ - No provider credentials for the three default demos
10
+
11
+ Run the commands from a writable demo directory after installing the package, for example `npm install -g enigma-memory`. For a one-off public npm run, prefix each `enigma` command with `npx --yes --package enigma-memory`. From a source checkout, replace `enigma` with `node apps/cli/bin/enigma.mjs`.
12
+
13
+ Public-safety rule: proof artifacts may contain hashes, roots, refs, counts, timestamps, public authority refs, signatures, and boolean claim boundaries. They must not contain raw memory, prompts, transcripts, completions, embeddings, ACL bodies, tenant names, private keys, API keys, seed phrases, or provider responses.
14
+
15
+ ## Demo 1 — public npm test-drive + proof anchor plan
16
+
17
+ Goal: run the public local test drive, then produce a Solana-ready anchor batch that commits only opaque roots and refs. The batch is a transaction plan, not a submitted transaction.
18
+
19
+ ```sh
20
+ node -e "require('node:fs').mkdirSync('.enigma/proof-network',{recursive:true})"
21
+
22
+ enigma test-drive \
23
+ --out-dir .enigma/proof-network/test-drive \
24
+ --overwrite
25
+
26
+ enigma chain anchor \
27
+ --root sha256:1111111111111111111111111111111111111111111111111111111111111111 \
28
+ --root sha256:2222222222222222222222222222222222222222222222222222222222222222 \
29
+ --root sha256:3333333333333333333333333333333333333333333333333333333333333333 \
30
+ --ref npm-test-drive:bundle-root:v1 \
31
+ --ref npm-test-drive:receipt-root:v1 \
32
+ --ref npm-test-drive:context-root:v1 \
33
+ --authority did:web:enigma.example#local-demo \
34
+ --batch-ref proof-network-demo-anchor-001 \
35
+ --out .enigma/proof-network/anchor-batch.json
36
+
37
+ enigma chain verify \
38
+ --file .enigma/proof-network/anchor-batch.json
39
+ ```
40
+
41
+ Expected public-safe output shape from `chain anchor`:
42
+
43
+ ```json
44
+ {
45
+ "ok": true,
46
+ "artifact_type": "enigma.proof_network.anchor_batch.v1",
47
+ "transaction_submitted": false,
48
+ "raw_memory_on_chain": false,
49
+ "batch_ref": "proof-network-demo-anchor-001",
50
+ "roots": [
51
+ "sha256:1111111111111111111111111111111111111111111111111111111111111111",
52
+ "sha256:2222222222222222222222222222222222222222222222222222222222222222",
53
+ "sha256:3333333333333333333333333333333333333333333333333333333333333333"
54
+ ],
55
+ "refs": [
56
+ "npm-test-drive:bundle-root:v1",
57
+ "npm-test-drive:receipt-root:v1",
58
+ "npm-test-drive:context-root:v1"
59
+ ],
60
+ "solana_ready": true,
61
+ "claim_boundaries": {
62
+ "provider_calls": false,
63
+ "hosted_enigma_calls": false,
64
+ "transaction_submitted": false,
65
+ "raw_memory_on_chain": false
66
+ }
67
+ }
68
+ ```
69
+
70
+ Expected public-safe output shape from `chain verify`:
71
+
72
+ ```json
73
+ {
74
+ "ok": true,
75
+ "artifact_type": "enigma.proof_network.anchor_batch.v1",
76
+ "valid": true,
77
+ "transaction_submitted": false,
78
+ "raw_memory_on_chain": false,
79
+ "private_payload_detected": false
80
+ }
81
+ ```
82
+
83
+ Presenter notes:
84
+
85
+ 1. The test drive proves local Enigma-controlled state only.
86
+ 2. The anchor batch is Solana-ready because it is an opaque commitment payload, but it is not a transaction and it is not submitted.
87
+ 3. Replace the demo roots with roots emitted by your own local Enigma run when presenting a real local artifact. Do not paste memory text, prompts, embeddings, provider responses, or tenant/customer names into `--root`, `--ref`, or `--authority`.
88
+
89
+ ## Demo 2 — cross-model memory receipt demo
90
+
91
+ Goal: show one local Enigma bundle producing public receipt summaries for multiple model/client profiles, then issue a scoped capability grant and revocation for one public subject ref. No model provider is contacted.
92
+
93
+ ```sh
94
+ node -e "require('node:fs').mkdirSync('.enigma/proof-network',{recursive:true})"
95
+
96
+ enigma test-drive \
97
+ --out-dir .enigma/proof-network/cross-model \
98
+ --overwrite
99
+
100
+ enigma demo cross-model \
101
+ --bundle .enigma/proof-network/cross-model/bundle.json \
102
+ --out .enigma/proof-network/cross-model-report.json
103
+
104
+ enigma chain grant \
105
+ --subject agent:claude-desktop:local-demo \
106
+ --capability memory.context.read \
107
+ --scope context-pack:cross-model-demo:v1 \
108
+ --expires-at 2026-12-31T00:00:00.000Z \
109
+ --grant-ref proof-network-demo-grant-001 \
110
+ --out .enigma/proof-network/capability-grant.json
111
+
112
+ enigma chain revoke \
113
+ --grant-hash sha256:4444444444444444444444444444444444444444444444444444444444444444 \
114
+ --reason demo-complete \
115
+ --revocation-ref proof-network-demo-revocation-001 \
116
+ --out .enigma/proof-network/capability-revocation.json
117
+
118
+ enigma chain verify \
119
+ --file .enigma/proof-network/capability-grant.json
120
+
121
+ enigma chain verify \
122
+ --file .enigma/proof-network/capability-revocation.json
123
+ ```
124
+
125
+ Expected public-safe output shape from `demo cross-model`:
126
+
127
+ ```json
128
+ {
129
+ "ok": true,
130
+ "demo": "cross-model-memory",
131
+ "provider_calls": false,
132
+ "raw_memory_included": false,
133
+ "profiles": [
134
+ {
135
+ "client": "claude-desktop",
136
+ "context_pack_hash": "sha256:...",
137
+ "receipt_refs": ["receipt:..."]
138
+ },
139
+ {
140
+ "client": "cursor",
141
+ "context_pack_hash": "sha256:...",
142
+ "receipt_refs": ["receipt:..."]
143
+ },
144
+ {
145
+ "client": "kimi-code",
146
+ "context_pack_hash": "sha256:...",
147
+ "receipt_refs": ["receipt:..."]
148
+ }
149
+ ]
150
+ }
151
+ ```
152
+
153
+ Expected public-safe output shape from `chain grant`:
154
+
155
+ ```json
156
+ {
157
+ "ok": true,
158
+ "artifact_type": "enigma.proof_network.capability_grant.v1",
159
+ "transaction_submitted": false,
160
+ "raw_memory_on_chain": false,
161
+ "subject": "agent:claude-desktop:local-demo",
162
+ "capability": "memory.context.read",
163
+ "scope": "context-pack:cross-model-demo:v1",
164
+ "expires_at": "2026-12-31T00:00:00.000Z",
165
+ "grant_ref": "proof-network-demo-grant-001",
166
+ "private_payload_detected": false
167
+ }
168
+ ```
169
+
170
+ Expected public-safe output shape from `chain revoke`:
171
+
172
+ ```json
173
+ {
174
+ "ok": true,
175
+ "artifact_type": "enigma.proof_network.capability_revocation.v1",
176
+ "transaction_submitted": false,
177
+ "raw_memory_on_chain": false,
178
+ "grant_hash": "sha256:4444444444444444444444444444444444444444444444444444444444444444",
179
+ "reason": "demo-complete",
180
+ "revocation_ref": "proof-network-demo-revocation-001",
181
+ "private_payload_detected": false
182
+ }
183
+ ```
184
+
185
+ Presenter notes:
186
+
187
+ 1. The cross-model report is a receipt demo, not proof that a provider remembered or forgot anything.
188
+ 2. Capability grants are public authorization receipts. Scopes must be public refs, not ACL JSON, tenant names, or private policy bodies.
189
+ 3. Revocations should point to grant hashes or nullifiers. Do not include the original private grant context.
190
+
191
+ ## Demo 3 — benchmark attestation demo
192
+
193
+ Goal: turn a benchmark report hash or local report file into a public benchmark attestation. This demo uses deterministic refs and scores only; the proof artifact does not include dataset rows, questions, answers, prompts, completions, provider responses, or credentials.
194
+
195
+ Package-only path with a precomputed public report hash:
196
+
197
+ ```sh
198
+ node -e "require('node:fs').mkdirSync('.enigma/proof-network',{recursive:true})"
199
+
200
+ enigma chain attest \
201
+ --report-hash sha256:5555555555555555555555555555555555555555555555555555555555555555 \
202
+ --dataset-ref enigma-fixture:deterministic-local:v1 \
203
+ --runner-ref enigma-memory:local-benchmark-runner:v1 \
204
+ --package-ref npm:enigma-memory@0.1.14 \
205
+ --score recall_at_5=1 \
206
+ --score p95_latency_ms=14 \
207
+ --out .enigma/proof-network/benchmark-attestation.json
208
+
209
+ enigma chain verify \
210
+ --file .enigma/proof-network/benchmark-attestation.json
211
+ ```
212
+
213
+ Source-checkout path when you have a local benchmark report file:
214
+
215
+ ```sh
216
+ node scripts/run-memory-benchmarks.mjs
217
+
218
+ enigma chain attest \
219
+ --report-file .enigma/benchmarks/report.json \
220
+ --dataset-ref enigma-fixture:deterministic-local:v1 \
221
+ --runner-ref enigma-memory:scripts/run-memory-benchmarks.mjs \
222
+ --package-ref npm:enigma-memory@0.1.14 \
223
+ --score recall_at_5=1 \
224
+ --score p95_latency_ms=14 \
225
+ --out .enigma/proof-network/benchmark-attestation.json
226
+ ```
227
+
228
+ Expected public-safe output shape from `chain attest`:
229
+
230
+ ```json
231
+ {
232
+ "ok": true,
233
+ "artifact_type": "enigma.proof_network.benchmark_attestation.v1",
234
+ "transaction_submitted": false,
235
+ "raw_memory_on_chain": false,
236
+ "report_hash": "sha256:5555555555555555555555555555555555555555555555555555555555555555",
237
+ "dataset_ref": "enigma-fixture:deterministic-local:v1",
238
+ "runner_ref": "enigma-memory:local-benchmark-runner:v1",
239
+ "package_ref": "npm:enigma-memory@0.1.14",
240
+ "scores": {
241
+ "recall_at_5": 1,
242
+ "p95_latency_ms": 14
243
+ },
244
+ "private_payload_detected": false
245
+ }
246
+ ```
247
+
248
+ Optional full-answer benchmark note: a separate full-answer benchmark runner may require provider credentials for the model being evaluated. Keep those credentials in local environment variables or a secret manager only. The public proof artifact should still contain only `report_hash`, `dataset_ref`, `runner_ref`, `package_ref`, scores, roots, refs, signatures, and claim boundaries. Never include provider requests, provider responses, prompts, answers, dataset rows, account ids, API keys, tenant names, or raw memory in the attestation.
249
+
250
+ Presenter notes:
251
+
252
+ 1. A benchmark attestation proves that a named report hash, dataset ref, runner ref, package ref, and score set were committed together.
253
+ 2. It is not a leaderboard claim unless the named benchmark protocol, dataset access, runner, scoring rules, and comparison set are independently published and reproducible.
254
+ 3. `chain verify` validates the artifact shape and public-safety boundaries; it does not rerun the benchmark.
255
+
256
+ ## Close the demo
257
+
258
+ Verify every generated artifact before sharing it:
259
+
260
+ ```sh
261
+ enigma chain verify --file .enigma/proof-network/anchor-batch.json
262
+ enigma chain verify --file .enigma/proof-network/capability-grant.json
263
+ enigma chain verify --file .enigma/proof-network/capability-revocation.json
264
+ enigma chain verify --file .enigma/proof-network/benchmark-attestation.json
265
+ ```
266
+
267
+ Safe closing claim: Enigma can create local, public-safe proof-network artifacts that are ready for chain anchoring without exposing memory contents or submitting a transaction.
268
+
269
+ Unsafe claims to avoid:
270
+
271
+ - "A Solana transaction was submitted" unless you separately submitted one outside these local planning commands.
272
+ - "Raw memory is on chain"; that should never be true for these demos.
273
+ - "Providers deleted or forgot the memory."
274
+ - "Provider-native memory is canonical."
275
+ - "Benchmark leadership is proven" unless a reproducible comparison protocol and artifacts are published.