Implements automatic discovery of GitHub workflow run IDs for gates awaiting CI/CD completion. This enables the Refinery patrol to auto-populate await_id for gh:run gates that were created without one. Changes: - Add `bd gate discover` command that: - Finds open gh:run gates without await_id - Queries recent GitHub workflow runs via gh CLI - Matches runs to gates using heuristics (branch, commit, time) - Updates gates with discovered run IDs - Add `--await-id` flag to `bd update` for manual setting - Add AwaitID to UpdateArgs in RPC protocol - Add await_id to allowedUpdateFields in storage layer Matching heuristics (scored, highest match wins): - Commit SHA match: +100 points - Branch match: +50 points - Time proximity (<5min: +30, <10min: +20, <30min: +10) - In-progress/queued status: +5 points Usage: bd gate discover # Auto-discover for all matching gates bd gate discover --dry-run # Preview without updating bd gate discover --branch main --limit 10 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
19 KiB
19 KiB