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.
- package/README.md +85 -27
- package/apps/cli/bin/enigma-desktop.mjs +140 -0
- package/apps/cli/bin/enigma-terminal.mjs +78 -0
- package/apps/cli/bin/enigma.mjs +4979 -3263
- package/apps/desktop/electron-main.cjs +217 -0
- package/apps/desktop/package.json +12 -0
- package/apps/desktop/src/app.js +264 -7
- package/apps/desktop/src/index.html +3514 -1373
- package/apps/desktop/src/launch-electron.mjs +51 -0
- package/apps/desktop/src/server.mjs +2914 -0
- package/apps/desktop/src/styles.css +2972 -260
- package/apps/desktop/src/zk-browser-prove.mjs +53 -0
- package/apps/desktop/src/zk-state.mjs +1789 -0
- package/apps/gateway/bin/enigma-gateway.mjs +102 -5
- package/apps/gateway/src/server.mjs +271 -8
- package/apps/ios/EnigmaCore/Package.swift +12 -0
- package/apps/ios/EnigmaCore/Sources/EnigmaCore/EnigmaAPIClient.swift +227 -0
- package/apps/ios/EnigmaCore/Sources/EnigmaCore/Models.swift +278 -0
- package/apps/ios/EnigmaCore/Sources/EnigmaCore/PKCE.swift +96 -0
- package/apps/ios/EnigmaCore/Sources/EnigmaCore/PrivacyMinimizer.swift +187 -0
- package/apps/ios/EnigmaCore/Sources/EnigmaCore/ToolModels.swift +129 -0
- package/apps/ios/EnigmaCore/Tests/EnigmaCoreTests/EnigmaCoreTests.swift +42 -0
- package/apps/ios/EnigmaIOS/Enigma/AppModel.swift +346 -0
- package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AccentColor.colorset/Contents.json +12 -0
- package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AppIcon.appiconset/Contents.json +11 -0
- package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/AppIcon.appiconset/EnigmaAppIcon.png +0 -0
- package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/Contents.json +3 -0
- package/apps/ios/EnigmaIOS/Enigma/Assets.xcassets/LaunchBackground.colorset/Contents.json +12 -0
- package/apps/ios/EnigmaIOS/Enigma/ChatView.swift +181 -0
- package/apps/ios/EnigmaIOS/Enigma/CouncilView.swift +78 -0
- package/apps/ios/EnigmaIOS/Enigma/CreateView.swift +152 -0
- package/apps/ios/EnigmaIOS/Enigma/EnigmaApp.swift +52 -0
- package/apps/ios/EnigmaIOS/Enigma/Info.plist +52 -0
- package/apps/ios/EnigmaIOS/Enigma/NaturalLanguagePrivacyTagger.swift +26 -0
- package/apps/ios/EnigmaIOS/Enigma/OAuthClient.swift +321 -0
- package/apps/ios/EnigmaIOS/Enigma/OnboardingView.swift +105 -0
- package/apps/ios/EnigmaIOS/Enigma/PrivateVaultView.swift +275 -0
- package/apps/ios/EnigmaIOS/Enigma/SecureStore.swift +76 -0
- package/apps/ios/EnigmaIOS/Enigma/SettingsView.swift +60 -0
- package/apps/ios/EnigmaIOS/Enigma/Theme.swift +80 -0
- package/apps/ios/EnigmaIOS/EnigmaIOS.xcodeproj/project.pbxproj +211 -0
- package/apps/ios/EnigmaIOS/EnigmaIOS.xcodeproj/xcshareddata/xcschemes/Enigma.xcscheme +23 -0
- package/apps/native-host/README.md +19 -8
- package/apps/native-host/bin/enigma-native-host.mjs +229 -13
- package/apps/relay/bin/enigma-relay.mjs +103 -5
- package/apps/relay/src/federation-runtime.mjs +618 -0
- package/apps/relay/src/server.mjs +310 -9
- package/apps/verifier/bin/enigma-verify.mjs +327 -11
- package/cortex-v3/circuits/build/intent_vk_bytes.json +35 -0
- package/cortex-v3/circuits/build/sale_vk_bytes.json +35 -0
- package/cortex-v3/circuits/build/vk_bytes.json +32 -0
- package/cortex-v3/proving-assets.json +64 -0
- package/cortex-v3/zk/BUILD-CONTRACT.md +87 -0
- package/cortex-v3/zk/action-transition-vk.json +119 -0
- package/cortex-v3/zk/alias-adversarial.test.mjs +220 -0
- package/cortex-v3/zk/groth16-verify-child.mjs +17 -0
- package/cortex-v3/zk/intent-witness.mjs +365 -0
- package/cortex-v3/zk/intent-witness.test.mjs +485 -0
- package/cortex-v3/zk/proving-assets.mjs +203 -0
- package/cortex-v3/zk/sale-witness.mjs +783 -0
- package/cortex-v3/zk/sale-witness.test.mjs +784 -0
- package/cortex-v3/zk/sealed-sale-release-vk.json +119 -0
- package/cortex-v3/zk/settlement-evidence.mjs +722 -0
- package/cortex-v3/zk/setup-intent.mjs +688 -0
- package/cortex-v3/zk/setup-sale.mjs +666 -0
- package/cortex-v3/zk/setup.mjs +594 -0
- package/cortex-v3/zk/witness.mjs +184 -0
- package/cortex-v3/zk/zk-codec.mjs +232 -0
- package/cortex-v3/zk/zk-codec.test.mjs +293 -0
- package/cortex-v3/zk/zk-settle.mjs +370 -0
- package/cortex-v3/zk/zk-tree.mjs +256 -0
- package/cortex-v3/zk/zk-tree.test.mjs +419 -0
- package/deploy/SIMULATION.md +14 -9
- package/deploy/docker-compose.local-production-simulation.yml +54 -12
- package/docs/benchmark-attestation-network.md +487 -487
- package/docs/benchmark-reproducibility.md +289 -289
- package/docs/blockchain-only-mechanisms.md +400 -400
- package/docs/browser-extension-install.md +8 -6
- package/docs/client-connectors.md +16 -12
- package/docs/demo-proof-network.md +275 -275
- package/docs/developer-ecosystem.md +15 -13
- package/docs/developer-proof-quickstart.md +325 -325
- package/docs/enigma-memory-ready-conformance.md +378 -376
- package/docs/install-anywhere.md +64 -30
- package/docs/installers-and-desktop.md +8 -7
- package/docs/memory-benchmarks.md +1 -1
- package/docs/memory-drive-health-model.md +690 -690
- package/docs/novelty-invention-candidates.md +161 -161
- package/docs/proof-network-build-notes.md +240 -240
- package/docs/proof-network-claim-boundaries.md +320 -318
- package/docs/proof-network.md +339 -339
- package/docs/sdk-api.md +324 -324
- package/docs/solana-proof-rail.md +453 -453
- package/examples/01-quickstart-agent/index.mjs +49 -0
- package/examples/01_agent_memory_quickstart.mjs +57 -0
- package/examples/02-multi-agent-swarm/index.mjs +57 -0
- package/examples/02_cross_model_passport.mjs +64 -0
- package/examples/03-langchain-memory/index.mjs +41 -0
- package/examples/03_poseidon_commitment_verification.mjs +71 -0
- package/examples/04-python-trading-agent/trader.py +49 -0
- package/examples/README.md +27 -0
- package/examples/ci/github-actions.yml +7 -2
- package/package.json +410 -278
- package/packages/adapters/PACKAGE_CONTRACT.md +1 -1
- package/packages/connectors/src/index.js +196 -4
- package/packages/connectors/swarm-router.mjs +168 -0
- package/packages/core/src/index.js +249 -2
- package/packages/core/src/version.mjs +7 -0
- package/packages/dev-tools/package.json +19 -0
- package/packages/dev-tools/src/index.js +4 -0
- package/packages/dev-tools/src/memory-benchmark-suite.js +112 -0
- package/packages/dev-tools/src/swarm-simulator.js +101 -0
- package/packages/dev-tools/src/vault-inspector.js +114 -0
- package/packages/dev-tools/src/vector-benchmark.js +100 -0
- package/packages/developer-platform/src/access-credentials.js +341 -0
- package/packages/developer-platform/src/http.js +132 -0
- package/packages/developer-platform/src/index.js +4 -0
- package/packages/developer-platform/src/usage-http.js +60 -0
- package/packages/developer-platform/src/usage.js +295 -0
- package/packages/enclave-runtime/attestation.mjs +159 -0
- package/packages/enclave-runtime/index.mjs +47 -0
- package/packages/enclave-runtime/session-manager.mjs +253 -0
- package/packages/enclave-runtime/zeroization-proof.mjs +227 -0
- package/packages/enigma-reflex/package.json +14 -0
- package/packages/enigma-reflex/src/index.js +204 -0
- package/packages/enigma-reflex/training/generate-dataset.mjs +40 -0
- package/packages/enigma-reflex/training/requirements.txt +8 -0
- package/packages/enigma-reflex/training/train.py +314 -0
- package/packages/enigma-weave/LICENSE +22 -0
- package/packages/enigma-weave/UPSTREAM.json +21 -0
- package/packages/enigma-weave/package.json +14 -0
- package/packages/enigma-weave/src/index.js +286 -0
- package/packages/hosted-cloud/src/index.js +80 -5
- package/packages/importers/src/index.js +432 -0
- package/packages/inference-runtime/src/browser.js +401 -0
- package/packages/inference-runtime/src/chat.js +265 -0
- package/packages/inference-runtime/src/code.js +407 -0
- package/packages/inference-runtime/src/contracts.js +162 -0
- package/packages/inference-runtime/src/http.js +232 -0
- package/packages/inference-runtime/src/image.js +186 -0
- package/packages/inference-runtime/src/index.js +10 -0
- package/packages/inference-runtime/src/model-router.js +320 -0
- package/packages/inference-runtime/src/platform.js +125 -0
- package/packages/inference-runtime/src/privacy.js +400 -0
- package/packages/inference-runtime/src/video.js +253 -0
- package/packages/mcp-server/README.md +22 -6
- package/packages/mcp-server/bin/enigma-mcp.mjs +2 -1
- package/packages/mcp-server/src/index.js +2498 -1185
- package/packages/mcp-server/src/oauth.js +561 -0
- package/packages/mcp-server/src/private-handoff.js +84 -0
- package/packages/mcp-server/src/remote-http.js +273 -0
- package/packages/mcp-server/src/remote-policy.js +72 -0
- package/packages/mcp-server/swarm-bridge.mjs +361 -0
- package/packages/mesh/index.d.ts +283 -0
- package/packages/mesh/package.json +23 -0
- package/packages/mesh/src/crypto.js +189 -0
- package/packages/mesh/src/federation-packets.js +353 -0
- package/packages/mesh/src/gossip.js +311 -0
- package/packages/mesh/src/index.js +6 -0
- package/packages/mesh/src/protocol.js +255 -0
- package/packages/mesh/src/router.js +279 -0
- package/packages/mesh/src/transport.js +306 -0
- package/packages/passport/src/index.js +436 -7
- package/packages/private-economy/src/credits-http.js +100 -0
- package/packages/private-economy/src/credits.js +447 -0
- package/packages/private-economy/src/index.js +5 -0
- package/packages/private-economy/src/payments-http.js +120 -0
- package/packages/private-economy/src/payments.js +509 -0
- package/packages/private-economy/src/x402.js +346 -0
- package/packages/proof-network/PACKAGE_CONTRACT.md +21 -0
- package/packages/rag/index.d.ts +182 -0
- package/packages/rag/models/Xenova/all-MiniLM-L6-v2/THIRD_PARTY_LICENSES.txt +207 -0
- package/packages/rag/models/Xenova/all-MiniLM-L6-v2/config.json +25 -0
- package/packages/rag/models/Xenova/all-MiniLM-L6-v2/onnx/model_quantized.onnx +0 -0
- package/packages/rag/models/Xenova/all-MiniLM-L6-v2/sha256-manifest.json +28 -0
- package/packages/rag/models/Xenova/all-MiniLM-L6-v2/tokenizer.json +30686 -0
- package/packages/rag/models/Xenova/all-MiniLM-L6-v2/tokenizer_config.json +15 -0
- package/packages/rag/package.json +27 -0
- package/packages/rag/src/blinded-search.js +109 -0
- package/packages/rag/src/bm25.js +169 -0
- package/packages/rag/src/embeddings.js +459 -0
- package/packages/rag/src/hybrid.js +76 -0
- package/packages/rag/src/index.js +38 -0
- package/packages/rag/src/reranker.js +61 -0
- package/packages/rag/src/research.js +107 -0
- package/packages/rag/src/vector-store.js +430 -0
- package/packages/rag/src/verify-model-artifacts.mjs +4 -0
- package/packages/sdk/index.d.ts +760 -0
- package/packages/sdk/package.json +33 -0
- package/packages/sdk/python/README.md +24 -0
- package/packages/sdk/python/enigma_sdk.py +250 -0
- package/packages/sdk/python/pyproject.toml +34 -0
- package/packages/sdk/python/requirements.txt +1 -0
- package/packages/sdk/python/setup.py +20 -0
- package/packages/sdk/src/federation/capability-grant.js +389 -0
- package/packages/sdk/src/federation/federation-router.js +360 -0
- package/packages/sdk/src/federation/ghostmesh-bridge.js +497 -0
- package/packages/sdk/src/federation/index.js +3 -0
- package/packages/sdk/src/index.js +1796 -0
- package/packages/sdk/src/intelligence/contradiction.js +337 -0
- package/packages/sdk/src/intelligence/decision-engine.js +155 -0
- package/packages/sdk/src/intelligence/index.js +4 -0
- package/packages/sdk/src/intelligence/ontology.js +122 -0
- package/packages/sdk/src/intelligence/temporal.js +123 -0
- package/packages/sdk/src/market-client.js +142 -0
- package/packages/sdk/src/mesh-client.js +110 -0
- package/packages/sdk/src/middleware/index.js +3 -0
- package/packages/sdk/src/middleware/langchain.js +159 -0
- package/packages/sdk/src/middleware/llamaindex.js +101 -0
- package/packages/sdk/src/middleware/vercel-ai.js +112 -0
- package/packages/sdk/src/rag-client.js +85 -0
- package/packages/sdk/src/swarm-orchestrator.js +260 -0
- package/packages/settlement/PACKAGE_CONTRACT.md +1 -1
- package/packages/snapcompact/THIRD_PARTY_LICENSES.txt +40 -0
- package/packages/snapcompact/assets/8x13-latin1.bdf +3837 -0
- package/packages/snapcompact/index.d.ts +284 -0
- package/packages/snapcompact/package.json +25 -0
- package/packages/snapcompact/src/index.js +716 -0
- package/packages/storage/PACKAGE_CONTRACT.md +1 -1
- package/packages/terminal-console/animations.mjs +240 -0
- package/packages/terminal-console/auto-anchor.mjs +220 -0
- package/packages/terminal-console/banner.mjs +91 -0
- package/packages/terminal-console/commands.mjs +459 -0
- package/packages/terminal-console/delegation.mjs +152 -0
- package/packages/terminal-console/index.mjs +5 -0
- package/packages/terminal-console/outbox.mjs +143 -0
- package/packages/terminal-console/phantom-bridge.mjs +637 -0
- package/packages/terminal-console/repl.mjs +136 -0
- package/packages/terminal-console/signer-store.mjs +130 -0
- package/packages/terminal-console/solana-rpc.mjs +214 -0
- package/packages/terminal-console/solana-transport.mjs +189 -0
- package/packages/terminal-tui/dashboard.mjs +214 -0
- package/packages/terminal-tui/index.mjs +28 -0
- package/packages/terminal-tui/merkle-tree-renderer.mjs +268 -0
- package/packages/terminal-tui/telemetry-hud.mjs +137 -0
- package/packages/vault/index.d.ts +449 -0
- package/packages/vault/package.json +27 -0
- package/packages/vault/src/e2ee.mjs +393 -0
- package/packages/vault/src/enclave.js +481 -0
- package/packages/vault/src/erasure.js +207 -0
- package/packages/vault/src/index.js +1150 -125
- package/packages/vault/src/persistence.js +307 -0
- package/packages/vault/src/poseidon.js +354 -0
- package/packages/vault/src/receipt.js +459 -0
- package/scripts/benchmark-optical-context.mjs +166 -0
- package/scripts/bootstrap-enigma.mjs +502 -0
- package/scripts/build-edge-backend-workers.mjs +20 -5
- package/scripts/build-goal-completion-audit.mjs +72 -25
- package/scripts/build-hosted-api-key-lifecycle.mjs +292 -274
- package/scripts/build-hosted-customer-lifecycle.mjs +493 -476
- package/scripts/build-hosted-probe-worker.mjs +19 -4
- package/scripts/build-installer-assets.mjs +409 -389
- package/scripts/build-operator-evidence-starter.mjs +59 -1
- package/scripts/build-production-backend-env-kit.mjs +2 -0
- package/scripts/build-production-unblocker.mjs +4 -1
- package/scripts/build-proof-network-packet.mjs +213 -213
- package/scripts/check.mjs +25 -4
- package/scripts/collect-hosted-backend-live-evidence.mjs +49 -12
- package/scripts/install-enigma-local.mjs +18 -5
- package/scripts/release-audit.mjs +74 -115
- package/scripts/release-provenance.mjs +12 -2
- package/scripts/run-backend-readiness-smoke.mjs +112 -10
- package/scripts/run-standard-memory-benchmarks.mjs +1354 -1352
- package/scripts/scan-secrets.mjs +178 -0
- package/scripts/simulate-production-env.mjs +71 -10
- package/scripts/validate-hosted-backend-live.mjs +112 -1
- package/specs/antibody-pack-v1.schema.json +95 -0
- package/specs/antigen-envelope-v1.schema.json +81 -0
- package/specs/boundary-manifest-v1.schema.json +35 -35
- package/specs/capsule-v1.schema.json +55 -55
- package/specs/claim-boundary-manifest-v1.schema.json +22 -22
- package/specs/claim-ledger-v1.schema.json +291 -0
- package/specs/context-passport-v1.schema.json +59 -0
- package/specs/deletion-tombstone-v1.schema.json +26 -26
- package/specs/evidence-packet-v1.schema.json +177 -0
- package/specs/hosted-backend-live-evidence-v1.schema.json +72 -3
- package/specs/immune-scan-report-v1.schema.json +112 -0
- package/specs/lifecycle-receipt-log-v1.schema.json +67 -0
- package/specs/memory-atom-v1.schema.json +59 -0
- package/specs/memory-event-v1.schema.json +42 -42
- package/specs/passport-v1.schema.json +50 -50
- package/specs/proof-of-non-use-v1.schema.json +65 -0
- package/specs/quarantine-record-v1.schema.json +126 -0
- package/specs/receipt-v1.schema.json +61 -61
- package/specs/state-checkpoint-v1.schema.json +37 -37
- package/specs/trust-bundle-v1.schema.json +56 -56
- package/specs/trust-card-v1.schema.json +119 -0
- package/docs/proof-network-launch-plan.md +0 -421
- package/packages/metering/PACKAGE_CONTRACT.md +0 -20
- 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
|
-
|
|
36
|
-
|
|
37
|
-
npm install -g enigma-memory && enigma setup --client
|
|
38
|
-
npm install -g enigma-memory && enigma setup --client
|
|
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
|
|
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
|
|
20
|
-
enigma
|
|
21
|
-
enigma
|
|
22
|
-
enigma
|
|
23
|
-
enigma
|
|
24
|
-
enigma
|
|
25
|
-
enigma
|
|
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.
|
|
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.
|