open-standards/jcp/jcp-rs/crates/jcp-gateway/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 3aa4036e3c
Some checks are pending
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Waiting to run
C37: entries acknowledged by followers before the store, recovered at a takeover, and what no restore reads collected
An owner session may acknowledge an entry once every follower it named at
its first such entry holds it on disk, and upload it to the store after.
It creates log/<node>/<session>/open and then reads for a seal; a taker
creates the seal and then reads for open, so one sees the other. The taker
seals every follower it can reach, which then refuses the session for good,
uploads what they hold and marks the session recovered before it restores;
only the tip epoch's owner can hold what the store does not. Followers keep
framed logs (length, body, four bytes of BLAKE3) in a directory of their own
and answer authenticated peer requests (BLAKE3 keyed with fleet/peer-key,
a one-minute window) under /.jcp-fleet/ on the node's listener.

The owner of a record removes, below its epoch, the bases off its chain
and the entries its chain clips, its own base's clip included; any node
removes the marks of sessions already recovered and never an unrecovered
seal; a restore that finds a listed object gone lists again.

jcp-gateway --fleet acknowledges through up to two followers named from the
live leases, keeps what it follows in --fleet-data, uploads continually and
collects each minute. In the two-process test the owner's receipts are on
its follower and not in the store when it is killed, and the takeover has
them only by sealing it. Every order of an owner acknowledging through a
follower beside a takeover (1091 at three preemptions) and of a collection
beside a takeover (2494, 333 of them reading a listed object already
collected) loses nothing; mutants.py removes each of 15 rules and the tests
fail for every one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-14 10:21:27 -05:00
..
http_binary.rs C37: entries acknowledged by followers before the store, recovered at a takeover, and what no restore reads collected 2026-11-14 10:21:27 -05:00
http_pack.rs C36 pack: priced tools and x402, decided by the second reader and their answers held to the step 2026-11-14 07:14:29 -05:00
stdio_binary.rs jcp-gateway: the binary takes its receipt stream for one writer, or refuses to serve 2026-11-07 09:47:46 -05:00
upstream_tree.rs jcp-gateway, proof-solvers: the tree tests' oracles ask each thread's wait state too 2026-10-13 02:25:40 -04:00