Conversation
Automated sync from stranske/Workflows Template hash: 0896ae6b2b2f Changes synced from sync-manifest.yml
🤖 Keepalive Loop StatusPR #296 | 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/template-related utilities from stranske/Workflows, updating shared LangChain helpers and PR-metadata automation logic used by the repo’s agent/keepalive workflows.
Changes:
- Updated PR body upsert logic to replace the first managed block and attempt to remove duplicate marker blocks from concurrent writes.
- Minor refactor in LangChain scripts to simplify
issue_or_prmetadata construction. - Removed slot catalog helper functions from
tools/langchain_client.pyand removed the “Slow Test Strategy” section fromCLAUDE.md.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
tools/langchain_client.py |
Removes previously-exposed slot catalog helpers (currently breaks existing imports). |
scripts/langchain/issue_optimizer.py |
Minor refactor to simplify nested conditional for issue_or_pr. |
scripts/langchain/capability_check.py |
Minor refactor to simplify nested conditional for issue_or_pr. |
CLAUDE.md |
Removes documentation about slow test strategy. |
.github/scripts/agents_pr_meta_update_body.js |
Enhances managed-block replacement to dedupe duplicate marker blocks and normalize extra newlines. |
| @@ -148,29 +148,6 @@ def _resolve_slots() -> list[SlotDefinition]: | |||
| return _apply_slot_env_overrides(_load_slot_config()) | |||
|
|
|||
|
|
|||
There was a problem hiding this comment.
get_provider_model_catalog() was removed, but it is still imported/used by src/counter_risk/chat/providers/base.py (and patched in tests/test_chat_provider_clients.py). This will cause an ImportError at runtime/test time. Either restore get_provider_model_catalog() (and keep its behavior consistent with slot resolution/defaults) or update all call sites to use the new intended API.
| def get_provider_model_catalog() -> list[SlotDefinition]: | |
| """Return the resolved provider/model slot catalog. | |
| This applies the same configuration loading and environment overrides as used | |
| by the LangChain client helpers, ensuring consistent defaults and slot order. | |
| """ | |
| return _resolve_slots() |
| while (limit-- > 0) { | ||
| const dupStart = result.indexOf(start, startIndex + replacement.length); | ||
| const dupEnd = result.indexOf(end, dupStart + start.length); | ||
| if (dupStart !== -1 && dupEnd !== -1 && dupEnd > dupStart) { | ||
| result = `${result.slice(0, dupStart)}${result.slice(dupEnd + end.length)}`; | ||
| hadDuplicates = true; | ||
| } else { | ||
| break; | ||
| } | ||
| } |
There was a problem hiding this comment.
The duplicate-removal loop can miss duplicates after the first deletion: removing a later block shifts subsequent duplicates left, potentially to an index before startIndex + replacement.length, so the next indexOf(start, ...) search may skip them. Consider restarting the search from just after the first block’s start marker (e.g., startIndex + 1) each iteration (or otherwise re-scanning until no more matches) so all duplicates are reliably removed.
|
Closing: superseded by the newer sync PR on branch sync/workflows-d4ac30fbde51 which includes review feedback fixes. |
Sync Summary
Files Updated
Files Skipped
Review Checklist
Source: stranske/Workflows
Manifest:
.github/sync-manifest.yml