indelible-mcp 5.5.1 → 5.7.0

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
@@ -67,7 +67,10 @@ indelible-mcp drift wait --from=codex # hold the wire for the next message
67
67
  indelible-mcp drift loop --as=claude # run a seat's heartbeat
68
68
  indelible-mcp drift summon # THE SUMMONER: watches the wire; when a message sits
69
69
  # unanswered, spawns a FRESH pilot via its own vendor
70
- # CLI to read the wire and reply. Both pilots, no setup.
70
+ # CLI to reply. Both pilots, no setup. The message it
71
+ # must answer travels with the summons, so a busy wire
72
+ # cannot hand it the wrong conversation.
73
+ indelible-mcp drift summon --for=codex-qa # work ONE named seat's lane (see Named Seats below)
71
74
  indelible-mcp drift pause | resume # YOUR brake — freezes everything, works with no wallet
72
75
  indelible-mcp drift listen "stop, listen" # freeze both AND hand them your message
73
76
  ```
@@ -92,6 +95,19 @@ indelible-mcp drift post --as=codex --to=claude-builder "a task ONLY the builder
92
95
 
93
96
  - `--to` puts a name on the envelope: only the seat it names will answer it. No `--to` = anyone may answer.
94
97
  - Summoners answer with the right vendor automatically (a `claude-anything` seat runs the Claude CLI).
98
+
99
+ **Two conversations at once — the private lane.** Point a summoner at a named seat and it works only
100
+ that seat's thread:
101
+
102
+ ```
103
+ indelible-mcp drift summon --once --for=codex-parity # answers ONLY letters addressed to codex-parity
104
+ ```
105
+
106
+ Naming a seat this way turns on its **lane**: it answers what was addressed to it and leaves everything
107
+ else — including other threads' open messages — alone. That is what lets two windows run two separate
108
+ conversations on one wire without stealing each other's work. Plain `claude` / `codex` seats keep the
109
+ shared line and answer anything unaddressed; add `--lane` to scope one of them too, or `--lane=off` to
110
+ put a named seat back on the shared line.
95
111
  - No pile-ups by construction: however many seats are listening, the ledger admits exactly ONE answer per message.
96
112
  - A guard coming on duty answers the current conversation and everything after — it never digs up old history (pass `--backlog=all` to a summoner if you truly want the past drained; it spends per letter).
97
113
 
@@ -198,6 +214,13 @@ hook post-compact Auto-restore after compaction (called by hook)
198
214
 
199
215
  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`.
200
216
 
217
+ > ⚠️ **The same wallet on two machines: read from both, write from one.** The coin-reservation that
218
+ > stops two saves colliding is kept **on the machine it runs on** — it cannot see a sibling box. So
219
+ > two machines sharing a wallet can pick the same coin, both broadcast, and Bitcoin keeps one; each
220
+ > box sees only its own attempt, so both can report success while one save is lost. Recall, verify
221
+ > and read freely from anywhere. Do your **saving from one machine at a time**, and treat a save that
222
+ > times out or says *pending* as not yet durable until it confirms.
223
+
201
224
  | | CLI | MCP Server |
202
225
  |---|---|---|
203
226
  | **Location** | `C:/Indelible-main/indelible-cli/src/` | `C:/bsv-claude-wrapper/mcp-server/` |
@@ -263,6 +263,16 @@ They are not assigned to you. Nothing is issued. Each one is computed from your
263
263
 
264
264
  **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
265
 
266
+ > ⚠️ **One machine writing at a time.** Deriving your crew on a second machine is safe — that is a
267
+ > read, and it is the paragraph above. **Saving to the chain from two machines on the same wallet at
268
+ > the same time is not.** Both boxes can pick the same coin, both broadcast, and Bitcoin keeps one of
269
+ > them. Each box only sees its own attempt, so both can report success while one save is lost.
270
+ >
271
+ > Until coordinated writing ships, keep **one active writer**: use the second machine to read, verify
272
+ > and recall, and do your saving from one. And treat a save that times out or reports *pending* as
273
+ > **not yet saved** — it may still land, but until it is confirmed it is not durable, and the honest
274
+ > move is to check `indelible-mcp status` rather than assume.
275
+
266
276
  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
277
 
268
278
  **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.
@@ -288,6 +298,8 @@ stay on the record and the decision lands on YOUR desk, and even your ruling del
288
298
 
289
299
  **Named seats (5.4.0) — a staff, not a pair.** Seats can carry names now: `claude-builder`, `claude-reviewer`, `codex-auditor` — so two Claudes (or any mix) hold distinct seats on one wire, and a message can be addressed to exactly one of them (`--to=claude-builder`: only that seat answers). However many seats are listening, the ledger admits exactly ONE answer per message — a bigger staff never means duplicate answers or duplicate spend. And a summoner coming on duty answers the current conversation, never the deep past.
290
300
 
301
+ Point a summoner at a named seat — `indelible-mcp drift summon --for=codex-auditor` — and it works only that seat's **lane**: it answers what was addressed to it and leaves every other thread alone, so two windows can run two separate conversations on one wire without stealing each other's work. Whatever it is hired to answer travels with the summons, so a busy wire cannot hand a fresh pilot the wrong conversation.
302
+
291
303
  **Your books.** `indelible-mcp drift ledger` shows every mind ever summoned on your account — when, which seat, what it was hired to answer, and how it ended. Nothing hires without a paper trail.
292
304
 
293
305
  Your brake beats everything: `indelible-mcp drift pause` (or just tell either pilot "pause the
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.5.1",
3
+ "version": "5.7.0",
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",