| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Failing after 6m0s
Five receipt members added in the last two days — `held_minor`, `known_through`, `captures`, `reclaims`, `refunded_minor` — had no published vector and no independent reader. By this repository's own bar that means their canonical form was pinned by nothing but the implementation that wrote them. `conformance/v1/lifecycle.json` is one hash-chained log holding the life of a money hold: a hold captured in part and then reclaimed past its deadline, a hold captured and settled, a spend refunded by its issuer, a refund refused to its subject, and a point that states its revocation marker on some receipts and not others. It publishes the joules, gross money and refunds a reader must restore. `verify_lifecycle.py` reads it by the specification's rules, sharing no code with the reference implementation, and restored the same ledger on its first run. Its selftest re-reads the log with each rule broken — restoring a captured hold's whole reservation, restoring a reclaimed hold's money, subtracting a refund from the gross debit — and requires every one refused, so a pass means the log distinguishes the rules. It runs in CI beside the replay reader, and a Rust test reads the committed pack through the library. Regenerating the vectors produced exactly one new file. Every existing pack came out byte-identical, which is independent confirmation that none of the receipt changes altered a published vector. The x402 profile now spans the lifecycle, and this is where our side differs from the wire it rides: **every capture seals its own measurement.** A stream paid per chunk gets a receipt per chunk, each committing to that draw's amount and the energy metered since the last — so a dispute over the third step has the third step's evidence, not one total sealed afterwards. `capture`, `reclaim` and `refund` are on the profile; ingest reads `auth-capture` and `batch-settlement` and takes the capture deadline from the requirement; and the refund goes through the runtime's rule, so the agent cannot refund itself. Co-Authored-By: Claude <[email protected]> |
||
| .. | ||
| conformance/v1 | ||
| crates | ||
| Cargo.lock | ||
| Cargo.toml | ||