[bot] RubyLLM::Judge (typed judgments) not instrumented
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 45/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- ruby
- 領域
- ai, observability
調査の方向性
Start with the patchers list in lib/braintrust/contrib/ruby_llm/integration.rb (around line 49), which currently returns only ChatPatcher, and read patcher.rb plus instrumentation/chat.rb and common.rb to see how spans capture model and usage. Add a judge patcher that wraps RubyLLM::Judge.judge, following the same structure. Done when a judge call produces a span with the questions, input, answers, resolved model, and cost, verified by a test alongside the existing ruby_llm tests.
索引モデルが issue の本文から書いたものです。
説明
<!-- provider-gap-audit: ruby-llm-judge-not-instrumented -->
Summary
ruby_llm 2.1.0 (released 2026-10-08) introduced RubyLLM::Judge / RubyLLM.judge — a typed-question inference API ("judgments") that returns probabilities, choices, and scores over application data. It is a distinct generative execution surface from Chat#complete (different entry point, different request/response shape, its own default model config, its own cost accounting), and is completely uninstrumented.
This is the same category of gap this SDK has already tracked for RubyLLM.embed/.paint/.transcribe (#136) — a top-level RubyLLM inference API outside Chat that the current integration, which only patches Chat#complete/#execute_tool, cannot see.
What is missing
The ruby_llm integration registers exactly one patcher:
# lib/braintrust/contrib/ruby_llm/integration.rb:49
[ChatPatcher]
and lib/braintrust/contrib/ruby_llm/instrumentation/ contains only chat.rb and common.rb. There is no patcher for RubyLLM::Judge.judge / RubyLLM.judge.
A judgment call takes typed questions (predicate/choice/score), optional structured/image input, and returns a Judgment with named answers, probabilities/confidence, model identity, and cost. Expected instrumentation: a span per judge call capturing the declared questions (names/types), the input, the returned answers (values/probabilities/scores), the resolved model, and token usage/cost (via Judgment#cost) — mirroring how ChatPatcher captures model/usage today.
Braintrust docs status
not_found — https://www.braintrust.dev/docs/integrations/sdk-integrations/ruby-llm documents chat completion spans, tool execution spans, token usage, streaming, and multimodal content for the ruby_llm integration. No mention of judgments/RubyLLM::Judge anywhere on the page.
Upstream sources
- Official guide: https://rubyllm.com/judgments/
- API reference: https://rubyllm.com/api/RubyLLM/Judge.html and https://rubyllm.com/api/RubyLLM/Judgment.html
- Release notes: https://github.com/crmne/ruby_llm/releases — v2.1.0 (2026-10-08): "
RubyLLM::Judgereturns probabilities, choices, and scores through TypeSafe"
Local repo files inspected
lib/braintrust/contrib/ruby_llm/integration.rb(line 49) —patchersreturns only[ChatPatcher]lib/braintrust/contrib/ruby_llm/patcher.rb— only definesChatPatcher(wrapsRubyLLM::Chat#complete/#execute_tool)lib/braintrust/contrib/ruby_llm/instrumentation/— contains onlychat.rb,common.rb; nojudge.rb- Grep for
Judge/judgeacrosslib/— zero matches outside unrelated eval-scorer terminology inlib/braintrust/eval.rb(Braintrust's own LLM-as-judge scorers, unrelated toRubyLLM::Judge) Appraisals—ruby_llmminimum tested version is 1.8, latest is>= 2.0, so the appraisal matrix already exercises gem versions that shipRubyLLM::Judge
- 主要言語
- Ruby
- スター
- 9
- フォーク
- 10
- 平均マージ
- 3日 43分
- マージ済み PR(30日)
- 9
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
braintrustdata/braintrust-sdk-ruby のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
braintrustdata/braintrust-sdk-ruby#155 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
braintrustdata/braintrust-sdk-ruby#143 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
braintrustdata/braintrust-sdk-ruby#137 ·
メンテナーはふだん 1 日以内に返信
-
ruby
難易度 3/5 半日 初心者へのやさしさ 62/100
braintrustdata/braintrust-sdk-ruby#229 ·
メンテナーはふだん 1 日以内に返信
-
ruby
難易度 3/5 1〜2日 初心者へのやさしさ 50/100
braintrustdata/braintrust-sdk-ruby#227 ·
メンテナーはふだん 1 日以内に返信
braintrustdata/braintrust-sdk-ruby の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 4 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
ds-drift
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
we-promise/sure#4266 ·
メンテナーはふだん 1 日以内に返信
-
:bank: debt
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
cucumber/cucumber-ruby-core#346 · コメント 1 件 ·