One CS-framed transaction: marker + 32-bit count + MOSI + read-latency skip + MISO, MSB-first on the wire, matching OpenOCD's jtagspi so the quartiq proxy bitstreams work unchanged. Half-duplex (tx,txlen,rx,rxlen) signature, single-device chain. NOT yet validated on hardware — protocol follows the OpenOCD reference but has not been confirmed against a live proxy + flash. Validation (read JEDEC ID on the KCU105) is the next step.