phoxal-bus 0.45.5

Phoxal bus ABI floor: the Zenoh-native contract bus client and the API-version / contract-body primitive traits.
Documentation

phoxal-bus

The Phoxal bus ABI floor: the Zenoh-native wire boundary (D26/D62/D1) plus the two contract primitive traits ([ApiVersion] / [ContractBody]) the bus client is generic over.

Samples are Zenoh-native: the key (<namespace>/robots/<robot-id>/<version>/<topic>, the version folded in per D1), an encoding string + a [BusMetadata] attachment (codec and provenance only - no schema/family/api identity, D1), and a plain MessagePack body payload - there is no Phoxal frame independent of Zenoh, and no {"v":…} version tag in the body (D62). Identity lives entirely in the key: different version-qualified contract names are different keys and physically cannot collide, so a receiver's per-key subscription is the whole fast-reject.

The concrete API versions (v1, …) generated by the phoxal_api_tree! macro - and their [ApiVersion] / [ContractBody] impls - live in the phoxal-api crate (phoxal::api, …), which also re-exports these two traits. The phoxal engine re-exports the typed authoring subset at phoxal::bus, so the traits are also reachable as phoxal::bus::ApiVersion / phoxal::bus::ContractBody. The raw session-opening surface lives behind the explicit phoxal-bus opt-in.