cts-common 0.38.1

Common types and traits used across the CipherStash ecosystem
Documentation
# Fuzzing tasks for cts-common's public string parsers (libFuzzer via
# cargo-fuzz). They require the nightly toolchain (`cargo +nightly`). Each runs
# for 60s by default; override the duration by appending another libFuzzer
# flag, e.g. `mise run fuzz:crn -- -max_total_time=300` (libFuzzer uses the
# last value for a repeated flag, so the override wins). `--sanitizer none` is
# safe here — these parsers are pure safe Rust — and roughly doubles throughput.
# `--target $(rustc … host)` forces the native host triple: the cargo-fuzz
# binary may be an x86_64 build under Rosetta on Apple Silicon, which otherwise
# misdetects the target and fails to find std. The fuzz crate lives in
# `packages/cts-common/fuzz/` (a detached workspace).

["fuzz:crn"]
description = "Fuzz cts-common's Crn string parser (libFuzzer, nightly, 60s default)"
dir = "{{config_root}}/packages/cts-common"
run = "cargo +nightly fuzz run crn_parse --sanitizer none --target $(rustc -vV | sed -n 's/^host: //p') -- -max_total_time=60"

["fuzz:workspace-id"]
description = "Fuzz cts-common's WorkspaceId string parser (libFuzzer, nightly, 60s default)"
dir = "{{config_root}}/packages/cts-common"
run = "cargo +nightly fuzz run workspace_id_parse --sanitizer none --target $(rustc -vV | sed -n 's/^host: //p') -- -max_total_time=60"

["fuzz:region"]
description = "Fuzz cts-common's Region string parser (libFuzzer, nightly, 60s default)"
dir = "{{config_root}}/packages/cts-common"
run = "cargo +nightly fuzz run region_parse --sanitizer none --target $(rustc -vV | sed -n 's/^host: //p') -- -max_total_time=60"