发布

  • [issue-6344] [BE] fix: handle missing TraceField cases in online-scoring filter evaluator (#6366)

    frostbyte_neo 发布于 2026-06-10 12:32:38 +00:00

    • [issue-6344] [BE] fix: handle missing TraceField cases in filter evaluation service

    Several TraceField enum values accepted by the API were silently ignored
    by TraceFilterEvaluationService.extractFieldValue(), causing automation
    rule filters on those fields to have no effect at scoring time.

    Added handlers for: ERROR_INFO, ERROR_TYPE, LLM_SPAN_COUNT,
    SPAN_FEEDBACK_SCORES, GUARDRAILS, VISIBILITY_MODE, SOURCE, EXPERIMENT_ID,
    CREATED_AT, LAST_UPDATED_AT.

    Also added unit tests covering all newly supported fields.

    Fixes #6344

    • [issue-6344] [BE] fix: normalize GUARDRAILS to scalar in trace filter evaluation

    Mirror the analytics SQL pattern
    if(has(groupArray(result), 'failed'), 'failed', 'passed') so that online
    scoring filters like GUARDRAILS = failed agree with the analytics side.
    Returning the raw List made FilterEvaluationServiceBase
    compare via toString(), which never matched the scalar value the UI/analytics
    stack uses.

    Empty/null validations still resolve to null so IS_EMPTY / IS_NOT_EMPTY
    continue to behave as before.


    Co-authored-by: Andres Cruz andresc@comet.com

    下载附件