agent-scroll 0.1.0

Canonical byte-deterministic transcript format for AI-agent conversations (Rust port of @p-vbordei/agent-scroll)
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0] — 2026-05-19

Initial Rust port of [`@p-vbordei/agent-scroll`](https://github.com/p-vbordei/agent-scroll) v0.1.

### Added
- Public API: `canonical`, `hash_canonical`, `seal`, `seal_chain`, `verify`, `serialize`, `deserialize`.
- Types: `SignOpts`, `VerifyResult`, `VerifyFailure`, `Error`.
- Schema validation: `validate_turn`, `validate_sealed_turn` — hand-rolled to mirror the TS Zod schema (role, model, params, messages, tool_calls, tool_results, timestamp_ns, prev_hash).
- `normalize_numbers` workaround in `canonical.rs` — coerces `u64`/`i64` values larger than `2^53` to `f64` before JCS encoding, matching the TypeScript reference's `JSON.parse` precision. Essential for `timestamp_ns` byte-equality. See [docs/architecture.md]docs/architecture.md.
- 20 byte-equality vectors (`fixtures/c1-hex.json` + `fixtures/c1-turns.json`) imported verbatim from the TS conformance suite.
- C1–C4 conformance suite (`tests/conformance.rs`): byte equality, mutation detection, serialize/deserialize roundtrip, chain tamper.
- Wire-format vectors `001``020` in `vectors/`.
- Runnable quickstart at `examples/quickstart.rs` — registered as a Cargo example.
- Architecture notes at `docs/architecture.md`.

[Unreleased]: https://github.com/p-vbordei/agent-scroll-rs/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/p-vbordei/agent-scroll-rs/releases/tag/v0.1.0