Address PR feedback
Fix 1: Source map path bug (lib.rs:798)
Problem: validator.title can contain slashes from nested module paths (e.g.
governance/voting.my_vote.spend). When used directly as a filename in
dir.join(), the slash creates nested subdirectories. Since only dir was
created with create_dir_all, the intermediate directories don't exist and
fs::write fails.
Fix: Replace / with - in the validator title before constructing the
filename:
let safe_title = validator.title.replace('/', "-");
let filename = format!("{}.sourcemap.json", safe_title);
This produces flat filenames like
governance-voting.my_vote.spend.sourcemap.json.
Fix 2: Coverage property test iterations (lib.rs:615-670)
Problem: property_max_success was ignored (prefixed with _) and property
tests were only sampled once during coverage, missing code paths that only
get exercised with different fuzzer inputs.
Fix:
- Renamed _property_max_success back to property_max_success and threaded it
through to collect_tests_for_coverage
- Replaced the single-sample logic with a loop that chains the PRNG state
across property_max_success iterations, generating a separate test program
for each sampled value
- Each iteration's coverage gets merged into the aggregate, giving proper
coverage reporting across all fuzzer inputs