Start

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.

Choose your next step