enigma-memory 0.1.13 → 0.1.14

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 (32) hide show
  1. package/README.md +36 -17
  2. package/apps/cli/bin/enigma.mjs +320 -42
  3. package/deploy/docker-compose.local-production-simulation.yml +10 -11
  4. package/docs/benchmark-attestation-network.md +487 -487
  5. package/docs/benchmark-reproducibility.md +10 -9
  6. package/docs/demo-proof-network.md +275 -275
  7. package/docs/developer-ecosystem.md +223 -223
  8. package/docs/developer-proof-quickstart.md +325 -325
  9. package/docs/enigma-memory-ready-conformance.md +376 -376
  10. package/docs/hosted-cloud-product.md +10 -0
  11. package/docs/install-anywhere.md +34 -17
  12. package/docs/installers-and-desktop.md +9 -7
  13. package/docs/proof-network-build-notes.md +240 -240
  14. package/docs/proof-network.md +257 -257
  15. package/docs/sdk-api.md +324 -324
  16. package/docs/solana-devnet-acceptance.md +48 -0
  17. package/docs/solana-proof-rail.md +453 -453
  18. package/examples/ci/github-actions.yml +6 -8
  19. package/package.json +8 -1
  20. package/packages/mcp-server/src/index.js +1 -1
  21. package/packages/passport/src/index.js +9 -5
  22. package/scripts/build-benchmark-proof-release.mjs +391 -0
  23. package/scripts/build-goal-completion-audit.mjs +11 -5
  24. package/scripts/build-hosted-api-key-lifecycle.mjs +1 -1
  25. package/scripts/build-hosted-customer-lifecycle.mjs +1 -1
  26. package/scripts/build-installer-assets.mjs +126 -10
  27. package/scripts/build-production-handoff-packet.mjs +7 -6
  28. package/scripts/build-production-unblocker.mjs +409 -0
  29. package/scripts/build-proof-network-packet.mjs +1 -1
  30. package/scripts/release-audit.mjs +71 -2
  31. package/scripts/run-standard-memory-benchmarks.mjs +1 -1
  32. package/scripts/wait-for-backend-ready.mjs +4 -2
@@ -1,257 +1,257 @@
1
- # Proof Network
2
-
3
- Enigma Proof Network is the public-safe receipt layer for AI memory operations. It packages hashes, roots, refs, scopes, and signatures into local JSON artifacts that can be checked without revealing raw memory, prompts, transcripts, completions, embeddings, access-control bodies, tenant names, provider responses, or secrets.
4
-
5
- The Proof Network has two jobs:
6
-
7
- 1. Make memory-system events independently inspectable through stable artifact types.
8
- 2. Keep private data out of proof material by committing only to public-safe identifiers and cryptographic digests.
9
-
10
- The initial artifact families are:
11
-
12
- | Artifact | Schema identifier | Purpose |
13
- | --- | --- | --- |
14
- | Anchor batch | `enigma.proof_network.anchor_batch.v1` | Groups one or more public-safe roots and refs into an opaque batch that can later be anchored by an operator. |
15
- | Capability grant | `enigma.proof_network.capability_grant.v1` | Records that a subject was granted a scoped capability over public-safe memory refs. |
16
- | Capability revocation | `enigma.proof_network.capability_revocation.v1` | Records that a prior grant or scope is no longer accepted by verifiers after the revocation artifact is recognized. |
17
- | Benchmark attestation | `enigma.proof_network.benchmark_attestation.v1` | Binds a benchmark report hash to dataset, runner, package, and environment refs without publishing raw benchmark contents. |
18
- | Proof packet | `enigma.proof_network.packet.v1` | Bundles supported proof-network artifacts and verification metadata for review or handoff. |
19
-
20
- The pure package API for these artifacts should stay side-effect free: constructors create public-safe JSON, validators check exact schema shape and privacy flags, `sha256Json` hashes canonical JSON, and `assertNoPrivateProofPayload` rejects private key names or values before an artifact can be emitted. The API must not call a network, touch the filesystem, invoke provider SDKs, or infer missing private context.
21
-
22
- ## What it is
23
-
24
- Proof Network is a local, deterministic planning and verification layer. The CLI emits JSON artifacts that are safe to store in a repository, attach to a release packet, or hand to a reviewer. The artifacts are designed so a verifier can answer questions such as:
25
-
26
- - Which public-safe root did this release or run commit to?
27
- - Which grant scope was declared, and when does it expire?
28
- - Which grant was revoked by this nullifier?
29
- - Which benchmark report hash was attested, and which public-safe dataset and runner refs were used?
30
- - Does this packet contain only supported proof-network schemas and pass private-payload checks?
31
-
32
- A proof-network artifact is evidence about the artifact itself and the local inputs represented by its hashes. It is not evidence about private contents that are not published, and it is not a substitute for inspecting the local system that produced those hashes.
33
-
34
- ## What it is not
35
-
36
- Proof Network does not submit live network transactions. The current CLI commands are local planning commands only and must set:
37
-
38
- ```json
39
- {
40
- "transaction_submitted": false,
41
- "raw_memory_on_chain": false
42
- }
43
- ```
44
-
45
- Proof Network also does not:
46
-
47
- - reveal raw memory or user content;
48
- - publish prompts, transcripts, completions, embeddings, provider responses, tenant names, access-control bodies, private keys, seed phrases, or API keys;
49
- - prove provider behavior or downstream answer quality;
50
- - replace separate audits or operating reviews;
51
- - make commercial or public-market promises;
52
- - control systems that do not consume proof-network artifacts.
53
-
54
- ## Solana role
55
-
56
- Solana is the intended public settlement rail for compact roots, not a data store for memory. In this release concept, Enigma prepares Solana-ready anchor payloads but does not broadcast them.
57
-
58
- A future operator-controlled anchoring program can use the anchor batch as an opaque commitment:
59
-
60
- - the batch root is already computed locally;
61
- - the batch contains only hashes, refs, counts, timestamps, schema names, and optional signatures;
62
- - the chain payload does not need raw memory or private operational metadata;
63
- - the local artifact remains the source of detailed review context.
64
-
65
- This separation keeps the public rail small and privacy-preserving: public observers may see that a commitment exists, while reviewers with the local proof packet can verify the public-safe contents that produced the commitment.
66
-
67
- ## Accounts and PDA concepts
68
-
69
- A Solana implementation can model Proof Network state with program-owned accounts. At a high level:
70
-
71
- - an **anchor batch account** can store or reference the compact root for a batch;
72
- - a **grant account** can represent a capability grant keyed by issuer, subject, scope digest, and expiry;
73
- - a **revocation account** can represent a nullifier for a grant or scope digest;
74
- - an **attestation account** can represent a benchmark report commitment and its public-safe refs.
75
-
76
- Program Derived Addresses (PDAs) are deterministic account addresses derived from seeds and a program id. For Proof Network, PDA seeds should use public-safe values only, such as schema identifiers, issuer public keys, grant ids, scope hashes, report hashes, package refs, dataset refs, and batch roots. PDA seeds must not contain raw memory, prompts, transcripts, tenant names, ACL bodies, private keys, seed phrases, API keys, or local filesystem paths.
77
-
78
- The local artifact should preserve enough public-safe context for a reviewer to recompute the expected PDA seeds once a real program id and instruction format exist. Until then, any PDA fields in local artifacts are planning references, not proof that an account exists on a live network.
79
-
80
- ## Flow: anchor
81
-
82
- Anchor batches collect public-safe roots and refs into a single commitment.
83
-
84
- 1. The operator exports or computes one or more public-safe roots.
85
- 2. The CLI validates that the batch contains no private payload keys or values.
86
- 3. The CLI canonicalizes the JSON and computes a batch hash.
87
- 4. The CLI writes a local anchor batch with `transaction_submitted:false` and `raw_memory_on_chain:false`.
88
- 5. Any later operator process can reuse only the compact commitment; this command does not perform that process.
89
-
90
- Example:
91
-
92
- ```sh
93
- enigma chain anchor \
94
- --root sha256:8f0f7d2b7b7f4f2a3e4b9a3d1f0f2c3b4a5d6e7f8091a2b3c4d5e6f708192a3b \
95
- --ref release:enigma:0.1.13 \
96
- --ref memory-root:public-demo-2026-06-25 \
97
- --out ./.enigma/proof-network-anchor.json
98
- ```
99
-
100
- Expected boundary:
101
-
102
- ```json
103
- {
104
- "schema": "enigma.proof_network.anchor_batch.v1",
105
- "transaction_submitted": false,
106
- "raw_memory_on_chain": false
107
- }
108
- ```
109
-
110
- ## Flow: grant
111
-
112
- Capability grants describe scoped permission over public-safe refs. The grant does not contain the underlying memory or private policy body.
113
-
114
- 1. The issuer chooses a capability name, subject public identifier, scope digest, and optional expiry.
115
- 2. The CLI validates the scope fields and rejects private payload keys or values.
116
- 3. The CLI emits a grant id and grant hash.
117
- 4. Verifiers accept the grant only within its declared scope and time boundary.
118
-
119
- Example:
120
-
121
- ```sh
122
- enigma chain grant \
123
- --issuer did:example:enigma-issuer \
124
- --subject did:example:reviewer-01 \
125
- --capability memory.read.context-pack \
126
- --scope-ref memory-scope:sha256:0d4c2b8a7e6f5d4c3b2a19081726354433221100ffeeddccbbaa998877665544 \
127
- --expires-at 2026-07-25T00:00:00.000Z \
128
- --out ./.enigma/proof-network-grant.json
129
- ```
130
-
131
- Good grant scopes are narrow and reviewable: one purpose, one subject, explicit expiry, and refs that can be resolved by the operator without exposing private contents publicly.
132
-
133
- ## Flow: revoke
134
-
135
- Revocation artifacts let verifiers stop accepting a prior grant or scope. A revocation should identify the grant or scope through public-safe refs and nullifiers only.
136
-
137
- 1. The issuer selects a grant id, grant hash, or scope digest to revoke.
138
- 2. The CLI derives or accepts a public-safe nullifier.
139
- 3. The CLI validates that no private payload is present.
140
- 4. Verifiers reject matching grants after recognizing the revocation artifact.
141
-
142
- Example:
143
-
144
- ```sh
145
- enigma chain revoke \
146
- --issuer did:example:enigma-issuer \
147
- --grant-ref grant:sha256:2a0f6d8c1e3b5a799887766554433221100ffeeddccbbaa998877665544332211 \
148
- --reason-ref operator-request:2026-06-25 \
149
- --out ./.enigma/proof-network-revocation.json
150
- ```
151
-
152
- A revocation artifact is a verifier rule over proof-network refs. It is not a statement about third-party systems or private stores beyond the verifier boundary that consumes the artifact.
153
-
154
- ## Flow: attest
155
-
156
- Benchmark attestations bind a report hash to public-safe refs for a dataset, runner, package, and run environment. They are useful when a benchmark report must remain private or internal but its digest needs to be cited publicly.
157
-
158
- 1. The operator runs a local benchmark and stores the private report outside the public artifact.
159
- 2. The operator computes or supplies the report hash.
160
- 3. The CLI records dataset refs, runner refs, package refs, and environment refs that are safe to publish.
161
- 4. The CLI emits an attestation that can be verified against the report hash later.
162
-
163
- Example with a report hash:
164
-
165
- ```sh
166
- enigma chain attest \
167
- --report-hash sha256:5c3a2e1d0f9b8a7766554433221100ffeeddccbbaa99887766554433221100ff \
168
- --dataset-ref locomo:file-sha256:6a7b8c9d0e1f2233445566778899aabbccddeeff00112233445566778899aabb \
169
- --runner-ref enigma-standard-memory-benchmark:0.1.13 \
170
- --package-ref npm:@enigma-ai/enigma:0.1.13 \
171
- --out ./.enigma/proof-network-attestation.json
172
- ```
173
-
174
- Example with a local report file:
175
-
176
- ```sh
177
- enigma chain attest \
178
- --report-file ./.enigma/standard-memory-benchmark.json \
179
- --dataset-ref longmemeval:file-sha256:7b8c9d0e1f2233445566778899aabbccddeeff00112233445566778899aabbcc \
180
- --runner-ref enigma-standard-memory-benchmark:0.1.13 \
181
- --package-ref npm:@enigma-ai/enigma:0.1.13 \
182
- --out ./.enigma/proof-network-attestation.json
183
- ```
184
-
185
- The public attestation should include only the report hash and refs. It should not include raw benchmark rows, questions, answers, conversations, private file paths, credentials, or provider outputs.
186
-
187
- ## Flow: packet
188
-
189
- Proof packets bundle several supported artifacts into one reviewable handoff.
190
-
191
- 1. The operator selects anchor, grant, revocation, and attestation artifacts that have already passed local validation.
192
- 2. The packet records artifact hashes, schema identifiers, creation times, and verification metadata.
193
- 3. The packet validator rejects unsupported schemas and any private payload nested inside bundled artifacts.
194
- 4. A reviewer verifies the packet locally and resolves referenced private evidence only through approved internal channels.
195
-
196
- Packet artifacts are useful for release review because they preserve the relationship among roots, grants, revocations, and attestations without copying private source material into the public handoff.
197
-
198
- ## Flow: verify
199
-
200
- Verification is local. It checks schemas, required safety flags, hashes, supported artifact families, and the private-payload guard.
201
-
202
- Example:
203
-
204
- ```sh
205
- enigma chain verify --file ./.enigma/proof-network-anchor.json
206
- enigma chain verify --file ./.enigma/proof-network-grant.json
207
- enigma chain verify --file ./.enigma/proof-network-revocation.json
208
- enigma chain verify --file ./.enigma/proof-network-attestation.json
209
- enigma chain verify --file ./.enigma/proof-network-packet.json
210
- ```
211
-
212
- A successful local verification means the artifact matches a supported proof-network shape and safety boundary. It does not mean a live account exists, a transaction was accepted, or a public rail was contacted.
213
-
214
- ## Privacy boundaries
215
-
216
- Proof-network artifacts are public-safe only when they follow these boundaries:
217
-
218
- | Boundary | Allowed | Forbidden |
219
- | --- | --- | --- |
220
- | Memory evidence | Hashes, roots, counts, public-safe refs | Raw memory, transcripts, prompts, completions, embeddings |
221
- | Access scope | Capability name, scope hash, subject public identifier, expiry | ACL body, tenant name, private group membership, private policy text |
222
- | Benchmark evidence | Report hash, dataset ref, runner ref, package ref, environment ref | Raw questions, answers, conversations, provider responses, private dataset rows |
223
- | Solana planning | Batch root, schema id, public keys, PDA seed descriptions | Private keys, seed phrases, API keys, local file paths, raw memory |
224
- | Review packet | Supported proof artifacts, hashes, signatures, verification metadata | Secrets, private operational notes, unredacted logs |
225
-
226
- The private-payload guard should reject both key names and values that look like private data. Reviewers should treat that guard as a safety net, not as permission to put sensitive fields near public artifacts.
227
-
228
- ## Public claims
229
-
230
- Allowed public claims are intentionally narrow:
231
-
232
- - Enigma can produce local proof-network JSON artifacts for anchors, grants, revocations, benchmark attestations, and packets.
233
- - The artifacts are designed to contain public-safe hashes, roots, refs, counts, timestamps, signatures, and schema identifiers.
234
- - The local verifier can validate supported proof-network artifact shapes and reject private payload patterns.
235
- - Anchor batches are Solana-ready planning payloads for compact commitments, with `transaction_submitted:false`.
236
- - Raw memory is not intended to be placed on a public rail by these artifacts.
237
-
238
- Forbidden public claims include:
239
-
240
- - saying these commands submitted, confirmed, or finalized a transaction;
241
- - saying Proof Network publishes or reconstructs raw memory;
242
- - saying a grant proves broad identity, organization membership, or private policy content beyond its public-safe refs;
243
- - saying a revocation changes third-party systems or private stores that do not consume the revocation artifact;
244
- - saying a benchmark attestation proves answer quality or provider ranking;
245
- - saying the system replaces separate audits, changes public-market outcomes, or controls systems that do not consume the artifact.
246
-
247
- ## Reviewer checklist
248
-
249
- Before publishing or sharing a proof-network artifact, check that:
250
-
251
- 1. `schema` is one of the supported `enigma.proof_network.*.v1` identifiers.
252
- 2. `transaction_submitted` is `false` for local planning artifacts.
253
- 3. `raw_memory_on_chain` is `false`.
254
- 4. Every root or digest is public-safe and reproducible from the intended private input.
255
- 5. Every ref is safe to reveal and does not contain a local username, tenant name, private path, or secret.
256
- 6. No raw memory, prompt, transcript, completion, embedding, benchmark row, provider response, private key, seed phrase, or API key appears anywhere in the artifact.
257
- 7. Public copy describes the artifact as local proof-network evidence, not as live-chain settlement or proof about systems that do not consume the artifact.
1
+ # Proof Network
2
+
3
+ Enigma Proof Network is the public-safe receipt layer for AI memory operations. It packages hashes, roots, refs, scopes, and signatures into local JSON artifacts that can be checked without revealing raw memory, prompts, transcripts, completions, embeddings, access-control bodies, tenant names, provider responses, or secrets.
4
+
5
+ The Proof Network has two jobs:
6
+
7
+ 1. Make memory-system events independently inspectable through stable artifact types.
8
+ 2. Keep private data out of proof material by committing only to public-safe identifiers and cryptographic digests.
9
+
10
+ The initial artifact families are:
11
+
12
+ | Artifact | Schema identifier | Purpose |
13
+ | --- | --- | --- |
14
+ | Anchor batch | `enigma.proof_network.anchor_batch.v1` | Groups one or more public-safe roots and refs into an opaque batch that can later be anchored by an operator. |
15
+ | Capability grant | `enigma.proof_network.capability_grant.v1` | Records that a subject was granted a scoped capability over public-safe memory refs. |
16
+ | Capability revocation | `enigma.proof_network.capability_revocation.v1` | Records that a prior grant or scope is no longer accepted by verifiers after the revocation artifact is recognized. |
17
+ | Benchmark attestation | `enigma.proof_network.benchmark_attestation.v1` | Binds a benchmark report hash to dataset, runner, package, and environment refs without publishing raw benchmark contents. |
18
+ | Proof packet | `enigma.proof_network.packet.v1` | Bundles supported proof-network artifacts and verification metadata for review or handoff. |
19
+
20
+ The pure package API for these artifacts should stay side-effect free: constructors create public-safe JSON, validators check exact schema shape and privacy flags, `sha256Json` hashes canonical JSON, and `assertNoPrivateProofPayload` rejects private key names or values before an artifact can be emitted. The API must not call a network, touch the filesystem, invoke provider SDKs, or infer missing private context.
21
+
22
+ ## What it is
23
+
24
+ Proof Network is a local, deterministic planning and verification layer. The CLI emits JSON artifacts that are safe to store in a repository, attach to a release packet, or hand to a reviewer. The artifacts are designed so a verifier can answer questions such as:
25
+
26
+ - Which public-safe root did this release or run commit to?
27
+ - Which grant scope was declared, and when does it expire?
28
+ - Which grant was revoked by this nullifier?
29
+ - Which benchmark report hash was attested, and which public-safe dataset and runner refs were used?
30
+ - Does this packet contain only supported proof-network schemas and pass private-payload checks?
31
+
32
+ A proof-network artifact is evidence about the artifact itself and the local inputs represented by its hashes. It is not evidence about private contents that are not published, and it is not a substitute for inspecting the local system that produced those hashes.
33
+
34
+ ## What it is not
35
+
36
+ Proof Network does not submit live network transactions. The current CLI commands are local planning commands only and must set:
37
+
38
+ ```json
39
+ {
40
+ "transaction_submitted": false,
41
+ "raw_memory_on_chain": false
42
+ }
43
+ ```
44
+
45
+ Proof Network also does not:
46
+
47
+ - reveal raw memory or user content;
48
+ - publish prompts, transcripts, completions, embeddings, provider responses, tenant names, access-control bodies, private keys, seed phrases, or API keys;
49
+ - prove provider behavior or downstream answer quality;
50
+ - replace separate audits or operating reviews;
51
+ - make commercial or public-market promises;
52
+ - control systems that do not consume proof-network artifacts.
53
+
54
+ ## Solana role
55
+
56
+ Solana is the intended public settlement rail for compact roots, not a data store for memory. In this release concept, Enigma prepares Solana-ready anchor payloads but does not broadcast them.
57
+
58
+ A future operator-controlled anchoring program can use the anchor batch as an opaque commitment:
59
+
60
+ - the batch root is already computed locally;
61
+ - the batch contains only hashes, refs, counts, timestamps, schema names, and optional signatures;
62
+ - the chain payload does not need raw memory or private operational metadata;
63
+ - the local artifact remains the source of detailed review context.
64
+
65
+ This separation keeps the public rail small and privacy-preserving: public observers may see that a commitment exists, while reviewers with the local proof packet can verify the public-safe contents that produced the commitment.
66
+
67
+ ## Accounts and PDA concepts
68
+
69
+ A Solana implementation can model Proof Network state with program-owned accounts. At a high level:
70
+
71
+ - an **anchor batch account** can store or reference the compact root for a batch;
72
+ - a **grant account** can represent a capability grant keyed by issuer, subject, scope digest, and expiry;
73
+ - a **revocation account** can represent a nullifier for a grant or scope digest;
74
+ - an **attestation account** can represent a benchmark report commitment and its public-safe refs.
75
+
76
+ Program Derived Addresses (PDAs) are deterministic account addresses derived from seeds and a program id. For Proof Network, PDA seeds should use public-safe values only, such as schema identifiers, issuer public keys, grant ids, scope hashes, report hashes, package refs, dataset refs, and batch roots. PDA seeds must not contain raw memory, prompts, transcripts, tenant names, ACL bodies, private keys, seed phrases, API keys, or local filesystem paths.
77
+
78
+ The local artifact should preserve enough public-safe context for a reviewer to recompute the expected PDA seeds once a real program id and instruction format exist. Until then, any PDA fields in local artifacts are planning references, not proof that an account exists on a live network.
79
+
80
+ ## Flow: anchor
81
+
82
+ Anchor batches collect public-safe roots and refs into a single commitment.
83
+
84
+ 1. The operator exports or computes one or more public-safe roots.
85
+ 2. The CLI validates that the batch contains no private payload keys or values.
86
+ 3. The CLI canonicalizes the JSON and computes a batch hash.
87
+ 4. The CLI writes a local anchor batch with `transaction_submitted:false` and `raw_memory_on_chain:false`.
88
+ 5. Any later operator process can reuse only the compact commitment; this command does not perform that process.
89
+
90
+ Example:
91
+
92
+ ```sh
93
+ enigma chain anchor \
94
+ --root sha256:8f0f7d2b7b7f4f2a3e4b9a3d1f0f2c3b4a5d6e7f8091a2b3c4d5e6f708192a3b \
95
+ --ref release:enigma:0.1.14 \
96
+ --ref memory-root:public-demo-2026-06-25 \
97
+ --out ./.enigma/proof-network-anchor.json
98
+ ```
99
+
100
+ Expected boundary:
101
+
102
+ ```json
103
+ {
104
+ "schema": "enigma.proof_network.anchor_batch.v1",
105
+ "transaction_submitted": false,
106
+ "raw_memory_on_chain": false
107
+ }
108
+ ```
109
+
110
+ ## Flow: grant
111
+
112
+ Capability grants describe scoped permission over public-safe refs. The grant does not contain the underlying memory or private policy body.
113
+
114
+ 1. The issuer chooses a capability name, subject public identifier, scope digest, and optional expiry.
115
+ 2. The CLI validates the scope fields and rejects private payload keys or values.
116
+ 3. The CLI emits a grant id and grant hash.
117
+ 4. Verifiers accept the grant only within its declared scope and time boundary.
118
+
119
+ Example:
120
+
121
+ ```sh
122
+ enigma chain grant \
123
+ --issuer did:example:enigma-issuer \
124
+ --subject did:example:reviewer-01 \
125
+ --capability memory.read.context-pack \
126
+ --scope-ref memory-scope:sha256:0d4c2b8a7e6f5d4c3b2a19081726354433221100ffeeddccbbaa998877665544 \
127
+ --expires-at 2026-07-25T00:00:00.000Z \
128
+ --out ./.enigma/proof-network-grant.json
129
+ ```
130
+
131
+ Good grant scopes are narrow and reviewable: one purpose, one subject, explicit expiry, and refs that can be resolved by the operator without exposing private contents publicly.
132
+
133
+ ## Flow: revoke
134
+
135
+ Revocation artifacts let verifiers stop accepting a prior grant or scope. A revocation should identify the grant or scope through public-safe refs and nullifiers only.
136
+
137
+ 1. The issuer selects a grant id, grant hash, or scope digest to revoke.
138
+ 2. The CLI derives or accepts a public-safe nullifier.
139
+ 3. The CLI validates that no private payload is present.
140
+ 4. Verifiers reject matching grants after recognizing the revocation artifact.
141
+
142
+ Example:
143
+
144
+ ```sh
145
+ enigma chain revoke \
146
+ --issuer did:example:enigma-issuer \
147
+ --grant-ref grant:sha256:2a0f6d8c1e3b5a799887766554433221100ffeeddccbbaa998877665544332211 \
148
+ --reason-ref operator-request:2026-06-25 \
149
+ --out ./.enigma/proof-network-revocation.json
150
+ ```
151
+
152
+ A revocation artifact is a verifier rule over proof-network refs. It is not a statement about third-party systems or private stores beyond the verifier boundary that consumes the artifact.
153
+
154
+ ## Flow: attest
155
+
156
+ Benchmark attestations bind a report hash to public-safe refs for a dataset, runner, package, and run environment. They are useful when a benchmark report must remain private or internal but its digest needs to be cited publicly.
157
+
158
+ 1. The operator runs a local benchmark and stores the private report outside the public artifact.
159
+ 2. The operator computes or supplies the report hash.
160
+ 3. The CLI records dataset refs, runner refs, package refs, and environment refs that are safe to publish.
161
+ 4. The CLI emits an attestation that can be verified against the report hash later.
162
+
163
+ Example with a report hash:
164
+
165
+ ```sh
166
+ enigma chain attest \
167
+ --report-hash sha256:5c3a2e1d0f9b8a7766554433221100ffeeddccbbaa99887766554433221100ff \
168
+ --dataset-ref locomo:file-sha256:6a7b8c9d0e1f2233445566778899aabbccddeeff00112233445566778899aabb \
169
+ --runner-ref enigma-standard-memory-benchmark:0.1.14 \
170
+ --package-ref npm:@enigma-ai/enigma:0.1.14 \
171
+ --out ./.enigma/proof-network-attestation.json
172
+ ```
173
+
174
+ Example with a local report file:
175
+
176
+ ```sh
177
+ enigma chain attest \
178
+ --report-file ./.enigma/standard-memory-benchmark.json \
179
+ --dataset-ref longmemeval:file-sha256:7b8c9d0e1f2233445566778899aabbccddeeff00112233445566778899aabbcc \
180
+ --runner-ref enigma-standard-memory-benchmark:0.1.14 \
181
+ --package-ref npm:@enigma-ai/enigma:0.1.14 \
182
+ --out ./.enigma/proof-network-attestation.json
183
+ ```
184
+
185
+ The public attestation should include only the report hash and refs. It should not include raw benchmark rows, questions, answers, conversations, private file paths, credentials, or provider outputs.
186
+
187
+ ## Flow: packet
188
+
189
+ Proof packets bundle several supported artifacts into one reviewable handoff.
190
+
191
+ 1. The operator selects anchor, grant, revocation, and attestation artifacts that have already passed local validation.
192
+ 2. The packet records artifact hashes, schema identifiers, creation times, and verification metadata.
193
+ 3. The packet validator rejects unsupported schemas and any private payload nested inside bundled artifacts.
194
+ 4. A reviewer verifies the packet locally and resolves referenced private evidence only through approved internal channels.
195
+
196
+ Packet artifacts are useful for release review because they preserve the relationship among roots, grants, revocations, and attestations without copying private source material into the public handoff.
197
+
198
+ ## Flow: verify
199
+
200
+ Verification is local. It checks schemas, required safety flags, hashes, supported artifact families, and the private-payload guard.
201
+
202
+ Example:
203
+
204
+ ```sh
205
+ enigma chain verify --file ./.enigma/proof-network-anchor.json
206
+ enigma chain verify --file ./.enigma/proof-network-grant.json
207
+ enigma chain verify --file ./.enigma/proof-network-revocation.json
208
+ enigma chain verify --file ./.enigma/proof-network-attestation.json
209
+ enigma chain verify --file ./.enigma/proof-network-packet.json
210
+ ```
211
+
212
+ A successful local verification means the artifact matches a supported proof-network shape and safety boundary. It does not mean a live account exists, a transaction was accepted, or a public rail was contacted.
213
+
214
+ ## Privacy boundaries
215
+
216
+ Proof-network artifacts are public-safe only when they follow these boundaries:
217
+
218
+ | Boundary | Allowed | Forbidden |
219
+ | --- | --- | --- |
220
+ | Memory evidence | Hashes, roots, counts, public-safe refs | Raw memory, transcripts, prompts, completions, embeddings |
221
+ | Access scope | Capability name, scope hash, subject public identifier, expiry | ACL body, tenant name, private group membership, private policy text |
222
+ | Benchmark evidence | Report hash, dataset ref, runner ref, package ref, environment ref | Raw questions, answers, conversations, provider responses, private dataset rows |
223
+ | Solana planning | Batch root, schema id, public keys, PDA seed descriptions | Private keys, seed phrases, API keys, local file paths, raw memory |
224
+ | Review packet | Supported proof artifacts, hashes, signatures, verification metadata | Secrets, private operational notes, unredacted logs |
225
+
226
+ The private-payload guard should reject both key names and values that look like private data. Reviewers should treat that guard as a safety net, not as permission to put sensitive fields near public artifacts.
227
+
228
+ ## Public claims
229
+
230
+ Allowed public claims are intentionally narrow:
231
+
232
+ - Enigma can produce local proof-network JSON artifacts for anchors, grants, revocations, benchmark attestations, and packets.
233
+ - The artifacts are designed to contain public-safe hashes, roots, refs, counts, timestamps, signatures, and schema identifiers.
234
+ - The local verifier can validate supported proof-network artifact shapes and reject private payload patterns.
235
+ - Anchor batches are Solana-ready planning payloads for compact commitments, with `transaction_submitted:false`.
236
+ - Raw memory is not intended to be placed on a public rail by these artifacts.
237
+
238
+ Forbidden public claims include:
239
+
240
+ - saying these commands submitted, confirmed, or finalized a transaction;
241
+ - saying Proof Network publishes or reconstructs raw memory;
242
+ - saying a grant proves broad identity, organization membership, or private policy content beyond its public-safe refs;
243
+ - saying a revocation changes third-party systems or private stores that do not consume the revocation artifact;
244
+ - saying a benchmark attestation proves answer quality or provider ranking;
245
+ - saying the system replaces separate audits, changes public-market outcomes, or controls systems that do not consume the artifact.
246
+
247
+ ## Reviewer checklist
248
+
249
+ Before publishing or sharing a proof-network artifact, check that:
250
+
251
+ 1. `schema` is one of the supported `enigma.proof_network.*.v1` identifiers.
252
+ 2. `transaction_submitted` is `false` for local planning artifacts.
253
+ 3. `raw_memory_on_chain` is `false`.
254
+ 4. Every root or digest is public-safe and reproducible from the intended private input.
255
+ 5. Every ref is safe to reveal and does not contain a local username, tenant name, private path, or secret.
256
+ 6. No raw memory, prompt, transcript, completion, embedding, benchmark row, provider response, private key, seed phrase, or API key appears anywhere in the artifact.
257
+ 7. Public copy describes the artifact as local proof-network evidence, not as live-chain settlement or proof about systems that do not consume the artifact.