Skip to content

Add 'babysitter run:halt' command for sealing divergent runs #2306

Add 'babysitter run:halt' command for sealing divergent runs

Add 'babysitter run:halt' command for sealing divergent runs #2306

# Agent Review Dispatch — adversarial PR review, QA dispatch, and conditional merge
#
# Usage:
# - Comment `/review` on any PR
# - Or dispatch manually with a PR number
#
# The review agent performs adversarial code review, dispatches QA live-stack
# tests, examines results, and if everything passes — approves and merges.
# Deferred/minor issues are opened as new issues with the 'debt' label
# rather than blocking approval.
name: Agent Review Dispatch
on:
push:
branches: [main, staging, develop]
paths: ['.github/workflows/agent-review-dispatch.yml']
issue_comment:
types: [created]
workflow_dispatch:
inputs:
pr_number:
description: 'PR number to review'
required: true
type: string
instructions:
description: 'Additional review instructions (optional)'
required: false
type: string
default: ''
permissions:
contents: write
pull-requests: write
issues: write
actions: write
jobs:
review:
if: >-
(github.event_name == 'workflow_dispatch') ||
(github.event.issue.pull_request && startsWith(github.event.comment.body, '/review'))
runs-on: ubuntu-latest-l
steps:
- name: Generate a5c GitHub App token
id: a5c-token
continue-on-error: true
uses: a5c-ai/generate-token-action@main
- uses: actions/checkout@v6
with:
ref: staging
fetch-depth: 0
token: ${{ steps.a5c-token.outputs.a5c_token || github.token }}
- uses: a5c-ai/babysitter/packages/adapters/triggers@staging
with:
harness: codex
provider: foundry
model: gpt-5.5
interaction-mode: bridged-hooks
babysitter-plugin: 'true'
max-turns: '9999'
process-file: .a5c/processes/ci-pr-review.mjs
babysitter-prompt-prefix: '$babysitter:yolo '
prompt: |
Execute the predefined adversarial review process at .a5c/processes/ci-pr-review.mjs with these inputs:
{ "prNumber": ${{ inputs.pr_number || github.event.issue.number }} }
${{ inputs.instructions || '' }}
trigger-query: ''
env:
AZURE_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }}
AGENT_MUX_API_BASE: https://${{ vars.AZURE_OPENAI_PROJECT_NAME }}.services.ai.azure.com
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
GITHUB_TOKEN: ${{ steps.a5c-token.outputs.a5c_token || github.token }}