Commit Graph
20 Commits
Author SHA1 Message Date
kyleandClaude Opus 5.5 e2717a930d refactor(core): make Frame and WireError crate-private
Spec §3 (decision D-b) lists `Frame` and `WireError` as private; lib.rs
re-exported both. Only `frame_sender` stays public.

- The pinned vectors in tests/vectors.rs now compile in-crate as a
  `#[cfg(test)] #[path]` module (autotests = false keeps Cargo from also
  building them as an integration test). Every golden vector now checks
  `encode() == GOLDEN` as well as the decode, and new literal vectors pin a
  trailing-byte rejection and an addressed Obs with a nonzero age and an
  `observed_at`.
- A `#[doc(hidden)]` `conformance` module (behind the `conformance`
  feature) gives the fuzz harness byte-level frame encoders/decoders and
  core's local limits without exposing `Frame`. The fuzz_twin test target
  now requires `conformance`, which scripts/ci.sh enables.
- compile_fail doctests pin that `Frame`/`WireError` are unreachable.
- Remove the THROWAWAY gen_missing_golden_vectors test and fix stale
  wire.rs comments about the version/tag byte offsets.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-22 08:44:09 -07:00
kyle 8425232ba1 release(core): tines-core 1.0.0 2026-10-22 08:44:09 -07:00
kyle ef539b494f refactor(core): WallClockStore trait replaces the store_mut backdoor
Task 10b reached LogStore::set_wall_clock through a general Node::store_mut.
Kyle: replace it with a narrower accessor. A WallClockStore trait (set_wall_clock
+ peer_time_estimate, implemented only by LogStore) now backs Node::set_wall_clock
and Node::peer_time_estimate, so no &mut Store escapes the facade.
2026-10-22 08:44:09 -07:00
kyle a43a4966e1 test(core): pinned vectors + MSRV gate 2026-10-22 08:44:09 -07:00
kyle 07907efec5 feat(core): settle the Store trait (flush, is_empty, conformance suite) 2026-10-22 08:44:09 -07:00
kyle 158689e265 refactor(core): narrow the 1.0 public API 2026-10-22 08:44:09 -07:00
kyle 94c3a3c8ad feat(core): reserved Signature slot on Observation 2026-10-22 08:44:09 -07:00
kyle e85b3704e0 feat(core): Dest type replaces to + lifetime_ms 2026-10-22 08:44:09 -07:00
kyle 193c7bddb8 feat(core): NodeEvent with counted drop reporting 2026-10-22 08:44:09 -07:00
kyle 6643b107ab feat(core): ack validation, custody release, confidence events 2026-10-18 09:13:35 -07:00
kyle ab9b892d94 chore: ci script and README 2026-10-17 21:48:37 -07:00
kyle 1740acd625 feat(core): Node facade 2026-10-17 15:43:57 -07:00
kyle 781710b196 feat(core): BeliefPolicy, LatestWins, SelfFirst 2026-10-17 15:02:51 -07:00
kyle 0bd74080a5 feat(core): exchange state machine 2026-10-17 14:47:20 -07:00
kyle b935812ed1 feat(core): fragmentation and reassembly 2026-10-17 13:37:43 -07:00
kyle 843ddae6fa feat(core): Transport trait 2026-10-17 13:05:25 -07:00
kyle 010efbe1f5 feat(core): salted Bloom summary 2026-10-17 12:48:39 -07:00
kyle 7ece265dbd feat(core): Store trait, TrimPolicy, MemStore 2026-10-16 18:46:31 -07:00
kyle 3bf09afdd8 feat(core): wire frames with postcard 2026-10-16 18:15:57 -07:00
kyle 8108feb146 feat(core): workspace, Observation, content-derived id 2026-10-16 18:05:52 -07:00