Skip to content

chore: sync workflow templates#297

Merged
stranske merged 2 commits intomainfrom
sync/workflows-d4ac30fbde51
Mar 1, 2026
Merged

chore: sync workflow templates#297
stranske merged 2 commits intomainfrom
sync/workflows-d4ac30fbde51

Conversation

@stranske
Copy link
Copy Markdown
Owner

@stranske stranske commented Mar 1, 2026

Sync Summary

Files Updated

  • agents_pr_meta_update_body.js: Updates PR body with agent metadata
  • agents_verifier_context.js: Context gathering for agent verifier
  • issue_optimizer.py: Issue optimizer - analyzes issues and suggests improvements
  • capability_check.py: Capability check - pre-flight agent feasibility assessment
  • langchain_client.py: LangChain client builder - multi-provider client with slot-based fallback and configuration
  • CLAUDE.md: Context file for Claude/AI assistants

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: d4ac30fbde51

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

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

@stranske stranske temporarily deployed to agent-standard March 1, 2026 00:29 — with GitHub Actions Inactive
@stranske-keepalive
Copy link
Copy Markdown
Contributor

stranske-keepalive bot commented Mar 1, 2026

🤖 Keepalive Loop Status

PR #297 | 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/10 complete
Timeout 45 min (default)
Timeout usage 5m elapsed (13%, 40m 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 1, 2026

Keepalive Work Log (click to expand)
# Time (UTC) Agent Action Result Files Tasks Progress Commit Gate
0 2026-03-01 00:29:54 Codex wait (missing-agent-label-transient) skipped 0 0/10
0 2026-03-01 00:31:16 Codex wait (missing-agent-label-transient) skipped 0 0/10 cancelled
0 2026-03-01 00:36:49 Codex wait (missing-agent-label-transient) skipped 0 0/10 failure
0 2026-03-01 00:52:20 Codex wait (missing-agent-label-transient) skipped 0 0/10 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

Synchronizes this repository’s automation/template files with the upstream stranske/Workflows templates, affecting GitHub Actions helper scripts, LangChain helper utilities, and assistant-facing documentation.

Changes:

  • Updates PR-body metadata updater to de-duplicate concurrent marker blocks when upserting managed sections.
  • Adjusts verifier context gathering to compute baseRef from the fully-fetched PR payload and simplifies a few config-building expressions.
  • Updates LangChain client helper module by removing slot/catalog helper functions (currently breaking downstream imports).

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tools/langchain_client.py Removes slot-definition and provider-model catalog helper functions used by chat provider registry.
scripts/langchain/issue_optimizer.py Simplifies issue_or_pr conditional expression.
scripts/langchain/capability_check.py Simplifies issue_or_pr conditional expression.
CLAUDE.md Removes the “Slow Test Strategy” section from the assistant context doc.
.github/scripts/agents_verifier_context.js Uses PR-details response to derive baseRef and retains it for context output.
.github/scripts/agents_pr_meta_update_body.js Enhances upsertBlock to remove duplicate marker pairs caused by concurrent updates.

@@ -148,29 +148,6 @@ def _resolve_slots() -> list[SlotDefinition]:
return _apply_slot_env_overrides(_load_slot_config())


Copy link

Copilot AI Mar 1, 2026

Choose a reason for hiding this comment

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

get_provider_model_catalog() (and list_slot_definitions()) were removed here, but src/counter_risk/chat/providers/base.py imports and calls get_provider_model_catalog(). This will raise an ImportError at runtime and break tests/test_chat_provider_clients.py. Please restore/re-export get_provider_model_catalog() (and keep its previous behavior of falling back to _default_slots() when the configured catalog is empty), or update call sites to use the new API in a way that preserves the same semantics.

Suggested change
def list_slot_definitions() -> list[SlotDefinition]:
"""Return the configured slot definitions, falling back to defaults if empty.
This preserves the historical behavior where an empty configured catalog
is treated as "no catalog", and the built-in default slots are used instead.
"""
slots = _resolve_slots()
if not slots:
slots = _default_slots()
return slots
def get_provider_model_catalog() -> dict[str, dict[str, str]]:
"""Return a catalog of provider/model pairs keyed by slot name.
The catalog is derived from the current slot definitions, with the same
empty-catalog fallback behavior as :func:`list_slot_definitions`.
"""
catalog: dict[str, dict[str, str]] = {}
for slot in list_slot_definitions():
catalog[slot.name] = {"provider": slot.provider, "model": slot.model}
return catalog

Copilot uses AI. Check for mistakes.
The sync commit (021cfd7) removed get_provider_model_catalog() from
tools/langchain_client.py, but it is still imported by
src/counter_risk/chat/providers/base.py and patched in
tests/test_chat_provider_clients.py, causing mypy and runtime failures.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@stranske stranske merged commit e199428 into main Mar 1, 2026
22 checks passed
@stranske stranske deleted the sync/workflows-d4ac30fbde51 branch March 1, 2026 00:48
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