fix: strip checkboxes from scope section in follow-up issues#322
fix: strip checkboxes from scope section in follow-up issues#322
Conversation
Scope is informational context, not actionable items to check off. 1. Add stripCheckboxesFromScope() function that: - Converts '- [ ] text' to '- text' (plain bullets) - Filters out placeholder content entirely - Removes empty lines 2. Update PR_META_FALLBACK_PLACEHOLDERS.scope: - Change from '- [ ] Scope section missing...' to italicized text - Matches standard PLACEHOLDERS.scope pattern 3. Update consumer repo template with same placeholder change 4. Update test to match new placeholder format This ensures scope sections in: - PR Automated Status Summary (via issue_scope_parser.js) - Verifier follow-up issues (via verifier_issue_formatter.js) ...display as informational text rather than checkbox items.
Automated Status SummaryHead SHA: c4d8c7c
Coverage Overview
Coverage Trend
Updated automatically; will refresh on subsequent CI/Docker completions. Keepalive checklistScopeNo scope information available Tasks
Acceptance criteria
|
🤖 Keepalive Loop StatusPR #322 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
There was a problem hiding this comment.
Pull request overview
This PR addresses an issue where scope sections in follow-up issues contained checkboxes that users couldn't interact with meaningfully. Since scope is informational rather than actionable, the PR removes checkboxes from scope content and updates placeholders to use italicized text instead of checkbox format.
Key Changes:
- Added
stripCheckboxesFromScope()function to convert checkbox items to plain bullets in scope sections - Changed scope placeholder from
- [ ] Scope section missing...to_Scope section missing..._(italicized) - Applied changes consistently across main codebase and consumer repo templates
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
.github/scripts/verifier_issue_formatter.js |
Implements stripCheckboxesFromScope() function and applies it to scope section generation in follow-up issues |
.github/scripts/issue_scope_parser.js |
Updates PR_META_FALLBACK_PLACEHOLDERS.scope to use italicized text format instead of checkbox |
templates/consumer-repo/.github/scripts/issue_scope_parser.js |
Mirrors the placeholder format change for consistency in consumer repos |
.github/scripts/__tests__/issue_scope_parser.test.js |
Updates test expectations to match the new italicized placeholder format |
💡 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.
ℹ️ 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".
Add extractSourceSection() to parse Source section from PR body and include it in buildTaskAppendix(). This gives Codex visibility into linked parent issues and original PRs for additional context. Changes: - Add extractSourceSection() function to extract Source links from PR body - Update buildTaskAppendix() to accept options.prBody parameter - Add 'Source Context' section to agent prompt when Source links present - Add CONTEXT TIP to keepalive-instruction.md template - Add 5 new tests for source section extraction When a PR has a Source section with links like: - Original PR: #123 - Parent issue: #456 The agent prompt now includes these as 'Source Context' so Codex knows to check linked issues/PRs for additional background.
The src/trend_analysis/ directory contains CI test fixtures used to exercise the autofix pipeline workflows - not production code. These files (e.g., _autofix_trigger_sample.py, _ci_probe_faults.py) were showing 0% coverage and artificially dragging down overall metrics. Add 'src/trend_analysis/*' to [tool.coverage.run].omit patterns.
These CI autofix test fixtures were at risk of being mistakenly deleted or flagged as orphaned code. The README explains: - Why these files exist (autofix pipeline testing) - Why they're excluded from coverage - Which tests use them
The Workflows repo was missing the caller workflow for the bot comment handler - only the reusable version existed. This meant the 'autofix:bot-comments' label had no effect. Copied from templates/consumer-repo/.github/workflows/ to enable: - Manual trigger via 'autofix:bot-comments' label - Automatic trigger after Gate completion for agent PRs - Manual dispatch via workflow_dispatch
✅ Codex Completion CheckpointCommit: No new completions recorded this round. About this commentThis comment is automatically generated to track task completions. |
|
Status | ✅ no new diagnostics |
…r bug Addresses 3 review comments from Copilot and Codex: 1. **Copilot (regex)**: Changed `\s+` to `\s*` in checkbox pattern to handle edge cases where space after bracket is missing (e.g., `- [ ]text`) 2. **Copilot (tests)**: Added 11 new tests for `stripCheckboxesFromScope()`: - Checkbox-to-bullet conversion (unchecked, x, X) - Preservation of indentation - Filtering of placeholder content - Handling of empty lines and null input - Edge case: no space after bracket 3. **Codex P1 (scope placeholder alignment)**: Fixed critical regression where `agents_pr_meta_update_body.js` was still emitting checkbox format for scope fallback while `issue_scope_parser.js` changed to italicized format. Scope is now treated as informational (plain text), not actionable (checkbox). Tests: 471 passing (up from 424)
* fix: strip checkboxes from scope section in verifier follow-up issues Scope is informational context, not actionable items to check off. 1. Add stripCheckboxesFromScope() function that: - Converts '- [ ] text' to '- text' (plain bullets) - Filters out placeholder content entirely - Removes empty lines 2. Update PR_META_FALLBACK_PLACEHOLDERS.scope: - Change from '- [ ] Scope section missing...' to italicized text - Matches standard PLACEHOLDERS.scope pattern 3. Update consumer repo template with same placeholder change 4. Update test to match new placeholder format This ensures scope sections in: - PR Automated Status Summary (via issue_scope_parser.js) - Verifier follow-up issues (via verifier_issue_formatter.js) ...display as informational text rather than checkbox items. * feat(keepalive): include Source section links in agent prompt Add extractSourceSection() to parse Source section from PR body and include it in buildTaskAppendix(). This gives Codex visibility into linked parent issues and original PRs for additional context. Changes: - Add extractSourceSection() function to extract Source links from PR body - Update buildTaskAppendix() to accept options.prBody parameter - Add 'Source Context' section to agent prompt when Source links present - Add CONTEXT TIP to keepalive-instruction.md template - Add 5 new tests for source section extraction When a PR has a Source section with links like: - Original PR: #123 - Parent issue: #456 The agent prompt now includes these as 'Source Context' so Codex knows to check linked issues/PRs for additional background. * fix(coverage): exclude src/trend_analysis from coverage metrics The src/trend_analysis/ directory contains CI test fixtures used to exercise the autofix pipeline workflows - not production code. These files (e.g., _autofix_trigger_sample.py, _ci_probe_faults.py) were showing 0% coverage and artificially dragging down overall metrics. Add 'src/trend_analysis/*' to [tool.coverage.run].omit patterns. * docs: add README explaining src/trend_analysis test fixtures These CI autofix test fixtures were at risk of being mistakenly deleted or flagged as orphaned code. The README explains: - Why these files exist (autofix pipeline testing) - Why they're excluded from coverage - Which tests use them * feat: add agents-bot-comment-handler workflow to Workflows repo The Workflows repo was missing the caller workflow for the bot comment handler - only the reusable version existed. This meant the 'autofix:bot-comments' label had no effect. Copied from templates/consumer-repo/.github/workflows/ to enable: - Manual trigger via 'autofix:bot-comments' label - Automatic trigger after Gate completion for agent PRs - Manual dispatch via workflow_dispatch * chore(codex-autofix): apply updates (PR #322) * fix: address bot review comments - regex, tests, and scope placeholder bug Addresses 3 review comments from Copilot and Codex: 1. **Copilot (regex)**: Changed `\s+` to `\s*` in checkbox pattern to handle edge cases where space after bracket is missing (e.g., `- [ ]text`) 2. **Copilot (tests)**: Added 11 new tests for `stripCheckboxesFromScope()`: - Checkbox-to-bullet conversion (unchecked, x, X) - Preservation of indentation - Filtering of placeholder content - Handling of empty lines and null input - Edge case: no space after bracket 3. **Codex P1 (scope placeholder alignment)**: Fixed critical regression where `agents_pr_meta_update_body.js` was still emitting checkbox format for scope fallback while `issue_scope_parser.js` changed to italicized format. Scope is now treated as informational (plain text), not actionable (checkbox). Tests: 471 passing (up from 424) * feat: ask Codex to post explicit task completion markers Add instruction #5 and CRITICAL section to keepalive-instruction.md asking Codex to output '✅ Completed: [task text]' in final summary. This enables reliable reconciliation parsing for completed tasks. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
* fix: strip checkboxes from scope section in verifier follow-up issues Scope is informational context, not actionable items to check off. 1. Add stripCheckboxesFromScope() function that: - Converts '- [ ] text' to '- text' (plain bullets) - Filters out placeholder content entirely - Removes empty lines 2. Update PR_META_FALLBACK_PLACEHOLDERS.scope: - Change from '- [ ] Scope section missing...' to italicized text - Matches standard PLACEHOLDERS.scope pattern 3. Update consumer repo template with same placeholder change 4. Update test to match new placeholder format This ensures scope sections in: - PR Automated Status Summary (via issue_scope_parser.js) - Verifier follow-up issues (via verifier_issue_formatter.js) ...display as informational text rather than checkbox items. * feat(keepalive): include Source section links in agent prompt Add extractSourceSection() to parse Source section from PR body and include it in buildTaskAppendix(). This gives Codex visibility into linked parent issues and original PRs for additional context. Changes: - Add extractSourceSection() function to extract Source links from PR body - Update buildTaskAppendix() to accept options.prBody parameter - Add 'Source Context' section to agent prompt when Source links present - Add CONTEXT TIP to keepalive-instruction.md template - Add 5 new tests for source section extraction When a PR has a Source section with links like: - Original PR: #123 - Parent issue: #456 The agent prompt now includes these as 'Source Context' so Codex knows to check linked issues/PRs for additional background. * fix(coverage): exclude src/trend_analysis from coverage metrics The src/trend_analysis/ directory contains CI test fixtures used to exercise the autofix pipeline workflows - not production code. These files (e.g., _autofix_trigger_sample.py, _ci_probe_faults.py) were showing 0% coverage and artificially dragging down overall metrics. Add 'src/trend_analysis/*' to [tool.coverage.run].omit patterns. * docs: add README explaining src/trend_analysis test fixtures These CI autofix test fixtures were at risk of being mistakenly deleted or flagged as orphaned code. The README explains: - Why these files exist (autofix pipeline testing) - Why they're excluded from coverage - Which tests use them * feat: add agents-bot-comment-handler workflow to Workflows repo The Workflows repo was missing the caller workflow for the bot comment handler - only the reusable version existed. This meant the 'autofix:bot-comments' label had no effect. Copied from templates/consumer-repo/.github/workflows/ to enable: - Manual trigger via 'autofix:bot-comments' label - Automatic trigger after Gate completion for agent PRs - Manual dispatch via workflow_dispatch * chore(codex-autofix): apply updates (PR #322) * fix: address bot review comments - regex, tests, and scope placeholder bug Addresses 3 review comments from Copilot and Codex: 1. **Copilot (regex)**: Changed `\s+` to `\s*` in checkbox pattern to handle edge cases where space after bracket is missing (e.g., `- [ ]text`) 2. **Copilot (tests)**: Added 11 new tests for `stripCheckboxesFromScope()`: - Checkbox-to-bullet conversion (unchecked, x, X) - Preservation of indentation - Filtering of placeholder content - Handling of empty lines and null input - Edge case: no space after bracket 3. **Codex P1 (scope placeholder alignment)**: Fixed critical regression where `agents_pr_meta_update_body.js` was still emitting checkbox format for scope fallback while `issue_scope_parser.js` changed to italicized format. Scope is now treated as informational (plain text), not actionable (checkbox). Tests: 471 passing (up from 424) * feat: ask Codex to post explicit task completion markers Add instruction #5 and CRITICAL section to keepalive-instruction.md asking Codex to output '✅ Completed: [task text]' in final summary. This enables reliable reconciliation parsing for completed tasks. * sync: add keepalive-instruction.md template to sync manifest Consumer repos had their own copies that weren't being updated. Now the template will sync automatically with other consumer files. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Summary
Strip checkboxes from scope sections and add source context visibility for Codex.
Changes
1. Scope Checkbox Stripping
Scope sections are informational, not actionable checkboxes. This PR:
stripCheckboxesFromScope()to convert- [ ] textto- textin scope sections2. Source Context for Codex Agent
When Codex works on a PR, it may need context from linked issues/PRs. This PR:
extractSourceSection()to parse Source links from PR bodybuildTaskAppendix()to include "Source Context" section in agent promptkeepalive-instruction.mdabout checking linked issues/PRsFiles Changed
Scope checkbox stripping:
.github/scripts/verifier_issue_formatter.js- AddstripCheckboxesFromScope()function.github/scripts/issue_scope_parser.js- Update scope placeholder to italicized texttemplates/consumer-repo/.github/scripts/issue_scope_parser.js- Sync template updateSource context for Codex:
.github/scripts/keepalive_loop.js- AddextractSourceSection()and updatebuildTaskAppendix().github/templates/keepalive-instruction.md- Add CONTEXT TIP about source linksTests:
.github/scripts/__tests__/verifier-issue-formatter.test.js- Tests for checkbox stripping.github/scripts/__tests__/issue_scope_parser.test.js- Update placeholder test.github/scripts/__tests__/keepalive-loop.test.js- 5 new tests for source extractionTesting
All 424 tests passing (58 + 5 new = 63 tests related to these changes).