- Rule-based detection — deterministic rules with clear thresholds
- AI-powered analysis — Claude-powered analysis of all metrics data to find patterns that rules miss
Rule-based risk signals
| Signal | Threshold | Category |
|---|---|---|
| Stale service | No merge activity in 14+ days | stale_service |
| Bus factor risk | Only one contributor to a service | bus_factor |
| Slow cycle times | PR cycle time exceeding 72 hours | slow_reviews |
| Large PRs | PRs with 500+ lines taking 48+ hours | large_prs |
| Workload imbalance | One contributor doing 50%+ of work | review_bottleneck |
| Activity drop | 30%+ decrease in activity vs previous period | activity_drop |
| Activity spike | 50%+ increase in activity vs previous period | activity_spike |
| High failure rate | Deployment failure rate above threshold | failure_rate |
- Category — the type of risk
- Severity — how critical the signal is
- Description — what was detected
- Affected entity — which service, contributor, or PR is involved
- Recommendation — suggested action to take
AI-powered risk signals
On Business and Enterprise plans, Periscope can analyze all your metrics data using Claude to generate additional insights. The AI analysis:- Looks for patterns that span multiple metrics (e.g., a service with declining throughput and increasing cycle time and a single contributor)
- Generates natural language descriptions of the risk and its potential impact
- Provides actionable recommendations specific to your team’s data
- Uses the same
RiskSignalformat as rule-based signals for consistency
AI risk signals are generated on demand when you view the risk signals panel or query them via MCP. They are not stored or tracked historically.
Interpreting risk signals
Stale services
A service flagged as stale has not had a PR merged in over 14 days. This could mean:- The service is mature and stable (acceptable)
- The service has been abandoned (needs ownership decision)
- Work is happening but not going through PRs (unusual)
Bus factor
A service with only one contributor is at risk if that person leaves, goes on vacation, or gets sick. Even if the service is actively maintained, having a single point of failure is a structural risk. Action: Cross-train another team member or establish a rotation for code review.Slow reviews and large PRs
These signals often appear together. Large PRs take longer to review, which increases cycle time, which delays delivery. It is a reinforcing loop. Action: Coach the team on breaking work into smaller PRs. Set guidelines for maximum PR size.Workload imbalance
When one person does more than half the work on a service or across the team, it creates both a bus factor risk and a burnout risk. Action: Review task distribution in sprint planning. Consider pairing or rotating assignments.Activity anomalies
Sudden drops or spikes in activity are worth investigating:- Drops may indicate blockers, team attrition, or a shift to non-PR work
- Spikes may indicate deadline pressure, a large feature landing, or a catch-up after a blocker is resolved
MCP tool
Query risk signals from your AI coding assistant:Service health
Service health provides the per-repository view that risk signals draw from.