Conversation
Automated sync from stranske/Workflows Template hash: 43abb0f65dff Changes synced from sync-manifest.yml
🤖 Keepalive Loop StatusPR #777 | Agent: Codex | Iteration 0/5 Current State
🔍 Failure Classification| Error type | infrastructure | |
Keepalive Work Log (click to expand)
|
There was a problem hiding this comment.
Pull request overview
Syncs workflow templates and enhances the follow-up issue generator to capture more context from verify:compare outputs, improving downstream issue content created from verification feedback.
Changes:
- Extend verification comment parsing to capture provider “Summary” text from the comparison report table and fold it into extracted concerns.
- Add explicit
verify:compareanalysis/evidence sections to the non-LLM follow-up issue body output. - Add an inline version comment to the Claude Code Review workflow action pin.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| scripts/langchain/followup_issue_generator.py | Parses the Provider Summary table’s Summary column and includes additional verify:compare analysis/evidence in generated follow-up issues. |
| .github/workflows/maint-76-claude-code-review.yml | Annotates the pinned anthropics/claude-code-action SHA with a # v1 comment. |
| cols = [col.strip() for col in line.strip().strip("|").split("|")] | ||
| if len(cols) < 4: | ||
| continue | ||
| provider = _normalize_provider_key(cols[0]) | ||
| if provider.lower() == "provider": | ||
| continue | ||
| model = cols[1] | ||
| verdict = cols[2] | ||
| confidence_text = cols[3] | ||
| confidence = _parse_confidence_value(confidence_text) | ||
| data.provider_verdicts[provider] = { | ||
| summary_text = cols[4].strip() if len(cols) >= 5 else "" | ||
| entry = { |
There was a problem hiding this comment.
Markdown table rows are split using a naive split('|'). Since the Summary cell comes from LLM output (pr_verifier.format_comparison_report) it can contain |, which will shift columns and cause summary_text (and even verdict/confidence) to be parsed incorrectly. Consider splitting with a max column count (e.g., treat everything after the 4th separator as the summary) or otherwise joining trailing columns back into the summary field.
| if verdict.strip().upper() != "PASS": | ||
| provider_summary_concerns.append(summary_text) |
There was a problem hiding this comment.
provider_summary_concerns appends summary_text for any non-PASS verdict, but the upstream report can emit placeholder values like "N/A" (and very short fragments). Those end up becoming blocking concerns/tasks after all_concerns.extend(...). Add filtering here (e.g., skip "N/A"/empty and enforce a minimum length) before appending to provider_summary_concerns.
| if verdict.strip().upper() != "PASS": | |
| provider_summary_concerns.append(summary_text) | |
| # Only treat the summary as a blocking concern if it is non-placeholder | |
| # and contains a minimal amount of information. | |
| cleaned_summary = summary_text.strip() | |
| if cleaned_summary: | |
| lowered = cleaned_summary.lower() | |
| is_placeholder = lowered in {"n/a", "na"} | |
| has_min_length = len(cleaned_summary) >= 10 | |
| if ( | |
| verdict.strip().upper() != "PASS" | |
| and not is_placeholder | |
| and has_min_length | |
| ): | |
| provider_summary_concerns.append(summary_text) |
Sync Summary
Files Updated
Files Skipped
Review Checklist
Source: stranske/Workflows
Manifest:
.github/sync-manifest.yml