nfs-247/AI Peer Review Dispatcher

Runs the AI peer review dispatcher against the calling repository's pull request. Claude/GPT/Gemini review adversarially and post HMAC-signed verdicts; the dispatcher converges or escalates to the human operator. It never merges (no contents: write in the caller).

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
namedescriptionrequireddefault
github_tokenToken for GitHub API calls. Pass secrets.GITHUB_TOKEN.yes
anthropic_api_keyAnthropic API key (Claude reviewer).no""
openai_api_keyOpenAI API key (GPT reviewer).no""
gemini_api_keyGemini API key (Gemini reviewer, high-stakes).no""
xai_api_keyxAI API key (optional Grok reviewer). Only called when 'grok' is added to a tier roster; an unset key is harmless.no""
resend_api_keyResend API key for escalation email (optional; falls back to a PR comment).no""
operator_emailEscalation email recipient (optional).no""
operator_github_loginGitHub login allowed to issue OPERATOR commands.noNERT24
dispatcher_verdict_secretHMAC key signing dispatcher verdicts. Without it, no verdict counts (fail-safe).no""
google_chat_webhook_urlGoogle Chat incoming-webhook URL for mobile escalation pings (optional).no""
approve_webapp_urlApps Script /exec URL for one-tap operator approval from the Chat card (optional).no""
approve_signing_secretShared secret to HMAC-sign approve/merge links so they can't be edited to target other PRs (optional).no""
repo_config_pathPath (relative to the caller checkout) to the per-repo config. Defaults to .peer-review.json at the repo root; the legacy .github/ai-peer-review.json is still loaded automatically if the primary file is absent.no.peer-review.json
escalation_cooldown_minutesMinutes the dev agent must be quiet (no new commit) before a review-outcome escalation pings the operator. Empty uses the repo config value (default 10). Set 0 to ping immediately.no""
billing_modeHow this tenant is billed for AI usage: 'byok' (tenant's own keys, platform charges nothing for usage) or 'platform' (platform's keys, billed with a markup). Empty uses the repo config value (default byok).no""
usage_markup_multiplierMultiplier applied to provider cost when billing_mode=platform (e.g. 1.3 = 30% margin). Empty uses the repo config value (default 1.0).no""
dev_fee_usdFlat per-period dev/orchestration fee recorded for invoicing. Empty uses the repo config value (default 0).no""
app_idGitHub App id. When set with app_private_key, the dispatcher mints a per-installation token (its own 5–15k req/hr quota) instead of the per-repo GITHUB_TOKEN (1k/hr). Optional; see SCALING.md.no""
app_private_keyPEM private key for the GitHub App in app_id. Pass secrets.APP_PRIVATE_KEY. Required only if app_id is set.no""

no outputs