Proof that your software works as intended.
Probierz is the Wisent cross-platform test toolkit. It runs your users' journeys directly where your product lives — browser, Electron, mobile, or native desktop — and turns every run into source-bound evidence, signed receipts, and one explainable release decision.
What Probierz is#
A release decision usually depends on test definitions, target-specific tooling, screenshots, traces, video, source identity, run history, and policy. When those pieces live in unrelated scripts and CI logs, teams cannot tell which user journeys were exercised, whether evidence belongs to the current source, or why a release was allowed. Probierz binds that chain together: from intended journey, through execution and artifacts, to one explainable gate verdict.
Every run produces the evidence you need — reports, screenshots, and videos where the selected driver supports them — so you can see exactly what is broken in the pipeline.
Current status: source version 0.1.0 provides the Rust CLI and MCP binaries, local execution, evidence, receipts, and gate evaluation. No hosted service or prebuilt binary release is currently promised.
How a run becomes a release decision#
Application manifests define intended journeys and target coordinates. Runner modules own execution, analyzers own report and media interpretation, and the evidence store owns durable run records and receipts. The dashboard and MCP surface are projections over those contracts — they are not alternate sources of truth.
application manifest + required journeys + exact source identity
│
▼
deterministic discovery / affected
│
▼
target-specific preflight check
│
┌─────────┴─────────┐
│ │
local runner Stado runner
│ │
└─────────┬─────────┘
▼
report + screenshots + traces + video metadata
│
▼
analysis + history + comparison + signed evidence receipt
│
▼
status projection and explicit gate verdictSupported surfaces#
- Web — Playwright across Chromium, Firefox, WebKit, and emulated mobile (Node.js 22+).
- Electron — Playwright `_electron` against the application entry point.
- Mobile iOS — WebdriverIO + Appium (XCUITest); needs macOS, Xcode, and a simulator or authorized device.
- Mobile Android — WebdriverIO + Appium (UiAutomator2); needs the Android SDK and an emulator or authorized device.
- Native macOS — Appium Mac2 with full Xcode, or cua-driver when Accessibility-based automation and screenshot evidence are sufficient.
- Native Windows — WebdriverIO + WinAppDriver with Developer Mode.
- Remote execution — the Stado bridge runs the same target contract on admitted remote capacity and returns evidence through the configured object store.
- Scientific figures and SEO — rubric-scored figure comparison and a release SEO evaluator, both routed through the authenticated Stado model router.
Interfaces#
- Human CLI: `probierz` is canonical for discovery, setup, execution, analysis, figure and SEO evaluation, authoring, evidence, gate, retention, security, and Stado workflows.
- Machine output: status, overview, run, analysis, figure, SEO, and gate commands expose structured data; automation must not infer state from prose.
- MCP: `probierz-mcp` exposes the same discovery and explicitly named side-effecting operations over stdio JSON-RPC, keeping read-only and mutating operations distinct.
- Repository gate: `probierz gate-install` installs the pre-push integration; gate evaluation and enforcement remain distinct commands.
- Stado bridge: `probierz stado run`, `probierz stado author`, and `probierz stado seo` submit exact remote contracts; `probierz stado collect` and `probierz stado resume` recover existing jobs without submitting them again.
Credentials and remote capacity#
Local discovery requires no credentials. Model authoring and figure evaluation authenticate through a distinct Stado model-router URL and a router-scoped token — Probierz never receives provider credentials. Remote Stado jobs materialize secrets from scoped references instead of embedding them in the job payload, and selecting a host grants no broader machine or cloud authority: an unavailable fleet is reported as unavailable, not as empty or successful.
Remote authoring reads STADO_MODEL_ROUTER_URL from the selected surface's manifest conditions, matching the verified run. When that condition is absent, it uses the submitting process environment. A missing or invalid URL is refused before upload or job submission.
PROBIERZ_MODEL selects the Brama model or selector used for authoring. Spec authoring first reads the selected surface's condition, then the process environment, and otherwise uses any. A model-scoped bearer needs its exact allowed model, such as codex/gpt-5.6-sol; an explicitly empty value is refused.
A Stado host selector constrains worker placement, not the queue endpoint. Submission, observation and evidence collection all use Stado's configured endpoint; selecting stado:macbook never replaces it with a hard-coded local port.
Quick start (discovery only)#
Build the Rust product binaries from source. The discovery commands below do not start a browser, install Appium drivers, drive an application, or create run evidence.
git clone https://github.com/wisent-ai/probierz.git
cd probierz/probierz-rs
cargo build --release
export PATH="$PWD/target/release:$PATH"
probierz list
probierz appsStatus and support#
- Maturity: public development source, version 0.1.0 — local execution, evidence contracts, receipts, and gate evaluation are available from source; host and remote target availability remains environment-specific.
- Source and defects: github.com/wisent-ai/probierz; security reports via a private GitHub Security Advisory.
- License: Apache-2.0.