Codex/keepalive gate runner - #27
Conversation
|
Health 45 Agents Guard stopped this pull request. What we found
Next steps
Files seen in this run
|
Automated Status SummaryHead SHA: b21b004
Coverage Overview
Coverage Trend
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeNo scope information available Tasks
Acceptance criteria
|
There was a problem hiding this comment.
Pull request overview
This PR implements a token fallback mechanism for the keepalive orchestrator workflow and standardizes token priority ordering. The changes allow the workflow to fall back to the default GITHUB_TOKEN when Personal Access Tokens (PATs) encounter scope limitation errors.
Key Changes:
- Reordered token priority in workflow to prefer
ACTIONS_BOT_PATandSERVICE_BOT_PAToverAGENTS_AUTOMATION_PAT, aligning with codebase conventions - Added fallback mechanism to retry orchestrator dispatch with
GITHUB_TOKENwhen PAT scope errors occur - Refactored retry logic into a reusable
dispatchWithClientfunction
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/workflows/agents-pr-meta-v4.yml |
Updated token priority order in two workflow steps to prioritize ACTIONS_BOT_PAT and SERVICE_BOT_PAT before AGENTS_AUTOMATION_PAT, matching the pattern used consistently across other workflows |
.github/scripts/agents_pr_meta_orchestrator.js |
Added isScopeError helper function, refactored dispatch logic into dispatchWithClient for reusability, and implemented fallback to GITHUB_TOKEN when PAT scope limitations are detected |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@codex fix comment. But make sure that the code section isn't useful and that the real issue isn't something else in the code that needs to be changed so this section is reachable |
|
Summary
Testing
|
… systems The opener cron selects work by `priority:high|normal|low` label. The weekly repo-review's design-vs-impl pass selects by traced gap. Issues created manually with `enhancement` or `feature` labels but no `priority:*` label fall into a hole: neither system sees them. Worked example surfaced 2026-05-07: Inv-Man-Intake #25, #26, #27 were created 2026-03-01 with `enhancement` + `milestone:B-extraction-queue-images` only. 71 days later, no activity, no agent ever picked them up. New `scripts/repo_review_backlog_scan.py`: - Scans all active repos via `gh issue list` - Surfaces issues with `enhancement` OR `feature` label that: - have NO `priority:*` label (opener would already see them) - have NO `agent:*` label (an agent owns it) - have NO dependabot / sync* / process-eval label (other automations) - have NOT been updated in the past `--stale-days` days (default 7) - Sorts oldest-stale-first; writes JSON to --out Coordinator runs the scan after the final evaluator pass and feeds the result to the notify step. The desktop file now includes a "Backlog needing your attention" section listing each stale item with the exact three `gh issue edit/close` commands to promote / deprioritize / close it. macOS notification subtitle shows both queue and backlog counts. Goal: an enhancement issue sits unaddressed for at most 1-2 weekly cycles before the human surfaces it. Smoke-test against current state: found 4 items in Inv-Man-Intake (#27, #26, #25 at 71 days; #10 at 14 days) — exactly the pattern the user's report identified. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…mans The 2026-05-10 feedback: surfacing every unaddressed enhancement issue for human triage is heavier than necessary. The system should label the clear-cut cases itself and only ask for human input when the issue shape is ambiguous. Two-tier classification in `repo_review_backlog_scan.py`: **auto-labelable** — leaf enhancement issues. Heuristic priority: - has `milestone:*` label → `priority:normal` (declared planned work) - created >90 days ago without milestone → `priority:low` (likely stale) - otherwise → `priority:normal` (default) With `--apply` (the cron default), the scanner calls `gh issue edit --add-label priority:X` for each leaf. The opener picks them up on its next pass. **needs-human** — surfaced for decision, not auto-labeled: - title contains epic/tracker/umbrella/roadmap/rollup/parent issue - has `epic`/`umbrella`/`tracker`/`meta`/`parent`/`needs-triage`/`discussion` - has any `blocked*` label - body has ≥2 task-checkbox lines mentioning #NNN (umbrella tracking children) - body has a "Children: #..." or "Child issues: #..." declaration Validated against the user's worked example: #25/#26/#27 → leaf (auto-label `priority:normal`); #10 → umbrella detected via 4 child checkboxes (surface for human); #7 → umbrella detected via "epic" in title. Matches the user's stated preference exactly. The desktop reminder now renders two backlog subsections: - **Auto-labeled this week (N items) — FYI, no action required**: brief one-line summary per item with applied priority. - **Backlog needing your decision (M items)**: full three-command resolution block per item (promote / deprioritize / close). macOS notification text now distinguishes the cases: clean weeks with auto-labels only show "no action required"; weeks with needs-human items show "decisions needed". Coordinator now passes `--apply` to the scanner so the cron actually mutates labels (dry-run is still the default when running the scanner standalone for testing). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
No description provided.