Get started
These steps run the software tests on one computer. They need no Yoke boxes or network setup. The USB hardware uses two Radxa ZERO 3E boards; a complete device firmware image is not available yet.
Install the test software
Use Python 3.12 or later:
git clone https://github.com/spincyc/yoke.git
cd yoke
python3 -m venv .scratch/run
.scratch/run/bin/python -m pip install .
.scratch/run/bin/yoke --help
Yoke has no third-party Python runtime dependencies. Installing from source
may download packaging tools. Contributors can use make verify to create
a development environment and run the repository checks.
Test pairing without hardware
.scratch/run/bin/yoke simulate --json
The test suite runs the pairing code through loss, duplication, split networks, restarts, and storage failures. It uses virtual time and simulated drivers. Exit status zero means every selected scenario passed.
To inspect a single scenario:
.scratch/run/bin/yoke simulate --scenario partition-conflict --seed 42 --trace
The trace shows control messages and their virtual timestamps. See the simulation reference for the scenarios and the test cases they test.
Preview the monitor
.scratch/run/bin/yoke top --demo --once
This prints a sample dashboard without opening sockets or reading host
resources. Use top --demo in an interactive terminal to explore its
controls. The demo uses sample data.
Run a synthetic media check
.scratch/run/bin/yoke-media probe --frames 120
.scratch/run/bin/yoke-media simulate --frames 120 --drop 0.05 --fec xor --seed 7
probe exits nonzero if a reference frame fails integrity.
simulate reports delivery under the selected faults; its exit status
alone does not establish perfect delivery. These commands use synthetic
frames. The optional jpegxs and vc2 settings model compression ratios;
they do not run those codecs or measure hardware latency.