Cashu Fault Lab
Browse documentation

Release

Release notes

What changed in the v0.2 developer preview and how to try it.

This release introduces a breaking wallet-doctor evidence contract. It remains diagnostic tooling, not wallet certification.

  • Capture v2 removes ciphertext, signatures, proof secrets, and wallet private keys; semantic integrity checks bind the canonical digest, relay evidence, normalized observations, and exact mint truth.
  • wallet-doctor check independently recaptures relay and mint evidence and emits a failed, schema-valid check artifact for integrity or transport failures.
  • Relay and mint connections accept public WSS/HTTPS destinations by default and pin approved DNS answers into the socket connection. Loopback WS/HTTP requires --allow-insecure-loopback.
  • Proof/event/mint counts, response sizes, and capture time are bounded before expensive work.
  • Nine scenarios run against three relays, including missing-wallet and unpropagated-deletion cases.

Capture v1 from v0.1.4 is not upgradeable. Recollect after installing 0.2.0; this is deliberate because a transformed v1 bundle cannot prove v2 redaction and completeness invariants.

Install and run

Node.js 24 and Docker with Docker Compose are required.

bash
npx --yes cashu-fault-lab@0.2.0 doctor
npx --yes cashu-fault-lab@0.2.0 demo

The demo pulls version-matched runtime images, injects a deterministic response-loss fault, checks that retry recovery converges to one durable merchant credit, writes redacted JSON and HTML, and removes the Docker resources it created. This is first-party reproducible diagnostic evidence, not independent wallet validation or certification. See the v0.2.0 maintainer-preview checklist for remaining external-validation work.