From 3c4ed2e28e40967b3511db126c948377d8158e2d Mon Sep 17 00:00:00 2001 From: Will Sarg <12886992+willsarg@users.noreply.github.com> Date: Tue, 17 Feb 2026 13:53:03 -0500 Subject: [PATCH] fix(providers): clarify reliable failure entries for custom providers (#594) * fix(workflows): standardize runner configuration for security jobs * ci(actionlint): add Blacksmith runner label to config Add blacksmith-2vcpu-ubuntu-2404 to actionlint self-hosted-runner labels config to suppress "unknown label" warnings during workflow linting. This label is used across all workflows after the Blacksmith migration. * fix(actionlint): adjust indentation for self-hosted runner labels * feat(security): enhance security workflow with CodeQL analysis steps * fix(security): update CodeQL action to version 4 for improved analysis * fix(security): remove duplicate permissions in security workflow * fix(security): revert CodeQL action to v3 for stability The v4 version was causing workflow file validation failures. Reverting to proven v3 version that is working on main branch. * fix(security): remove duplicate permissions causing workflow validation failure The permissions block had duplicate security-events and actions keys, which caused YAML validation errors and prevented workflow execution. Fixes: workflow file validation failures on main branch * fix(security): remove pull_request trigger to reduce costs * fix(security): restore PR trigger but skip codeql on PRs * fix(security): resolve YAML syntax error in security workflow * refactor(security): split CodeQL into dedicated scheduled workflow * fix(security): update workflow name to Rust Package Security Audit * fix(codeql): remove push trigger, keep schedule and on-demand only * feat(codeql): add CodeQL configuration file to ignore specific paths * Potential fix for code scanning alert no. 39: Hard-coded cryptographic value Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * fix(ci): resolve auto-response workflow merge markers * fix(build): restore ChannelMessage reply_target usage * ci(workflows): run workflow sanity on workflow pushes for all branches * ci(workflows): rename auto-response workflow to PR Auto Responder * ci(workflows): require owner approval for workflow file changes * ci: add lint-first PR feedback gate * ci(workflows): split label policy checks from workflow sanity * ci(workflows): consolidate policy and rust workflow setup * ci: add safe pull request intake sanity checks * ci(security): switch audit to pinned rustsec audit-check * fix(providers): clarify reliable failure entries for custom providers --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --- src/providers/reliable.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/providers/reliable.rs b/src/providers/reliable.rs index fe49d35..4c7a44b 100644 --- a/src/providers/reliable.rs +++ b/src/providers/reliable.rs @@ -194,7 +194,7 @@ impl Provider for ReliableProvider { "retryable" }; failures.push(format!( - "{provider_name}/{current_model} attempt {}/{}: {failure_reason}", + "provider={provider_name} model={current_model} attempt {}/{}: {failure_reason}", attempt + 1, self.max_retries + 1 )); @@ -299,7 +299,7 @@ impl Provider for ReliableProvider { "retryable" }; failures.push(format!( - "{provider_name}/{current_model} attempt {}/{}: {failure_reason}", + "provider={provider_name} model={current_model} attempt {}/{}: {failure_reason}", attempt + 1, self.max_retries + 1 )); @@ -610,8 +610,8 @@ mod tests { .expect_err("all providers should fail"); let msg = err.to_string(); assert!(msg.contains("All providers/models failed")); - assert!(msg.contains("p1")); - assert!(msg.contains("p2")); + assert!(msg.contains("provider=p1 model=test")); + assert!(msg.contains("provider=p2 model=test")); } #[test]