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
@@ -1,13 +1,12 @@
1
1
  # Install Enigma anywhere
2
2
 
3
3
  Start with the published npm package path for `enigma-memory`: install once, connect your installed AI clients, then inspect Memory Drive health and passport status. Use a source checkout only when you need source-only docs, Docker assets, browser-extension scaffolding, package development, or release scripts.
4
-
5
- Hosted cloud and BYOC operation require real deployment credentials, domains, TLS, durable storage, KMS/secrets, monitoring, backups, and operator/customer infrastructure; they are not activated by installing the package, running setup, or running the test drive.
4
+ Hosted cloud and BYOC operation are waitlist/operator-deploy only; they require real deployment credentials, domains, TLS, durable storage, KMS/secrets, monitoring, backups, and operator/customer infrastructure. The relay and gateway binaries included in the package are local bootstrap probes, not a live hosted service. They are not activated by installing the package, running setup, or running the test drive.
6
5
 
7
6
  ## Requirements
8
7
 
9
8
  - Node.js `>=24`
10
- - A local filesystem path for the Enigma vault bundle
9
+ - A local filesystem path for the Enigma vault bundle and a passphrase supplied through `ENIGMA_PASSPHRASE` or a user-readable-only passphrase file
11
10
  - No database, provider credential, cloud credential, npm publishing token, package registry account, or hosted Enigma account for the local test-drive or setup paths
12
11
  - Git only for the advanced source-checkout path
13
12
  - Optional: Docker for source-checkout containerized relay/gateway operation
@@ -18,17 +17,42 @@ Use the published package as the primary path:
18
17
 
19
18
  ```sh
20
19
  npm install -g enigma-memory
21
- enigma init
22
- enigma setup --client auto --connect-installed --overwrite
23
- enigma drive health
24
- enigma status
25
- enigma remember --text-file ./memory.txt
26
- enigma search --query "project context"
27
- enigma context --query "project context" --optimize
20
+ PASSPHRASE_FILE="$HOME/.enigma/passphrase"
21
+ 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; }
22
+ enigma init --passphrase-file "$PASSPHRASE_FILE"
23
+ enigma setup --passphrase-file "$PASSPHRASE_FILE" --client auto --connect-installed --overwrite
24
+ enigma drive health --passphrase-file "$PASSPHRASE_FILE"
25
+ enigma status --passphrase-file "$PASSPHRASE_FILE"
26
+ enigma remember --passphrase-file "$PASSPHRASE_FILE" --text-file ./memory.txt
27
+ enigma search --passphrase-file "$PASSPHRASE_FILE" --query "project context"
28
+ enigma context --passphrase-file "$PASSPHRASE_FILE" --query "project context" --optimize
28
29
  enigma verify --export ./.enigma/export.json
29
30
  ```
30
31
 
31
- `enigma init` is the credential-free first run that creates the local `.enigma` workspace, bundle, and proof artifacts. `enigma setup --client auto --connect-installed --overwrite` then configures the drive and writes the `mcpServers.enigma` entry into every installed/config-present client it detects; it skips clients that are not installed and never creates configs from scratch. Preview with `--dry-run` first to see which clients will be written. Both commands emit deterministic, public-safe JSON without printing raw memory plaintext, and both run on Windows PowerShell via the `enigma.cmd` shim the npm global install adds.
32
+ `enigma init` is the encrypted first run: it requires `ENIGMA_PASSPHRASE` or `--passphrase-file`, then creates the local `.enigma` workspace, encrypted bundle, and proof artifacts. `enigma setup --passphrase-file "$HOME/.enigma/passphrase" --client auto --connect-installed --overwrite` configures the drive and writes the `mcpServers.enigma` entry into every installed/config-present client it detects; it skips clients that are not installed and never creates configs from scratch. Preview with `--dry-run` first to see which clients will be written. Both commands emit deterministic, public-safe JSON without printing raw memory plaintext, and both run on Windows PowerShell via the `enigma.cmd` shim the npm global install adds.
33
+
34
+ ### Keyring Security & At-Rest Confidentiality Note
35
+
36
+ - **Encrypted default (`local_secret_encrypted`)**: Normal `enigma init`, `enigma setup`, and `enigma quickstart` require `ENIGMA_PASSPHRASE` or `--passphrase-file <path>`. Prefer a user-readable-only file created through an approved secret manager or secure editor; never put the passphrase itself in command arguments.
37
+ - **Insecure evaluation mode (`local_secret`)**: `--insecure-dev` is an explicit, **INSECURE, EVALUATION-ONLY** escape hatch for disposable data. It stores an unencrypted keyring (`unencrypted: true`), provides no at-rest confidentiality, and must not be used for normal or persistent data.
38
+
39
+ Encrypted + Solana-connected package path:
40
+
41
+ ```sh
42
+ npm install -g enigma-memory
43
+ PASSPHRASE_FILE="$HOME/.enigma/passphrase"
44
+ test -s "$PASSPHRASE_FILE" || { printf '%s\n' 'Create $HOME/.enigma/passphrase securely before continuing.' >&2; exit 1; }
45
+ enigma quickstart --bundle "$HOME/.enigma/bundle.json" --passphrase-file "$PASSPHRASE_FILE" --overwrite
46
+ enigma-terminal --exec "solana status --cluster devnet"
47
+ enigma chain anchor-bundle --bundle "$HOME/.enigma/bundle.json" --cluster devnet --out "$HOME/.enigma/anchor-batch.json"
48
+ enigma chain submit-solana --file "$HOME/.enigma/anchor-batch.json" --cluster devnet
49
+ ```
50
+
51
+ The final command is a Solana Memo dry-run by default. To write on-chain, pass `--execute --keypair <funded-solana-cli-keypair.json>`. The memo payload is a compact public proof reference derived from local bundle commitment roots; raw memory, prompts, key material, passphrases, and bundle ciphertext are never placed on-chain.
52
+
53
+ Run setup or quickstart before treating `enigma doctor` as a fully green install check. Doctor checks Node/package state, local paths, schemas, MCP command naming, and connector configs. On a fresh install it can return `ok:false` when an existing MCP client config points at a bundle that has not been initialized yet, or at a different bundle than the one you are checking. That is expected first-run state, not a package install failure. After securely creating `./.enigma/passphrase`, run `enigma quickstart --bundle ./.enigma/bundle.json --passphrase-file ./.enigma/passphrase --overwrite` or `enigma setup --bundle ./.enigma/bundle.json --passphrase-file ./.enigma/passphrase --overwrite`, then `enigma doctor --bundle ./.enigma/bundle.json`.
54
+
55
+ For the one-off npm path, create the same protected passphrase file, then run `npx --yes --package enigma-memory enigma quickstart --bundle ./.enigma/bundle.json --passphrase-file ./.enigma/passphrase --overwrite` before `npx --yes --package enigma-memory enigma doctor --bundle ./.enigma/bundle.json`. Running npx doctor first can report a red generic-MCP connector if an existing client config names a not-yet-created bundle.
32
56
 
33
57
  `enigma drive health` reports a SMART-style memory-drive health packet — freshness, duplicate rate, tombstone backlog, stale derived artifacts, receipt coverage, and connector health — from local metadata only, with no network calls or private payloads. It is part of the Memory Drive surface in this release; `enigma status` and `enigma doctor` cover local passport counts, roots, and connector readiness in every build.
34
58
 
@@ -37,8 +61,9 @@ The local Enigma vault is the canonical memory passport. Provider-native memory
37
61
  Optional public test drive without a global install:
38
62
 
39
63
  ```sh
40
- npx --yes --package enigma-memory enigma test-drive --overwrite
64
+ npx --yes --package enigma-memory enigma test-drive --insecure-dev --overwrite
41
65
  ```
66
+ This command is **INSECURE, EVALUATION ONLY**: the isolated test drive is disposable and has no at-rest confidentiality. Normal setup uses an encrypted passphrase file as shown above.
42
67
 
43
68
  ## Source checkout versus package install
44
69
 
@@ -52,7 +77,7 @@ From the repository root, use the local installer in preview mode first:
52
77
 
53
78
  ```sh
54
79
  npm run install:local
55
- npm run install:local -- --init-vault --bundle ./.enigma/bundle.json
80
+ npm run install:local -- --init-vault --bundle ./.enigma/bundle.json --passphrase-file ./.enigma/passphrase
56
81
  ```
57
82
 
58
83
  `install:local` is dry-run by default. It validates Node.js `>=24`, resolves the local bundle path, previews `npm install -g .`, and emits public-safe JSON without printing local absolute paths, credentials, account IDs, or memory plaintext. It does not mutate global npm state or create a vault unless you explicitly request execute mode.
@@ -60,8 +85,9 @@ npm run install:local -- --init-vault --bundle ./.enigma/bundle.json
60
85
  To perform the local global install from the checkout and initialize a local vault bundle:
61
86
 
62
87
  ```sh
63
- npm run install:local -- --execute --init-vault --bundle ./.enigma/bundle.json
64
- enigma doctor
88
+ test -s ./.enigma/passphrase || { printf '%s\n' 'Create ./.enigma/passphrase securely before continuing.' >&2; exit 1; }
89
+ npm run install:local -- --execute --init-vault --bundle ./.enigma/bundle.json --passphrase-file ./.enigma/passphrase
90
+ enigma doctor --bundle ./.enigma/bundle.json
65
91
  enigma --help
66
92
  enigma demo cross-model
67
93
  enigma-verify --help
@@ -73,8 +99,8 @@ Equivalent explicit source-checkout steps:
73
99
 
74
100
  ```sh
75
101
  npm install -g .
76
- enigma init --bundle ./.enigma/bundle.json --subject local-user --display-name "Local user"
77
- enigma doctor
102
+ enigma init --bundle ./.enigma/bundle.json --passphrase-file ./.enigma/passphrase --subject local-user --display-name "Local user"
103
+ enigma doctor --bundle ./.enigma/bundle.json
78
104
  enigma --help
79
105
  enigma demo cross-model
80
106
  enigma-verify --help
@@ -100,10 +126,12 @@ Use this when you want to inspect each step behind the setup-first path:
100
126
  mkdir -p .enigma
101
127
  ENIGMA_DEMO_MEMORY_FILE=/absolute/path/to/tenant-approved-smoke-memory.txt
102
128
  test -f "$ENIGMA_DEMO_MEMORY_FILE"
103
- enigma init --bundle ./.enigma/bundle.json --subject local-user --display-name "Local user"
104
- enigma remember --bundle ./.enigma/bundle.json --text-file "$ENIGMA_DEMO_MEMORY_FILE" --purpose user_memory --tags local
105
- enigma context --bundle ./.enigma/bundle.json --query "local context" --purpose local_context --out ./.enigma/context-pack.json
106
- enigma export --bundle ./.enigma/bundle.json --out ./.enigma/export.json
129
+ ENIGMA_PASSPHRASE_FILE=./.enigma/passphrase
130
+ test -s "$ENIGMA_PASSPHRASE_FILE" || { printf '%s\n' 'Create ./.enigma/passphrase securely before continuing.' >&2; exit 1; }
131
+ enigma init --bundle ./.enigma/bundle.json --passphrase-file "$ENIGMA_PASSPHRASE_FILE" --subject local-user --display-name "Local user"
132
+ enigma remember --bundle ./.enigma/bundle.json --passphrase-file "$ENIGMA_PASSPHRASE_FILE" --text-file "$ENIGMA_DEMO_MEMORY_FILE" --purpose user_memory --tags local
133
+ enigma context --bundle ./.enigma/bundle.json --passphrase-file "$ENIGMA_PASSPHRASE_FILE" --query "local context" --purpose local_context --out ./.enigma/context-pack.json
134
+ enigma export --bundle ./.enigma/bundle.json --passphrase-file "$ENIGMA_PASSPHRASE_FILE" --out ./.enigma/export.json
107
135
  enigma verify --export ./.enigma/export.json
108
136
  ```
109
137
 
@@ -113,10 +141,12 @@ Windows PowerShell equivalent:
113
141
  New-Item -ItemType Directory -Force .enigma
114
142
  $env:ENIGMA_DEMO_MEMORY_FILE='C:\path\to\tenant-approved-smoke-memory.txt'
115
143
  if (-not (Test-Path $env:ENIGMA_DEMO_MEMORY_FILE)) { throw 'Set ENIGMA_DEMO_MEMORY_FILE to a tenant-approved smoke file first.' }
116
- enigma init --bundle .\.enigma\bundle.json --subject local-user --display-name "Local user"
117
- enigma remember --bundle .\.enigma\bundle.json --text-file $env:ENIGMA_DEMO_MEMORY_FILE --purpose user_memory --tags local
118
- enigma context --bundle .\.enigma\bundle.json --query "local context" --purpose local_context --out .\.enigma\context-pack.json
119
- enigma export --bundle .\.enigma\bundle.json --out .\.enigma\export.json
144
+ $env:ENIGMA_PASSPHRASE_FILE='.\.enigma\passphrase'
145
+ if (-not (Test-Path -LiteralPath $env:ENIGMA_PASSPHRASE_FILE -PathType Leaf)) { throw 'Create the passphrase file securely before continuing.' }
146
+ enigma init --bundle .\.enigma\bundle.json --passphrase-file $env:ENIGMA_PASSPHRASE_FILE --subject local-user --display-name "Local user"
147
+ enigma remember --bundle .\.enigma\bundle.json --passphrase-file $env:ENIGMA_PASSPHRASE_FILE --text-file $env:ENIGMA_DEMO_MEMORY_FILE --purpose user_memory --tags local
148
+ enigma context --bundle .\.enigma\bundle.json --passphrase-file $env:ENIGMA_PASSPHRASE_FILE --query "local context" --purpose local_context --out .\.enigma\context-pack.json
149
+ enigma export --bundle .\.enigma\bundle.json --passphrase-file $env:ENIGMA_PASSPHRASE_FILE --out .\.enigma\export.json
120
150
  enigma verify --export .\.enigma\export.json
121
151
  ```
122
152
 
@@ -181,7 +211,7 @@ Npm-first connector flow — one command connects every installed/config-present
181
211
 
182
212
  ```sh
183
213
  npm install -g enigma-memory
184
- enigma setup --client auto --connect-installed --overwrite
214
+ enigma setup --passphrase-file "$HOME/.enigma/passphrase" --client auto --connect-installed --overwrite
185
215
  ```
186
216
 
187
217
  `--connect-installed` detects installed/config-present clients (Claude Desktop, Cursor, Kimi Code, VS Code/Cline, Roo, OpenCode, generic MCP) and writes only those existing client configs; missing client configs are reported and skipped. To preview a single client without writing, or to connect just one client later, use `enigma connect <client> --dry-run` and then drop `--dry-run`.
@@ -473,6 +503,8 @@ Run it from the public-site package/artifact root after building or obtaining `_
473
503
 
474
504
  ## Enterprise hosted and BYOC modes
475
505
 
506
+ Both modes are waitlist/operator-deploy only. The relay and gateway binaries are local bootstrap probes; production hosted or BYOC operation requires real deployment credentials, domain/TLS, durable storage, KMS/secrets, monitoring, backups, incident response, and operator acceptance.
507
+
476
508
  Hosted mode:
477
509
 
478
510
  - Enigma operator deploys relay/gateway for the tenant.
@@ -501,9 +533,11 @@ CLI/verifier:
501
533
  ```sh
502
534
  ENIGMA_DEMO_MEMORY_FILE=/absolute/path/to/tenant-approved-smoke-memory.txt
503
535
  test -f "$ENIGMA_DEMO_MEMORY_FILE"
504
- enigma init --bundle ./.enigma/bundle.json
505
- enigma remember --bundle ./.enigma/bundle.json --text-file "$ENIGMA_DEMO_MEMORY_FILE" --purpose verification
506
- enigma export --bundle ./.enigma/bundle.json --out ./.enigma/export.json
536
+ ENIGMA_PASSPHRASE_FILE=./.enigma/passphrase
537
+ test -s "$ENIGMA_PASSPHRASE_FILE" || { printf '%s\n' 'Create ./.enigma/passphrase securely before continuing.' >&2; exit 1; }
538
+ enigma init --bundle ./.enigma/bundle.json --passphrase-file "$ENIGMA_PASSPHRASE_FILE"
539
+ enigma remember --bundle ./.enigma/bundle.json --passphrase-file "$ENIGMA_PASSPHRASE_FILE" --text-file "$ENIGMA_DEMO_MEMORY_FILE" --purpose verification
540
+ enigma export --bundle ./.enigma/bundle.json --passphrase-file "$ENIGMA_PASSPHRASE_FILE" --out ./.enigma/export.json
507
541
  enigma verify --export ./.enigma/export.json
508
542
  ```
509
543
 
@@ -516,7 +550,7 @@ printf '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion
516
550
  Connector/importer/relay/gateway checks:
517
551
 
518
552
  ```sh
519
- enigma doctor
553
+ enigma doctor --bundle ./.enigma/bundle.json
520
554
  enigma import chatgpt --file ./chatgpt-export.json --out ./enigma-import-report.json
521
555
  enigma capsule export --file ./enigma-import-report.json --out ./enigma-capsule.json
522
556
  enigma capsule import --file ./enigma-capsule.json --bundle "$PWD/.enigma/bundle.json"
@@ -8,13 +8,14 @@ Use the published package path when you want the current supported local install
8
8
 
9
9
  ```sh
10
10
  npm install -g enigma-memory
11
- enigma test-drive --dry-run
12
- enigma setup --overwrite
11
+ test -s "$HOME/.enigma/passphrase" || { printf '%s\n' 'Create the protected passphrase file before setup.' >&2; exit 1; }
12
+ enigma test-drive --dry-run --insecure-dev # INSECURE, EVALUATION ONLY
13
+ enigma setup --passphrase-file "$HOME/.enigma/passphrase" --overwrite
13
14
  enigma doctor
14
15
  enigma connect <client> --dry-run
15
16
  ```
16
17
 
17
- The package exposes the CLI bins `enigma`, `enigma-verify`, `enigma-mcp`, `enigma-relay`, `enigma-gateway`, and `enigma-native-host`. Node.js `>=24` is required. The installer smoke path keeps `enigma test-drive --dry-run` and `enigma connect <client> --dry-run` non-mutating; `enigma setup --overwrite` writes Enigma-controlled local artifacts only and does not write third-party app configs. It does not prove provider deletion, model forgetting, hosted availability, compliance certification, savings, or provider-native memory removal.
18
+ The package exposes the CLI bins `enigma`, `enigma-verify`, `enigma-mcp`, `enigma-relay`, `enigma-gateway`, and `enigma-native-host`. Node.js `>=24` is required. The installer smoke path labels `enigma test-drive --dry-run --insecure-dev` as **INSECURE, EVALUATION ONLY**; normal `enigma setup --passphrase-file "$HOME/.enigma/passphrase" --overwrite` writes an encrypted Enigma-controlled bundle and does not write third-party app configs. It does not prove provider deletion, model forgetting, hosted availability, compliance certification, savings, or provider-native memory removal.
18
19
 
19
20
  ## Tier 2: generated source installer assets
20
21
 
@@ -32,9 +33,9 @@ node scripts/build-installer-assets.mjs --out-dir dist/installer-assets --write
32
33
 
33
34
  Generated asset paths are listed in deterministic code-point lexical order:
34
35
 
35
- - `homebrew/enigma-memory.rb` — Homebrew formula draft. It is not submitted to a tap by the generator; release engineering must replace the source archive URL and SHA before any tap workflow. Its test metadata exercises `enigma test-drive --dry-run`, `enigma setup --dry-run`, and `enigma doctor`, then prints the next client-connect preview command.
36
- - `install-linux.sh` — POSIX shell source installer. It previews by default and only mutates global npm/local setup files when called with `--execute`. Its preview includes package install, `enigma test-drive --dry-run`, `enigma setup --bundle <bundle> --overwrite`, `enigma doctor`, and `enigma connect <client> --dry-run` as the next client-connect command.
37
- - `install-windows.ps1` — PowerShell source installer. It previews by default and only runs `npm install -g enigma-memory`, `enigma test-drive --dry-run`, `enigma setup --bundle <bundle> --overwrite`, and `enigma doctor` when called with `-Execute`; it then prints `enigma connect <client> --dry-run` as the next client-connect command.
36
+ - `homebrew/enigma-memory.rb` — Homebrew formula draft. Its disposable test metadata uses explicit `--insecure-dev` and labels it **INSECURE, EVALUATION ONLY**; normal setup documentation requires a passphrase file.
37
+ - `install-linux.sh` — POSIX shell source installer. It previews by default and only mutates global npm/local setup files when called with `--execute`. Execute mode requires `--passphrase-file <path>` (default `./.enigma/passphrase`) and passes it explicitly to encrypted setup.
38
+ - `install-windows.ps1` — PowerShell source installer. It previews by default and only runs setup with `-Execute`; execute mode requires a non-empty `-PassphraseFile` (default `.\.enigma\passphrase`) and passes it explicitly to encrypted setup.
38
39
  - `installer-assets-manifest.json` — deterministic public manifest with checksums for the generated source assets.
39
40
  - `macos-pkgbuild/README.md` — macOS package source plan and blockers, not a signed package.
40
41
  - `macos-pkgbuild/manifest.json` — macOS package source metadata and blockers, not a signed package.
@@ -62,7 +63,7 @@ Until those blockers are cleared, use npm or generated source scripts only.
62
63
 
63
64
  ## Homebrew path
64
65
 
65
- The formula generated under `homebrew/enigma-memory.rb` is a draft for a future tap workflow. It records the intended package name, license, Node dependency, command shims, and installer smoke test shape: `enigma test-drive --dry-run`, `enigma setup --dry-run`, `enigma doctor`, and the printed next command `enigma connect <client> --dry-run`. Before publication, release engineering must replace the placeholder tarball URL and SHA with a real release archive and confirm the formula installs only the intended package files.
66
+ The formula generated under `homebrew/enigma-memory.rb` is a draft for a future tap workflow. It records the intended package name, license, Node dependency, command shims, and installer smoke shape. Formula-only dry runs use explicit `--insecure-dev` and are labeled **INSECURE, EVALUATION ONLY**; normal setup uses `--passphrase-file "$HOME/.enigma/passphrase"`. Before publication, release engineering must replace the placeholder tarball URL and SHA with a real release archive and confirm the formula installs only the intended package files.
66
67
 
67
68
  ## Desktop tray model boundary
68
69
 
@@ -35,7 +35,7 @@ The fixture harness does not download or run LoCoMo, LongMemEval, provider APIs,
35
35
 
36
36
  The fixture creates multiple sessions with facts, a knowledge update, temporal questions, an abstention question, duplicate memory candidates, and provider profile labels for `chatgpt`, `claude`, `kimi`, `cursor`, and `local-llm`.
37
37
 
38
- The harness measures local Enigma operations only:
38
+ The harness measures local Enigma operations only. The runtime `enigma search` and context-pack retrieval in this release use deterministic keyword token overlap only; no embedding model, vector index, or LLM is called.
39
39
 
40
40
  - vault remember/update operations;
41
41
  - vault export and import;