[bot] RubyLLM::Judge (typed judgments) not instrumented
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 45/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- ruby
- Ambito
- ai, observability
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
<!-- 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
- Lingua principale
- Ruby
- Stelle
- 9
- Fork
- 11
- Merge medio
- 3g 43m
- PR unite (30g)
- 9
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di braintrustdata/braintrust-sdk-ruby
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
braintrustdata/braintrust-sdk-ruby#155 ·
I maintainer di solito rispondono entro 1 giorno
-
[BOT ISSUE] OpenAI Chat Completions missing reasoning model and web search metadata parametersAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
braintrustdata/braintrust-sdk-ruby#143 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
braintrustdata/braintrust-sdk-ruby#137 ·
I maintainer di solito rispondono entro 1 giorno
-
ruby
Difficoltà 3/5 Mezza giornata Idoneità per principianti 62/100
braintrustdata/braintrust-sdk-ruby#229 ·
I maintainer di solito rispondono entro 1 giorno
-
ruby
Difficoltà 3/5 1-2 giorni Idoneità per principianti 50/100
braintrustdata/braintrust-sdk-ruby#227 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di braintrustdata/braintrust-sdk-ruby
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Dialog: clicking the panel's inner padding closes it (backdropClick matches the <dialog> itself)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Homebrew/homebrew-cask#295450 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
TheOdinProject/curriculum#31479 ·
I maintainer di solito rispondono entro 1 giorno
-
建议移除 dogfight360.com:当前解析到境外Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 82/100