Vouch Records and Reports

Find the file for each Vouch step, read its result, and choose the next command. Add structural checks or compiled execution to the refund example.

For example, authenticated.json records a valid signature under your policy. current.json adds a new execution comparison. gate.json records whether that current result matched the required decision.

The commands below continue the Vouch guide. Use Native in the same directory, with its completed refund example. That guide supplies the full source, input, key preparation, and policy commands.

Read the result, then choose the next command

These are the guide's report filenames.

FileRead this resultNext command
issued/issue-report.jsonstatus: "issued-native"vouch verify authenticates the bundle
authenticated.jsonauthentication_status: "authenticated"Add your --source and --input
bound.jsonAuthentication succeeded after matching the separately supplied source and inputAdd --reexecute
current.jsonreexecution.status: "execution-agreed" and comparison.current_vs_signed: "agree"Use vouch gate with your required decision
gate.jsongate.status: "granted", plus the required and observed decisionsThe application applies its action policy

authenticated.json and bound.json use csk.native-verify-report/v0. Their comparison_status describes the signed execution record. The request-bound invocation adds your external source and input. current.json uses csk.native-reexecution-report/v0 and records authentication and current tree/Meaning agreement separately. gate.json uses csk.native-gate-report/v0.

Lispex Interpreter reads and normalizes the source into core forms (CoreExpr), then evaluates them. Meaning evaluates a representation derived from the same source. The current comparison covers their complete execution records, including the final result.

Each gate call authenticates the evidence, binds the request, reruns the rule, and checks the decision within one Native process. It uses the in-process result from each preceding step. Saved reports describe that invocation for inspection and logging. The next call starts from the bundle or envelope, policy, and your source and input.

Files used for authentication

File or formatContentsUsed by
policy.json, trust policy v1Recipient-selected keys, engines, language profiles, and source identifiersvouch verify and vouch gate
issued/envelope.dsse.jsonSigned record container with the execution payloadvouch verify --envelope with external source and input
issued/vouch-input-bundle.json, csk.vouch-input-bundle/v0Exact envelope, source, and input bytesvouch verify --bundle or vouch gate --bundle
issued/payload.jsonSigned execution data, including source and input identities and complete execution recordsStructural inspection and authentication

The recipient selects the public key, executable identifier, and reviewed source. The calling application checks actor identity, time, request uniqueness, and transaction state. It authorizes and performs the external action.

Inspect the execution record's structure

Use the guide's payload and exact input to check the record's structure.

SH
lispex vouch inspect \
  --receipt issued/payload.json \
  --source refund-window.lspx \
  --input input.checked.json \
  --profile csk.checked-profile/v1 \
  --report-out structure.json

The command exits with code 0 and prints nothing. It writes this structure.json.

JSON
{
  "status": "structurally-consistent",
  "verify_report": "csk.verify-report/v0"
}

This checks the record's schema, hashes, and internal bindings. Signature authentication is the separate vouch verify step in the guide.

The differential record format csk.differential-receipt/v0 describes a decision-profile rule, exact input, derived representation, execution results, versions, and hashes. Native lispex diff-receipt creates such a record. The npm commands lispex verify and lispex replay check record structure and compare recorded case sets, respectively. See CLI and Vouch Replay for those commands.

Build and validate compiled evidence

A lispex.vouch-compiled-artifact/v1 file binds the exact source to Core IR and verified bytecode. Core IR is an intermediate representation with resolved name references. The file also identifies the bytecode verifier, Lispex VM, and resource profile. Lispex VM runs compiled instructions.

Build it from the guide's source, then check that it is exactly derivable from that source.

SH
lispex vouch compiled build \
  --source refund-window.lspx \
  --out refund-window.lpxvca

lispex vouch compiled validate \
  --artifact refund-window.lpxvca \
  --source refund-window.lspx

Both commands exit with code 0 and print JSON. Build creates refund-window.lpxvca and reports execution: "not-run". Validation reports valid: true, derivation: "exact-source", and execution: "not-run". Both report authority: "integrity-only". Next, authenticate the request and run the compiled instructions.

SH
lispex vouch verify \
  --bundle issued/vouch-input-bundle.json \
  --trust-policy policy.json \
  --source refund-window.lspx \
  --input input.checked.json \
  --profile csk.checked-profile/v1 \
  --reexecute \
  --compiled-artifact refund-window.lpxvca \
  --report-out compiled-current.json

The command exits with code 0 and prints nothing. It writes compiled-current.json in csk.native-compiled-reexecution-report/v1 format. The report records request-bound authentication, current tree/Meaning agreement, exact source derivation, and current Lispex VM agreement.

FieldValue in this example
authentication.status"authenticated"
compiled_reexecution.status"execution-agreed"

Native authenticates the request before deriving Core IR and bytecode again. It checks the bytecode and compares the current VM execution. To require the resulting decision in the same call, run the compiled gate.

SH
lispex vouch gate \
  --bundle issued/vouch-input-bundle.json \
  --trust-policy policy.json \
  --source refund-window.lspx \
  --input input.checked.json \
  --profile csk.checked-profile/v1 \
  --compiled-artifact refund-window.lpxvca \
  --require-decision approve \
  --report-out compiled-gate.json

This exits with code 0 and prints nothing. It creates compiled-gate.json in csk.native-compiled-gate-report/v1 format. The report has gate.status: "granted" and both gate.observed_decision and gate.required_decision are "approve". The local grant exists inside this Native invocation.

Other comparison reports

These reports answer their own comparison questions. The Native gate uses its authenticated current execution.

Report or productWhat it recordsWhere to use it
Bridge reportExternal-engine file bindings, identities, and declared checkslispex verify-bridge and the recipient's Bridge policy
Replay reportAgreement, mismatch, and comparison status for the selected case setRule review with replay

Use Lispex Vouch · Vouch overview