yams/tools/fuzzing
Trevon 6248c87bcc
Some checks are pending
Fuzz Smoke / libFuzzer smoke (push) Waiting to run
test(daemon): replay startup schedules under a fuzzer (#335)
Startup ordering defects were only observable by waiting minutes on a live
daemon, and the one that aborted it took a live restart loop to find. Give the
startup contracts a deterministic harness that runs in milliseconds.

+ startup_fuzz_support.h drives the real ServiceManagerFsm and the real
  DeferralGate with virtual time: legal phase advances, injected failure,
  shutdown and terminal reset, idle/busy, pressure/calm, starvation deadlines
  and cancellation
+ oracles fail closed on shutdown resurrection without reset, failure-to-ready,
  eligibility disagreeing with fsm.isReady(), admission outside the virtual
  deadline, and ineligible work touching the admission gate; fuzzed IEEE-754
  components must never yield non-finite or out-of-range scores
+ catch2_startup_replay runs named regressions plus 1024 seeded traces per run
  and reports the root seed and action offset for replay
+ fuzz_startup builds the same harness for libFuzzer/AFL, with a seed generator
  that refuses to overwrite different existing files
- the fuzzing lane no longer defaults to TSan: harnesses link
  -fsanitize=fuzzer,address,undefined and the two runtimes cannot share a
  process; combining them now fails with an explanation instead of producing a
  binary that cannot start
- documented the lane invocation, target naming and the coverage limits,
  including that governor call ordering inside the poller is not covered

Scope: contract-valid single-owner schedules. Executor interleavings, late
callbacks, concurrent FSM instances and filesystem/model faults are not modeled.

Signed-off-by: trvon <git@trevon.dev>
2026-10-22 16:48:50 -06:00
..
dicts test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
.dockerignore resolved concurrency bugs in daemon. added fuzzing work in progress per issue #8 2025-11-11 10:10:07 -05:00
asan_cluster.py feat: adding fuzzing updates and fixes in ipc 2026-02-08 22:20:47 -05:00
Dockerfile docs: reduce documentation surface 2026-07-29 13:02:15 -04:00
fuzz.sh test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
fuzz_abi_negotiation_plugin.c merge: integrate main into experimental (preserve PBI-081 simplification) 2026-02-19 10:01:01 -05:00
fuzz_abi_test_plugin.c merge: integrate main into experimental (preserve PBI-081 simplification) 2026-02-19 10:01:01 -05:00
fuzz_add_document.cpp fix: license header file updates, mcp improvements, windows build fixes 2026-01-30 17:23:33 -05:00
fuzz_compressed_block.cpp test(fuzz): harnesses for search queries, UTF-8, text extraction, compression 2026-09-23 18:28:18 -06:00
fuzz_download_jobs.cpp feat: adding fuzz test for new download logic, removing r2 endpoint from tests, decoupling embedding / onnxruntime logic for work from previous commit 2026-03-21 18:08:23 -04:00
fuzz_fts5_query.cpp test(fuzz): harnesses for search queries, UTF-8, text extraction, compression 2026-09-23 18:28:18 -06:00
fuzz_ipc_protocol.cpp perf(ingest): harden daemon batching and shutdown (#58) 2026-07-17 07:04:30 -04:00
fuzz_ipc_roundtrip.cpp perf(ingest): harden daemon batching and shutdown (#58) 2026-07-17 07:04:30 -04:00
fuzz_p2p_connstr.cpp test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
fuzz_p2p_delta.cpp test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
fuzz_p2p_delta_stream.cpp test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
fuzz_p2p_handshake.cpp test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
fuzz_p2p_inbound.cpp test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
fuzz_p2p_json.cpp test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
fuzz_p2p_protocol.cpp test(p2p): add direct control fuzz harnesses (#74) 2026-08-30 11:27:11 -06:00
fuzz_plugin_abi_mount.cpp feat: updating embedding default checking to paragraph 2026-02-12 11:55:59 -05:00
fuzz_plugin_abi_negotiation.cpp feat: updating embedding default checking to paragraph 2026-02-12 11:55:59 -05:00
fuzz_plugin_trust.cpp feat: adding fuzzing updates and fixes in ipc 2026-02-08 22:20:47 -05:00
fuzz_proto_serializer.cpp feat: fuzzing tooling 2026-02-08 18:48:54 -05:00
fuzz_request_handler.cpp perf(ingest): harden daemon batching and shutdown (#58) 2026-07-17 07:04:30 -04:00
fuzz_startup.cpp test(daemon): replay startup schedules under a fuzzer (#335) 2026-10-22 16:48:50 -06:00
fuzz_streaming_processor.cpp feat: fuzzing tooling 2026-02-08 18:48:54 -05:00
fuzz_text_extractors.cpp test(fuzz): harnesses for search queries, UTF-8, text extraction, compression 2026-09-23 18:28:18 -06:00
fuzz_topology_codec.cpp test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
fuzz_utf8.cpp test(fuzz): harnesses for search queries, UTF-8, text extraction, compression 2026-09-23 18:28:18 -06:00
generate_corpus.sh test(fuzz): harnesses for search queries, UTF-8, text extraction, compression 2026-09-23 18:28:18 -06:00
meson.build test(daemon): replay startup schedules under a fuzzer (#335) 2026-10-22 16:48:50 -06:00
p2p_fuzz_support.h test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
p2p_seeds.py test(fuzz): add a direct-P2P fuzz lane and a topology codec harness 2026-09-22 13:55:04 -06:00
seedgen.cpp feat: updating metrics for search and retrieval for future learning system. Additional tuning for search performance 2026-02-13 21:09:26 -05:00
startup_fuzz_support.h test(daemon): replay startup schedules under a fuzzer (#335) 2026-10-22 16:48:50 -06:00
startup_seeds.py test(daemon): replay startup schedules under a fuzzer (#335) 2026-10-22 16:48:50 -06:00