enigma-memory 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +64 -84
  2. package/apps/cli/bin/enigma.mjs +3151 -3126
  3. package/apps/native-host/README.md +20 -0
  4. package/deploy/SIMULATION.md +34 -38
  5. package/deploy/docker-compose.local-production-simulation.yml +5 -2
  6. package/docs/benchmark-attestation-network.md +2 -2
  7. package/docs/benchmark-reproducibility.md +240 -228
  8. package/docs/browser-extension-install.md +9 -6
  9. package/docs/client-connectors.md +22 -52
  10. package/docs/demo-proof-network.md +3 -3
  11. package/docs/developer-ecosystem.md +205 -223
  12. package/docs/developer-proof-quickstart.md +3 -3
  13. package/docs/enigma-memory-ready-conformance.md +1 -1
  14. package/docs/hosted-cloud-product.md +2 -0
  15. package/docs/install-anywhere.md +61 -66
  16. package/docs/memory-benchmarks.md +6 -3
  17. package/docs/proof-network-build-notes.md +2 -2
  18. package/docs/proof-network.md +32 -7
  19. package/docs/sdk-api.md +1 -1
  20. package/docs/solana-devnet-acceptance.md +1 -1
  21. package/docs/solana-proof-rail.md +1 -1
  22. package/package.json +278 -272
  23. package/packages/connectors/src/index.js +13 -0
  24. package/packages/mcp-server/README.md +22 -0
  25. package/packages/mcp-server/src/index.js +1185 -1185
  26. package/scripts/build-benchmark-proof-release.mjs +106 -5
  27. package/scripts/build-cloudflare-token-policy.mjs +6 -2
  28. package/scripts/build-hosted-api-key-lifecycle.mjs +274 -274
  29. package/scripts/build-hosted-customer-lifecycle.mjs +456 -456
  30. package/scripts/build-installer-assets.mjs +389 -389
  31. package/scripts/build-production-handoff-packet.mjs +1 -1
  32. package/scripts/build-production-unblocker.mjs +409 -409
  33. package/scripts/build-production-workplan.mjs +3 -1
  34. package/scripts/build-proof-network-packet.mjs +213 -213
  35. package/scripts/check.mjs +3 -1
  36. package/scripts/cloudflare-ops.mjs +35 -0
  37. package/scripts/collect-hosted-backend-live-evidence.mjs +44 -2
  38. package/scripts/run-memory-benchmarks.mjs +5 -0
  39. package/scripts/run-standard-memory-benchmarks.mjs +1194 -1070
  40. package/scripts/stage-cloudflare-pages-artifact.mjs +145 -0
@@ -55,6 +55,26 @@ The CLI manifest generator and install-plan preview are the recommended path bec
55
55
 
56
56
  4. If your browser does not inherit the `ENIGMA_BUNDLE` user environment, create a small local wrapper that sets `ENIGMA_BUNDLE` and then execs the absolute `enigma-native-host` path. Point the manifest `path` to that wrapper. Keep the wrapper owner-writable only.
57
57
 
58
+
59
+ ## Fast MCP client setup
60
+
61
+ For Claude Desktop, Cursor, Kimi Code, and VS Code Cline, avoid hand-editing MCP JSON. After installing the package, use the CLI to create the local bundle and merge only the Enigma MCP server entry into the selected client config:
62
+
63
+ ```sh
64
+ npm install -g enigma-memory && enigma setup --client claude-desktop --write-connectors --overwrite
65
+ npm install -g enigma-memory && enigma setup --client cursor --write-connectors --overwrite
66
+ npm install -g enigma-memory && enigma setup --client kimi-code --write-connectors --overwrite
67
+ npm install -g enigma-memory && enigma setup --client vscode-cline --write-connectors --overwrite
68
+ ```
69
+
70
+ To connect only clients whose config files already exist, use:
71
+
72
+ ```sh
73
+ npm install -g enigma-memory && enigma setup --client auto --connect-installed --overwrite
74
+ ```
75
+
76
+ The generated MCP entry uses `enigma-mcp` with `ENIGMA_BUNDLE` pointing at the local bundle. Existing sibling MCP servers are preserved; changed configs are backed up by `enigma connect`.
77
+
58
78
  ## Generate a manifest
59
79
 
60
80
  Use the CLI generator instead of hand-editing JSON:
@@ -103,50 +103,46 @@ and are non-empty.
103
103
  `sim.enigmamemory.com`, `relay.sim.enigmamemory.com`,
104
104
  `gateway.sim.enigmamemory.com`, and `*.sim.enigmamemory.com`.
105
105
 
106
- ## Collect hosted backend live evidence
106
+ ## Shortest path from local simulation to hosted readiness
107
107
 
108
- The simulation can be probed as if it were a public hosted deployment by
109
- using the public-looking domain `sim.enigmamemory.com`. Because the domain
110
- has no real DNS record, the collector resolves it to `127.0.0.1` locally and
111
- accepts the self-signed certificate.
108
+ The local simulation proves that the relay, gateway, fail-closed readiness
109
+ checks, hosted-live collector, and hosted-live validator can interoperate. It
110
+ does **not** produce production go-live evidence because it uses loopback DNS,
111
+ self-signed TLS, mocked KMS/SIEM services, and fixture operator approval.
112
112
 
113
- 1. Build a simulation operator acceptance packet:
113
+ Run the local proof without external credentials:
114
114
 
115
- ```bash
116
- node scripts/build-operator-acceptance-packet.mjs \
117
- --complete-fixture --decision go --packet-id sim-operator-acceptance \
118
- --tenant enigma-sim --deployment-mode hosted --environment local-simulation \
119
- --target-regions local --requested-go-live-date 2026-06-25 \
120
- --evidence-repository https://github.com/enigma-memory/evidence/sim \
121
- --packet-owner "Simulation Owner" \
122
- --last-updated 2026-06-25T00:00:00.000Z \
123
- --owners-json .enigma/sim-owner-overrides.json \
124
- --evidence-refs .enigma/sim-evidence-overrides.json \
125
- --out .enigma/sim-operator-acceptance.json --validate
126
- ```
115
+ ```bash
116
+ node --test test/enigma-hosted-go-live-simulation.test.mjs
117
+ ```
127
118
 
128
- 2. Collect and validate live evidence:
119
+ That test starts `deploy/docker-compose.local-production-simulation.yml`,
120
+ builds a simulation-only operator acceptance packet, collects relay/gateway
121
+ `/livez` and `/readyz` evidence, validates it with
122
+ `scripts/validate-hosted-backend-live.mjs`, and tears the stack down. For manual
123
+ simulation probing, `production:hosted-collect -- --local-simulation-loopback`
124
+ is restricted to `https://*.sim.enigmamemory.com` loopback probes with
125
+ self-signed TLS and must not be used as production evidence.
129
126
 
130
- ```bash
131
- node .enigma/collect-sim-evidence.mjs \
132
- --relay-url https://sim.enigmamemory.com:8443 \
133
- --gateway-url https://sim.enigmamemory.com:9443 \
134
- --refs-json .enigma/sim-hosted-refs.json \
135
- --domain sim.enigmamemory.com --environment-id local-simulation \
136
- --cloud-provider local --region local --owner enigma-sim \
137
- --operator-decision go \
138
- --operator-packet-ref .enigma/sim-operator-acceptance.json \
139
- --operator-approved-at <iso8601> --operator-approved-by enigma-sim \
140
- --out .enigma/hosted-backend-live-collection.json \
141
- --evidence-out .enigma/hosted-backend-live-simulated.json
142
-
143
- node scripts/validate-hosted-backend-live.mjs \
144
- --evidence .enigma/hosted-backend-live-simulated.json
145
- ```
127
+ Move from that local proof to real hosted relay/gateway readiness with the same
128
+ script chain, replacing every template with operator-owned production evidence:
129
+
130
+ ```bash
131
+ npm run production:evidence-starter -- --out-dir <evidence-dir> --domain enigmamemory.com --tenant <tenant-id> --environment production
132
+ npm run production:backend-env -- --out-dir <backend-env-kit-dir> --domain enigmamemory.com --tenant <tenant-id> --environment production
133
+ # Operator deploys relay/gateway from deploy/docker-compose.production.example.yml or deploy/kubernetes/enigma-backend.example.yaml using private filled env/secrets.
134
+ npm run production:manifests -- --out <evidence-dir>/production-manifests.json
135
+ npm run production:storage -- --out <evidence-dir>/production-storage-migration.json
136
+ npm run infrastructure:readiness -- --manifest <evidence-dir>/infrastructure-readiness-manifest.json --live --cloudflare-live required > <evidence-dir>/infrastructure-readiness-live.json
137
+ npm run production:hosted-collect -- --relay-url https://relay.enigmamemory.com --gateway-url https://gateway.enigmamemory.com --refs-json <evidence-dir>/hosted-refs.json --domain enigmamemory.com --environment-id production --cloud-provider <provider> --region <region> --owner <owner> --operator-decision go --operator-packet-ref <operator-packet-ref> --operator-approved-at <iso8601> --operator-approved-by <operator> --out <evidence-dir>/hosted-backend-live-collection.json --evidence-out <evidence-dir>/hosted-backend-live.json
138
+ npm run production:hosted-live -- --evidence <evidence-dir>/hosted-backend-live.json
139
+ npm run production:acceptance:packet -- --out <evidence-dir>/operator-acceptance-packet.json --owners-json <evidence-dir>/owner-approval-refs.json --evidence-refs <evidence-dir>/evidence-refs.json --readiness <evidence-dir>/infrastructure-readiness-live.json --manifest <evidence-dir>/infrastructure-readiness-manifest.json --storage <evidence-dir>/production-storage-migration.json --release-audit .enigma/release-audit-current.json --production-manifests <evidence-dir>/production-manifests.json --decision go --tenant <tenant-id> --target-regions <regions> --requested-go-live-date <date> --evidence-repository <evidence-repository> --packet-owner <operator> --validate
140
+ npm run production:acceptance -- --packet <evidence-dir>/operator-acceptance-packet.json
141
+ ```
146
142
 
147
- The expected result is `status: accepted` with all four probes observed and no
148
- blockers. The wrapper does not mutate DNS or deploy infrastructure and never
149
- sends credentials.
143
+ Hosted readiness remains blocked until the production commands above observe
144
+ public HTTPS relay/gateway probes, all required hosted refs, and operator
145
+ acceptance `go` for the exact target environment.
150
146
 
151
147
  Never commit `deploy/secrets-simulation/` or `*.pem` files. Both are
152
148
  `.gitignore`d.
@@ -69,7 +69,7 @@ services:
69
69
  context: ..
70
70
  dockerfile: Dockerfile
71
71
  image: enigma-local:simulation
72
- entrypoint: ["enigma-relay"]
72
+ entrypoint: ["/usr/local/bin/enigma-relay"]
73
73
  command: ["serve", "--host", "0.0.0.0", "--port", "8787"]
74
74
  secrets:
75
75
  - relay_signing_key
@@ -128,8 +128,11 @@ services:
128
128
  restart: unless-stopped
129
129
 
130
130
  gateway:
131
+ build:
132
+ context: ..
133
+ dockerfile: Dockerfile
131
134
  image: enigma-local:simulation
132
- entrypoint: ["enigma-gateway"]
135
+ entrypoint: ["/usr/local/bin/enigma-gateway"]
133
136
  command: ["serve", "--host", "0.0.0.0", "--port", "8797"]
134
137
  secrets:
135
138
  - gateway_signing_key
@@ -169,7 +169,7 @@ Minimum public-safe attestation skeleton:
169
169
  "track": "public_practice",
170
170
  "program": {
171
171
  "name": "enigma_benchmark_attestation_network",
172
- "version": "0.1.14",
172
+ "version": "0.1.16",
173
173
  "policy_ref": "sha256:policy-root"
174
174
  },
175
175
  "run": {
@@ -177,7 +177,7 @@ Minimum public-safe attestation skeleton:
177
177
  "nonce": "sha256:run-nonce-commitment",
178
178
  "status": "completed",
179
179
  "runner_ref": "sha256:runner-root",
180
- "package_ref": "npm:enigma-memory@0.1.14",
180
+ "package_ref": "npm:enigma-memory@0.1.16",
181
181
  "adapter_ref": "local:enigma-relevance",
182
182
  "environment_ref": "sha256:environment-summary-root"
183
183
  },