From 7535f99d8ca1defb511d3aa95724179b77b7dc4c Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Mon, 28 Sep 2026 14:43:25 +0900 Subject: [PATCH 1/2] fix(ci): classify optional Strix notices without false provider outage --- scripts/ci/strix_quick_gate.sh | 12 ++++++++- scripts/ci/test_strix_quick_gate.sh | 38 +++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/scripts/ci/strix_quick_gate.sh b/scripts/ci/strix_quick_gate.sh index ccf08f48eb..7711cb7045 100755 --- a/scripts/ci/strix_quick_gate.sh +++ b/scripts/ci/strix_quick_gate.sh @@ -197,9 +197,18 @@ known_internal_warning = re.compile( r"\(attempt \d+/\d+, backoff [0-9.]+s\): " r")" ) +optional_web_search_warning = re.compile( + # Strix 1.5.3 treats this missing optional tool credential as a local + # web-search failure and continues the scan; it is not an LLM outage. + r"^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d+ WARNING " + r"[^ ]+ - strix\.tools\.web_search\.tool: " + r"web_search invoked without PERPLEXITY_API_KEY configured\s*$" +) known_scanner_warning = re.compile( r"^(?:│ MODEL QUALITY WARNING\s+│|" - r"Warning: You are sending unauthenticated requests to the HF Hub\.)" + r"Warning: You are sending unauthenticated requests to the HF Hub\.|" + # This threshold notice does not mean the PTY limit was reached. + r"PTY process count reached warning threshold: \d+ active sessions\s*$)" ) @@ -230,6 +239,7 @@ for log_path in iter_report_logs(root): line for line in lines if not known_internal_warning.match(line) + and not optional_web_search_warning.match(line) and not known_scanner_warning.match(line) ] if filtered != lines: diff --git a/scripts/ci/test_strix_quick_gate.sh b/scripts/ci/test_strix_quick_gate.sh index 80c4832243..3015e9b052 100755 --- a/scripts/ci/test_strix_quick_gate.sh +++ b/scripts/ci/test_strix_quick_gate.sh @@ -4734,6 +4734,16 @@ EOS echo "scan ok with sanitized internal Strix report notice variant" exit 0 ;; + report-optional-web-search-and-pty-warning-sanitized) + echo 'PTY process count reached warning threshold: 64 active sessions' + mkdir -p "$STRIX_REPORTS_DIR/fake-optional-web-search-warning" + cat >"$STRIX_REPORTS_DIR/fake-optional-web-search-warning/strix.log" <<'EOS' +2026-09-28 04:00:15.128 WARNING strix-pr-scope-example - strix.tools.web_search.tool: web_search invoked without PERPLEXITY_API_KEY configured +2026-09-28 04:54:41.472 INFO strix-pr-scope-example - strix.tools.finish.tool: finish_scan: completed scan with 0 vulnerability report(s) +EOS + echo 'scan completed despite optional web search and PTY notices' + exit 0 + ;; report-unknown-warning-fails) mkdir -p "$STRIX_REPORTS_DIR/fake-unknown-warning" cat >"$STRIX_REPORTS_DIR/fake-unknown-warning/strix.log" <<'EOS' @@ -10991,6 +11001,34 @@ run_gate_case "report-known-internal-warning-variant-sanitized" \ "" \ "1" +run_gate_case "report-optional-web-search-and-pty-warning-sanitized" \ + "vertex_ai/report-optional-web-search-and-pty-warning-sanitized" \ + "" \ + "0" \ + "Strix run succeeded for model 'vertex_ai/report-optional-web-search-and-pty-warning-sanitized'" \ + "1" \ + "vertex_ai/report-optional-web-search-and-pty-warning-sanitized" \ + "" \ + "vertex_ai" \ + "__DEFAULT__" \ + "" \ + "0" \ + "CRITICAL" \ + "0" \ + "" \ + "" \ + "1200" \ + "0" \ + "" \ + "" \ + "" \ + "" \ + "" \ + "" \ + "__SAME_AS_FALLBACK_MODELS__" \ + "" \ + "1" + run_gate_case "report-unknown-warning-fails" \ "vertex_ai/report-unknown-warning-fails" \ "" \ From cc010a387d145f092dd4c0b03978fa303c0201b3 Mon Sep 17 00:00:00 2001 From: Seongho Bae Date: Mon, 28 Sep 2026 15:18:28 +0900 Subject: [PATCH 2/2] test(ci): cover optional Strix search credential variants --- scripts/ci/strix_quick_gate.sh | 4 +++- scripts/ci/test_strix_quick_gate.sh | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/ci/strix_quick_gate.sh b/scripts/ci/strix_quick_gate.sh index 7711cb7045..9384dfffdf 100755 --- a/scripts/ci/strix_quick_gate.sh +++ b/scripts/ci/strix_quick_gate.sh @@ -202,7 +202,9 @@ optional_web_search_warning = re.compile( # web-search failure and continues the scan; it is not an LLM outage. r"^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d+ WARNING " r"[^ ]+ - strix\.tools\.web_search\.tool: " - r"web_search invoked without PERPLEXITY_API_KEY configured\s*$" + r"web_search invoked without " + r"(?:EXA_API_KEY|PERPLEXITY_API_KEY|EXA_API_KEY or PERPLEXITY_API_KEY) " + r"configured\s*$" ) known_scanner_warning = re.compile( r"^(?:│ MODEL QUALITY WARNING\s+│|" diff --git a/scripts/ci/test_strix_quick_gate.sh b/scripts/ci/test_strix_quick_gate.sh index 3015e9b052..9f56ca15d0 100755 --- a/scripts/ci/test_strix_quick_gate.sh +++ b/scripts/ci/test_strix_quick_gate.sh @@ -4739,6 +4739,8 @@ EOS mkdir -p "$STRIX_REPORTS_DIR/fake-optional-web-search-warning" cat >"$STRIX_REPORTS_DIR/fake-optional-web-search-warning/strix.log" <<'EOS' 2026-09-28 04:00:15.128 WARNING strix-pr-scope-example - strix.tools.web_search.tool: web_search invoked without PERPLEXITY_API_KEY configured +2026-09-28 04:00:15.129 WARNING strix-pr-scope-example - strix.tools.web_search.tool: web_search invoked without EXA_API_KEY configured +2026-09-28 04:00:15.130 WARNING strix-pr-scope-example - strix.tools.web_search.tool: web_search invoked without EXA_API_KEY or PERPLEXITY_API_KEY configured 2026-09-28 04:54:41.472 INFO strix-pr-scope-example - strix.tools.finish.tool: finish_scan: completed scan with 0 vulnerability report(s) EOS echo 'scan completed despite optional web search and PTY notices'