This is a personal proof-of-concept project. It is not intended for production use. Please refrain from using it.
Skip to content

The autonomous agent

The assistant does what you ask, one step at a time. The autonomous agent does the whole investigation itself. You give it a goal, a symptom, or just "find what's broken", and it runs on its own until it has a root cause.

It is environment-agnostic and strictly read-only. Drop it on any backend with whatever access you've wired up (a log source, a base URL, the browser's past runs) and it investigates without a recipe, without a map, and without ever changing a thing.

How it works

Given a goal, the agent loops on its own:

  1. Hypothesize from the symptom.
  2. Gather evidence: search the logs, probe a service (tcp/http/dns/tls), GET an endpoint, read a past browser run or a filed issue, and, when logs alone don't pin it, reproduce the failure in a real browser on demand, driving the flow to capture the failing request's trace_id, then correlate it to the backend.
  3. Follow the trail across layers, a UI symptom, to the failing request, to its trace_id in the logs, to the backend error, to an upstream service, then probe that service. It doesn't trust the first error (an "auth error" is often a network error).
  4. Discover the topology as it goes, the logs name the services, the probes reveal what's reachable. It builds the map from what it sees.
  5. Report a structured root cause: the layer, the cause, the suggested fix, a confidence, the evidence trail, and the topology it found. If it can't be sure, it says so and tells you what access or data it would need to go further.

Fire it

From the assistant, just ask, it launches the agent for you:

text
Investigate why checkout returns 500.

Something's broken in signup, find it.

Why can't Duo reach the model server?

Or hit the endpoint directly, it streams the investigation live (Server-Sent Events: thought, tool_call, tool_result, and a final report):

bash
curl -N -X POST https://app.upliftr.io/api/v1/investigate \
  -H "Authorization: Bearer $UPLIFTR_TOKEN" \
  -H "content-type: application/json" \
  -d '{"goal":"checkout returns 500 intermittently"}'

Read-only by default

The investigation tools, searching logs, opening connections, resolving names, reading past runs, only observe. They never mutate your code, data, or infrastructure, so the log-and-probe investigation is safe to point at production.

The one active tool is reproduce, which drives the app in a real browser to recreate a failure on demand (it interacts like a user, so it may submit a form). Point it at a test or staging environment for flows that write data; the agent prefers logs and probes first, and reproduces only when it needs to capture a failing request.

What it can reach

The agent is as capable as the access you give it: connect a log source so it can correlate trace_ids, and it can probe your infra and read your browser runs. The more it can see, the deeper it goes, all of it read-only.

Upliftr · AI-native, self-healing E2E testing. Terms · Privacy · Legal Notice