Run it
Set the project up as Installation describes. Copy the file withrequests/ beside it and run it from that directory.
No model runs, so no sign-in is needed. Set PAYMENTS_URL to your payments
endpoint, or leave the fictional default:
Terminal
curl
that records the call instead of making it.
Output, from the offline proof
The file
The refund is the approval’s input, and the send uses the same object:examples/use-cases/ops/approve-the-exact-payload.ts (excerpt)
examples/use-cases/ops/approve-the-exact-payload.ts (excerpt)
{ approved: true } against
the request’s digest. In use that is a page that shows the payload and
takes the yes, and the client is a stored one, so the answer survives the
process that asked; Callback gates has both.
The digest is what makes the third pass ask again: it covers the gate,
the question text, the answer’s schema and the input bytes, and nothing
else, so restyling the page never invalidates an answer and changing what
is asked always does.
Full file
Full file
examples/use-cases/ops/approve-the-exact-payload.ts
The team’s shape
What the run did
The proof runs the file against a stand-in forcurl and checks what the
page describes: three runs, one call to payments, the body of that call
equal byte for byte to the approved payload and not to the changed one,
and the changed payload left as the one pending question. Obversa recorded
each pass as its own event log, so the first shows the question with its
digest, the second shows the approval found and the send, and the third
shows a different digest and a new question.
The rule the file keeps is small and does all the work: what the person
read is the input, the input is in the digest, and the send uses the input.
There is no step where a summary is approved and a request is built
afterwards. Proof-bound acceptance and approval
takes the same idea further, binding a decision to a proof, a graph and a
workspace as well as to the bytes.
Next steps
- Callback gates: the question, the claim, the answer and the stored client.
- Proof-bound acceptance and approval: the decision bound to evidence, not only to bytes.
- A person decides: the approval step inside a larger team.