From e42ae4b8683a6c4cf272951f49cd1be57f23af2b Mon Sep 17 00:00:00 2001 From: Cam Quilici Date: Tue, 22 Sep 2026 13:08:25 -0500 Subject: [PATCH] feat: add optional runtime diagnostics --- src/srtctl/core/fingerprint.py | 2 ++ src/srtctl/core/processes.py | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/srtctl/core/fingerprint.py b/src/srtctl/core/fingerprint.py index 15a50fa4a..2fa0feecc 100644 --- a/src/srtctl/core/fingerprint.py +++ b/src/srtctl/core/fingerprint.py @@ -47,6 +47,8 @@ FRAMEWORK_PACKAGES: dict[str, str] = { "vllm": "vllm", "sglang": "sglang", + "sglang-router": "sglang-router", + "amd-mori": "amd_mori", "tensorrt_llm": "tensorrt-llm", "dynamo": "ai-dynamo", } diff --git a/src/srtctl/core/processes.py b/src/srtctl/core/processes.py index 1a1e010f6..733a99937 100644 --- a/src/srtctl/core/processes.py +++ b/src/srtctl/core/processes.py @@ -380,7 +380,8 @@ def print_failure_details(self, tail_lines: int = 50) -> None: # Tail the log file if available if proc.log_file and proc.log_file.exists(): try: - lines = proc.log_file.read_text().splitlines() + # Invalid UTF-8 must not hide worker failure diagnostics. + lines = proc.log_file.read_text(errors="replace").splitlines() if lines: logger.error("\nLast %d lines of log:", tail_lines) for line in lines[-tail_lines:]: