Skip to content

chore: sync workflow templates#777

Merged
stranske merged 1 commit intomainfrom
sync/workflows-43abb0f65dff
Mar 24, 2026
Merged

chore: sync workflow templates#777
stranske merged 1 commit intomainfrom
sync/workflows-43abb0f65dff

Conversation

@stranske
Copy link
Copy Markdown
Owner

Sync Summary

Files Updated

  • maint-76-claude-code-review.yml: Claude Code review (opt-in) - runs only on labeled PRs or manual dispatch
  • followup_issue_generator.py: Follow-up issue generator - creates issues from verification feedback

Files Skipped

  • pr-00-gate.yml: File exists and sync_mode is create_only
  • ci.yml: File exists and sync_mode is create_only
  • dependabot.yml: File exists and sync_mode is create_only
  • llm_slots.json: None

Review Checklist

  • CI passes with updated workflows
  • No repo-specific customizations were overwritten

Source: stranske/Workflows
Manifest: .github/sync-manifest.yml

Automated sync from stranske/Workflows
Template hash: 43abb0f65dff

Changes synced from sync-manifest.yml
@stranske stranske added sync Automated sync from Workflows automated Automated sync from Workflows labels Mar 24, 2026
Copilot AI review requested due to automatic review settings March 24, 2026 22:39
@stranske-keepalive
Copy link
Copy Markdown
Contributor

⚠️ Action Required: Unable to determine source issue for PR #777. The PR title, branch name, or body must contain the issue number (e.g. #123, branch: issue-123, or the hidden marker ).

@stranske-keepalive
Copy link
Copy Markdown
Contributor

stranske-keepalive bot commented Mar 24, 2026

🤖 Keepalive Loop Status

PR #777 | Agent: Codex | Iteration 0/5

Current State

Metric Value
Iteration progress [----------] 0/5
Action wait (missing-agent-label)
Disposition skipped (transient)
Gate success
Tasks 0/6 complete
Timeout 45 min (default)
Timeout usage 8m elapsed (18%, 37m remaining)
Keepalive ❌ disabled
Autofix ❌ disabled

🔍 Failure Classification

| Error type | infrastructure |
| Error category | resource |
| Suggested recovery | Confirm the referenced resource exists (repo, PR, branch, workflow, or file). |

@stranske-keepalive
Copy link
Copy Markdown
Contributor

stranske-keepalive bot commented Mar 24, 2026

Keepalive Work Log (click to expand)
# Time (UTC) Agent Action Result Files Tasks Progress Commit Gate
0 2026-03-24 22:40:55 Codex wait (missing-agent-label-transient) skipped 0 0/6
0 2026-03-24 22:43:38 Codex wait (missing-agent-label-transient) skipped 0 0/6 cancelled
0 2026-03-24 22:44:27 Codex wait (missing-agent-label-transient) skipped 0 0/6 cancelled
0 2026-03-24 22:48:01 Codex wait (missing-agent-label-transient) skipped 0 0/6 success

@stranske stranske merged commit f56bfe4 into main Mar 24, 2026
93 of 105 checks passed
@stranske stranske deleted the sync/workflows-43abb0f65dff branch March 24, 2026 22:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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:compare analysis/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.

Comment on lines 550 to +561
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 = {
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copilot uses AI. Check for mistakes.
Comment on lines +568 to +569
if verdict.strip().upper() != "PASS":
provider_summary_concerns.append(summary_text)
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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)

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automated Automated sync from Workflows sync Automated sync from Workflows

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants