Skip to content

chore: sync workflow templates#312

Merged
stranske merged 1 commit intomainfrom
sync/workflows-28ebb03f8da4
Mar 2, 2026
Merged

chore: sync workflow templates#312
stranske merged 1 commit intomainfrom
sync/workflows-28ebb03f8da4

Conversation

@stranske
Copy link
Copy Markdown
Owner

@stranske stranske commented Mar 2, 2026

Sync Summary

Files Updated

  • agents-pr-health.yml: PR health scanner - periodic conflict resolution and failing check re-dispatch
  • requirements-llm.txt: Pinned LLM dependencies - required by agents-auto-pilot.yml
  • langchain_client.py: LangChain client builder - multi-provider client with slot-based fallback and configuration

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: 28ebb03f8da4

Changes synced from sync-manifest.yml
Copilot AI review requested due to automatic review settings March 2, 2026 04:37
@stranske stranske added sync Automated sync from Workflows automated Automated sync from Workflows labels Mar 2, 2026
@stranske stranske temporarily deployed to agent-standard March 2, 2026 04:37 — with GitHub Actions Inactive
@stranske stranske temporarily deployed to agent-standard March 2, 2026 04:37 — with GitHub Actions Inactive
@agents-workflows-bot
Copy link
Copy Markdown
Contributor

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

@agents-workflows-bot
Copy link
Copy Markdown
Contributor

agents-workflows-bot bot commented Mar 2, 2026

🤖 Keepalive Loop Status

PR #312 | 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/7 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). |

@agents-workflows-bot
Copy link
Copy Markdown
Contributor

agents-workflows-bot bot commented Mar 2, 2026

Keepalive Work Log (click to expand)
# Time (UTC) Agent Action Result Files Tasks Progress Commit Gate
0 2026-03-02 04:39:29 Codex wait (missing-agent-label-transient) skipped 0 0/7
0 2026-03-02 04:41:10 Codex wait (missing-agent-label-transient) skipped 0 0/7 cancelled
0 2026-03-02 04:45:21 Codex wait (missing-agent-label-transient) skipped 0 0/7 success

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

This PR syncs three workflow templates from the stranske/Workflows source repository. The main changes are a PR health scanner workflow, a LangChain dependency pin adjustment, and a refactor of the langchain_client.py import strategy.

Changes:

  • Adds a new agents-pr-health.yml workflow that periodically scans open PRs for merge conflicts and failing checks, delegating to a reusable workflow.
  • Downgrades langchain-core from 1.2.15 to 1.2.14 in the workflow-specific LLM dependency pins.
  • Refactors tools/langchain_client.py to hoist provider imports to the top of build_chat_client and build_chat_clients, removing repeated lazy-import blocks and removing the missing_provider_dependencies / get_provider_model_catalog helpers (which still exist in src/counter_risk/chat/providers/langchain_runtime.py).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
.github/workflows/agents-pr-health.yml New thin-wrapper workflow that schedules hourly PR health scans via the reusable upstream workflow
tools/requirements-llm.txt Downgrades langchain-core pin from 1.2.151.2.14 for workflow LLM installs
tools/langchain_client.py Removes duplicate lazy import blocks and deleted helper functions; hoists ChatOpenAI/ChatAnthropic imports to function entry points

try:
from langchain_openai import ChatOpenAI
except ImportError:
return []
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

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

The same behavioral regression from build_chat_client applies here: build_chat_clients unconditionally imports langchain_openai at the top and returns an empty list on ImportError (line 337), even when the caller explicitly selects PROVIDER_ANTHROPIC. If langchain-openai is not installed, Anthropic-only builds are silently broken.

Suggested change
return []
ChatOpenAI = None # noqa: N806

Copilot uses AI. Check for mistakes.
try:
from langchain_openai import ChatOpenAI
except ImportError:
return None
Copy link

Copilot AI Mar 2, 2026

Choose a reason for hiding this comment

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

The refactored build_chat_client function now unconditionally imports langchain_openai at the top of the function and returns None immediately on ImportError (line 217). This is a behavioral regression: in the previous code, when the Anthropic provider was explicitly selected, the function only imported langchain_anthropic and never needed langchain_openai. After this change, if langchain-openai is not installed, even a purely Anthropic-targeted call will silently fail by returning None, instead of successfully building an Anthropic client.

The same regression affects build_chat_clients, which returns [] on ImportError for langchain_openai (line 337).

The fix is to move the langchain_openai import inside the code paths that actually need it (PROVIDER_OPENAI, PROVIDER_GITHUB, and the slot fallback for those providers), rather than making it a function-level gate for all providers.

Suggested change
return None
ChatOpenAI = None # noqa: N806

Copilot uses AI. Check for mistakes.
@stranske stranske merged commit 7a1a00d into main Mar 2, 2026
101 of 112 checks passed
@stranske stranske deleted the sync/workflows-28ebb03f8da4 branch March 2, 2026 05:40
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