docs: Clarify CLI vs UI agent distinction in keepalive system#700
docs: Clarify CLI vs UI agent distinction in keepalive system#700
Conversation
The consumer repo template for agents-issue-intake.yml was always passing post_agent_comment as false for issue-triggered events (when inputs are undefined), preventing the coding agent from auto-starting. Changed to default to 'true' for issue events, allowing workflow_dispatch to override via the post_codex_comment input parameter. This matches the reusable workflow's default behavior. Fixes the issue where PRs created from issues (e.g., via verify:create-issue) would never start the coding agent, leaving them stuck in 'agent-run-skipped' state across all consumer repos.
Add comprehensive explanation of the two Codex execution modes to prevent common troubleshooting mistakes: 1. CLI Agent (workflow-based) - Primary keepalive system 2. UI Agent (comment-based) - Backup for manual interventions Key clarifications: - Why orchestrator skips PRs with agent:* labels (by design) - Decision tree for debugging keepalive issues - Clear guidance on when each mode is appropriate Updated: - CLAUDE.md: Added 'Two Ways to Run Codex' section with flow diagram - KEEPALIVE_TROUBLESHOOTING.md: New section explaining CLI vs UI distinction This addresses confusion where agents think the orchestrator skip is a bug when it's actually correct behavior for CLI agent PRs.
There was a problem hiding this comment.
Pull request overview
This PR adds comprehensive documentation to clarify the distinction between CLI-based and comment-based Codex execution modes, addressing confusion about why the orchestrator skips PRs with agent:* labels. A minor workflow logic change is included as a follow-up fix from PR #695.
Key Changes
- Added detailed explanation of CLI Agent (workflow-based) vs UI Agent (comment-based) execution modes
- Documented why the orchestrator intentionally skips
agent:*labeled PRs - Added debugging decision tree for troubleshooting keepalive issues
- Updated
post_agent_commentlogic to always post comments for issue-triggered events while respecting manual input for workflow_dispatch
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
templates/consumer-repo/.github/workflows/agents-issue-intake.yml |
Modified post_agent_comment parameter to conditionally respect inputs.post_codex_comment only for workflow_dispatch events, defaulting to 'true' for issue events |
docs/keepalive/KEEPALIVE_TROUBLESHOOTING.md |
Added comprehensive "Understanding CLI vs UI Agents" section with activation flows, debugging decision tree, and common mistakes to avoid |
CLAUDE.md |
Added "Two Ways to Run Codex" section with flow diagram and explanation of why the orchestrator skips CLI agent labels, plus references to canonical documentation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b33bbc8254
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ment When PRs are created from issues labeled with agent:codex, the template was posting @codex start comments which triggered the UI agent. However, the CLI keepalive loop already handles codex PRs through the workflow system. Having both agents run simultaneously causes conflicts. This fix: - Skips post_agent_comment for agent:codex (CLI keepalive handles it) - Keeps post_agent_comment for other agents like agent:claude - Preserves workflow_dispatch behavior for manual overrides Addresses P2 issue raised in PR #700 review comment. See docs/keepalive/Agents.md for CLI vs UI agent distinction.
|
Gate fast-pass: docs-only change detected; heavy checks skipped. |
🤖 Keepalive Loop StatusPR #700 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
🤖 Keepalive Loop StatusPR #700 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
…ment When PRs are created from issues labeled with agent:codex, the template was posting @codex start comments which triggered the UI agent. However, the CLI keepalive loop already handles codex PRs through the workflow system. Having both agents run simultaneously causes conflicts. This fix: - Skips post_agent_comment for agent:codex (CLI keepalive handles it) - Keeps post_agent_comment for other agents like agent:claude - Preserves workflow_dispatch behavior for manual overrides Supersedes PR #701 (which had unrelated commits mixed in) Addresses P2 issue raised in PR #700 review comment. See docs/keepalive/Agents.md for CLI vs UI agent distinction.
…ment (#705) When PRs are created from issues labeled with agent:codex, the template was posting @codex start comments which triggered the UI agent. However, the CLI keepalive loop already handles codex PRs through the workflow system. Having both agents run simultaneously causes conflicts. This fix: - Skips post_agent_comment for agent:codex (CLI keepalive handles it) - Keeps post_agent_comment for other agents like agent:claude - Preserves workflow_dispatch behavior for manual overrides Supersedes PR #701 (which had unrelated commits mixed in) Addresses P2 issue raised in PR #700 review comment. See docs/keepalive/Agents.md for CLI vs UI agent distinction.
Automated Status Summary
Scope
Problem
When PRs are created from issues (e.g., via
verify:create-issuelabel), the Issue Intake workflow in consumer repos was always passingpost_agent_comment: false, preventing the coding agent from automatically starting work.This caused PRs to be stuck in
agent-run-skippedstate because:Context for Agent
Design Decisions & Constraints
Related Issues/PRs
References
Workflows/templates/consumer-repo/.github/workflows/agents-issue-intake.yml
Lines 170 to 182 in dcc98cd
Tasks
inputsinputs.post_codex_comment && 'true' || 'false'→'false'@codex startcomment is postedAcceptance criteria
'true'for issue events (auto-start agent)inputs.post_codex_commentonly forworkflow_dispatchHead SHA: 3515688
Latest Runs: ✅ success — Gate
Required: gate: ✅ success