Runtime Intelligence for AI Agents
Observe. Diagnose. Improve.
pip install critiqor
Critiqor helps developers understand whether an AI agent run can be trusted. It observes the runtime, preserves evidence, generates an evidence-backed diagnosis, and opens a local dashboard with a concrete improvement path.
Instead of judging only the final answer, Critiqor looks at what happened while the agent worked: framework lifecycle events, tool activity, memory behavior, errors, confidence signals, and whether the next run improved.
This repository is that existing product, plus a WebMCP evaluation layer added for the WebMCP Hackathon.
Live judge experience: Open the Critiqor × Crema experiment
No login, local service, private path, API key, or checkout is required. In a WebMCP-capable browser, ask the agent: “Show the improved run, then explain why it is safer.” The page exposes five typed WebMCP tools for inspecting the verified experiment, reading its playbook and method, and visibly replaying either experiment arm. Humans can inspect the same evidence, genuine Crema target, and Critiqor dashboards side by side.
Research question: Which mechanisms that helped MCP become more production-ready can be adapted to improve WebMCP reliability?
Critiqor already answered whether an agent run can be trusted, why, and whether a later run improved. The hackathon work extends that same observe → diagnose → improve loop to WebMCP, instead of shipping a separate product.
When a run includes WebMCP events, Critiqor now:
- records consequential tool calls, outcomes, and authoritative application state
- treats a lost or timed-out response as
unknown, not as a safe failure - flags a blind retry of the same intent before the first outcome is reconciled
- writes a run-specific improvement playbook from that evidence
- compares a matched later run and reports whether the same failure recurred or was resolved
The first implementation focuses on one failure: retrying a consequential WebMCP action after an ambiguous outcome. A raw agent can duplicate an effect. After the playbook, the same task reconciles first and stops at one effect.
The underlying Critiqor product predates the challenge. The challenge-specific
work, added from August 25 through September 3, 2026, is the WebMCP browser
monitor, normalized runtime evidence, controlled lost-response fault,
reconciliation checks, matched Crema experiment, public anonymized dashboards,
five page tools, and the judge-facing experiment site. The implementation and
reproduction instructions live in
explorations/webmcp-reliability, with the
runtime adapter documented in
docs/webmcp-browser-monitor.md.
An agent can produce a useful-looking response while still behaving unreliably during execution. It might ignore relevant memory, miss a tool failure, recover from an error in a way that hides risk, or appear confident without enough supporting evidence.
Critiqor gives developers a practical review layer for answering:
- Can I trust this agent run?
- Why?
- What evidence supports that diagnosis?
- What should I change?
- Did the improvement work on later runs?
Critiqor 0.2.19 supports framework-based monitoring for:
- OpenClaw
- Claude Code
- Codex CLI
- Custom CLI frameworks configured with
critiqor agentsorcritiqor config
Critiqor integrates into your existing workflow. It launches or observes the agent command, lets you work normally, then finalizes the run into a local diagnosis dashboard.
Install Critiqor from PyPI:
pip install critiqorCheck the CLI:
critiqor helpUse Python 3.10 or newer. pipx install critiqor is a good option if you prefer
an isolated CLI install.
critiqor agentsThe guided setup lets you choose OpenClaw, Claude Code, Codex, or a custom CLI framework and observation method.
Use the monitor command for your framework:
critiqor monitor openclaw
critiqor monitor cc
critiqor monitor codex
critiqor monitor webmcp --helpCustom frameworks can be launched through the command you configure in the guided setup.
Use the agent as you usually would. Critiqor stays beside the workflow and collects runtime evidence for review.
critiqor finalizeCritiqor stops the observation, generates a diagnosis, and opens the local dashboard.
critiqor runs
critiqor dashboard
critiqor dashboard run_001critiqor agents
↓
Select Framework
↓
Choose Observation Method
↓
Launch Agent
↓
Work Normally
↓
critiqor finalize
↓
Dashboard Opens
Core commands:
critiqor agents- choose and configure an AI agent frameworkcritiqor config- update observation method or custom framework detailscritiqor monitor openclaw- launch OpenClaw and begin runtime observationcritiqor monitor cc- launch Claude Code and begin runtime observationcritiqor monitor codex- launch Codex CLI and begin runtime observationcritiqor monitor webmcp- observe live WebMCP activity in one Chrome tabcritiqor finalize- stop observation, generate diagnosis, and open dashboardcritiqor dashboard [run_id]- open the latest or selected diagnosis dashboardcritiqor runs- list completed evaluations with summariescritiqor doctor- check local readiness before running evaluations
After finalization, Critiqor opens a local dashboard focused on the developer questions that matter after an agent run.
Key sections:
- Overview - production verdict, trust score, confidence, current run, and the fastest path to diagnosis, evidence, playbook, and comparison.
- Runs - completed evaluations you can reopen and compare.
- Diagnosis - the primary issue, root cause, evidence, runtime impact, and engineering explanation.
- Playbook - recommended changes, verification steps, expected improvement, trade-offs, and alternatives.
- Evidence Explorer - timeline events, tool calls, memory events, evidence status, and raw event snapshots.
- Visibility - private, shared, anonymous, and public review modes.
- Appearance - readable dashboard display settings.
- Export Diagnosis - PDF, Markdown, HTML, PNG, diagnosis JSON, session JSON, and ZIP export options.
- Copy Fix Prompt - a run-specific prompt you can paste into an AI coding assistant to improve the agent using the observed evidence.
The dashboard supports light and dark appearance modes, so exported screenshots and team reviews can match the environment where developers are working.
Critiqor 0.2.19 can observe browser-native WebMCP discovery, invocation, outcome,
reconciliation, and authoritative-state events in real time through Chrome's
remote-debugging endpoint. It does not infer a failed consequential action was
uncommitted: an opaque error, cancellation, or intentionally lost response is
recorded as unknown until target-owned state reconciles it.
Start a separate Chrome profile with remote debugging enabled. For example, on macOS:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/critiqor-chromeOpen the WebMCP site in that Chrome instance, then attach Critiqor with the endpoint stated explicitly:
critiqor monitor webmcp \
--cdp-url http://127.0.0.1:9222 \
--target-url http://127.0.0.1:3000 \
--task-id add-one-item \
--scenario-id lost-response \
--consequential-tool add_to_cart \
--reconciliation-tool get_cart \
--authoritative-tool get_cartCRITIQOR_CDP_URL can supply the endpoint instead of --cdp-url. The target
URL must match exactly one open page by URL prefix. Critiqor does not enable
remote debugging in an arbitrary Chrome process; Chrome must expose or approve
the endpoint first. Press Ctrl-C after the browser task, then run critiqor finalize to generate the diagnosis and playbook.
Fault injection is optional and deliberately narrow. For the Crema cart mutation experiment, bind the one-shot response fault to the exact URL, HTTP method, and consequential WebMCP tool:
critiqor monitor webmcp \
--cdp-url http://127.0.0.1:9222 \
--target-url http://127.0.0.1:3000 \
--task-id add-one-bianca \
--scenario-id commit-lost-response \
--consequential-tool add_to_cart \
--reconciliation-tool get_cart \
--authoritative-tool get_cart \
--allowed-api-origin http://localhost:3001 \
--fault-response-url http://localhost:3001/operations/add-to-cart \
--fault-method POST \
--fault-tool add_to_cart \
--authoritative-state-url http://localhost:3001/operations/get-cartThe adapter injects at most once and only when exactly one matching tool
invocation is pending. It refuses an ambiguous concurrent correlation. See
docs/webmcp-browser-monitor.md for the setup and evidence contract.
Critiqor 0.2.19 adds a public Chrome/WebMCP runtime adapter.
critiqor monitor webmcpconnects to an explicit Chrome remote-debugging endpoint and validates WebMCP/CDP support before creating a run.- Live registry, dispatch, outcome, reconciliation, and authoritative-effect evidence is normalized into Critiqor's WebMCP event vocabulary.
- Optional response-stage fault injection supports controlled lost-response experiments without claiming that an ambiguous action failed safely.
websocket-clientis now installed as a runtime dependency.
Critiqor 0.2.18 adds WebMCP runtime evaluation when a run includes WebMCP events, plus a tighter dashboard review path.
- WebMCP runs produce an evidence-backed diagnosis, a run-specific improvement playbook, and a detailed Copy Fix Prompt from the selected run artifacts.
- Diagnosis, Playbook, and Evidence share a Focus run dropdown bound to
run_id, so another run is never substituted. - Engineer Brief, Executive Summary, and Agent Health cards open the same keyboard-accessible detail view. Missing fields stay unavailable.
- The local dashboard is served from the bundled production build.
Critiqor 0.2.16 focuses on runtime memory evaluation and the matching dashboard experience.
- Memory behavior is included in the diagnosis workflow when evidence is available.
- Retrieved, injected, referenced, unused, irrelevant, missed, created, ignored, and not-stored memory events can be explained from runtime evidence.
- Copy Fix Prompt includes memory behavior, supporting evidence, suggested architectural improvements, testing strategy, and success criteria.
- The dashboard reflects the current diagnosis, evidence, playbook, export, and visibility workflow.
- OpenClaw, Claude Code, Codex CLI, and custom framework workflows are presented as first-class ways to observe AI agents.
Critiqor reports can be used to:
- improve prompts, tools, memory, and agent architecture
- share a diagnosis with teammates
- document runtime evaluations
- compare whether changes improved later runs
- provide evidence for release or review decisions
Export options include PDF, Markdown, HTML, PNG, diagnosis JSON, session JSON, and ZIP bundles.
Critiqor supports dashboard visibility settings from the developer's point of view:
- Private - local owner review.
- Shared - invite-based review for teammates.
- Anonymous - redacted review without exposing identifying details.
- Public - open dashboard access when you intentionally choose it.
Configure visibility through critiqor config, then relaunch the dashboard.
| Operating system | Compatibility | Recommended install path |
|---|---|---|
| macOS | Supported | Python 3.10+ with pip or pipx |
| Linux | Supported | Distro Python package manager, then pip or pipx |
| Windows | Supported with WSL recommended | WSL2 for terminal agent workflows, or native Windows Python for basic CLI usage |
For the most reliable terminal-agent monitoring on Windows, use WSL2.
MIT


