Local Arazzo evidence / v0.1

Run the workflow. Keep the proof.

Execute a practical Arazzo subset, trace every substitution and assertion, then carry one redacted report into CI or review.

  • No account
  • No telemetry
  • One binary
Three rough concrete evidence slabs joined in sequence by a thin line of moss
Inputs → requests → assertions. Evidence set in concrete.

01 / Start local

A runner you can audit

Build with stable Rust. The CLI requires an environment file, never prompts in CI, and never uploads a run.

Terminal
cargo install --git https://github.com/B-Divyesh/sf-arazzo-proof-runner
arazzo-proof run checkout.arazzo.yaml \
  --env environments/ci.yaml \
  --out proof/current

02 / Proof specimen

A changed response has a place to land

All specimen assertions pass.

  1. 01
    createCartPOST /carts✓ Pass
    status
    201
    output
    cartId = crt_17
  2. 02
    addItemPOST /carts/crt_17/items✓ Pass
    substitution
    $steps.createCart.outputs.cartId
    status
    200
  3. 03
    quoteCartGET /carts/crt_17/quote✓ Pass
    assertion
    $response.body#/currency == "USD"
    actual
    "USD"

03 / Deliberate subset

Small enough to understand. Useful enough to ship.

Runs today

  • Local OpenAPI 3.0 / 3.1 sources
  • Operation IDs and local operation paths
  • Path, query, header, cookie parameters
  • JSON payloads and chained outputs
  • Six comparison operators

Fails clearly

  • Remote sources and external references
  • OAuth flows and callbacks
  • JSONPath criteria
  • Success and failure actions
  • Non-JSON request bodies
Unsupported is an error, not a guess.

The runner names the step and feature, exits 2, and writes no partial proof.

Make the run reviewable

Replace pasted snippets with one stable artifact.

Run your first proof