hephaestus/crates/heph-core/Cargo.toml
Erich Blume e7ced4f8f9
All checks were successful
Build / validate (pull_request) Successful in 10m29s
test(fuzz): add cargo-fuzz targets for CRDT and extraction surfaces
Tier 2 fuzzing: a nightly cargo-fuzz crate at crates/heph-core/fuzz/ with
three targets (crdt_merge, crdt_write, extract), reaching crate-private CRDT
internals through heph-core's new 'fuzzing' feature. Driven ad-hoc via
'mise run fuzz'; not in CI (needs nightly + wall clock).

crdt_merge immediately surfaced robustness gaps in yrs 0.27 on malformed sync
deltas (a 4-byte input OOMs; other inputs abort/UB) — uncatchable, limited
blast radius (authenticated /sync/push), documented as a known limitation.
extract and crdt_write ran clean over ~1M cases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-09 13:03:10 -07:00

30 lines
828 B
TOML

[package]
name = "heph-core"
description = "Hephaestus core: data model, storage backend, query engine, extraction, recurrence, and sync."
edition.workspace = true
version.workspace = true
license.workspace = true
publish.workspace = true
authors.workspace = true
rust-version.workspace = true
[features]
# Exposes thin public wrappers over crate-private internals (the body CRDT) for
# the cargo-fuzz targets in `fuzz/`. Never enabled in normal builds — the
# wrappers are test scaffolding, not part of the public API.
fuzzing = []
[dependencies]
rusqlite.workspace = true
ulid.workspace = true
thiserror.workspace = true
pulldown-cmark.workspace = true
rrule.workspace = true
yrs.workspace = true
chrono.workspace = true
serde.workspace = true
serde_json.workspace = true
[dev-dependencies]
proptest = "1"
tempfile = "3"