Hardware Transport And Protocol
- Read Protocol V1/V2 transport and architecture decisions.
- Record runtime, physical transport, device family, V1/V2 scope, lifecycle phase, and repro.
- Place behavior in the correct layer:
- Shared protocol code: codec, assembler, session, sequence, queue, timeout, link invalidation.
- Adapter code: connect, read/write, notification, endpoint/characteristic, platform errors.
- Detect protocol using an active response; do not rely only on descriptors or names.
- Preserve per-device serialization, generation isolation, and sequence continuity.
- Treat transport failures as link-fatal, but do not classify protobuf business failures as link-fatal by default.
- Never replay a side-effecting request from Transport.
- Add focused tests for split/coalesced frames, stale callbacks, timeout cleanup, reconnect, and both V1/V2 probe paths as applicable.
The pass condition must prove a real request/response and cleanup path, not only discovery.