indelible-mcp 5.6.0 → 5.7.1

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/CLI_HANDBOOK.md CHANGED
@@ -25,6 +25,32 @@ You don't have to memorize any of this. In Claude Code you can just say what you
25
25
 
26
26
  Three things worth knowing, once: **your key stays on your machine** (nothing we run ever sees it) · **reading is always free** (saves cost fractions of a cent in Bitcoin fees) · **your stop button beats everything** (pause works even with no wallet at all).
27
27
 
28
+ ## Honest Receipts + the Wallet (5.7.0)
29
+
30
+ **"Committed" now means mined.** A fresh save reports `pending` until a miner buries it in a block
31
+ (usually within about ten minutes), then confirms on its own. Your data still broadcasts in seconds;
32
+ only the word got stricter. No server's acceptance — including ours — is ever reported as
33
+ confirmation anymore.
34
+
35
+ **Double-spends are final the first time the network says so.** If two of your machines ever race
36
+ for the same coin, the losing save is told the truth immediately and rebuilds on fresh coins,
37
+ instead of being retried until something said yes.
38
+
39
+ **The wrong-key guard.** If your config ever holds a key that does not match your account address,
40
+ every save refuses before any money moves and names both addresses, because data written with the
41
+ wrong key can never be read back by your wallet.
42
+
43
+ ### `indelible-mcp wallet`
44
+ Shows every coin reservation your wallet is holding: which process holds it, whether that process is
45
+ alive, and what it has locked. If a crashed process left a stuck reservation, free it with
46
+ `indelible-mcp wallet --cancel=<token-prefix>`. It refuses to cancel anything a live process still
47
+ holds, and anything with a signed transaction attached — freeing those is how double-spends happen,
48
+ so it structurally cannot.
49
+
50
+ ### Background auto-save
51
+ Runs every 15 minutes by default on every install. Change the pace on the MCP tab at indelible.one —
52
+ your machine picks the new setting up automatically.
53
+
28
54
  ## Two Pilots (5.2.0)
29
55
 
30
56
  Indelible works with Claude Code, with OpenAI's Codex CLI, or with both at once on the same memory.
@@ -214,6 +240,13 @@ hook post-compact Auto-restore after compaction (called by hook)
214
240
 
215
241
  The CLI and MCP server are the **same codebase**. They import the same tool functions (`saveSession`, `loadContext`, `saveFile`, `diaryChat`, etc.) and use the same wallet at `~/.indelible/config.json`.
216
242
 
243
+ > ⚠️ **The same wallet on two machines: read from both, write from one.** The coin-reservation that
244
+ > stops two saves colliding is kept **on the machine it runs on** — it cannot see a sibling box. So
245
+ > two machines sharing a wallet can pick the same coin, both broadcast, and Bitcoin keeps one; each
246
+ > box sees only its own attempt, so both can report success while one save is lost. Recall, verify
247
+ > and read freely from anywhere. Do your **saving from one machine at a time**, and treat a save that
248
+ > times out or says *pending* as not yet durable until it confirms.
249
+
217
250
  | | CLI | MCP Server |
218
251
  |---|---|---|
219
252
  | **Location** | `C:/Indelible-main/indelible-cli/src/` | `C:/bsv-claude-wrapper/mcp-server/` |
@@ -192,6 +192,15 @@ This fetches the pack and backfills meaning-vectors for your existing history. I
192
192
 
193
193
  **`diary_recall`** is the same power scoped to your companion's own history. `scope: "diary"` for saved diary entries, `"duo"` for live Claude-plus-companion rounds, `"all"` for both.
194
194
 
195
+ ### Honest receipts (5.7.0)
196
+
197
+ A save now reports `pending` until a miner buries it in a block, then it becomes `committed` on its
198
+ own. Nothing — not our servers, not a relay — can call your save confirmed anymore. Only the chain
199
+ can. If a save ever loses a race to another machine spending the same coin, you are told the truth
200
+ immediately and the save rebuilds itself on fresh coins. And if your configuration ever holds a key
201
+ that does not belong to your account, saving refuses before any money moves, because data written
202
+ under the wrong key is data your wallet can never read back.
203
+
195
204
  ### Two pilots on one memory (5.2.0)
196
205
 
197
206
  Your memory is not tied to one AI. Wire OpenAI's Codex CLI to the same install (`~/.codex/config.toml` → `[mcp_servers.indelible]` `command = "indelible-mcp"`) and it reads and writes the same chain as Claude Code. Every save is stamped with its author inside the encrypted record; the Context tab on indelible.one shows `Saved by Claude` or `Saved by Codex` once your record decrypts, and if an index ever claims a different author than your decrypted record proves, the app shows you both values and trusts neither.
@@ -263,6 +272,16 @@ They are not assigned to you. Nothing is issued. Each one is computed from your
263
272
 
264
273
  **Check it yourself.** Press "Verify crew" and the browser re-derives all sixteen from your wallet and compares them to what is stored. Close the browser, open it on another machine, unlock, and you get the same sixteen addresses. Nothing is fetched from us to make that happen.
265
274
 
275
+ > ⚠️ **One machine writing at a time.** Deriving your crew on a second machine is safe — that is a
276
+ > read, and it is the paragraph above. **Saving to the chain from two machines on the same wallet at
277
+ > the same time is not.** Both boxes can pick the same coin, both broadcast, and Bitcoin keeps one of
278
+ > them. Each box only sees its own attempt, so both can report success while one save is lost.
279
+ >
280
+ > Until coordinated writing ships, keep **one active writer**: use the second machine to read, verify
281
+ > and recall, and do your saving from one. And treat a save that times out or reports *pending* as
282
+ > **not yet saved** — it may still land, but until it is confirmed it is not durable, and the honest
283
+ > move is to check `indelible-mcp status` rather than assume.
284
+
266
285
  Your crew is also **signed by your wallet**, and the signature is public. Anyone can fetch `/api/sanctuary/crew/<your-address>` with no account and check it offline: every agent is signed, and a separate crew signature commits to the exact set, so nobody can quietly serve someone a shortened version.
267
286
 
268
287
  **What that does and does not prove.** It proves we did not invent your crew and cannot alter it. It does not prove the agents were derived from your wallet, and nothing ever can: derivation runs on a shared secret, so only someone holding the private key can reproduce it. That is a recovery property, not a proof to strangers. It also does not stop us withholding the record entirely, which is what the on-chain anchor in section 8 is for. Until that lands the app marks every agent unattested, and means it.
package/LICENSE CHANGED
@@ -11,7 +11,7 @@ Additional Use Grant: You may make use of the Licensed Work for personal,
11
11
  commercial blockchain storage, session saving, or
12
12
  encrypted vault service without written permission
13
13
  from the Licensor.
14
- Change Date: August 8, 2030
14
+ Change Date: August 13, 2030
15
15
  Change License: MIT License
16
16
 
17
17
  Terms
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "indelible-mcp",
3
- "version": "5.6.0",
3
+ "version": "5.7.1",
4
4
  "description": "Blockchain-backed memory and code storage for Claude Code. Save AI conversations and source code permanently on BSV.",
5
5
  "type": "module",
6
6
  "main": "src/index.js",