fix: preserve indented checkbox states in PR Meta body sync#258
Merged
fix: preserve indented checkbox states in PR Meta body sync#258
Conversation
parseCheckboxStates() and mergeCheckboxStates() only matched top-level checkboxes (^- \[), ignoring indented sub-tasks ( - \[). When PR Meta regenerated the PR body from the issue, auto-reconciled sub-task checkboxes were silently reverted to unchecked. This caused the keepalive loop to stall with rounds_without_task_completion: 8 despite the agent completing real work — PR #256 had 5 tasks auto-checked then immediately un-checked on every push. https://claude.ai/code/session_01JhCWWDJG8PqwaSbVPCGfm6
Contributor
There was a problem hiding this comment.
Pull request overview
Fixes PR Meta body regeneration so it preserves checked states for indented (nested) markdown checklist items, preventing sub-task progress from being silently reverted during sync.
Changes:
- Updated
parseCheckboxStates()to detect checkbox lines with leading indentation. - Updated
mergeCheckboxStates()to preserve indentation when restoring checked states onto regenerated content.
Contributor
🤖 Keepalive Loop StatusPR #258 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
Contributor
Keepalive Work Log (click to expand)
|
The body scan in extractIssueNumberFromPull was treating patterns like "Run #2615" as issue references, causing the Upsert PR body sections check to fail with a 404 when trying to fetch non-existent issues. Add a preceding-word filter to skip #NNN when preceded by common non-issue words (run, attempt, step, job, check, task, version, v). https://claude.ai/code/session_01JhCWWDJG8PqwaSbVPCGfm6
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automated Status Summary
Scope
You want to generate new output types as maintainers change their minds (slides, extra exhibits, etc.) without rewiring everything.
Context for Agent
Related Issues/PRs
Tasks
src/counter_risk/outputs/base.pydefining anOutputGeneratorinterface for output plugins.OutputGenerator.OutputGenerator.OutputGenerator.Acceptance criteria
OutputGeneratorclass and registering it in config adds a new output without requiring changes to other outputs.Head SHA: a3d07a5
Latest Runs: ✅ success — Gate
Required: gate: ✅ success