atproto utils for zig zat.dev
atproto sdk zig

docs: fix devlog 005 — focus on zat changes, not atproto-bench

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

zzstoatzz.io d9fb5fe1 440ca899

Waiting for spindle ...
+4 -12
+4 -12
devlog/005-three-way-verify.md
··· 52 52 53 53 go's MST walk is fastest (5.8ms vs zig's 45.5ms) because indigo's `LoadRepoFromCAR` builds the MST in memory during CAR parse. walking it is just pointer chasing. zig and rust decode MST nodes from raw CBOR on each visit. 54 54 55 - ## the chart tool 56 - 57 - added a script (`scripts/verify_chart.py`) that parses `just verify` output and generates SVG charts — stacked horizontal bars with a dark theme. two variants: compute-only (the interesting comparison) and total (dominated by network). see the [atproto-bench README](https://tangled.sh/@zzstoatzz.io/atproto-bench) for the charts. 55 + ## what changed in zat 58 56 59 - ```sh 60 - just chart pfrazee.com # run verify + generate SVGs 61 - ``` 57 + the O(n) block lookup was the only code change — CAR blocks are now indexed in a `StringHashMap` instead of a flat slice. the rest of the verify pipeline (handle resolution, DID resolution, CAR parsing, signature verification, MST walk + rebuild) was already working from 0.2.0. 62 58 63 - ## what's in this release 59 + also exported the `jwt` module directly (not just the `Jwt` type) so the verify tool can call `jwt.verifySecp256k1` without reaching into internals. and made CAR size limits configurable (`max_size`, `max_blocks` in `readWithOptions`) — pfrazee's 70 MB repo blows past the 2 MB default. 64 60 65 - - **go-verify**: full trust chain verification using indigo 66 - - **rust-verify**: full trust chain verification using RustCrypto + hand-rolled CAR/MST 67 - - **zig verify**: O(1) block lookup fix (HashMap instead of linear scan) 68 - - **scripts/verify_chart.py**: SVG chart generation from verify output 69 - - **justfile**: `just verify`, `just chart` recipes 61 + the three-way comparison and chart tooling live in [atproto-bench](https://tangled.sh/@zzstoatzz.io/atproto-bench).