Scope (sub-issue of #43 )
Expand fuzz targets from 7 → 20 (+13).
Current targets (per fuzz/Cargo.toml): arith, glob, job_spec, parser, path_operations, signal_parse, state_machine.
Target axes (13 new)
Target
Surface
fuzz_quotes
quote-state machine corners
fuzz_redirect
redirect parsing (file/heredoc/process-sub)
fuzz_audit_log
JSON-line parser robustness
fuzz_obliterate
RMO payloads + extreme sizes
fuzz_function_definition
function-body parser corners
fuzz_pipeline_construction
pipeline-stage edges
fuzz_parameter_expansion
every ${VAR…} form
fuzz_arithmetic_evaluator
overflow, divide-by-zero, recursion
fuzz_alias_expansion
recursive alias detection
fuzz_history_replay
malformed .vsh_state.json
fuzz_glob_with_braces
brace-expansion combinatorics
fuzz_command_substitution
$(...) and backtick edges
fuzz_test_command
[, [[, test
Resolution
Each fuzz target → 1 PR.
ClusterFuzzLite already configured at .clusterfuzzlite/ (per PR docs+ffi: fill rsr-template placeholders left from template instantiation #59 ).
Each target needs Arbitrary derive + minimal initialization.
References
Scope (sub-issue of #43)
Expand fuzz targets from 7 → 20 (+13).
Current targets (per
fuzz/Cargo.toml):arith,glob,job_spec,parser,path_operations,signal_parse,state_machine.Target axes (13 new)
fuzz_quotesfuzz_redirectfuzz_audit_logfuzz_obliteratefuzz_function_definitionfuzz_pipeline_constructionfuzz_parameter_expansion${VAR…}formfuzz_arithmetic_evaluatorfuzz_alias_expansionfuzz_history_replay.vsh_state.jsonfuzz_glob_with_bracesfuzz_command_substitution$(...)and backtick edgesfuzz_test_command[,[[,testResolution
.clusterfuzzlite/(per PR docs+ffi: fill rsr-template placeholders left from template instantiation #59).Arbitraryderive + minimal initialization.References