hathbanger/Sentinel

Dual-model AI review bot for pull requests and issues using Anthropic + OpenAI

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
anthropic_api_keyAnthropic API key for Claude (optional if openrouter_api_key is set)no
openai_api_keyOpenAI API key for GPT (optional if openrouter_api_key is set)no
github_tokenGitHub token for API accessno${{ github.token }}
config_pathPath to sentinel.yml config fileno.github/sentinel.yml
modeOverride mode: review, review_and_suggest, review_and_patch, issue_triage, manual_onlyno
anthropic_modelAnthropic model to usenoclaude-sonnet-4-20250514
openai_modelOpenAI model to usenogpt-4o
trigger_labelLabel required to trigger reviews/fixes. Leave unset to defer to sentinel.yml (default in config: agent, set to '' to run on every PR)no
bot_nameBot name for @mention detection (default: sentinel)nosentinel
fix_modeIssue fix mode: propose_only, propose_and_pr, yolonopropose_and_pr
openrouter_api_keyOpenRouter API key — used as fallback when Anthropic or OpenAI keys are missingno
openrouter_anthropic_modelOpenRouter model for the Anthropic (architect) rolenoanthropic/claude-sonnet-4-20250514
openrouter_openai_modelOpenRouter model for the OpenAI (engineer) rolenoopenai/gpt-4o
debugEnable debug loggingnofalse
subway_bridge_urlSubway bridge base URL for agent notificationsnohttps://relay.subway.dev
subway_notifyNotify the agent registered in .subway/pr-contact when review completesnotrue
namedescription
review_jsonFull review result as JSON (v2: includes quality_score, model_agreement, dimensions)
findings_countNumber of findings
actionDecision taken (comment_only, request_changes, etc.)
quality_scoreOverall code quality score 0.0-1.0 (1.0 = no findings)
model_agreementCross-model agreement ratio 0.0-1.0 (1.0 = full agreement)
findings_criticalCritical finding count
findings_highHigh finding count
findings_mediumMedium finding count
findings_lowLow finding count
dim_correctnessCorrectness dimension 0.0-1.0 (penalized by bug/security findings)
dim_coverageCoverage dimension 0.0-1.0 (penalized by test_gap findings)
dim_architectureArchitecture dimension 0.0-1.0 (penalized by architecture findings)
dim_valueValue dimension 0.0-1.0 (penalized by performance/maintainability findings)