enigma-memory 0.1.17 → 0.1.22

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 (290) hide show
  1. package/README.md +85 -27
  2. package/apps/cli/bin/enigma-desktop.mjs +140 -0
  3. package/apps/cli/bin/enigma-terminal.mjs +78 -0
  4. package/apps/cli/bin/enigma.mjs +4979 -3263
  5. package/apps/desktop/electron-main.cjs +217 -0
  6. package/apps/desktop/package.json +12 -0
  7. package/apps/desktop/src/app.js +264 -7
  8. package/apps/desktop/src/index.html +3514 -1373
  9. package/apps/desktop/src/launch-electron.mjs +51 -0
  10. package/apps/desktop/src/server.mjs +2914 -0
  11. package/apps/desktop/src/styles.css +2972 -260
  12. package/apps/desktop/src/zk-browser-prove.mjs +53 -0
  13. package/apps/desktop/src/zk-state.mjs +1789 -0
  14. package/apps/gateway/bin/enigma-gateway.mjs +102 -5
  15. package/apps/gateway/src/server.mjs +271 -8
  16. package/apps/ios/EnigmaCore/Package.swift +12 -0
  17. package/apps/ios/EnigmaCore/Sources/EnigmaCore/EnigmaAPIClient.swift +227 -0
  18. package/apps/ios/EnigmaCore/Sources/EnigmaCore/Models.swift +278 -0
  19. package/apps/ios/EnigmaCore/Sources/EnigmaCore/PKCE.swift +96 -0
  20. package/apps/ios/EnigmaCore/Sources/EnigmaCore/PrivacyMinimizer.swift +187 -0
  21. package/apps/ios/EnigmaCore/Sources/EnigmaCore/ToolModels.swift +129 -0
  22. package/apps/ios/EnigmaCore/Tests/EnigmaCoreTests/EnigmaCoreTests.swift +42 -0
  23. package/apps/ios/EnigmaIOS/Enigma/AppModel.swift +346 -0
  24. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AccentColor.colorset/Contents.json +12 -0
  25. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AppIcon.appiconset/Contents.json +11 -0
  26. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AppIcon.appiconset/EnigmaAppIcon.png +0 -0
  27. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/Contents.json +3 -0
  28. package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/LaunchBackground.colorset/Contents.json +12 -0
  29. package/apps/ios/EnigmaIOS/Enigma/ChatView.swift +181 -0
  30. package/apps/ios/EnigmaIOS/Enigma/CouncilView.swift +78 -0
  31. package/apps/ios/EnigmaIOS/Enigma/CreateView.swift +152 -0
  32. package/apps/ios/EnigmaIOS/Enigma/EnigmaApp.swift +52 -0
  33. package/apps/ios/EnigmaIOS/Enigma/Info.plist +52 -0
  34. package/apps/ios/EnigmaIOS/Enigma/NaturalLanguagePrivacyTagger.swift +26 -0
  35. package/apps/ios/EnigmaIOS/Enigma/OAuthClient.swift +321 -0
  36. package/apps/ios/EnigmaIOS/Enigma/OnboardingView.swift +105 -0
  37. package/apps/ios/EnigmaIOS/Enigma/PrivateVaultView.swift +275 -0
  38. package/apps/ios/EnigmaIOS/Enigma/SecureStore.swift +76 -0
  39. package/apps/ios/EnigmaIOS/Enigma/SettingsView.swift +60 -0
  40. package/apps/ios/EnigmaIOS/Enigma/Theme.swift +80 -0
  41. package/apps/ios/EnigmaIOS/EnigmaIOS.xcodeproj/project.pbxproj +211 -0
  42. package/apps/ios/EnigmaIOS/EnigmaIOS.xcodeproj/xcshareddata/xcschemes/Enigma.xcscheme +23 -0
  43. package/apps/native-host/README.md +19 -8
  44. package/apps/native-host/bin/enigma-native-host.mjs +229 -13
  45. package/apps/relay/bin/enigma-relay.mjs +103 -5
  46. package/apps/relay/src/federation-runtime.mjs +618 -0
  47. package/apps/relay/src/server.mjs +310 -9
  48. package/apps/verifier/bin/enigma-verify.mjs +327 -11
  49. package/cortex-v3/circuits/build/intent_vk_bytes.json +35 -0
  50. package/cortex-v3/circuits/build/sale_vk_bytes.json +35 -0
  51. package/cortex-v3/circuits/build/vk_bytes.json +32 -0
  52. package/cortex-v3/proving-assets.json +64 -0
  53. package/cortex-v3/zk/BUILD-CONTRACT.md +87 -0
  54. package/cortex-v3/zk/action-transition-vk.json +119 -0
  55. package/cortex-v3/zk/alias-adversarial.test.mjs +220 -0
  56. package/cortex-v3/zk/groth16-verify-child.mjs +17 -0
  57. package/cortex-v3/zk/intent-witness.mjs +365 -0
  58. package/cortex-v3/zk/intent-witness.test.mjs +485 -0
  59. package/cortex-v3/zk/proving-assets.mjs +203 -0
  60. package/cortex-v3/zk/sale-witness.mjs +783 -0
  61. package/cortex-v3/zk/sale-witness.test.mjs +784 -0
  62. package/cortex-v3/zk/sealed-sale-release-vk.json +119 -0
  63. package/cortex-v3/zk/settlement-evidence.mjs +722 -0
  64. package/cortex-v3/zk/setup-intent.mjs +688 -0
  65. package/cortex-v3/zk/setup-sale.mjs +666 -0
  66. package/cortex-v3/zk/setup.mjs +594 -0
  67. package/cortex-v3/zk/witness.mjs +184 -0
  68. package/cortex-v3/zk/zk-codec.mjs +232 -0
  69. package/cortex-v3/zk/zk-codec.test.mjs +293 -0
  70. package/cortex-v3/zk/zk-settle.mjs +370 -0
  71. package/cortex-v3/zk/zk-tree.mjs +256 -0
  72. package/cortex-v3/zk/zk-tree.test.mjs +419 -0
  73. package/deploy/SIMULATION.md +14 -9
  74. package/deploy/docker-compose.local-production-simulation.yml +54 -12
  75. package/docs/benchmark-attestation-network.md +487 -487
  76. package/docs/benchmark-reproducibility.md +289 -289
  77. package/docs/blockchain-only-mechanisms.md +400 -400
  78. package/docs/browser-extension-install.md +8 -6
  79. package/docs/client-connectors.md +16 -12
  80. package/docs/demo-proof-network.md +275 -275
  81. package/docs/developer-ecosystem.md +15 -13
  82. package/docs/developer-proof-quickstart.md +325 -325
  83. package/docs/enigma-memory-ready-conformance.md +378 -376
  84. package/docs/install-anywhere.md +64 -30
  85. package/docs/installers-and-desktop.md +8 -7
  86. package/docs/memory-benchmarks.md +1 -1
  87. package/docs/memory-drive-health-model.md +690 -690
  88. package/docs/novelty-invention-candidates.md +161 -161
  89. package/docs/proof-network-build-notes.md +240 -240
  90. package/docs/proof-network-claim-boundaries.md +320 -318
  91. package/docs/proof-network.md +339 -339
  92. package/docs/sdk-api.md +324 -324
  93. package/docs/solana-proof-rail.md +453 -453
  94. package/examples/01-quickstart-agent/index.mjs +49 -0
  95. package/examples/01_agent_memory_quickstart.mjs +57 -0
  96. package/examples/02-multi-agent-swarm/index.mjs +57 -0
  97. package/examples/02_cross_model_passport.mjs +64 -0
  98. package/examples/03-langchain-memory/index.mjs +41 -0
  99. package/examples/03_poseidon_commitment_verification.mjs +71 -0
  100. package/examples/04-python-trading-agent/trader.py +49 -0
  101. package/examples/README.md +27 -0
  102. package/examples/ci/github-actions.yml +7 -2
  103. package/package.json +410 -278
  104. package/packages/adapters/PACKAGE_CONTRACT.md +1 -1
  105. package/packages/connectors/src/index.js +196 -4
  106. package/packages/connectors/swarm-router.mjs +168 -0
  107. package/packages/core/src/index.js +249 -2
  108. package/packages/core/src/version.mjs +7 -0
  109. package/packages/dev-tools/package.json +19 -0
  110. package/packages/dev-tools/src/index.js +4 -0
  111. package/packages/dev-tools/src/memory-benchmark-suite.js +112 -0
  112. package/packages/dev-tools/src/swarm-simulator.js +101 -0
  113. package/packages/dev-tools/src/vault-inspector.js +114 -0
  114. package/packages/dev-tools/src/vector-benchmark.js +100 -0
  115. package/packages/developer-platform/src/access-credentials.js +341 -0
  116. package/packages/developer-platform/src/http.js +132 -0
  117. package/packages/developer-platform/src/index.js +4 -0
  118. package/packages/developer-platform/src/usage-http.js +60 -0
  119. package/packages/developer-platform/src/usage.js +295 -0
  120. package/packages/enclave-runtime/attestation.mjs +159 -0
  121. package/packages/enclave-runtime/index.mjs +47 -0
  122. package/packages/enclave-runtime/session-manager.mjs +253 -0
  123. package/packages/enclave-runtime/zeroization-proof.mjs +227 -0
  124. package/packages/enigma-reflex/package.json +14 -0
  125. package/packages/enigma-reflex/src/index.js +204 -0
  126. package/packages/enigma-reflex/training/generate-dataset.mjs +40 -0
  127. package/packages/enigma-reflex/training/requirements.txt +8 -0
  128. package/packages/enigma-reflex/training/train.py +314 -0
  129. package/packages/enigma-weave/LICENSE +22 -0
  130. package/packages/enigma-weave/UPSTREAM.json +21 -0
  131. package/packages/enigma-weave/package.json +14 -0
  132. package/packages/enigma-weave/src/index.js +286 -0
  133. package/packages/hosted-cloud/src/index.js +80 -5
  134. package/packages/importers/src/index.js +432 -0
  135. package/packages/inference-runtime/src/browser.js +401 -0
  136. package/packages/inference-runtime/src/chat.js +265 -0
  137. package/packages/inference-runtime/src/code.js +407 -0
  138. package/packages/inference-runtime/src/contracts.js +162 -0
  139. package/packages/inference-runtime/src/http.js +232 -0
  140. package/packages/inference-runtime/src/image.js +186 -0
  141. package/packages/inference-runtime/src/index.js +10 -0
  142. package/packages/inference-runtime/src/model-router.js +320 -0
  143. package/packages/inference-runtime/src/platform.js +125 -0
  144. package/packages/inference-runtime/src/privacy.js +400 -0
  145. package/packages/inference-runtime/src/video.js +253 -0
  146. package/packages/mcp-server/README.md +22 -6
  147. package/packages/mcp-server/bin/enigma-mcp.mjs +2 -1
  148. package/packages/mcp-server/src/index.js +2498 -1185
  149. package/packages/mcp-server/src/oauth.js +561 -0
  150. package/packages/mcp-server/src/private-handoff.js +84 -0
  151. package/packages/mcp-server/src/remote-http.js +273 -0
  152. package/packages/mcp-server/src/remote-policy.js +72 -0
  153. package/packages/mcp-server/swarm-bridge.mjs +361 -0
  154. package/packages/mesh/index.d.ts +283 -0
  155. package/packages/mesh/package.json +23 -0
  156. package/packages/mesh/src/crypto.js +189 -0
  157. package/packages/mesh/src/federation-packets.js +353 -0
  158. package/packages/mesh/src/gossip.js +311 -0
  159. package/packages/mesh/src/index.js +6 -0
  160. package/packages/mesh/src/protocol.js +255 -0
  161. package/packages/mesh/src/router.js +279 -0
  162. package/packages/mesh/src/transport.js +306 -0
  163. package/packages/passport/src/index.js +436 -7
  164. package/packages/private-economy/src/credits-http.js +100 -0
  165. package/packages/private-economy/src/credits.js +447 -0
  166. package/packages/private-economy/src/index.js +5 -0
  167. package/packages/private-economy/src/payments-http.js +120 -0
  168. package/packages/private-economy/src/payments.js +509 -0
  169. package/packages/private-economy/src/x402.js +346 -0
  170. package/packages/proof-network/PACKAGE_CONTRACT.md +21 -0
  171. package/packages/rag/index.d.ts +182 -0
  172. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/THIRD_PARTY_LICENSES.txt +207 -0
  173. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/config.json +25 -0
  174. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/onnx/model_quantized.onnx +0 -0
  175. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/sha256-manifest.json +28 -0
  176. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/tokenizer.json +30686 -0
  177. package/packages/rag/models/Xenova/all-MiniLM-L6-v2/tokenizer_config.json +15 -0
  178. package/packages/rag/package.json +27 -0
  179. package/packages/rag/src/blinded-search.js +109 -0
  180. package/packages/rag/src/bm25.js +169 -0
  181. package/packages/rag/src/embeddings.js +459 -0
  182. package/packages/rag/src/hybrid.js +76 -0
  183. package/packages/rag/src/index.js +38 -0
  184. package/packages/rag/src/reranker.js +61 -0
  185. package/packages/rag/src/research.js +107 -0
  186. package/packages/rag/src/vector-store.js +430 -0
  187. package/packages/rag/src/verify-model-artifacts.mjs +4 -0
  188. package/packages/sdk/index.d.ts +760 -0
  189. package/packages/sdk/package.json +33 -0
  190. package/packages/sdk/python/README.md +24 -0
  191. package/packages/sdk/python/enigma_sdk.py +250 -0
  192. package/packages/sdk/python/pyproject.toml +34 -0
  193. package/packages/sdk/python/requirements.txt +1 -0
  194. package/packages/sdk/python/setup.py +20 -0
  195. package/packages/sdk/src/federation/capability-grant.js +389 -0
  196. package/packages/sdk/src/federation/federation-router.js +360 -0
  197. package/packages/sdk/src/federation/ghostmesh-bridge.js +497 -0
  198. package/packages/sdk/src/federation/index.js +3 -0
  199. package/packages/sdk/src/index.js +1796 -0
  200. package/packages/sdk/src/intelligence/contradiction.js +337 -0
  201. package/packages/sdk/src/intelligence/decision-engine.js +155 -0
  202. package/packages/sdk/src/intelligence/index.js +4 -0
  203. package/packages/sdk/src/intelligence/ontology.js +122 -0
  204. package/packages/sdk/src/intelligence/temporal.js +123 -0
  205. package/packages/sdk/src/market-client.js +142 -0
  206. package/packages/sdk/src/mesh-client.js +110 -0
  207. package/packages/sdk/src/middleware/index.js +3 -0
  208. package/packages/sdk/src/middleware/langchain.js +159 -0
  209. package/packages/sdk/src/middleware/llamaindex.js +101 -0
  210. package/packages/sdk/src/middleware/vercel-ai.js +112 -0
  211. package/packages/sdk/src/rag-client.js +85 -0
  212. package/packages/sdk/src/swarm-orchestrator.js +260 -0
  213. package/packages/settlement/PACKAGE_CONTRACT.md +1 -1
  214. package/packages/snapcompact/THIRD_PARTY_LICENSES.txt +40 -0
  215. package/packages/snapcompact/assets/8x13-latin1.bdf +3837 -0
  216. package/packages/snapcompact/index.d.ts +284 -0
  217. package/packages/snapcompact/package.json +25 -0
  218. package/packages/snapcompact/src/index.js +716 -0
  219. package/packages/storage/PACKAGE_CONTRACT.md +1 -1
  220. package/packages/terminal-console/animations.mjs +240 -0
  221. package/packages/terminal-console/auto-anchor.mjs +220 -0
  222. package/packages/terminal-console/banner.mjs +91 -0
  223. package/packages/terminal-console/commands.mjs +459 -0
  224. package/packages/terminal-console/delegation.mjs +152 -0
  225. package/packages/terminal-console/index.mjs +5 -0
  226. package/packages/terminal-console/outbox.mjs +143 -0
  227. package/packages/terminal-console/phantom-bridge.mjs +637 -0
  228. package/packages/terminal-console/repl.mjs +136 -0
  229. package/packages/terminal-console/signer-store.mjs +130 -0
  230. package/packages/terminal-console/solana-rpc.mjs +214 -0
  231. package/packages/terminal-console/solana-transport.mjs +189 -0
  232. package/packages/terminal-tui/dashboard.mjs +214 -0
  233. package/packages/terminal-tui/index.mjs +28 -0
  234. package/packages/terminal-tui/merkle-tree-renderer.mjs +268 -0
  235. package/packages/terminal-tui/telemetry-hud.mjs +137 -0
  236. package/packages/vault/index.d.ts +449 -0
  237. package/packages/vault/package.json +27 -0
  238. package/packages/vault/src/e2ee.mjs +393 -0
  239. package/packages/vault/src/enclave.js +481 -0
  240. package/packages/vault/src/erasure.js +207 -0
  241. package/packages/vault/src/index.js +1150 -125
  242. package/packages/vault/src/persistence.js +307 -0
  243. package/packages/vault/src/poseidon.js +354 -0
  244. package/packages/vault/src/receipt.js +459 -0
  245. package/scripts/benchmark-optical-context.mjs +166 -0
  246. package/scripts/bootstrap-enigma.mjs +502 -0
  247. package/scripts/build-edge-backend-workers.mjs +20 -5
  248. package/scripts/build-goal-completion-audit.mjs +72 -25
  249. package/scripts/build-hosted-api-key-lifecycle.mjs +292 -274
  250. package/scripts/build-hosted-customer-lifecycle.mjs +493 -476
  251. package/scripts/build-hosted-probe-worker.mjs +19 -4
  252. package/scripts/build-installer-assets.mjs +409 -389
  253. package/scripts/build-operator-evidence-starter.mjs +59 -1
  254. package/scripts/build-production-backend-env-kit.mjs +2 -0
  255. package/scripts/build-production-unblocker.mjs +4 -1
  256. package/scripts/build-proof-network-packet.mjs +213 -213
  257. package/scripts/check.mjs +25 -4
  258. package/scripts/collect-hosted-backend-live-evidence.mjs +49 -12
  259. package/scripts/install-enigma-local.mjs +18 -5
  260. package/scripts/release-audit.mjs +74 -115
  261. package/scripts/release-provenance.mjs +12 -2
  262. package/scripts/run-backend-readiness-smoke.mjs +112 -10
  263. package/scripts/run-standard-memory-benchmarks.mjs +1354 -1352
  264. package/scripts/scan-secrets.mjs +178 -0
  265. package/scripts/simulate-production-env.mjs +71 -10
  266. package/scripts/validate-hosted-backend-live.mjs +112 -1
  267. package/specs/antibody-pack-v1.schema.json +95 -0
  268. package/specs/antigen-envelope-v1.schema.json +81 -0
  269. package/specs/boundary-manifest-v1.schema.json +35 -35
  270. package/specs/capsule-v1.schema.json +55 -55
  271. package/specs/claim-boundary-manifest-v1.schema.json +22 -22
  272. package/specs/claim-ledger-v1.schema.json +291 -0
  273. package/specs/context-passport-v1.schema.json +59 -0
  274. package/specs/deletion-tombstone-v1.schema.json +26 -26
  275. package/specs/evidence-packet-v1.schema.json +177 -0
  276. package/specs/hosted-backend-live-evidence-v1.schema.json +72 -3
  277. package/specs/immune-scan-report-v1.schema.json +112 -0
  278. package/specs/lifecycle-receipt-log-v1.schema.json +67 -0
  279. package/specs/memory-atom-v1.schema.json +59 -0
  280. package/specs/memory-event-v1.schema.json +42 -42
  281. package/specs/passport-v1.schema.json +50 -50
  282. package/specs/proof-of-non-use-v1.schema.json +65 -0
  283. package/specs/quarantine-record-v1.schema.json +126 -0
  284. package/specs/receipt-v1.schema.json +61 -61
  285. package/specs/state-checkpoint-v1.schema.json +37 -37
  286. package/specs/trust-bundle-v1.schema.json +56 -56
  287. package/specs/trust-card-v1.schema.json +119 -0
  288. package/docs/proof-network-launch-plan.md +0 -421
  289. package/packages/metering/PACKAGE_CONTRACT.md +0 -20
  290. package/scripts/build-ai-orchestration-plan.mjs +0 -248
@@ -32,19 +32,21 @@ The ZIP command does not publish, sign, upload, or submit the extension.
32
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 && 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
35
+ PASSPHRASE_FILE="$HOME/.enigma/passphrase"
36
+ test -s "$PASSPHRASE_FILE" || { printf '%s\n' 'Create the protected passphrase file before setup.' >&2; exit 1; }
37
+ npm install -g enigma-memory && enigma setup --passphrase-file "$PASSPHRASE_FILE" --client claude-desktop --write-connectors --overwrite
38
+ npm install -g enigma-memory && enigma setup --passphrase-file "$PASSPHRASE_FILE" --client cursor --write-connectors --overwrite
39
+ npm install -g enigma-memory && enigma setup --passphrase-file "$PASSPHRASE_FILE" --client kimi-code --write-connectors --overwrite
40
+ npm install -g enigma-memory && enigma setup --passphrase-file "$PASSPHRASE_FILE" --client vscode-cline --write-connectors --overwrite
39
41
  ```
40
42
 
41
43
  If you want Enigma to touch only client config files that already exist, use:
42
44
 
43
45
  ```sh
44
- npm install -g enigma-memory && enigma setup --client auto --connect-installed --overwrite
46
+ npm install -g enigma-memory && enigma setup --passphrase-file "$HOME/.enigma/passphrase" --client auto --connect-installed --overwrite
45
47
  ```
46
48
 
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.
49
+ Set `ENIGMA_BUNDLE` and `ENIGMA_PASSPHRASE_FILE` for the browser-launched host process to the same bundle and protected passphrase file used by setup, or point the native-host manifest at a small owner-writable-only wrapper that sets both variables before launching `enigma-native-host`. Never put the passphrase contents in the wrapper or manifest. Native messaging manifests require an absolute executable path; they do not expand shell aliases, `~`, `$HOME`, `%USERPROFILE%`, or command arguments.
48
50
 
49
51
  Resolve the absolute host executable path:
50
52
 
@@ -16,21 +16,25 @@ Supported connector IDs:
16
16
 
17
17
  ```sh
18
18
  npm install -g enigma-memory
19
- enigma init
20
- enigma setup --client auto --connect-installed --overwrite
21
- enigma drive health
22
- enigma status
23
- enigma remember --text-file ./memory.txt
24
- enigma search --query "project context"
25
- enigma context --query "project context" --optimize
19
+ PASSPHRASE_FILE="$HOME/.enigma/passphrase"
20
+ test -s "$PASSPHRASE_FILE" || { printf '%s\n' 'Create $HOME/.enigma/passphrase with an approved secret manager or secure editor, then restrict it to the current user.' >&2; exit 1; }
21
+ enigma init --passphrase-file "$PASSPHRASE_FILE"
22
+ enigma setup --passphrase-file "$PASSPHRASE_FILE" --client auto --connect-installed --overwrite
23
+ enigma drive health --passphrase-file "$PASSPHRASE_FILE"
24
+ enigma status --passphrase-file "$PASSPHRASE_FILE"
25
+ enigma remember --passphrase-file "$PASSPHRASE_FILE" --text-file ./memory.txt
26
+ enigma search --passphrase-file "$PASSPHRASE_FILE" --query "project context"
27
+ enigma context --passphrase-file "$PASSPHRASE_FILE" --query "project context" --optimize
26
28
  enigma verify --export ./.enigma/export.json
27
29
  ```
28
30
 
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.
31
+ One command connects every installed client: `enigma setup --passphrase-file "$HOME/.enigma/passphrase" --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. Normal setup is encrypted and requires `ENIGMA_PASSPHRASE` or `--passphrase-file`; never put the passphrase itself in shell arguments. `enigma drive health` reports a SMART-style memory-drive health packet from local metadata only. No setup command prints raw memory plaintext.
32
+
33
+ Run setup or quickstart before using `enigma doctor` as the final green check. Doctor reads existing client configs as well as the local environment, so an already-present `generic-mcp` or other MCP config can make doctor red on a fresh install if its `ENIGMA_BUNDLE` points to a bundle that does not exist yet, or to a different bundle than the one passed to doctor. That is expected first-run connector state, not an npm install failure. After securely creating `./.enigma/passphrase`, use `enigma quickstart --bundle ./.enigma/bundle.json --passphrase-file ./.enigma/passphrase --overwrite` or `enigma setup --bundle ./.enigma/bundle.json --passphrase-file ./.enigma/passphrase --overwrite`, then rerun `enigma doctor --bundle ./.enigma/bundle.json`.
30
34
 
31
35
  For a single client, or to preview before writing, use `enigma connect <client> --dry-run` and then drop `--dry-run`.
32
36
 
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.
37
+ 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. Hosted cloud and BYOC operation are waitlist/operator-deploy only; the relay and gateway binaries are local bootstrap probes, not a live hosted service.
34
38
 
35
39
  From a source checkout, use this only for package development or source-only docs:
36
40
 
@@ -68,13 +72,13 @@ enigma connect generic-mcp
68
72
  Optional setup-time planning for installed/config-present connector targets remains available:
69
73
 
70
74
  ```sh
71
- enigma setup --client auto --overwrite
75
+ enigma setup --passphrase-file "$HOME/.enigma/passphrase" --client auto --overwrite
72
76
  ```
73
77
 
74
78
  Use the explicit setup-time write flag only when you want setup to write all installed/config-present client configs it discovers:
75
79
 
76
80
  ```sh
77
- enigma setup --connect-installed --overwrite
81
+ enigma setup --passphrase-file "$HOME/.enigma/passphrase" --connect-installed --overwrite
78
82
  ```
79
83
 
80
84
  `--connect-installed` skips missing client configs instead of creating every default client config. It is for installed/config-present clients only. Existing `enigma setup --write-connectors` behavior for explicit/default clients is unchanged.
@@ -107,7 +111,7 @@ Connector writes are semantic and idempotent. Enigma preserves unrelated client
107
111
 
108
112
  ## Copy-paste MCP snippets
109
113
 
110
- Use an absolute bundle path. The MCP process inherits client environment in some apps and not in others; setting `ENIGMA_BUNDLE` directly in the entry is the portable path. The command defaults to `enigma-mcp`; if a GUI app cannot find shell-installed binaries, render an absolute command with `--mcp-command` (alias: `--command`).
114
+ Use an absolute bundle path. The MCP process inherits client environment in some apps and not in others; setting `ENIGMA_BUNDLE` directly in the entry is the portable path. For an encrypted bundle, arrange for the client process to receive `ENIGMA_PASSPHRASE` from an approved OS credential manager or secure launcher. Never put its value in MCP JSON, source, documentation, or shell arguments. The command defaults to `enigma-mcp`; if a GUI app cannot find shell-installed binaries, render an absolute command with `--mcp-command` (alias: `--command`).
111
115
 
112
116
  Claude Desktop:
113
117
 
@@ -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.17 \
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.17 \
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.17",
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.17 \
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.17 \
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.17",
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.