Skip to content

RoboDiag Harness

ROS 2 robot diagnostics CLI where an optional agent uses Jev to choose which read-only evidence tool to call next.

CLIbetaApache-2.0

Overview

RoboDiag Harness brings ROS 2 robot telemetry, deterministic health checks, diagnostic history in SQLite and AI-assisted investigation into one terminal interface. It inspects the live ROS 2 graph, reads /diagnostics, samples topics and runs repeatable health tests. A Robot Diagnostic Capability Description (RDCD) declares which capabilities apply to a given robot, so missing declared data is a finding while undeclared capabilities are simply not applicable. The normal CLI needs no AI model.

An optional diagnostic agent gathers evidence through the same tools and explains it. When TYPESAFE_API_KEY is set, Jev acts as a fast decision layer that chooses which read-only evidence tool to call next during a diagnosis; if Jev tries to stop before required live measurements are collected, it is not allowed to. Jev never executes motion or write operations, and measured data and deterministic code remain the source of truth.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich read-only evidence tool should be called next for this diagnosis?—
Yes / noIs there enough evidence to stop collecting?(inferred)—

How it works

  1. Load the robot's RDCD capability description
  2. Run deterministic health checks and sample topics
  3. Jev picks the next read-only evidence tool
  4. Stopping is blocked until required measurements exist; the agent explains the evidence

Strengths

  • Jev cannot trigger motion or writes
  • Deterministic checks remain the source of truth
  • Works without AI for normal use

Caveats

  • Jev routing is optional and needs a key
  • Demonstrated on Mini Pupper 2

At a glance

Type
CLI
Status
beta
Language
Python
Runtime
Terminal app for ROS 2
Has code
yes
License
Apache-2.0

Use cases and integrations

How curated lists describe it

  • Command-line diagnostics for ROS 2 robots: an evidence-gathering agent whose tool calls are gated by typed decisions before anything touches the robot.

    MrJev/awesome-jev

Frequently asked questions

What does Jev decide in RoboDiag?

Which read-only evidence tool to call next during a diagnosis.

Can Jev move the robot?

No; the README says Jev does not execute motion or write operations.

Do I need AI to use RoboDiag?

No, the normal CLI works without a model.

Related projects

  • Python library and CLI that turns noisy sources like CI logs, diffs and web pages into small, traceable Jev briefings.

    BenchmarkbetaPython
  • Measured runs of Jev triaging incidents for a simulated 10,000-robot warehouse fleet, with cost and a ModernBERT comparison.

    ServiceresearchPython
  • One CLI to command a flock of robots with an LLM per robot, plus an optional decision LLM such as Jev that picks among known skills.

    CLIbetaPython
  • Go CLI for managing WordPress sites at scale, with typesafe commands that ask Jev questions and a scan --triage that ranks malware findings.

    ProjectproductionGo
  • Composio agent SDK with an optional TypeSafe provider that uses Jev to shortlist and pick tools and closed-set arguments.

    ProjectproductionTypeScript
  • Python multi-agent runtime with native Jev support: agents ask typed questions via a decision client separate from the text model.

    LibraryproductionPython