open-standards/jouledesk/jouledesk-rs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 7f29926ed1
All checks were successful
standards workspaces build + test / eoc-rs (push) Successful in 1m51s
standards workspaces build + test / jcp-rs (push) Successful in 1m28s
standards workspaces build + test / proof-rs (push) Successful in 1m23s
standards workspaces build + test / sandbox-rs (push) Successful in 2m10s
standards workspaces build + test / smart-byte-rs (push) Successful in 2m35s
standards workspaces build + test / jouleclaw-rs (push) Successful in 6m35s
standards workspaces build + test / aac-rs (push) Successful in 1m46s
standards workspaces build + test / joule-code-rs (push) Successful in 2m40s
standards workspaces build + test / joulecontract-rs (push) Successful in 1m26s
standards workspaces build + test / map-rs (push) Successful in 32s
standards workspaces build + test / mesh-rs (push) Successful in 25s
standards workspaces build + test / openpay (push) Successful in 5m21s
standards workspaces build + test / arl-rs (push) Successful in 19m41s
standards workspaces build + test / joule-ui-rs (push) Successful in 20m47s
standards workspaces build + test / jouledesk-rs (push) Successful in 6m16s
standards workspaces build + test / joulehook-rs (push) Successful in 18m8s
standards workspaces build + test / sense-rs (push) Successful in 18m43s
jouledesk: read the published conformance pack — and it is stale, like joulehook's
jouledesk/conformance/v1 was the second pack nothing named: no test, and not even
a generator, since its vectors come from an example a human runs by hand. So it
could drift from the reference teammate with nothing to notice, and it has.

tests/pack.rs asserts what the pack claims and the implementation still satisfies,
reading the expectations out of receipt.json rather than restating them: the
sealed receipt decodes under the channel steward key to the recorded action,
verdict, cost and remaining budget; the remaining budget is recomputed as the
grant less the dispatch rather than echoed; the teammate is byte-deterministic
across two independent runs; and a stranger's key or the wrong steward is
rejected, so `verified: true` means something.

Falsified by flipping the pack's budget_remaining_uj to 900001 and restoring: the
two pack-reading tests fail with the exact values, the other two stay green, and
the arithmetic check catches it independently of the recorded number.

THE STALE VECTOR, left for a maintainer:

summarize-allow.hex is pinned at "586 bytes, byte-identical on every run" in both
README.md and receipt.json. Two things are off. The file on disk is 588 bytes, not
586 -- the documentation disagrees with the artifact it documents. And the
reference teammate now seals 667.

Determinism is intact: three runs agree exactly, and the decode still matches
every field the pack records. The whole 79-byte difference is one added JCR-1
field, `payload_hash` -- the same change, and the same delta, that staled
joulehook's deny-receipt.hex. One upstream receipt change quietly invalidated two
published packs, and neither was read, so neither said anything.

The hex is therefore not asserted here; refreshing a published signed security
vector is a normative change to a public pack. Once refreshed, the byte comparison
belongs in this file, and the 586 figure needs correcting in both places.

Co-Authored-By: Claude Opus 5 <[email protected]>
2026-09-17 21:10:54 -04:00
..
crates jouledesk: read the published conformance pack — and it is stale, like joulehook's 2026-09-17 21:10:54 -04:00
vendor/libwebrtc jouledesk-livekit: prove the room binding live — real LiveKit run 2026-07-06 04:13:40 -04:00
Cargo.lock chore(deps): cargo update across the workspace; eoc toolchain → 1.98.0 2026-08-26 07:39:26 -04:00
Cargo.toml msrv: raise the rust-version floor to 1.97 across the workspaces 2026-07-23 00:17:08 -04:00