Robotics Incident Triage · Local Evidence Engine

Before replaying the entire log, narrow the investigation window.

Velune Trace prioritizes timing evidence windows from MCAP and ROS2 logs. It gives engineers a focused starting range before full replay and detailed investigation.

Find the events. Engineers find the cause.

Local-only No telemetry No automatic raw-log upload Human final judgment

The Cost Before Investigation

Searching the entire log is recurring work before root-cause analysis begins.

When an autonomous robot issue occurs, replaying the full log, searching topics one by one, and repeatedly aligning timestamps consumes engineering time before the actual cause can even be examined.

Without triage

An investigation with no starting point

  • Replay the full MCAP or ROS2 log
  • Search large topic sets manually
  • Repeatedly align timestamps and message flows
  • Only then begin root-cause investigation
With Velune Trace

An investigation with prioritized starting points

  • Read the log locally
  • Summarize observable timing evidence
  • Review Top-K evidence windows
  • Investigate selected ranges in existing tools

As logs grow, this search cost returns with every incident. Failing to narrow the first review range is an expensive use of engineering time.

Ranked Evidence Windows

Choose the review depth needed for the investigation.

The default Quickstart returns the top five timing evidence windows. For a broader investigation view, use --top 10, --top 15, or --top 30 to change the number of results presented for review.

Top 5 Fast first review
Top 10 Expanded review
Top 15 Broader range
Top 30 Deeper review

--top controls the number of evidence windows, not their duration. Ranking orders review candidates using observed timing evidence. It is not a root-cause probability or safety-risk score.

Observable Timing Evidence

Observable timing evidence, not a system judgment.

Velune Trace structures timing signals visible in the log. It does not conclude that a signal represents a defect or the cause of an incident.

Topic gap

Summarizes observed time gaps in message flows at the evidence-window level.

Jitter

Observes timing variation in message arrival or timestamp intervals.

Count ratio

Structures observed message-count ratios across compared topics or windows.

Out-of-order timing

Observes ordering differences between recorded sequences and timestamp flows.

Quick Test to Real Workflow

Do not take the description on trust. Run the sample.

You can test the ranked evidence-window workflow without providing an internal log or raw MCAP file. After the sample run, replace only the input path to apply the same local workflow to your own MCAP.

1. Sample-log Quick Test

git clone https://github.com/veluneos/velune-trace.git
cd velune-trace

python3 -m venv .venv
source .venv/bin/activate

pip install -r requirements.txt
python3 tools/create_sample_mcap.py

./bin/velune validation-report examples/sample.mcap \
  --export-dir velune_report \
  --window-sec 1 \
  --top 5 \
  --allowed-lateness-sec 2

Local Evidence Report output

The command creates the following files locally without modifying the source log or uploading it to a Velune server.

  • velune_report/summary.md
  • velune_report/shareable_anonymous_report.json
  • velune_report/topic_profile.json
  • velune_report/evidence_windows.json
  • velune_report/SCHEMA.md

2. Run locally on your own MCAP

./bin/velune validation-report /path/to/your-log.mcap \
  --export-dir velune_report \
  --window-sec 1 \
  --top 10 \
  --allowed-lateness-sec 2

Adjust the review depth

Use --top 5 for a fast first review or --top 10, --top 15, and --top 30 for a broader investigation view.

Processing remains local. Velune Trace performs no automatic raw-log upload, telemetry, or Velune server call.

Pre-viewer Triage Layer

Velune Trace does not replace your existing viewer.

It is a pre-viewer triage layer that narrows the timestamps and topic ranges worth reviewing before opening Foxglove, PlotJuggler, or an existing analysis workflow.

1 Review ranked windows

Inspect prioritized evidence windows and observed topic signals in the Velune Trace report.

2 Select a timestamp range

Choose the start time, end time, and topics relevant to the engineering question.

3 Investigate in existing tools

Replay the selected range in Foxglove or the existing engineering workflow and determine the final cause.

Core Bundle Comparison v1

Stop replaying two logs side by side. Start with the evidence that changed.

Velune Trace compares two completed and verified Core Report Bundles locally. It structures observed differences in topic sets, timing profiles, and ranked evidence-window summaries so engineers can begin with what changed.

REFERENCE Reference Bundle

A completed Core Report Bundle selected by the user as the comparison reference

TARGET Target Bundle

A completed Core Report Bundle selected after a change or as the comparison target

OBSERVED DIFFERENCES What the comparison report structures
01 Topic set Added, removed, and common topics
02 Timing profile Differences in comparable observed metrics
03 Evidence windows Ranked-window summary differences
Local comparison compare-bundles
./bin/velune compare-bundles   /path/to/reference_bundle   /path/to/target_bundle   --export-dir comparison_output
LOCAL OUTPUT

Two comparison artifacts are generated.

  • comparison_report.json Machine-readable source of truth
  • comparison_summary.md Bounded human-readable summary

Comparison does not require the original MCAP files. It operates from completed Core Report Bundles.

MEASURED CASE · nuScenes scene-0553

A timing change in one topic was isolated in a real Bundle comparison.

The original MCAP and a validation Target fixture with 20 removed /lidar_top messages were analyzed with the same extraction settings.

REFERENCE Original MCAP
Topics 41
/lidar_top 398 messages
Maximum gap 100.089 ms
TARGET FIXTURE 20 LiDAR messages removed
Topics 41
/lidar_top 378 messages
Maximum gap 1,050.060 ms
Changed common topic 1 · /lidar_top
Message count 398 → 378
Profile maximum gap 100.089 → 1,050.060 ms
Minimum Top-K count ratio 0.904762 → 0.0
Target review position Top-5 · Rank 1
Max active windows 119 → 119

Velune Trace derived the fully unobserved aligned range between two adjacent observed timestamps as a sparse_missing_interval and presented it as the first Target review range. This is observed timing evidence, not a determination of cause, failure, safety, or regression.

Before vs After Version vs Version Robot vs Robot Site vs Site Reference vs Target

A Reference Bundle is not ground truth or a definition of normality. The report presents observed differences only. It does not determine root cause, fault, safety risk, or regression. This is pairwise Core Bundle Comparison, not the complete Private Baseline workflow.

Measured Separately

Initial indexing and post-index retrieval are separate.

In an internal large-scale expansion benchmark, the initial scan and indexing of a 10.7GB log containing 9,237,885 events took approximately 276 seconds. Retrieval of a selected evidence chain after indexing took approximately 0.002 seconds.

10.7GB Internal expansion benchmark log
About 4.6 min Initial full scan and indexing
About 0.002 sec Post-index evidence retrieval

This was a synthetic large-scale expansion benchmark. Results depend on hardware, storage, compression, message structure, and dataset characteristics. Initial indexing time and post-index retrieval time are reported separately.

Evidence, Not Judgment

Velune narrows the starting point and leaves judgment open.

What Velune Trace does

  • Processes MCAP and ROS2 logs locally
  • Generates timing evidence windows
  • Prioritizes observed evidence for review
  • Creates reproducible Markdown and JSON output
  • Provides timestamp ranges for existing viewers

What Velune Trace does not determine

  • Root cause
  • Fault or liability
  • Safety risk or severity
  • Normality, abnormality, or regression
  • The final engineering conclusion

Velune Trace performs no automatic raw-log upload, telemetry, or Velune server call. Engineers with system and operational context make the final cause determination.

Private Validation

Validate whether it reduces the starting range in a real operational investigation.

The validation question is deliberately narrow: does evidence-window ranking reduce the time engineers spend searching logs during real autonomous-robot incidents?

Private Validation does not require external upload of a raw MCAP or internal log. Validation can use results produced in the team's local environment and feedback on the existing investigation workflow.