02 · Resolve

Do not guess
what the crash did.

If the previous transition is not proven terminal or safely recoverable, Mycelium will not redispatch. Ambiguous payments stay blocked until reconciliation.

HomePreventResolve·Verify

Invariant

Proven terminal,
or do not fire again.

Tracers explain the incident afterward. Resolution decides whether a retry is a second side effect. An operator can later mycelium transitions release a blocked record. That is not a gate that re-runs the tool.

After a crash

Claim again.
Then ask the ledger.

The second attempt is not a new payment. It is a question: did the first one finish?

01Retrycharge:ORD-42
02 · resolveMyceliumreturn · poll · repair · hard-block

completed ↳ stored result

ambiguous mutate ↳ hard-block

03Provideronly if unrecovered

Adapter trust

Challenge the code
that answers “did it run?”

A false NOT_EXECUTED authorizes another attempt and can duplicate the side effect. The provider conformance kit tests lag, ambiguity, duplicate matches, malformed handles, false negatives, and forbidden writes before an adapter is trusted.

The signed report is synthetic and source-bound. It does not prove that a live provider token has read-only scopes. Gmail is the only adapter currently shipped; developers add a fixture for every other provider.

adapter verification

export MYCELIUM_ADAPTER_REPORT_SIGNING_KEY='from-your-secret-manager'
mycelium providers verify gmail \
  --key-id provider-ci-2026-01 \
  --output gmail-adapter-report.json
mycelium providers verify-report gmail-adapter-report.json
no live Gmail writesSOURCE-BOUND REPORT

Next

Then prove
the wiring holds.