Skip to content

Fuzz the format loaders, CONTRIBUTING.md, v0.8.0 release prep - #4

Merged
JonathanKash merged 1 commit into
mainfrom
fuzz-and-release
Sep 2, 2026
Merged

Fuzz the format loaders, CONTRIBUTING.md, v0.8.0 release prep#4
JonathanKash merged 1 commit into
mainfrom
fuzz-and-release

Conversation

@JonathanKash

Copy link
Copy Markdown
Owner
  • tests/test_format_fuzz.cpp (6th suite, runs in every CI job incl. ASan): 2,000 seeded mutations per format against the EVEC/EVHG/EVRT loaders — never crash, always a status, rejected loads leave objects empty, accepted loads satisfy full invariants. 6,000 hostile files pass natively and under ASan+UBSan.
  • CONTRIBUTING.md with the engineering rules PRs are held to.
  • README pins the FetchContent snippet to v0.8.0 (tag to be created on the merge commit).

🤖 Generated with Claude Code

https://claude.ai/code/session_017ULiWeodALX2ZQiLKvTw25

tests/test_format_fuzz.cpp (6th suite, wired into make run/run-release
and therefore into every CI job including ASan+UBSan): 2,000 seeded
random mutations per format - bit flips, random overwrites,
truncations, extensions, biased toward both header and body - against
the EVEC, EVHG, and EVRT loaders, asserting the loader contract on
every file: never crash, always a status, rejected loads leave the
object empty (graph additionally integrity-valid), accepted loads
satisfy full structural invariants with in-bounds data access.
6,000 hostile files pass, natively and under ASan+UBSan.

CONTRIBUTING.md: build/test instructions and the engineering rules a
PR is held to (allocation gate, memcpy-only aliasing, status-value
errors, fuzz coverage for format fields, bit-identical kernels,
-Werror + sanitizers).

README: FetchContent snippet pins GIT_TAG v0.8.0 (tag created on merge)
and the test-coverage paragraph documents the fuzzing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017ULiWeodALX2ZQiLKvTw25
@JonathanKash
JonathanKash merged commit 8e1f986 into main Sep 2, 2026
7 checks passed
@JonathanKash
JonathanKash deleted the fuzz-and-release branch September 2, 2026 03:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant