enigma-memory 0.1.16 → 0.1.17

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.
@@ -16,11 +16,14 @@ The source package now has pure contract builders and validators in `packages/ho
16
16
  - backup drill records;
17
17
  - incident and SLA reference records;
18
18
  - customer lifecycle packets that aggregate those surfaces for launch-readiness evidence.
19
+ - hosted cloud readiness aggregator packets that roll all lifecycle surfaces, auth, billing, legal/DPA, support, security review, monitoring, backup, KMS/BYOK, and operator go-live refs into one public-safe readiness assessment.
19
20
 
20
21
  These functions are contract and validation code only. They do not call an auth provider, billing provider, cloud deployment, KMS, backup target, support desk, status page, SIEM, or model provider. They are safe to import as package code because they do not start servers, read user files, mutate deployment state, publish packages, or contact external accounts.
21
22
 
22
23
  The lifecycle packet public APIs are `buildCustomerLifecyclePacket(input)` / `validateCustomerLifecyclePacket(packet)` and `buildApiKeyLifecyclePacket(input)` / `validateApiKeyLifecyclePacket(packet)` under `enigma-memory/hosted-cloud`; the script commands below emit the same schemas for release evidence.
23
24
 
25
+ The readiness aggregator APIs are `buildHostedCloudReadinessPacket(input)` / `validateHostedCloudReadinessPacket(packet)` under `enigma-memory/hosted-cloud`; the `--readiness` script flag emits the same schema for release evidence.
26
+
24
27
  The validators enforce hosted-cloud boundaries:
25
28
 
26
29
  - contract artifacts must include `operator_evidence_refs` for auth provider, billing provider, legal docs, data processing terms, support ownership, and external security review;
@@ -75,6 +78,32 @@ The command writes public-safe validation evidence only. It must not receive or
75
78
 
76
79
  The packet records lifecycle events, required evidence refs, missing evidence refs, malformed operation blockers, the operator approval ref, readiness status, `customer_api_keys_live`, and no-secret/no-plaintext guarantees. Missing evidence refs, blocked evidence refs, malformed operation surfaces, or absent operator approval keep `customer_api_keys_live:false`.
77
80
 
81
+ ## Contract-ready vs sellable
82
+
83
+ Hosted cloud has two distinct readiness states:
84
+
85
+ - **Contract-ready**: The contract builders and validators exist, produce deterministic public-safe JSON, and enforce the privacy firewall (no raw memory, plaintext prompts, provider payloads, credentials, API key material, or forbidden claims). Every surface emits `readiness.contract_ready: true` and `readiness.integration_kind: "contract_validator_only"`. This state is reached now — the package code is safe to import and validates evidence structure.
86
+
87
+ - **Sellable**: The hosted cloud product is ready to sell to customers. This requires every readiness surface to have provided evidence refs, both the customer lifecycle packet and API key lifecycle packet to be embedded and approved, and an explicit operator go-live approval ref. This state is not reached until real external provider wiring, legal approval, security review, and operator sign-off exist.
88
+
89
+ A readiness packet or lifecycle packet may mark `hosted_cloud_sellable: true` only when all evidence refs are provided, both underlying lifecycle packets are sellable, and an operator go-live approval ref is supplied. Contract-ready is a code-quality state; sellable is an operational state that depends on external systems and human approval.
90
+
91
+ ## Hosted cloud readiness aggregator
92
+
93
+ `npm run production:hosted-customer -- --readiness --tenant <id> --domain <domain> --environment <env> --operator-go-live-ref <ref> --out <file>` builds `enigma.hosted_cloud.readiness_packet.v1`, a single public-safe packet that rolls all lifecycle surfaces plus auth, billing, legal/DPA, support, security review, monitoring, backup, KMS/BYOK, and operator go-live refs into one readiness assessment.
94
+
95
+ The readiness aggregator:
96
+
97
+ - accepts an optional `customer_lifecycle_packet` and `api_key_lifecycle_packet` (or builds a lifecycle packet from script args);
98
+ - derives readiness surface evidence from the lifecycle packet's phase evidence when available;
99
+ - propagates `external_blockers` from both embedded lifecycle packets as `propagated_lifecycle_blockers` (prefixed `customer_lifecycle.*` and `api_key_lifecycle.*`) — these are never masked;
100
+ - gates `hosted_cloud_sellable` on: all 8 readiness surfaces provided + operator go-live ref + customer lifecycle packet embedded and sellable + API key lifecycle packet embedded with operator approval ref;
101
+ - gates API key lifecycle readiness on `operator_approval_ref` (operator-provided evidence), not a self-asserted boolean;
102
+ - emits a `dashboard` block with counts, status refs, blocker refs, next actions, and safety summary for a future tenant dashboard;
103
+ - emits a schema-versioned packet with `propagated_lifecycle_blockers`, `readiness_surfaces`, and no-secret/no-plaintext guarantees.
104
+
105
+ If either lifecycle packet is missing, a propagated blocker notes its absence. If either is embedded but not sellable/approved, its individual blockers propagate through. The readiness packet never claims live hosted SaaS, provider wiring, or deployment — it is evidence validation only.
106
+
78
107
  ## Non-claims
79
108
 
80
109
  Hosted cloud collateral must not say or imply:
@@ -1,6 +1,6 @@
1
1
  # Install Enigma anywhere
2
2
 
3
- Start with the published npm package path for `enigma-memory`: install once, run `enigma setup --overwrite` once, then use memory/search/context/verify/connect from the same local AI Memory Passport. Use a source checkout only when you need source-only docs, Docker assets, browser-extension scaffolding, package development, or release scripts.
3
+ Start with the published npm package path for `enigma-memory`: install once, connect your installed AI clients, then inspect Memory Drive health and passport status. Use a source checkout only when you need source-only docs, Docker assets, browser-extension scaffolding, package development, or release scripts.
4
4
 
5
5
  Hosted cloud and BYOC operation require real deployment credentials, domains, TLS, durable storage, KMS/secrets, monitoring, backups, and operator/customer infrastructure; they are not activated by installing the package, running setup, or running the test drive.
6
6
 
@@ -18,15 +18,19 @@ Use the published package as the primary path:
18
18
 
19
19
  ```sh
20
20
  npm install -g enigma-memory
21
- enigma setup --overwrite
21
+ enigma init
22
+ enigma setup --client auto --connect-installed --overwrite
23
+ enigma drive health
24
+ enigma status
22
25
  enigma remember --text-file ./memory.txt
23
- enigma search --query "..."
24
- enigma context --query "..." --optimize
26
+ enigma search --query "project context"
27
+ enigma context --query "project context" --optimize
25
28
  enigma verify --export ./.enigma/export.json
26
- enigma connect claude-desktop --dry-run
27
29
  ```
28
30
 
29
- `enigma setup --overwrite` writes local Enigma artifacts under the workspace `.enigma` path and emits deterministic, public-safe JSON without printing raw memory plaintext. It does not write Claude, Cursor, Kimi, or other third-party app configs. Client config writes happen only when you explicitly run `enigma connect <client>` without `--dry-run`.
31
+ `enigma init` is the credential-free first run that creates the local `.enigma` workspace, bundle, and proof artifacts. `enigma setup --client auto --connect-installed --overwrite` then configures the drive and writes the `mcpServers.enigma` entry into every installed/config-present client it detects; it skips clients that are not installed and never creates configs from scratch. Preview with `--dry-run` first to see which clients will be written. Both commands emit deterministic, public-safe JSON without printing raw memory plaintext, and both run on Windows PowerShell via the `enigma.cmd` shim the npm global install adds.
32
+
33
+ `enigma drive health` reports a SMART-style memory-drive health packet — freshness, duplicate rate, tombstone backlog, stale derived artifacts, receipt coverage, and connector health — from local metadata only, with no network calls or private payloads. It is part of the Memory Drive surface in this release; `enigma status` and `enigma doctor` cover local passport counts, roots, and connector readiness in every build.
30
34
 
31
35
  The local Enigma vault is the canonical memory passport. Provider-native memory is non-canonical cache only. Enigma proof covers Enigma-controlled vault state, receipts, checkpoints, committed roots, and exported bundle shape; it does not prove provider deletion, model forgetting, provider-native memory removal, hosted/BYOC availability, legal approval, ROI/savings, or compliance certification.
32
36
 
@@ -173,15 +177,14 @@ MCP resource and prompt:
173
177
 
174
178
  Use `docs/client-connectors.md` from a source checkout for Claude Desktop, Cursor, Kimi Code, VS Code/Cline, Roo Code, OpenCode, and generic MCP JSON. Connector entries default to command `enigma-mcp` and env key `ENIGMA_BUNDLE`.
175
179
 
176
- Npm-first connector flow:
180
+ Npm-first connector flow — one command connects every installed/config-present client:
177
181
 
178
182
  ```sh
179
183
  npm install -g enigma-memory
180
- enigma setup --overwrite
181
- enigma connect claude-desktop --dry-run
184
+ enigma setup --client auto --connect-installed --overwrite
182
185
  ```
183
186
 
184
- Run `enigma setup --overwrite` for a regular local workspace. It writes local Enigma artifacts only. Use `enigma connect <client> --dry-run` when you want to preview one client config without writing it; remove `--dry-run` only when you explicitly want Enigma to merge that MCP entry while preserving unrelated client settings.
187
+ `--connect-installed` detects installed/config-present clients (Claude Desktop, Cursor, Kimi Code, VS Code/Cline, Roo, OpenCode, generic MCP) and writes only those existing client configs; missing client configs are reported and skipped. To preview a single client without writing, or to connect just one client later, use `enigma connect <client> --dry-run` and then drop `--dry-run`.
185
188
 
186
189
  Copy-paste MCP snippets:
187
190
 
@@ -74,6 +74,21 @@ Because `enigma_relevance` can match normalized variants, session/role cues, tem
74
74
 
75
75
  The standard runner reports retrieval/evidence proxy metrics: LoCoMo evidence-hit@k and exact evidence coverage; LongMemEval turn evidence-hit@k, session evidence-hit@k, exact coverage, and abstention correctness; plus estimated prompt tokens, selected memory counts, and local latency. These are not LLM-generated answer-accuracy scores and must not be described as provider, competitor, or benchmark-leadership results.
76
76
 
77
+ ## Full-answer benchmark protocol plan
78
+
79
+ A true apples-to-apples full-answer benchmark (same category set, same `--top-k`, same frozen answerer and judge, same prompts, same competitor adapters) is a separate credentialed run that this package does not execute. `--protocol-plan` is the readiness layer: it emits a public-safe plan of that future protocol with no provider calls, no answer generation, no judging, and no competitor adapters.
80
+
81
+ ```sh
82
+ cd enigma
83
+ node scripts/run-standard-memory-benchmarks.mjs --locomo .enigma/benchmarks/datasets/locomo10.json --longmemeval .enigma/benchmarks/datasets/longmemeval_s_cleaned.json --top-k 5 --protocol-plan --out .enigma/standard-memory-benchmark-protocol-plan.json
84
+ ```
85
+
86
+ The emitted schema is `enigma.standard_memory_benchmark_protocol_plan.v1`. It records the planned category set, `--top-k`, the answerer model ref, the judge model ref, the prompt refs, the protocol ref, requirements-only competitor adapter refs, and cost-estimate inputs. Refs can be pinned with `--answerer-ref`, `--judge-ref`, `--answer-prompt-ref`, `--judge-prompt-ref`, and `--protocol-ref`; unpinned refs read `not-selected`/`not-pinned`.
87
+
88
+ The plan carries explicit boundaries that must be `false`: `protocol_boundaries.network_required`, `provider_calls_made`, `answers_generated`, `judged`, and `competitor_adapters_run`, plus `benchmark_boundaries.llm_answer_accuracy_scored: false` and `retrieval_evidence_proxy_scored: false`. It contains no raw questions, answers, prompts, provider responses, credentials, or scores.
89
+
90
+ The protocol plan is accepted by the benchmark proof-release builder alongside a scored retrieval proxy report, producing an `enigma.proof_network.benchmark_attestation.v1` that binds the plan's report hash. A protocol-plan proof release is evidence of protocol readiness only: it is not evidence that answers were generated or judged, that any provider or competitor ran or was outperformed, or that benchmark leadership, ROI, provider deletion, model forgetting, or compliance was achieved. Competitor adapter refs are references, not scores; a reference is never a superiority claim.
91
+
77
92
  ## Local baseline comparison
78
93
 
79
94
  `local_baseline_comparisons` (also mirrored at `metrics.local_baseline_comparisons`) compares Enigma against deterministic local baselines only. Every row scores the same private fixture questions and keeps raw memory, question text, and answer text out of the report.
@@ -595,6 +595,47 @@ A CLI or UI should show a concise SMART table first, then drill-down evidence:
595
595
 
596
596
  The product should default to safe blocking language: `proof_network_ready.eligible_for_anchor_batch` is false unless every public-safety and source-root condition passes. This makes health reports usable as local operational evidence now and as future proof-network anchor inputs without changing the privacy model.
597
597
 
598
+ ## CLI surface
599
+
600
+ The reference implementation ships the health core in the passport package as `createMemoryDriveHealthReport(args)` and exposes it through a two-part CLI command that emits the report as JSON to stdout:
601
+
602
+ ```sh
603
+ enigma drive health --bundle <path> \
604
+ [--now <iso>] \
605
+ [--benchmark-summary <path>] \
606
+ [--connector-summary <path>] \
607
+ [--replicas <path>] \
608
+ [--latest-anchor-batch-ref <ref>] \
609
+ [--out <file>]
610
+ ```
611
+
612
+ - `--bundle <path>` is the local Enigma vault bundle to inspect (defaults to `.enigma/bundle.json`). A missing or unreadable bundle returns a clean CLI error rather than crashing.
613
+ - `--now <iso>` fixes the timestamp used for age calculations so output is deterministic and reproducible; it defaults to a stable timestamp when omitted.
614
+ - `--benchmark-summary`, `--connector-summary`, and `--replicas` are optional JSON files carrying public-safe retrieval, connector, and replica metadata. When omitted, the corresponding metrics default gracefully to a measured:false healthy state instead of failing the report.
615
+ - `--out <path>` additionally writes the JSON report to a file.
616
+
617
+ ### Output shape
618
+
619
+ Every emitted object uses schema `enigma.memory_drive_health_report.v1` and contains only public-safe hashes, roots, refs, integer counts, ratios in `0..1`, booleans, statuses, ISO-8601 timestamps, thresholds, and claim text. The top-level fields are:
620
+
621
+ - `schema`, `report_ref` (`health_report_sha256:<hex>`), `created_at`;
622
+ - `drive_ref`, `namespace_ref`, `source_root` (`memory_root_sha256:<hex>`), `policy_ref`;
623
+ - `overall_status` (`healthy` | `watch` | `degraded` | `critical`) and `overall_score` (0-100, conservative: any critical metric caps the drive at 49, any degraded metric caps it at 70);
624
+ - `transaction_submitted: false` and `raw_memory_on_chain: false` on every report;
625
+ - `privacy_boundaries` (all `*_included` flags false), `roots` (`active_set_root`, `receipt_log_root`);
626
+ - `metrics`: the ten SMART-style attributes (freshness, duplicate_rate, tombstone_risk, stale_derived_artifacts, retrieval_hit_rate, token_reduction, leakage_scan, receipt_coverage, connector_health, sync_fork_risk), each with `status`, `score`, `observed`, `thresholds`, `evidence_refs`, and `recommended_actions`;
627
+ - `recommended_actions` (deduplicated across metrics), `claim_boundaries`;
628
+ - `proof_network_ready`: a conservative block with `eligible_for_anchor_batch`, `blocking_reasons`, `public_payload_only`, and `suggested_anchor_fields` (artifact_type `memory_drive_health_report`, artifact_schema `enigma.memory_drive_health_report.v1`, artifact_root echoing `report_ref`, source_root, and counts). This block maps cleanly onto a proof-network registry `health_report` entry: `report_ref` becomes `artifact_hash`, `artifact_schema` becomes `artifact_schema_ref`.
629
+
630
+ ### Claim boundary
631
+
632
+ A Memory Drive health report is **local operational evidence**, not a proof of outcome. It:
633
+
634
+ - is computed locally from public-safe counters, roots, receipt metadata, tombstones, and derived/context-pack refs only, with no network or chain calls;
635
+ - never contains raw memory, prompts, connector bodies, identity labels, or secret material (a leakage scan runs over the report before it is emitted);
636
+ - does **not** prove provider deletion, model forgetting, compliance certification, or live-chain settlement, and never claims a submitted transaction or on-chain memory (`transaction_submitted` and `raw_memory_on_chain` are always false).
637
+
638
+
598
639
  ## Implementation requirements
599
640
 
600
641
  The first implementation should treat health reporting as a pure local planner:
@@ -1,6 +1,6 @@
1
1
  # Proof Network build notes
2
2
 
3
- These notes are for future engineers extending Enigma's privacy-preserving Proof Network into a Solana program or hosted verifier. The 0.1.16 scope is local-only: create and verify public-safe proof artifacts, prepare opaque root batches for future chain anchoring, and never submit transactions or write private memory material into proof payloads.
3
+ These notes are for future engineers extending Enigma's privacy-preserving Proof Network into a Solana program or hosted verifier. The 0.1.17 scope is local-only: create and verify public-safe proof artifacts, prepare opaque root batches for future chain anchoring, and never submit transactions or write private memory material into proof payloads.
4
4
 
5
5
  Paths below are relative to `enigma/`.
6
6
 
@@ -202,7 +202,7 @@ On-chain accounts should store compact hashes, counters, timestamps, and public
202
202
 
203
203
  A hosted verifier can add convenience, not authority over private content. It may validate schema ids, JSON Schemas, package validators, canonical hashes, packet nesting, artifact counts, and public registry/chain observations. It must return bounded public-safe error codes and never echo private submitted values.
204
204
 
205
- Verifier non-goals: no raw memory ingestion, provider transcript ingestion, embedding upload endpoint, tenant-name lookup endpoint, Solana transaction submission, or hosted secret custody in the 0.1.16 proof-network layer.
205
+ Verifier non-goals: no raw memory ingestion, provider transcript ingestion, embedding upload endpoint, tenant-name lookup endpoint, Solana transaction submission, or hosted secret custody in the 0.1.17 proof-network layer.
206
206
 
207
207
  ## Targeted test plan
208
208
 
@@ -16,6 +16,8 @@ The initial artifact families are:
16
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
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
18
  | Proof packet | `enigma.proof_network.packet.v1` | Bundles supported proof-network artifacts and verification metadata for review or handoff. |
19
+ | Registry entry | `enigma.proof_network.registry_entry.v1` | Indexes one anchor batch, benchmark attestation, connector conformance attestation, health report, operator receipt, or settlement job ref into a public-safe marketplace registry by digest refs, signer refs, and schema ref only. |
20
+ | Registry batch | `enigma.proof_network.registry_batch.v1` | Aggregates registry entries into one registry root so a marketplace index can be reviewed or handed off as a single commitment. |
19
21
 
20
22
  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
23
 
@@ -92,7 +94,7 @@ Example:
92
94
  ```sh
93
95
  enigma chain anchor \
94
96
  --root sha256:8f0f7d2b7b7f4f2a3e4b9a3d1f0f2c3b4a5d6e7f8091a2b3c4d5e6f708192a3b \
95
- --ref release:enigma:0.1.16 \
97
+ --ref release:enigma:0.1.17 \
96
98
  --ref memory-root:public-demo-2026-06-25 \
97
99
  --out ./.enigma/proof-network-anchor.json
98
100
  ```
@@ -166,8 +168,8 @@ Example with a report hash:
166
168
  enigma chain attest \
167
169
  --report-hash sha256:5c3a2e1d0f9b8a7766554433221100ffeeddccbbaa99887766554433221100ff \
168
170
  --dataset-ref locomo:file-sha256:6a7b8c9d0e1f2233445566778899aabbccddeeff00112233445566778899aabb \
169
- --runner-ref enigma-standard-memory-benchmark:0.1.16 \
170
- --package-ref npm://enigma-memory@0.1.16 \
171
+ --runner-ref enigma-standard-memory-benchmark:0.1.17 \
172
+ --package-ref npm://enigma-memory@0.1.17 \
171
173
  --out ./.enigma/proof-network-attestation.json
172
174
  ```
173
175
 
@@ -177,13 +179,63 @@ Example with a local report file:
177
179
  enigma chain attest \
178
180
  --report-file ./.enigma/standard-memory-benchmark.json \
179
181
  --dataset-ref longmemeval:file-sha256:7b8c9d0e1f2233445566778899aabbccddeeff00112233445566778899aabbcc \
180
- --runner-ref enigma-standard-memory-benchmark:0.1.16 \
181
- --package-ref npm://enigma-memory@0.1.16 \
182
+ --runner-ref enigma-standard-memory-benchmark:0.1.17 \
183
+ --package-ref npm://enigma-memory@0.1.17 \
182
184
  --out ./.enigma/proof-network-attestation.json
183
185
  ```
184
186
 
185
187
  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
188
 
189
+ ## Flow: register
190
+
191
+ Registry entries index one already-created proof artifact into a public-safe marketplace registry. The entry never copies the artifact body; it binds the artifact hash to a schema ref, digest refs, signer refs, an entry type, and a registry namespace ref.
192
+
193
+ 1. The operator creates or selects a supported artifact (anchor batch, benchmark attestation, connector conformance attestation, health report, operator receipt, or settlement job ref) and keeps its body private.
194
+ 2. The CLI records only the artifact hash, the artifact schema ref, the public-safe digest refs and signer refs to index, and the entry type.
195
+ 3. The CLI validates that no private payload is present and emits a registry entry with `transaction_submitted:false` and `raw_memory_on_chain:false`.
196
+ 4. A reviewer can later resolve the artifact hash through approved private channels; the registry entry reveals only that a digest was indexed under a schema by named signers.
197
+
198
+ Supported entry types are `anchor_batch`, `benchmark_attestation`, `connector_conformance`, `health_report`, `operator_receipt`, and `settlement_job`. An unsupported entry type is rejected before an entry is created.
199
+
200
+ Example:
201
+
202
+ ```sh
203
+ enigma chain register \
204
+ --entry-type benchmark_attestation \
205
+ --artifact-hash sha256:5c3a2e1d0f9b8a7766554433221100ffeeddccbbaa99887766554433221100ff \
206
+ --artifact-schema-ref enigma.proof_network.benchmark_attestation.v1 \
207
+ --digest-ref sha256:8f0f7d2b7b7f4f2a3e4b9a3d1f0f2c3b4a5d6e7f8091a2b3c4d5e6f708192a3b \
208
+ --signer did:key:zpublicattestor \
209
+ --registry-ref registry:memory-drive-marketplace \
210
+ --entry-ref registry-entry://enigma/public/benchmark-1 \
211
+ --out ./.enigma/proof-network-registry-entry.json
212
+ ```
213
+
214
+ A registry entry answers "which digest was indexed under which schema by which signers, in which registry namespace?" It does not publish the artifact body, the report rows, the memory behind a root, customer or tenant identifiers, or any private review content.
215
+
216
+ ## Flow: registry
217
+
218
+ Registry batches aggregate registry entries into one registry root so a marketplace index can be reviewed or handed off as a single commitment.
219
+
220
+ 1. The operator selects registry entries that have already passed local validation.
221
+ 2. The CLI sorts the entry hashes and hashes them into a registry root.
222
+ 3. The CLI emits a registry batch with the entry list, entry count, registry root, and the same safety boundaries.
223
+ 4. A reviewer verifies the batch locally and resolves individual entries through approved private channels.
224
+
225
+ The registry root is deterministic and independent of entry input order: the same set of entries always yields the same registry root.
226
+
227
+ Example:
228
+
229
+ ```sh
230
+ enigma chain registry \
231
+ --entry ./.enigma/proof-network-registry-entry.json \
232
+ --entry ./.enigma/proof-network-registry-entry-health.json \
233
+ --registry-ref registry:memory-drive-marketplace \
234
+ --out ./.enigma/proof-network-registry-batch.json
235
+ ```
236
+
237
+ A registry batch is a local planning artifact. It does not broadcast to a marketplace, register on a live chain, or prove that any third party adopted the index.
238
+
187
239
  ## Flow: packet
188
240
 
189
241
  Proof packets bundle several supported artifacts into one reviewable handoff.
@@ -207,6 +259,8 @@ enigma chain verify --file ./.enigma/proof-network-grant.json
207
259
  enigma chain verify --file ./.enigma/proof-network-revocation.json
208
260
  enigma chain verify --file ./.enigma/proof-network-attestation.json
209
261
  enigma chain verify --file ./.enigma/proof-network-packet.json
262
+ enigma chain verify --file ./.enigma/proof-network-registry-entry.json
263
+ enigma chain verify --file ./.enigma/proof-network-registry-batch.json
210
264
  ```
211
265
 
212
266
  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.
@@ -247,6 +301,7 @@ Proof-network artifacts are public-safe only when they follow these boundaries:
247
301
  | Benchmark evidence | Report hash, dataset ref, runner ref, package ref, environment ref | Raw questions, answers, conversations, provider responses, private dataset rows |
248
302
  | Solana planning | Batch root, schema id, public keys, PDA seed descriptions | Private keys, seed phrases, API keys, local file paths, raw memory |
249
303
  | Review packet | Supported proof artifacts, hashes, signatures, verification metadata | Secrets, private operational notes, unredacted logs |
304
+ | Registry index | Artifact hash, schema ref, digest refs, signer refs, registry namespace ref, entry type, count | Artifact bodies, report rows, memory behind roots, customer or tenant identifiers |
250
305
 
251
306
  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.
252
307
 
@@ -254,11 +309,12 @@ The private-payload guard should reject both key names and values that look like
254
309
 
255
310
  Allowed public claims are intentionally narrow:
256
311
 
257
- - Enigma can produce local proof-network JSON artifacts for anchors, grants, revocations, benchmark attestations, and packets.
312
+ - Enigma can produce local proof-network JSON artifacts for anchors, grants, revocations, benchmark attestations, packets, registry entries, and registry batches.
258
313
  - The artifacts are designed to contain public-safe hashes, roots, refs, counts, timestamps, signatures, and schema identifiers.
259
314
  - The local verifier can validate supported proof-network artifact shapes and reject private payload patterns.
260
315
  - Anchor batches are Solana-ready planning payloads for compact commitments, with `transaction_submitted:false`.
261
316
  - Raw memory is not intended to be placed on a public rail by these artifacts.
317
+ - Registry entries index an already-created artifact by digest refs, signer refs, and schema ref only; registry batches hash entries into one registry root for review or handoff. Neither claims that a marketplace or live chain adopted the index.
262
318
 
263
319
  Forbidden public claims include:
264
320
 
@@ -268,6 +324,7 @@ Forbidden public claims include:
268
324
  - saying a revocation changes third-party systems or private stores that do not consume the revocation artifact;
269
325
  - saying a benchmark attestation proves answer quality or provider ranking;
270
326
  - saying the system replaces separate audits, changes public-market outcomes, or controls systems that do not consume the artifact.
327
+ - saying a registry entry or registry batch was published to a live marketplace, registered on a live chain, or adopted by any third party;
271
328
 
272
329
  ## Reviewer checklist
273
330
 
package/docs/sdk-api.md CHANGED
@@ -241,7 +241,7 @@ const attestation = createBenchmarkAttestation({
241
241
  report_hash: 'sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee',
242
242
  dataset_ref: 'dataset-ref-public',
243
243
  runner_ref: 'runner-ref-public',
244
- package_ref: 'npm:enigma-memory@0.1.16',
244
+ package_ref: 'npm:enigma-memory@0.1.17',
245
245
  metric_roots: ['sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'],
246
246
  sample_count: 120,
247
247
  run_count: 1,
@@ -437,7 +437,7 @@ Mainnet use is blocked until all gates below are satisfied for the exact program
437
437
  - Use domain tags for every hash: `anchor_batch`, `capability_grant`, `capability_revocation`, `benchmark_attestation`, `job_escrow`, `operator_registry`, and `packet`.
438
438
  - Prefer fixed-size byte arrays and enums in instruction args. Avoid variable user text and arbitrary JSON on-chain.
439
439
  - Keep account sizes bounded. Store hash lists off-chain behind roots when a vector could grow without a hard cap.
440
- - Every chain-writing CLI command should have a local planning mode first. The default for release `0.1.16` planning artifacts is no transaction submission.
440
+ - Every chain-writing CLI command should have a local planning mode first. The default for release `0.1.17` planning artifacts is no transaction submission.
441
441
  - Chain refs should include cluster, program id, signature/account id, and slot. They should not include RPC URLs with credentials.
442
442
 
443
443
  ## Future implementation checklist
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "enigma-memory",
3
- "version": "0.1.16",
3
+ "version": "0.1.17",
4
4
  "type": "module",
5
5
  "description": "Provider-agnostic AI memory passport and offline-verifiable proof layer.",
6
6
  "license": "Apache-2.0",