Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

[bot] OpenAI Decisions API (client.decisions.create) not instrumented

Aperta
#227 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
50/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
ruby
Ambito
ai, observability

Direzione di ricerca

Start with lib/braintrust/contrib/openai/integration.rb (the patchers list near line 53) and lib/braintrust/contrib/openai/instrumentation/moderations.rb, the simplest non-streaming patcher to copy. A new DecisionsPatcher and instrumentation/decisions.rb would wrap client.decisions.create. Done when a call produces a span with model, input, questions, answers and usage, and a test under the OpenAI contrib specs verifies it.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

ruby

<!-- provider-gap-audit: openai-decisions-api-not-instrumented -->

Summary

OpenAI shipped a new standalone Decisions API (client.decisions.create), reaching public beta on 2026-10-06 and landing in the official openai Ruby gem the same day (v0.101.0). It is a distinct generative inference endpoint — not a variant of Chat Completions or Responses — and this SDK's OpenAI integration has no instrumentation for it.

The endpoint runs on a dedicated model (gpt-6-luna) and returns typed answers (predicate/choice/score questions with probabilities and confidence) over text/image input, billed separately from normal chat/responses usage. This is exactly the kind of distinct generative execution surface this SDK otherwise instruments (model, input, output, usage/cost).

What is missing

No DecisionsPatcher or Instrumentation::Decisions exists. The OpenAI integration only wires up three patchers:

# lib/braintrust/contrib/openai/integration.rb:53
[ChatPatcher, ResponsesPatcher, ModerationsPatcher]

and lib/braintrust/contrib/openai/instrumentation/ only contains chat.rb, responses.rb, common.rb, and moderations.rb — no file for client.decisions.create.

Expected instrumentation (matching the pattern used for moderations.rb, the simplest existing non-streaming patcher): a span per client.decisions.create call capturing the model (gpt-6-luna), input, the questions array (names/types/instructions), and the returned answers (values, probabilities, confidence) plus usage/cost, since Decisions billing differs from standard chat pricing ($0.10/M input tokens, no output/cache charge).

Braintrust docs status

not_found — https://www.braintrust.dev/docs/integrations/ai-providers/openai documents Chat Completions, Responses, Embeddings, Moderations, Batch API, Agents API, Images, and Audio for the OpenAI integration. No mention of Decisions anywhere on the page.

Upstream sources

Local repo files inspected

  • lib/braintrust/contrib/openai/integration.rb (line 53) — patchers returns only [ChatPatcher, ResponsesPatcher, ModerationsPatcher]
  • lib/braintrust/contrib/openai/patcher.rb — no DecisionsPatcher class defined
  • lib/braintrust/contrib/openai/instrumentation/ — contains only chat.rb, responses.rb, common.rb, moderations.rb; no decisions.rb
  • Grep for decisions/Decision across lib/ — zero matches
Lingua principale
Ruby
Stelle
9
Fork
11
Merge medio
3g 43m
PR unite (30g)
9

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di braintrustdata/braintrust-sdk-ruby

Tutte le issue di braintrustdata/braintrust-sdk-ruby

Issue simili

Altre issue su Ruby

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.