- Project/component:
serde-feathercore runtime contract - Canonical path:
crates/serde-feather
- Runtime: Rust library crate
- Primary language: Rust
- Rust developers integrating size-first serialization
- Maintainers validating binary-size-sensitive defaults
- Runtime serialization/deserialization primitives define the stable core API.
- Feature flags must remain minimal and opt-in by default.
- Public interfaces must remain compatible with derive output from
serde-feather-macros.
- No persistent internal storage contract.
- Runtime buffer handling and serialization formats must remain deterministic.
- Serialization behavior must avoid unsafe default expansions.
- Input validation and error handling must prevent panics from malformed data where feasible.
- Library logging should remain minimal and diagnostic-oriented when enabled.
- Operational tooling around the crate should use structured
tracingevents.
- Local validation:
cargo test -p serde-feather - Workspace baseline:
cargo test --workspace --all-targets
- Upstream integration: consumer crates using serde-feather runtime APIs.
- Downstream integration: derive output from
serde-feather-macros.
- Update
docs/project-serde-feather.mdand this file for runtime API/feature changes. - Keep compatibility with
docs/crates-serde-feather-macros-foundation.mdin the same change set.
docs/project-serde-feather.mddocs/crates-serde-feather-macros-foundation.mddocs/domain-template.md