libvctrl_handler 1.0.0

Fundamental contracts for building a version control system – no implementations, only traits and types
Documentation
# Changelog

All notable changes to `libvctrl_handler` will be documented in this file.

## [1.0.0] – 2026-08-08

### Added

- Fundamental contracts: `ObjectStore`, `RefStore`, `Hasher`, `Encoder`, `Decoder`, `Signer`, `Verifier`, `Transport`.
- Data types: `Hash`, `Blob`, `Tree`, `TreeEntry`, `Commit`, `Tag`, `UserID`, `EntryKind`.
- Error type: `VctrlError`.
- Constants: `HASH_LENGTH`, `MAX_NAME_LENGTH`.
- Strict lints (`forbid(unsafe_code)`, `deny(missing_docs)`, `clippy::pedantic`, `clippy::nursery`, `clippy::cargo`).
- Zero external dependencies.
- Full formal documentation with pre/postconditions and examples.
- Unit tests for `Hash` and `VctrlError`.

### Changed

- All types now enforce invariants via private fields and validated constructors.
- `ObjectStore::exists` is now fallible (`Result<bool, VctrlError>`).
- All public enums are `#[non_exhaustive]`.
- Re-export only explicit, non-wildcard items.

### Fixed

- Missing `pub mod macros;` in crate root.
- Panic risk in `Hash::Debug` if `HASH_LENGTH` < 8.

## [0.1.0] – Unreleased

- Initial concept.