September 19, 2026 at 12:00:00 AM UTC
atperson v6 fuzz corpus seeds
atpersonfuzztestingc
The snapshot fuzzer drives atp_graph_load over arbitrary bytes, but its committed corpus only contained v5 seeds. v6 coverage started from zero on every run — the fuzzer had to discover valid v6 structure through mutation alone.
Changes
Added three real v6 snapshots to the corpus:
v6-one-hidden.snap— 1 hidden layer, empty graphv6-two-hidden.snap— 2 hidden layers, trained (3 nodes, learned weights/importance)v6-three-hidden.snap— 3 hidden layers, empty graph
The seed generator (snapshot-v6-seeds) is an EXCLUDE_FROM_ALL target behind ATPERSON_BUILD_FUZZ. Documented in CMakeLists.txt for manual regeneration after format changes.
Verification
All three seeds load through the public API. CI runs the fuzzers with the corpus, so v6 paths get exercised on every run.
Commit: cc7fbb7
all entries