chore(codex): bootstrap PR for issue #123#124
Conversation
Automated Status SummaryHead SHA: 8bf722d
Coverage Overview
Coverage Trend
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScope
Tasks
Acceptance criteria
|
There was a problem hiding this comment.
Pull request overview
This PR creates a bootstrap file for Codex to track work on issue #123. The change adds a single markdown file following the established pattern used throughout the agents/ directory.
- Adds a new bootstrap file
agents/codex-123.mdwith a placeholder comment
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
The Update summary comment step in agents-keepalive-loop.yml was truncated, missing the closing brace and function call. This caused a SyntaxError: Unexpected token ')' when the workflow ran. Fixes the keepalive loop failure on PR #124 and any other PRs with agent:codex labels.
The Update summary comment step in agents-keepalive-loop.yml was truncated, missing the closing brace and function call. This caused a SyntaxError: Unexpected token ')' when the workflow ran. Fixes the keepalive loop failure on PR #124 and any other PRs with agent:codex labels.
|
Triggering workflows after security guard fix (PR #126 merged) |
🤖 Keepalive Loop StatusPR #124 | Agent: Codex | Iteration 6/5 Current State
Last Codex Run
Codex output:
📋 Task Reconciliation NeededNext iteration should:
|
* chore(codex): bootstrap PR for issue #123 * chore(codex-keepalive): apply updates (PR #124) * Trim CLI status summary details * chore(codex-keepalive): apply updates (PR #124) * Suppress keepalive instructions for CLI agents * chore(codex-keepalive): apply updates (PR #124) * style: fix black formatting in test_keepalive_workflow.py * chore(codex-keepalive): apply updates (PR #124) * feat(keepalive): emit step summary for agent runs * chore(codex-keepalive): apply updates (PR #124) * test(keepalive): add per-run task delta to step summary * chore(codex-keepalive): apply updates (PR #124) * feat(pr-meta): infer agent type from labels * chore(codex-keepalive): apply updates (PR #124) * feat(gate-summary): skip CLI agent comments * chore(codex-keepalive): apply updates (PR #124) * fix(keepalive): preserve summary when updating state * chore(codex-keepalive): apply updates (PR #124) * feat(keepalive): add automatic task checkbox reconciliation - Add analyzeTaskCompletion() to match commits/files to task text - Add autoReconcileTasks() to auto-check high-confidence task matches - Add Auto-reconcile task checkboxes step to keepalive workflow - Export head_sha from evaluate job for commit comparison - Add tests for task reconciliation logic When Codex makes changes but doesn't update task checkboxes, the system now analyzes commit messages and file paths to identify which tasks were likely completed, and automatically checks them off if confidence is high (50%+ keyword match + file/commit match). * feat(keepalive): allow productive work to extend past max_iterations - Change max_iterations from hard cap to stuck-detection threshold - Continue past max if agent made file changes and has no failures - Show 'ready-extended' reason and 🚀 badge when in extended mode - Fix iteration loading from state (config default 0 was overriding state) - Add test for extended mode behavior This allows productive PRs to continue indefinitely while still stopping stuck/failing PRs at the max_iterations limit. * fix(agents-verifier): use auth.json instead of fake API key The workflow was passing 'auth-via-codex-auth-json' as a literal API key to codex-action, which doesn't work. The fix: 1. Remove openai-api-key parameter - when empty, codex-action reads from auth.json directly instead of using the proxy 2. Set codex-home to a custom location and copy auth.json there 3. Use safety-strategy: unsafe since we're not using the API proxy (sandbox: read-only still limits Codex capabilities) * Update .github/scripts/keepalive_loop.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/scripts/keepalive_state.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/scripts/keepalive_state.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/scripts/keepalive_loop.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix(keepalive): revert broken UI Codex patches that broke syntax Reverts commits 686ffec, 73367d2, e288c5f, 5f2be33 which introduced syntax errors by incorrectly mangling keepalive_loop.js - removing a closing brace and inserting code in the wrong location. The keepalive_state.js changes are also reverted as they were part of the same broken patch sequence. * Update .github/scripts/keepalive_loop.js Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update .github/workflows/agents-keepalive-loop.yml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * fix(keepalive): restore analyzeTaskCompletion function arguments UI Codex incorrectly replaced the function arguments with a comment, breaking the autoReconcileTasks function. This restores the proper arguments: github, context, prNumber, baseSha, headSha, taskText, core --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Codex <codex@example.com> Co-authored-by: Codex <codex@local> Co-authored-by: Codex <codex@openai.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Automated Status Summary
Scope
GITHUB_STEP_SUMMARYoutput so iteration results are visible in the Actions UITasks
agent:codexlabelagents-keepalive-loop.ymlafter agent runbuildStatusBlock()inagents_pr_meta_update_body.jsto acceptagentTypeparameteragentTypeis set (CLI agent): hide workflow table, hide head SHA/required checksagent:*label):<!-- gate-summary: -->comment posting (use step summary instead)<!-- keepalive-round: N -->instruction comments (task appendix replaces this)<!-- keepalive-loop-summary -->to be the single source of truthagent:*label):<!-- gate-summary: -->commentagent_typeoutput to detect job so downstream workflows know the modeagents-pr-meta.ymlto conditionally skip gate summary for CLI agent PRsAcceptance criteria