LexDev
Automium
Agent-native browser QA and automation platform — Playwright-backed runtime with semantic page snapshots, an MCP server for agent control, and a provider-backed test planner; the browser-runtime refactor is the latest workstream
Competes with QA Wolf
BuildingLexDev
Key metrics
Metrics being defined
Competitive Intel
0 entries
No competitive intel entries for this product yet.
Research Hub
6 types
- Devtool Adoption→
- Devtool Dx Journey→
- Devtool Integration Map→
- Devtool Monetization→
- Devtool Positioning→
- Devtool User Map→
Roadmap
123 items
Planned88
`automium run --tag smoke` submits journeys, polls, and exits with correct exit code
`automium validate` reports config and connectivity issues with actionable messages
A journey authored via the API executes end-to-end and produces a pass/fail verdict
Actionability scoring correctly identifies interactive vs non-interactive elements
Actionability scoring correctly identifies interactive vs non-interactive elements *(uses engine-domain scoreActionability)*
Actionability scoring correctly identifies interactive vs non-interactive elements *(uses engine-domain scoreActionability)*
Adapter registry resolves Claude and fixture adapters by vendor string
All adapter implementations pass contract tests matching `packages/adapters/` interfaces
All phase tests pass
API requests are traced end-to-end via OpenTelemetry
Artifact upload job processes correctly after a journey run completes
Artifacts are organized in the correct bucket structure with org/workspace scoping
Artifacts are retrievable via the API and respect tenant authorization
At least one journey completes with Claude planner producing real tool-call intents
Audit events flow through the audit-sink queue to Postgres asynchronously
AuditSinkAdapter can emit and query audit events through Postgres
Automium replay event stream is serialized as JSONL and retrievable per run
Benchmark comparison report shows meaningful metrics across fixture and Claude planners
Benchmark runner works with v2 adapters for planner comparison
BrowserRuntime interface is defined and Playwright adapter passes all interface methods
BrowserRuntime interface is defined and Playwright adapter passes all interface methods *(stub shape validated; real Playwright wiring deferred)*
Can navigate an owned benchmark product URL and produce a complete enriched snapshot
Can navigate an owned benchmark product URL and produce a complete enriched snapshot *(contract-compliant snapshot shape validated; real navigation deferred)*
Can navigate an owned benchmark product URL and produce a complete enriched snapshot *(contract-compliant snapshot shape validated; real navigation deferred)*
CDP pipeline captures network requests, console messages, and DOM mutations in real-time
CDP pipeline captures network requests, console messages, and DOM mutations in real-time *(event types defined; real CDP subscription deferred)*
CDP pipeline captures network requests, console messages, and DOM mutations in real-time *(event types defined; real CDP subscription deferred)*
Claude adapter parses tool-call responses into PlannerIntent objects
Claude adapter produces valid tool-call prompts from enriched semantic snapshots
CLI can submit, monitor, and report on the end-to-end run with correct exit codes
CLI has zero Playwright/engine/provider SDK dependencies
Cold start meets <5s target, full 10-step journey meets <30s target
Control plane API serves artifact downloads for authenticated, authorized users
Credential CRUD endpoint encrypts values and never returns plaintext
Credential vault can store, retrieve, and rotate encrypted secrets
Drizzle schema compiles and generates migrations for all core tables
Executor can compile click, type, navigate, and assert intents into Playwright actions
Executor can compile click, type, navigate, and assert intents into Playwright actions *(action bridge validated; real Playwright execution deferred)*
Exit code 1 on test failure, exit code 2 on auth/infra error
FileStorageAdapter stores and retrieves files from R2 via S3-compatible API
Firecracker VM image boots and runs a Playwright script successfully
Firecracker VM image boots and runs a Playwright script successfully *(deferred — requires bare-metal KVM server)*
Firecracker VM image boots and runs a Playwright script successfully *(deferred — requires bare-metal KVM server)*
Fixture adapter returns deterministic intent sequences matching v2 contract
GitHub Actions example workflow runs successfully in a test repository
Hono server starts and serves all v1 routes
Iframe elements appear in the flattened semantic snapshot with frame metadata
Iframe elements appear in the flattened semantic snapshot with frame metadata
JobQueueAdapter can enqueue, dequeue, and acknowledge jobs through BullMQ
Journey CRUD operations persist to and read from Postgres
JSON output contains all journey results with run IDs and replay URLs
JUnit XML output is parseable by GitHub Actions test-reporter and GitLab CI
Migrations run successfully against a Neon Postgres instance
Migrations run successfully against a Neon Postgres instance *(deferred to integration)*
No regressions in previous phase tests
OpenAPI spec is generated and accessible at /api/v1/openapi.json
Owned benchmark corpus (Altitude, Switchboard, Foundry) runs with fixture planner
Parallel submission respects concurrency limit and tenant quota
Per-journey timeout surfaces as an explicit failure in all reporters
Per-run budget enforcement aborts a journey when cumulative tokens exceed the limit
Per-step telemetry accurately reports tokens, latency, and model version from Claude API
PlannerAdapterV2 contract is defined and exported from packages/contracts/
Playwright trace.zip is captured and uploaded alongside Automium event stream
Priority ordering works correctly (high > normal > low)
Provider retry handles 429 rate limits with exponential backoff
Queue and worker tests pass with a local Redis instance
RBAC middleware enforces role-based access per the permission matrix
RealtimeTransportAdapter can publish and subscribe to Redis channels
Replay artifacts are complete: event stream, targeted crops, network log, Playwright trace
Retention tags are set on upload and R2 lifecycle rules are configured
RLS policies prevent cross-tenant data access when session variables are set
Run status endpoint returns real-time status from Postgres
Run submission enqueues a job in BullMQ and returns a run ID
SearchBackendAdapter can index and query using Postgres tsvector/tsquery
Semantic enrichment produces stable element IDs that persist across page rerenders
Semantic enrichment produces stable element IDs that persist across page rerenders *(uses engine-domain stableHash)*
Semantic enrichment produces stable element IDs that persist across page rerenders *(uses engine-domain stableHash)*
Targeted vision capture produces annotated element screenshots under budget
Targeted vision capture produces annotated element screenshots under budget *(budget enforcement validated; real screenshot capture deferred)*
Targeted vision capture produces annotated element screenshots under budget *(budget enforcement validated; real screenshot capture deferred)*
Terminal output streams journey completion with pass/fail indicators
Two tenants can submit runs simultaneously with no cross-tenant data access
Vision crops are included as image content blocks when flagged by the runtime
WebSocket gateway streams run progress events from Redis pub/sub
Worker lease quota enforcement prevents over-allocation
Worker process dequeues a job and reports heartbeats via HTTP
WorkOS adapter authenticates via magic-link and validates session tokens
WorkOS authentication rejects unauthenticated requests with 401
Done35
All adapter implementations pass contract tests matching `packages/adapters/` interfaces
All phase tests pass
All phase tests pass (274/274)
All phase tests pass (309/309)
Audit events flow through the audit-sink queue to Postgres asynchronously *(queue definition exists; async flow deferred)*
AuditSinkAdapter can emit and query audit events through Postgres *(stub validated)*
BrowserRuntime interface is defined and Playwright adapter passes all interface methods *(stub shape validated; real Playwright wiring deferred)*
Credential vault can store, retrieve, and rotate encrypted secrets *(encrypt/decrypt validated)*
Drizzle schema compiles and generates migrations for all core tables
Executor can compile click, type, navigate, and assert intents into Playwright actions *(action bridge validated; real Playwright execution deferred)*
Iframe elements appear in the flattened semantic snapshot with frame metadata
JobQueueAdapter can enqueue, dequeue, and acknowledge jobs through BullMQ *(stub shape validated by contract tests; BullMQ wiring deferred)*
No regressions in previous phase tests
No regressions in previous phase tests
No regressions in previous phase tests
Phase 1: Persistence Foundation (13 steps) — archived in `tasks/phases/production-phase-1.md`
Phase 2: Queue + Worker Infrastructure (8 steps) — archived in `tasks/phases/production-phase-2.md`
Priority ordering works correctly (high > normal > low)
Queue and worker tests pass with a local Redis instance *(contract tests pass without Redis; live Redis deferred to integration)*
RealtimeTransportAdapter can publish and subscribe to Redis channels *(stub shape validated; Redis wiring deferred)*
RLS policies prevent cross-tenant data access when session variables are set *(policies defined)*
SearchBackendAdapter can index and query using Postgres tsvector/tsquery *(stub validated)*
Step 3.1: **Automated** Write failing contract tests for all Phase 3 components.
Step 3.10: **Automated** Refactor pass — verify barrel exports, adapter alignment, no dead code.
Step 3.2: **Automated** Scaffold `packages/browser-runtime/` and define BrowserRuntime interface types.
Step 3.3: **Automated** Implement semantic enrichment pipeline — raw accessibility tree to contract-compliant interactive elements.
Step 3.4: **Automated** Implement frame hierarchy flattening into unified element list with frame metadata.
Step 3.5: **Automated** Implement targeted vision capture contracts and budget enforcement.
Step 3.6: **Automated** Implement executor-to-BrowserRuntime action bridge.
Step 3.7: **Automated** Implement full BrowserRuntime adapter stub with enrichment pipeline wiring.
Step 3.8: **Automated** Build contract-compliant SemanticSnapshot from enriched browser state.
Step 3.9: **Automated** Run all tests and verify they pass (green).
Worker lease quota enforcement prevents over-allocation *(existing orchestrator logic, now wired to dispatch)*
Worker process dequeues a job and reports heartbeats via HTTP *(stub lifecycle validated; real dequeue loop deferred)*
WorkOS adapter authenticates via magic-link and validates session tokens *(stub validated)*
Timeline
No timeline events for this product yet.
Dev Docs
21 files
Specs
- Agent-Native Browser QA PlatformJun 23, 202619.6 KB
- Automium MCP ServerJun 23, 202613.6 KB
- Browser Engine / Playwright Integration SpecJun 23, 202615.6 KB
- CI/CD Integration SpecJun 23, 202612.2 KB
- Owned Parity Benchmark ProductsJun 23, 202618.5 KB
- Production Persistence and Infrastructure SpecJun 23, 202619.2 KB
- Provider-Backed Planner Execution SpecJun 23, 202615.1 KB
- Spec Drift ReportJun 23, 202612.1 KB
Docs
- Altitude API Compatibility MatrixparityJun 23, 20262.8 KB
- Altitude Feature MatrixparityJun 23, 20262.6 KB
- Benchmark Corpus v1benchmarksJun 23, 20262.8 KB
- Benchmark DocsbenchmarksJun 23, 20260.1 KB
- Contract DocscontractsJun 23, 20260.5 KB
- Foundry API Compatibility MatrixparityJun 23, 20263.0 KB
- Foundry Feature MatrixparityJun 23, 20262.7 KB
- Owned Product Benchmark JourneysbenchmarksJun 23, 20262.7 KB
- Planner Adapter v1contractsJun 23, 20260.6 KB
- Replay Event v1contractsJun 23, 20260.6 KB
- Semantic Snapshot v1contractsJun 23, 20260.6 KB
- Switchboard API Compatibility MatrixparityJun 23, 20263.6 KB
- Switchboard Feature MatrixparityJun 23, 20262.4 KB