Skip to content

Overview

The core component is a Rust library that implements the majority of The Test Cabinet’s functionality. Most other The Test Cabinet components link against this library and expose its functionality through their own interface — a CLI, an HTTP API, a desktop GUI — rather than re-implementing any of it. Keeping the orchestration here, and out of the interfaces, is what lets runs be driven identically whether they are launched from a script, a remote request, or a window. See Architecture.

The core owns everything that happens during a run, and defines the data contracts the rest of the system is built around:

  • Test cases — resolving a test case version and its selected variant, and reading the test-case.toml manifest that says what gets seeded, rendered, and checked.
  • Execution — seeding a fresh git repository, running the harness inside an isolated container, and collecting the produced working tree.
  • Agent harnesses — a single abstraction for invoking any supported third-party coding harness, absorbing each one’s quirks.
  • Harness events — translating each harness’s raw output into one normalized, live event stream.
  • Metrics — recording the run time, token, and cost data every run produces.
  • Validation — the automated first pass that builds, loads, and optionally screenshot-compares an implementation.
  • Run records — the fixed data contract a run emits.
  • Results — publishing a finished run: releasing its code, uploading its record to the backend, and recording its review.

The wrapping components are deliberately thin:

  • The CLI exposes the core as the tcab binary.
  • The worker exposes the same run functionality over an HTTP API.
  • The Tauri app exposes it as an interactive desktop GUI.

Each adds only the surface its interface requires; the behavior of a run lives here.