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.overrideevents ÷ 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.overridecounts over the last 30 days
Data Sources
The aggregation (getHandoffMetrics) reads two stores:
factory_events- counts ofhuman.review-started,human.review-completed, andhuman.overrideevent rowsfactory_metrics- thestation_cycle_timemetric for theacceptancestation, 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:
- Automate pre-checks - use condition nodes to catch issues before the gate
- Add escalation triggers - gate timeouts can escalate or auto-resolve (see Gates)
To improve acceptance rate:
- Improve agent quality - fix credential/logic issues causing rejections
- Refine gate conditions - only hand off when truly ambiguous
- 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.
Related Pages
- Agent Reliability - Session success rates and crashes
- Rework & Escalation - Rework distribution across phases
- Workflow Gates - Gate node types and configuration
- Approval Gates - BFSI approval gate specifics