Generated reports

Generated report detail

Payment Flow

Fixture payment-flow-v0 generated pass at 2026-06-05T15:21:58.295Z.

JSON
Status
pass
Steps
5/5
Invariants
5/5
Snapshots
6

Environment

Mode

mock-fakenet

gRPC Endpoint

127.0.0.1:5555

Fakenet Command

nockchain --fakenet --bind-public-grpc-addr 127.0.0.1:5555 --no-default-peers

Mock payment lifecycle for escrowed settlement runs.

Uses invariant packs to prove payment safety conditions before a real adapter exists.

Next Actions

  1. Replace mock poke and peek execution with local fakenet adapter calls.
  2. Replace command-backed fakenet metadata probes with stable gRPC-native probes once node surfaces are available.
  3. Persist generated reports under a project workspace.
  4. Add app-specific invariant packs as the NockApp interface stabilizes.

Invariant Packs

Payments Core

payments-core-v0

0.1.0

Domainpayments

Path../packs/payments.invariants.json

Run Steps

Boot mock payment fakenet

fakenet

pass

mock-fakenet profile ready at 127.0.0.1:5555

Customer locks payment funds

poke

pass

locked

Merchant accepts payment terms

poke

pass

receipt-001

Escrow releases settled payment

poke

pass

8700

Read settled payment status

peek

pass

settled

Invariant Results

Payment ledger conserves supply

critical

pass

Observed total=10000, supply=10000; expected ledger.balances sum equals ledger.totalSupply.

Payment reaches settled terminal state

critical

pass

Observed settled; expected payment.status == settled.

Payment pokes are performed by authorized actors

high

pass

Observed 3/3 poke actors authorized; expected actors in [customer, merchant, escrow-agent].

Payment settlement records a receipt

high

pass

Observed receipt-001; expected payment.receiptId == receipt-001.

Payment failure alert remains clear

critical

pass

Observed false; expected alerts.failed == false.

Alerts

No alert policies configured.

Adapter Observations

No adapter observations captured.

State Diffs

PathBeforeAfter
ledger.balances.merchant75008700
ledger.balances.customer25001300
payment.statuscreatedsettled
payment.receiptIdnullreceipt-001
payment.events[][{"type":"locked","actor":"customer"},{"type":"accepted","actor":"merchant"},{"type":"settled","actor":"escrow-agent"}]

Snapshot Timeline

Initial state

initial

08337dad0704df79

After boot-fakenet

boot-fakenet

08337dad0704df79

After lock-customer-funds

lock-customer-funds

e135b8264951963f

After merchant-accepts-payment

merchant-accepts-payment

9c21c9c8ddf8f839

After release-to-merchant

release-to-merchant

3a6d6bff59cb624f

After peek-payment-status

peek-payment-status

3a6d6bff59cb624f

Artifacts

Report ID

lab_payment-flow-v0_20260605152158295

Report Hash

sha256:26de625ab2661f1a6afaadd1bd317d9f4c69db480c1e2fb15e0538d7b82ac33c

Snapshot Root

3a6d6bff59cb624f

JSON Path

/bundle/server-functions/default/.nocklab/payment-flow.report.json

Markdown Path

/bundle/server-functions/default/.nocklab/payment-flow.report.md

Markdown Bytes

2005

Changed Paths

ledger.balances.merchant, ledger.balances.customer, payment.status, payment.receiptId, payment.events

Markdown Preview

# Payment Flow Lab Report

Alert Summary

0 triggered, 0 clear

Verification Candidate

Candidate

Payment Flow Verification Candidate

Status

ready

Signature

unsigned

Invariant Packs

payments-core-v0

Report Hash

sha256:26de625ab2661f1a6afaadd1bd317d9f4c69db480c1e2fb15e0538d7b82ac33c

Snapshot Root

3a6d6bff59cb624f