发布

  • fix(ci): router sample_alert fast-path + streaming non-TTY Live skip (#1799)

    frostbyte_neo 发布于 2026-05-11 00:57:59 +00:00

    Two independent CI failures on main after #1794:

    1. Router: "try a sample alert" and similar phrases routed to new_alert
      instead of cli_agent because the LLM classifier (phase 2) ran before
      the deterministic sample_alert_launch regex rule (phase 3). Fix:
      add sample_alert_launch to _FAST_PATH_RULE_NAMES so it is evaluated
      before the LLM, matching the contract for other deterministic rules.

    2. Streaming: TestTtyLiveRender asserted that literal ** delimiters are
      absent from the output after Markdown rendering. When the console is
      force_terminal=True but backed by StringIO (test env), Rich Live with
      transient=True still writes cursor-positioning sequences to the buffer;
      carriage-returns do not erase bytes in StringIO, leaving raw **opensre
      visible. Fix: skip Live entirely when _console_file_is_a_tty() is
      False — use _noop_preview and let the single final flush render once.

    Co-authored-by: Claude Sonnet 4.6 noreply@anthropic.com

    下载附件