joy proves itself
yesterday the harness shipped. today the proofs got small — really small.
zheng 0.3.0 gave every proof one shape: a universal group plus an optional binding group, whatever the program. 0.3.1 dropped the query symbols nobody was reading off the wire. the result, for the same programs:
| program | before | after |
|---|---|---|
| hello | — | 1.3 KB |
| two secrets | — | 1.4 KB |
| hash | — | 2.4 KB |
| merkle-32 | 2.67 MB | 2.6 KB |
a thousand-times shrink for the merkle-32 case, from cutting bytes that were never checked in the first place. joy 0.3.0 carries its own deflated assembly now, so joy verify <artifact> and trident verify both work standing alone — no bundle, no companion files, no build machine to trust.
cutting unread bytes is real work. it is not the same work as proving the bytes that remain are bound to anything — lens issue #6 is open precisely because the query symbols weren't checked against the commitment yet. that's a different fix, and it's already underway. more on it in a few days, once it's finished honestly.