Rensei docs
Performance

Handoff Metrics

Review latency and override frequency.

Partially implemented - reader without a producer. The panel, API, and aggregation queries are shipped, but nothing emits the human.review-started / human.review-completed / human.override events yet: the event types exist in the factory-event taxonomy and the queries consume them, but no platform surface produces them when a human acts on a gate. Until that producer lands, the panel renders zeros.

Measure the cost and friction of human handoffs in your workflow. Handoff Metrics tracks review latency, acceptance rates, and override patterns to reveal bottlenecks in the human-in-the-loop stages of your SDLC.

Overview

Handoffs occur when an agent reaches a gate that requires human decision (approval, review, or timer expiration). The Handoff Metrics panel on the Performance dashboard shows four cards plus a timeline:

  • Avg Review Latency - a single average (no percentile breakdown), currently sourced from the acceptance-station cycle-time metric
  • Acceptance Rate - completed reviews ÷ started reviews
  • Override Frequency - human.override events ÷ started reviews
  • Friction Score - composite gauge (0-100; Low ≤30, Medium ≤60, High >60) combining latency, acceptance-rate inverse, and override rate
  • Override Timeline - daily human.override counts over the last 30 days

Data Sources

The aggregation (getHandoffMetrics) reads two stores:

  • factory_events - counts of human.review-started, human.review-completed, and human.override event rows
  • factory_metrics - the station_cycle_time metric for the acceptance station, used as the review-latency proxy

The events carry issueId / sessionId / payload like every factory event; there is no decision or overrideDuration field on them.

Display & Filtering

The panel is scoped to the active workspace. It has no gate-type or work-type filter controls - the time scoping is the timeline's fixed last-30-days window.

Interpreting Results

Once the review-event producer lands, the standard reads are:

High acceptance + low override

Agent output is high quality; gates are mostly confirmation. Consider whether each gate is still earning its latency.

Low acceptance (<70%)

The gates are catching real issues - the system is working, but upstream agent quality needs attention. Inspect session logs for common rejection causes (credentials, ambiguous specs, constraint violations).

Override spikes

Check the timeline for when the spike occurred and correlate with workflow deploys, credential rotations, or service incidents.

Optimizing Handoff Friction

To reduce latency:

  1. Automate pre-checks - use condition nodes to catch issues before the gate
  2. Add escalation triggers - gate timeouts can escalate or auto-resolve (see Gates)

To improve acceptance rate:

  1. Improve agent quality - fix credential/logic issues causing rejections
  2. Refine gate conditions - only hand off when truly ambiguous
  3. Provide context - include agent reasoning in the gate payload

API & Programmatic Access

The panel's numbers come from GET /api/factory/metrics?metricType=handoff. Raw events can be listed with:

curl -H "Authorization: Bearer $RENSEI_API_KEY" \
  'https://app.rensei.ai/api/factory/events?eventType=human.override&from=2026-05-03T00:00:00Z&limit=100'

Supported query parameters: eventType (single value), issueId, from, to, limit (≤500), and project scoping via projectIds. Filtering by decision or passing comma-separated event-type lists is not supported.

On this page