How parambhatia2004/jack-ryan works
Jack Ryan is a background engineering-risk monitor. On each polling cycle, its agent fetches GitHub pull requests and Jira sprint, completed, and incident tickets; it runs five detectors, compares findings with persisted active signals, and posts new or resolved alerts to Slack. Incident-linked PRs also seed file-risk scores. The README documents these capabilities; the graph’s implementation links are limited to the excerpts and source-index references provided.
Main entry points: agent.py Polling agent · config.py Configuration · jira.py Jira monitor · github.py GitHub monitor
Components 15
Polling orchestration
- Polling agent
agent.py - Configuration
config.py
Activity collection
- GitHub monitor
monitors/github.py - Jira monitor
monitors/jira.py
Risk detection
- Incident-linked files
signals/incident_files.py - Large untracked change
signals/large_untracked_change.py - Simultaneous edits
signals/simultaneous_edits.py - Done without PR
signals/done_no_pr.py - Sprint coordination
signals/sprint_coordination.py
State and delivery
- SQLite state
db.py - Slack delivery
slack.py
Other components
- Operator
- GitHub
- Jira
- Slack
Connections 22
- Operator → Polling agent: starts
README.md - Polling agent → GitHub monitor: fetches PRs
agent.py - Polling agent → Jira monitor: fetches tickets
agent.py - GitHub monitor → GitHub: queries
monitors/github.py - Jira monitor → Jira: queries
monitors/jira.py - Polling agent → Incident-linked files: runs check
agent.py - Polling agent → Large untracked change: runs check
agent.py - Polling agent → Simultaneous edits: runs check
agent.py - Polling agent → Done without PR: runs check
agent.py - Polling agent → Sprint coordination: runs check
agent.py - Incident-linked files → SQLite state: reads risk scores
signals/incident_files.py - Polling agent → SQLite state: tracks signals
agent.py - Polling agent → SQLite state: seeds risk scores
agent.py - Polling agent → Jira monitor: fetches PR links
agent.py - Polling agent → Slack delivery: posts alerts
agent.py - Slack delivery → Slack: sends messages
slack.py - Polling agent → Configuration: reads settings
agent.py - GitHub monitor → Configuration: reads credentials
monitors/github.py - Jira monitor → Configuration: reads credentials
monitors/jira.py - Slack delivery → Configuration: reads credentials
slack.py - Done without PR → Configuration: reads grace period
signals/done_no_pr.py - Sprint coordination → Configuration: reads thresholds
signals/sprint_coordination.py