docs(agents): wire/local constant split and 1.0 trait extension rule

This commit is contained in:
2026-10-22 08:44:09 -07:00
parent 392c7c6b04
commit e65c8287ba
+18 -5
View File
@@ -87,6 +87,11 @@ call `poll()` in its loop, and `observe()` when it sees something.
this contact. this contact.
- `NodeId = [u8; 16]`, `ObservationId = [u8; 16]`, `Tick = u64` (local - `NodeId = [u8; 16]`, `ObservationId = [u8; 16]`, `Tick = u64` (local
monotonic ms, supplied on every call). monotonic ms, supplied on every call).
- 1.0 trait extension rule: any method added to `Store`, `Transport` or
`BeliefPolicy` after 1.0 must have a default whose behaviour is safe — it
may lose performance or telemetry but never data or custody. A method that
can't have such a default is a 2.0 change (the rule `release` violated in
0.3.0).
### Review Focus (each covered by a test; keep it that way) ### Review Focus (each covered by a test; keep it that way)
@@ -102,11 +107,19 @@ call `poll()` in its loop, and `observe()` when it sees something.
### Compile-time constants (`tines-core/src/consts.rs`) ### Compile-time constants (`tines-core/src/consts.rs`)
`MAX_TOPIC=64`, `MAX_PAYLOAD=1024`, `MAX_PEERS=8`, `SUMMARY_BYTES=512`, Split into **wire** (frozen for wire v1 — changing one changes how a v1 peer
`BLOOM_K=3`, `SUMMARY_INTERVAL_MS=2000`, `REASSEMBLY_TIMEOUT_MS=5000`, decodes or interprets a frame) and **local** (never crosses the wire; may
`SEND_QUEUE_CAP=256`, `MAX_FRAME=1500`, `ACK_IDS_CAP=90`, change in a minor release):
`EVENT_QUEUE_CAP=64`, `BCAST_SENT_CAP=256`, `ACK_BUFFER_CAP=256`. Match the
exact values above. - **Wire:** `WIRE_VERSION=4`, `MAX_TOPIC=64`, `MAX_PAYLOAD=1024`,
`MAX_FRAME=1500`, `SUMMARY_BYTES=512`, `ACK_IDS_CAP=90`, `MAX_SIG=64`,
`BLOOM_K=3`, plus the private `MAX_FRAGMENTS=64`.
- **Local:** `MAX_PEERS=8`, `SUMMARY_INTERVAL_MS=2000`,
`REASSEMBLY_TIMEOUT_MS=5000`, `SEND_QUEUE_CAP=256`, `MIN_MTU`,
`EVENT_QUEUE_CAP=64`, `DROP_TABLE_CAP=32`, `BCAST_SENT_CAP=256`,
`ACK_BUFFER_CAP=256`.
Match the exact values above.
## Crate layout ## Crate layout