Project → Suite → Plan → Run, in one place.

Multi-format suites

One contract, eight test formats and counting

Tavern, Hurl, Bruno, Playwright, Playwright-lite, SQL, AI-conversation, and ad-hoc suites all implement the same composition contract, resolve inputs, execute, extract outputs, and reach a verdict, so a new format is a plugin, never a hardcoded branch in the run engine, composed into one ordered Plan.

Content model

Namespace, not folders

Suite content lives in Postgres, addressed by a flat dotted namespace, with an append-only version-history table, not a git tree and not a filesystem mount. Execution still materializes real files where a runner needs them (pytest, Bruno, Hurl), but namespace is the identity and versioning surface.

Isolation

Self-hosted Agent, Landlock-sandboxed

A self-hosted Agent runs a Plan's dispatched subprocesses inside a customer's own network, under a second isolation layer (Landlock LSM) on top of container isolation, not instead of it, so agent-triggered runs don't get a weaker sandbox than the platform itself.

Agent-native

Built for agents to drive, not just people

A full agent-facing MCP surface plus a curl-able GET /api/run interface sit alongside the human UI from day one, so an agent triggering a Plan or reading Run history is a first-class path, not an API bolted on after the dashboard shipped.

History

Semantic run history, not a log dump

Every run records a real verdict, drills into full output, and filters by suite type and project, so "is this actually passing" is answered by the platform, not reconstructed by scrolling CI logs.

Test tooling that started in one project's scripts/ folder doesn't scale to a second project.

01

TestPlanHQ started as a project-local test-trigger tool inside aviralabs/vmsl. Once the multi-tenant, self-service shape became the real goal, it moved to where it belongs: a standalone service any project onboards onto, not a fork carried forward per project.

02

One consistent hierarchy, Project, Suite, Plan, Run, gives every onboarded project the same structure for organizing and tracking test content, instead of each project inventing its own ad-hoc layout.

03

Agent-driven delivery needs a test surface an agent can call directly, not just a human dashboard. The MCP server and the curl-able run interface exist so an agent verifying its own work is a supported path, not a workaround.

Continuous Engineering

Ask Maya how TestPlanHQ fits your test suite.

TestPlanHQ is how this practice runs its own multi-format test suites and agent-triggered runs. Ask what it would take to onboard a project onto the same shared service.

← Back to Solutions