TERX v0.4

Replay only what you can prove is still safe.

TERX is a local, policy-enforced replay gate for approved browser-agent workflows. It reuses a narrow semantic action sequence only when its caller scope, starting conditions, accessible targets, and outcome proof match.

ScopedCache identity includes origin, route, scope digest, workflow version, DOM similarity, and expiry.
Fail closedMissing or ambiguous targets, failed conditions, raw scripts, and unsafe gestures are refused instead of guessed.
Evidence firstReports distinguish hit, miss, refusal, and failure. Cold runs are cached only after their outcome check passes.

Supported replay actions

TERX persists only an HTTP(S) navigation, a click resolved by exact accessible role and name, and text entry with a named variable placeholder. Raw CDP, coordinate clicks, key events, and arbitrary JavaScript may run on a cold path but are never cached for replay.

Minimal contract

session_for(
    cache, bridge, "sign in to billing",
    scope_id="prod:billing:service-account",
    precondition={"url_contains": "/login"},
    postcondition={"text_contains": "Billing overview"},
    variables={"email": "bot@example.test", "password": "..."},
)

Destructive workflows need a host verifier that atomically consumes a fresh approval for the exact replay identity. A token alone is refused. TERX never calls an LLM self-healer during replay.

Plug it in without another runtime

terx mcp-config --client cursor
terx mcp-config --client codex

from terx.integrations.workflow import TerxWorkflow

MCP setup is a copy-paste stdio configuration. The Python adapter reuses TERX's existing Chrome CDP connection and local SQLite cache: no Playwright or Selenium dependency, second browser, cloud worker, or resident helper.

Released: v0.4.0

v0.4 ships the policy-bound semantic replay contract, exact destructive-approval binding, the dependency-free workflow adapter, and MCP configuration helpers. It is a verified local replay path—not a claim of universal browser or agent compatibility.

Release guide · GitHub release · PyPI package

Verify

pip install terx
terx eval-local
pytest tests/ -v
ruff check .

The local eval launches a temporary web page and headless Chrome to test the supported cold-to-warm path. It is not a benchmark claim or proof of universal website compatibility.

Deliberately narrow

TERX does not replace Playwright, Stagehand, Browser Use, or hosted browser automation. Those products cover broad automation and agent capabilities. TERX provides the smaller trust boundary: reuse a known workflow only when the evidence still matches.

GitHub · quick start · integrations · developer guide · security · changelog