enigma-memory 0.1.11 → 0.1.13
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 +8 -0
- package/apps/cli/bin/enigma.mjs +362 -10
- package/deploy/SIMULATION.md +152 -0
- package/deploy/docker-compose.local-production-simulation.yml +237 -0
- package/deploy/docker-compose.production.example.yml +19 -0
- package/deploy/kms-mock.mjs +64 -0
- package/deploy/nginx.local-production-simulation.conf +33 -0
- package/deploy/siem-mock.mjs +50 -0
- package/docs/benchmark-attestation-network.md +488 -0
- package/docs/benchmark-reproducibility.md +19 -2
- package/docs/blockchain-only-mechanisms.md +388 -0
- package/docs/client-connectors.md +512 -0
- package/docs/demo-proof-network.md +275 -0
- package/docs/developer-ecosystem.md +47 -4
- package/docs/developer-proof-quickstart.md +325 -0
- package/docs/enigma-memory-ready-conformance.md +376 -0
- package/docs/enterprise-proof-control-plane.md +365 -0
- package/docs/install-anywhere.md +517 -0
- package/docs/market-category-narrative.md +398 -0
- package/docs/memory-drive-health-model.md +649 -0
- package/docs/memory-drive-strategy.md +458 -0
- package/docs/memory-passport-standard.md +445 -0
- package/docs/novelty-invention-candidates.md +161 -0
- package/docs/privacy-ledger-model.md +229 -0
- package/docs/proof-network-build-notes.md +240 -0
- package/docs/proof-network-claim-boundaries.md +318 -0
- package/docs/proof-network-dashboard-spec.md +773 -0
- package/docs/proof-network-glossary.md +27 -0
- package/docs/proof-network-launch-plan.md +421 -0
- package/docs/proof-network-operator-protocol.md +432 -0
- package/docs/proof-network-roadmap.md +431 -0
- package/docs/proof-network-test-plan.md +216 -0
- package/docs/proof-network-threat-model.md +373 -0
- package/docs/proof-network.md +257 -0
- package/docs/sdk-api.md +132 -10
- package/docs/solana-devnet-acceptance.md +226 -0
- package/docs/solana-proof-rail.md +453 -0
- package/examples/ci/github-actions.yml +6 -3
- package/examples/proof-network-anchor.json +37 -0
- package/examples/proof-network-attestation.json +35 -0
- package/examples/proof-network-grant.json +27 -0
- package/examples/proof-network-packet.json +71 -0
- package/package.json +42 -3
- package/packages/mcp-server/src/index.js +1 -1
- package/packages/proof-network/src/index.js +570 -0
- package/scripts/build-hosted-api-key-lifecycle.mjs +1 -1
- package/scripts/build-hosted-customer-lifecycle.mjs +1 -1
- package/scripts/build-installer-assets.mjs +1 -1
- package/scripts/build-proof-network-packet.mjs +213 -0
- package/scripts/run-standard-memory-benchmarks.mjs +1 -1
- package/scripts/simulate-production-env.mjs +210 -0
- package/scripts/verify-registry-install.mjs +1 -0
- package/scripts/wait-for-backend-ready.mjs +101 -0
- package/specs/goal-completion-audit-v1.schema.json +1 -0
- package/specs/proof-network-anchor-batch-v1.schema.json +125 -0
- package/specs/proof-network-benchmark-attestation-v1.schema.json +103 -0
- package/specs/proof-network-capability-grant-v1.schema.json +132 -0
- package/specs/proof-network-packet-v1.schema.json +171 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
# Solana devnet acceptance gates
|
|
2
|
+
|
|
3
|
+
This document defines the minimum acceptance criteria before Enigma makes any public devnet or mainnet Solana claim.
|
|
4
|
+
|
|
5
|
+
Enigma is the private memory controller for AI. Solana is an optional proof, permission, and settlement rail that may carry public-safe hashes, Merkle roots, opaque refs, counts, signatures, slots, transaction signatures, public keys, and nullifiers. Solana must never receive raw memory, prompts, transcripts, completions, embeddings, tenant names, ACL bodies, provider responses, API keys, private keys, seed phrases, private policy text, or private customer identifiers.
|
|
6
|
+
|
|
7
|
+
Until every applicable gate below is complete and approved, public language must stay at the local-planning boundary: Enigma can prepare and validate Solana-ready public-safe artifacts; it must not claim that transactions were submitted, finalized, settled, deployed, audited, certified, or live.
|
|
8
|
+
|
|
9
|
+
## Claim levels
|
|
10
|
+
|
|
11
|
+
| Claim level | Allowed language | Required evidence |
|
|
12
|
+
| --- | --- | --- |
|
|
13
|
+
| Local only | "Solana-ready artifact prepared locally." | Passing local validator output, `transaction_submitted:false`, `raw_memory_on_chain:false`, and public-safe sample values. |
|
|
14
|
+
| Mock client | "Mock Solana client acceptance passed." | Deterministic mock-client transcript showing the exact instruction set, account metas, signer set, fee-payer behavior, privacy scan, revocation/nullifier path, and rollback path. |
|
|
15
|
+
| Devnet | "Submitted on Solana devnet." | Approved devnet transaction signature, cluster, slot, program/account refs, explorer/RPC evidence, privacy scan, rollback evidence, fee-payer evidence, and legal/security approval. |
|
|
16
|
+
| Mainnet | "Submitted on Solana mainnet." | All devnet gates plus mainnet-specific deployment approval, production key custody approval, fee policy approval, explorer/RPC review, incident rollback plan, legal/security approval, and operator sign-off. |
|
|
17
|
+
|
|
18
|
+
No level inherits approval from a lower level automatically. Each public claim must cite the exact evidence packet that supports it.
|
|
19
|
+
|
|
20
|
+
## Hard gate rules
|
|
21
|
+
|
|
22
|
+
These gates are blocking controls, not advisory checklists.
|
|
23
|
+
|
|
24
|
+
- A devnet claim is forbidden until Gates 0 through 8 pass for the exact instruction set, program id, accounts, claim text, and evidence packet being published.
|
|
25
|
+
- A mainnet claim is forbidden until the devnet claim for the same flow has passed and the separate Mainnet gate below has passed.
|
|
26
|
+
- A successful local artifact, mock transcript, or unsigned transaction is not devnet evidence.
|
|
27
|
+
- A successful devnet transaction is not mainnet evidence.
|
|
28
|
+
- A transaction signature without account privacy review, revocation/nullifier review where applicable, fee-payer approval, explorer/RPC review, and legal/security approval is not publishable evidence.
|
|
29
|
+
- Any private payload discovered after submission is a release blocker and incident-response event. Do not redact screenshots and proceed; remove the claim and escalate.
|
|
30
|
+
- Evidence is valid only for the named cluster, program id, transaction signature, account refs, artifact hashes, and claim copy. Reworded claims require reapproval.
|
|
31
|
+
|
|
32
|
+
The default launch decision is **no claim**. The release owner may only promote the claim level when every required exit evidence item is attached.
|
|
33
|
+
|
|
34
|
+
## Gate 0: claim boundary approval
|
|
35
|
+
|
|
36
|
+
Before mock, devnet, or mainnet work starts, reviewers must approve the claim boundary:
|
|
37
|
+
|
|
38
|
+
- The claim names the exact cluster: local mock, devnet, or mainnet.
|
|
39
|
+
- The claim names the exact artifact class: anchor batch, capability grant, capability revocation/nullifier, benchmark attestation, proof packet, operator registry event, or settlement reference.
|
|
40
|
+
- The claim states that Enigma controls private memory off-chain and that Solana receives only public-safe commitments.
|
|
41
|
+
- The claim does not imply provider deletion, model forgetting, legal compliance, hosted SaaS operation, benchmark superiority, ROI, token appreciation, yield, or customer production deployment.
|
|
42
|
+
- The public copy avoids "live," "production," "mainnet," "finalized," "settled," "audited," and "certified" unless the corresponding gate below is complete.
|
|
43
|
+
|
|
44
|
+
Exit evidence: approved claim text and reviewer notes stored with the release evidence packet.
|
|
45
|
+
|
|
46
|
+
## Gate 1: mock-client acceptance
|
|
47
|
+
|
|
48
|
+
Mock-client acceptance proves the chain integration shape before any network submission.
|
|
49
|
+
|
|
50
|
+
Required checks:
|
|
51
|
+
|
|
52
|
+
1. **Instruction coverage.** The mock client exercises each instruction that public copy may mention, including anchor creation, capability grant, revocation/nullifier creation, and any settlement or operator action referenced by the claim.
|
|
53
|
+
2. **Account metas.** Every instruction records expected account metas, signer flags, writable flags, PDA seeds, and program ids using public-safe values only.
|
|
54
|
+
3. **Signer model.** The signer set is explicit. Private keys and seed phrases are never included in logs, examples, fixtures, packets, docs, screenshots, or approval artifacts.
|
|
55
|
+
4. **Fee payer.** The mock transcript names the fee payer by public key/ref only and proves that fee payer responsibility is explicit, not implicit.
|
|
56
|
+
5. **Privacy rejection.** The mock client rejects forbidden keys and secret-like values before constructing a transaction.
|
|
57
|
+
6. **Revocation/nullifier path.** The mock client proves that a revoked grant or consumed nullifier cannot be reused in the modeled flow.
|
|
58
|
+
7. **Rollback path.** The mock client exercises cancellation, refund, re-anchoring, or supersession behavior for every mutable flow public copy may describe.
|
|
59
|
+
8. **No submission language.** Mock artifacts must set or state `transaction_submitted:false` and must not include a devnet or mainnet transaction signature.
|
|
60
|
+
|
|
61
|
+
Exit evidence: deterministic mock transcript, reviewed public-safe fixture values, and approval that no private payload entered any mock artifact.
|
|
62
|
+
|
|
63
|
+
## Gate 2: devnet transaction acceptance
|
|
64
|
+
|
|
65
|
+
Devnet acceptance is required before any public "submitted on devnet," "anchored on devnet," or "devnet transaction" claim.
|
|
66
|
+
|
|
67
|
+
Required checks:
|
|
68
|
+
|
|
69
|
+
1. **Approved deployment target.** Program id, cluster, authority public key/ref, and account derivation plan are approved before submission.
|
|
70
|
+
2. **Public-safe transaction inputs.** All instruction data and accounts are built from hashes, roots, opaque refs, counts, public keys, signatures, slots, and nullifiers only.
|
|
71
|
+
3. **Real devnet signature.** The evidence packet includes a devnet transaction signature, slot, block time if available, commitment/finality status, program id, and RPC or explorer reference.
|
|
72
|
+
4. **Account state verification.** Reviewers fetch or inspect the created/updated devnet accounts and confirm that account data contains only public-safe fields.
|
|
73
|
+
5. **Fee-payer record.** The evidence packet identifies the fee payer public key/ref, funding source approval, expected fee exposure, and confirmation that no customer private data was used for fee funding metadata.
|
|
74
|
+
6. **Replay and idempotency.** Duplicate anchor, duplicate nullifier, expired grant, and unauthorized signer paths fail with expected errors.
|
|
75
|
+
7. **Rollback or supersession.** If the flow is mutable, reviewers verify the rollback path on devnet. If the flow is immutable, reviewers verify the documented supersession or correction process instead.
|
|
76
|
+
8. **Explorer review.** A reviewer inspects explorer-visible fields and screenshots/exports only the public-safe transaction and account metadata needed for evidence.
|
|
77
|
+
9. **Legal/security approval.** Legal and security approve the exact devnet claim wording and evidence packet before publication.
|
|
78
|
+
|
|
79
|
+
Exit evidence: approved devnet packet containing transaction signature, slot, account refs, privacy scan results, fee-payer approval, rollback/supersession evidence, explorer/RPC review, and legal/security approval.
|
|
80
|
+
|
|
81
|
+
## Gate 3: account privacy scan
|
|
82
|
+
|
|
83
|
+
Every mock, devnet, and mainnet evidence packet must pass an account privacy scan.
|
|
84
|
+
|
|
85
|
+
The scan must fail if any transaction instruction, account data, event, log, memo, explorer-visible value, screenshot, or exported artifact contains:
|
|
86
|
+
|
|
87
|
+
- raw memory, memory text, prompts, transcripts, completions, embeddings, provider responses, raw benchmark rows, raw dataset records, or private runner logs;
|
|
88
|
+
- tenant names, customer names, human employee names, private workspace names, private file paths, account ids, provider ids, ticket ids, or support-case ids;
|
|
89
|
+
- ACL bodies, private policy text, legal terms, contracts, data-processing terms, internal comments, or free-text revocation reasons;
|
|
90
|
+
- API keys, private keys, seed phrases, mnemonics, bearer tokens, session cookies, connection strings, webhook secrets, passwords, or secret-looking values;
|
|
91
|
+
- URLs containing credentials, private bucket paths, signed URLs, or unapproved internal hostnames.
|
|
92
|
+
|
|
93
|
+
The scan must also confirm:
|
|
94
|
+
|
|
95
|
+
- all roots, hashes, nullifiers, and refs are stable and reproducible from approved private inputs;
|
|
96
|
+
- free-text fields are absent or constrained to approved public enums;
|
|
97
|
+
- screenshots and explorer exports are redacted only by omission, not by hiding private data that was already placed on-chain;
|
|
98
|
+
- `raw_memory_on_chain:false` remains true for local artifacts and is reflected by observed chain/account state for submitted transactions.
|
|
99
|
+
|
|
100
|
+
Exit evidence: scan report, reviewer initials/approval, and a list of inspected transaction signatures/accounts/fixtures.
|
|
101
|
+
|
|
102
|
+
## Gate 4: revocation and nullifier acceptance
|
|
103
|
+
|
|
104
|
+
Revocation/nullifier acceptance is mandatory before claims about grants, permission removal, replay prevention, one-time rights, escrow settlement finality, or access invalidation.
|
|
105
|
+
|
|
106
|
+
Required checks:
|
|
107
|
+
|
|
108
|
+
1. A valid grant or right works before revocation/nullifier creation.
|
|
109
|
+
2. The revocation or nullifier is created with public-safe `target_hash`, `domain_hash`, `nullifier_hash`, reason code enum, authority public key/ref, and timestamp/slot.
|
|
110
|
+
3. Reuse of the revoked grant or consumed nullifier fails.
|
|
111
|
+
4. Duplicate nullifier creation fails for the same domain/hash pair.
|
|
112
|
+
5. Unauthorized revoker attempts fail.
|
|
113
|
+
6. Expired grants fail independently of revocation.
|
|
114
|
+
7. The public artifact does not claim provider deletion, model forgetting, tenant-wide enforcement, or downstream cache/log removal.
|
|
115
|
+
|
|
116
|
+
Exit evidence: passing mock and, when claiming devnet/mainnet, passing network transaction evidence for the positive path and the failure paths.
|
|
117
|
+
|
|
118
|
+
## Gate 5: rollback, correction, and incident path
|
|
119
|
+
|
|
120
|
+
No devnet or mainnet claim may ship without an approved recovery story.
|
|
121
|
+
|
|
122
|
+
Required checks:
|
|
123
|
+
|
|
124
|
+
- Immutable anchors define a supersession process that publishes a corrected root/ref without mutating historical chain state.
|
|
125
|
+
- Mutable accounts define who can cancel, refund, revoke, dispute, pause, rotate authority, or close state.
|
|
126
|
+
- Rollback/correction paths are tested in mock before devnet and in devnet before mainnet.
|
|
127
|
+
- Failure handling avoids private incident details in public chain data, logs, memos, or explorer-visible fields.
|
|
128
|
+
- Public copy says "superseded," "revoked," "refunded," "cancelled," or "corrected" only when the corresponding evidence exists.
|
|
129
|
+
|
|
130
|
+
Exit evidence: rollback/supersession transcript, authority approval, and public-safe incident wording if any public correction is needed.
|
|
131
|
+
|
|
132
|
+
## Gate 6: fee payer and key custody
|
|
133
|
+
|
|
134
|
+
Fee-payer and key-custody approval is mandatory before any network submission claim.
|
|
135
|
+
|
|
136
|
+
Required checks:
|
|
137
|
+
|
|
138
|
+
- Fee payer is named by public key/ref only and approved for the cluster.
|
|
139
|
+
- Funding source is approved for devnet or mainnet use; customer private identifiers are not embedded in funding metadata.
|
|
140
|
+
- Signing keys are generated, stored, rotated, and revoked under the approved custody process for the claim level.
|
|
141
|
+
- No private key, seed phrase, mnemonic, hardware-wallet backup, or raw signer transcript appears in evidence artifacts.
|
|
142
|
+
- Mainnet submissions require separate approval for expected fees, spending limits, signer quorum, emergency pause/rotation, and operational ownership.
|
|
143
|
+
|
|
144
|
+
Exit evidence: fee-payer approval, signer/custody approval, and evidence packet confirming only public keys/refs are published.
|
|
145
|
+
|
|
146
|
+
## Gate 7: explorer and RPC review
|
|
147
|
+
|
|
148
|
+
Explorer/RPC review is required because public chains make mistakes permanent.
|
|
149
|
+
|
|
150
|
+
Required checks:
|
|
151
|
+
|
|
152
|
+
1. Review the transaction page, account pages, program logs/events, memos, token transfers, and visible account data.
|
|
153
|
+
2. Confirm the cluster is correct and cannot be confused with mainnet when the claim is devnet-only.
|
|
154
|
+
3. Confirm all visible fields match the approved artifact packet.
|
|
155
|
+
4. Confirm no private data appears in explorer-rendered labels, memos, logs, decoded instruction data, account names, token metadata, or linked refs.
|
|
156
|
+
5. Capture only approved public-safe evidence for docs, demos, sales material, or release notes.
|
|
157
|
+
|
|
158
|
+
Exit evidence: explorer/RPC review record with transaction signature, slot, cluster, inspected account refs, and approval status.
|
|
159
|
+
|
|
160
|
+
## Gate 8: legal and security approval
|
|
161
|
+
|
|
162
|
+
Legal and security approval is the final gate before public devnet or mainnet language.
|
|
163
|
+
|
|
164
|
+
They must confirm:
|
|
165
|
+
|
|
166
|
+
- the claim is scoped to the actual evidence and cluster;
|
|
167
|
+
- the copy does not imply production hosted SaaS, compliance certification, provider deletion, model forgetting, investment return, token economics, or customer deployment unless separately approved;
|
|
168
|
+
- the evidence packet contains no private payloads, secrets, regulated data, private customer identifiers, private provider data, or contractual terms;
|
|
169
|
+
- the team has an incident response path if an irreversible public-chain disclosure occurs;
|
|
170
|
+
- mainnet language has explicit operator, legal, security, and release-owner approval.
|
|
171
|
+
|
|
172
|
+
Exit evidence: final approval record attached to the exact public copy and evidence packet.
|
|
173
|
+
|
|
174
|
+
## Mainnet gate
|
|
175
|
+
|
|
176
|
+
Mainnet is a separate launch decision, not a continuation of devnet.
|
|
177
|
+
|
|
178
|
+
A mainnet claim is prohibited until all of the following are complete:
|
|
179
|
+
|
|
180
|
+
- every mock and devnet gate above is complete for the exact instruction set and public claim;
|
|
181
|
+
- mainnet program id/account plan is approved;
|
|
182
|
+
- signer custody, fee-payer funding, spending limits, authority rotation, and emergency controls are approved;
|
|
183
|
+
- account privacy scan passes against the exact mainnet transaction/account plan;
|
|
184
|
+
- rollback/supersession path is approved for irreversible public-chain records;
|
|
185
|
+
- explorer/RPC review procedure is rehearsed on devnet and assigned for mainnet;
|
|
186
|
+
- legal, security, operator, and release-owner approvals are recorded;
|
|
187
|
+
- public copy names mainnet only with the transaction signature, slot/finality evidence, and evidence packet ref.
|
|
188
|
+
|
|
189
|
+
Until this gate is complete, approved wording is limited to: "Enigma has local Solana-ready proof artifacts" or, if Gate 2 is complete, "Enigma has reviewed devnet evidence for the named transaction." Do not say or imply mainnet deployment, live settlement, production payment rail, token launch, staking, yield, or public network operation.
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
## Evidence packet minimum
|
|
193
|
+
|
|
194
|
+
Every devnet or mainnet evidence packet must include, at minimum:
|
|
195
|
+
|
|
196
|
+
| Field | Devnet | Mainnet |
|
|
197
|
+
| --- | --- | --- |
|
|
198
|
+
| Claim text | Exact approved sentence or paragraph. | Exact approved sentence or paragraph. |
|
|
199
|
+
| Cluster | `devnet`. | `mainnet-beta` or the approved mainnet cluster name used by the release owner. |
|
|
200
|
+
| Program/account refs | Program id, account refs, PDA seed description, and instruction names. | Mainnet program id, account refs, PDA seed description, and instruction names. |
|
|
201
|
+
| Transaction evidence | Signature, slot, block time if available, commitment/finality status, and RPC/explorer ref. | Signature, slot, finality evidence, and RPC/explorer ref. |
|
|
202
|
+
| Privacy scan | Account/instruction/log/memo/explorer review showing public-safe values only. | Same scan repeated against mainnet transaction/account evidence. |
|
|
203
|
+
| Revocation/nullifier | Positive and negative-path evidence when permission, replay prevention, one-time right, or settlement-finality language is used. | Same evidence repeated or explicitly mapped to the mainnet transaction set. |
|
|
204
|
+
| Rollback/supersession | Tested devnet rollback, cancellation, refund, revocation, or supersession path. | Approved incident and supersession/rollback plan for irreversible public state. |
|
|
205
|
+
| Fee payer/key custody | Devnet fee-payer public key/ref and signer approval. | Mainnet fee-payer public key/ref, spending limits, signer quorum, custody, rotation, and emergency controls. |
|
|
206
|
+
| Explorer/RPC review | Reviewer-approved explorer/RPC inspection record. | Reviewer-approved mainnet explorer/RPC inspection record. |
|
|
207
|
+
| Approvals | Legal, security, operator, and release-owner approvals for devnet copy. | Legal, security, operator, and release-owner approvals for mainnet copy. |
|
|
208
|
+
|
|
209
|
+
Missing evidence means the claim is not accepted, even when the transaction itself succeeded.
|
|
210
|
+
|
|
211
|
+
## Publication checklist
|
|
212
|
+
|
|
213
|
+
Before publishing any Solana claim, the release owner must verify:
|
|
214
|
+
|
|
215
|
+
- [ ] Claim level is identified: local, mock, devnet, or mainnet.
|
|
216
|
+
- [ ] Evidence packet ref is attached.
|
|
217
|
+
- [ ] Account privacy scan passed.
|
|
218
|
+
- [ ] Revocation/nullifier acceptance passed when permission or replay-prevention language is used.
|
|
219
|
+
- [ ] Rollback or supersession path is documented and tested for the claim level.
|
|
220
|
+
- [ ] Fee payer and signer custody approvals are attached for network submissions.
|
|
221
|
+
- [ ] Explorer/RPC review is attached for devnet/mainnet claims.
|
|
222
|
+
- [ ] Legal and security approvals are attached.
|
|
223
|
+
- [ ] Copy avoids prohibited claims and names the exact cluster/evidence.
|
|
224
|
+
- [ ] Public examples contain only public-safe hashes, roots, refs, counts, signatures, public keys, slots, and nullifiers.
|
|
225
|
+
|
|
226
|
+
If any box is unchecked, the public claim must be downgraded to the highest completed level or removed.
|