Cat-Factory
Home
  • Introduction
  • Core Concepts
  • Quick Start
  • Designing Your Board
  • Shared Services
  • Requirements
  • Running Pipelines
  • Recurring Pipelines
  • Pull Requests & Merging
  • Repositories
  • Issue & Document Sources
  • Budgets & Spend
  • Prompt Fragments
  • Deploy to Cloudflare
  • Deploy to Node.js
  • Configuration
  • Self-Hosted Runner Pools
  • Ephemeral Environments
  • Architecture
  • Integration Manifests
  • Packages & Repository Layout
GitHub
Home
  • Introduction
  • Core Concepts
  • Quick Start
  • Designing Your Board
  • Shared Services
  • Requirements
  • Running Pipelines
  • Recurring Pipelines
  • Pull Requests & Merging
  • Repositories
  • Issue & Document Sources
  • Budgets & Spend
  • Prompt Fragments
  • Deploy to Cloudflare
  • Deploy to Node.js
  • Configuration
  • Self-Hosted Runner Pools
  • Ephemeral Environments
  • Architecture
  • Integration Manifests
  • Packages & Repository Layout
GitHub
  • Deploy & Operate

    • Deploy to Cloudflare
    • Deploy to Node.js
    • Configuration
    • Self-Hosted Runner Pools
    • Ephemeral Environments

Ephemeral Environments

To validate agent-built changes against a running system, Cat-Factory can provision ephemeral preview environments on demand and tear them down when the run finishes.

What they're for

Tests that need a live instance, such as integration tests, Playwright end-to-end runs, and acceptance checks, get an isolated environment spun up just for that run, then cleaned up automatically.

How it works

You register a preview environment provider via a declarative HTTP manifest that points at your provisioning and cleanup endpoints. During a run:

  1. The deployer agent calls your provider endpoints to spin up an isolated environment.
  2. The tester (and playwright) agents run against the preview instance.
  3. The environment is cleaned up automatically on run completion or timeout.
Run starts
   └─ deployer agent → provision environment (your HTTP API)
        └─ tester / playwright → run against preview
             └─ run completes or times out → environment torn down

Registering a provider

You describe your provider declaratively with a manifest. There are no per-provider presets and no per-org code:

FieldPurpose
Base URL + auth schemeWhere to reach your management API and how to authenticate to it.
provision templateCalled to spin up an environment.
status templatePolled until the environment is ready.
teardown templateCalled to tear the environment down.
Response mappingMaps your API's responses onto a canonical environment handle (e.g. its live URL).

Credentials are referenced by logical key, never embedded. You supply the values at registration, where they're stored encrypted at rest. The manifest's structure is documented in Integration Manifests, and it's enabled through the Environment provider manifest feature toggle. See Configuration → Feature Toggles.

Automatic cleanup

Environments are removed on completion or timeout, so a stuck run won't leave preview infrastructure (and cost) running indefinitely.


That covers deployment and operations. For internals, see the Reference.

Edit this page on GitHub
Last Updated: 6/20/26, 6:44 PM
Prev
Self-Hosted Runner Pools