@obie: Full docs for my new Ruby gem feelings now available. Most idiomatic and fun way to add decision models to your code
Summary
Obie Fernandez announces full documentation for the 'feelings' Ruby gem, which provides probabilistic conditionals for adding decision models to code, inspired by LLM workflows.
View Cached Full Text
Cached at: 09/19/26, 01:05 PM
Full docs for my new Ruby gem feelings now available. Most idiomatic and fun way to add decision models to your code
https://t.co/ApWfZGt0ir
feelings: Probabilistic conditionals for Ruby.
Source: https://obiefernandez.com/gems/feelings/ A decision model answers a typed question about a value, with a calibrated probability attached to the answer. feelings lets a Ruby conditional ask one directly.
Feelings(email).like?("genuinely urgent")
Branch on the answer instead of a boolean:
Feelings(ticket).like("this customer is about to churn") do |mood|
mood.yes { escalate(ticket) }
mood.maybe { flag_for_review(ticket) }
mood.no { close(ticket) }
end
Or pick the closest match out of a small label set:
Feelings(support_message).most_like(:billing, :bug_report, :feature_request, :spam)
# => :bug_report
The family
- ruby_decision_model: the provider-neutral client the other two sit on. It talks to Jev through OpenRouter or Typesafe’s own API, and to any other decision model that ships.RubyGems
- decide: named policy decisions with floors, fail modes, and verdicts.RubyGems
- feelings: this gem, for the questions you would otherwise write as an
if.RubyGems
feelings is inspired byProbably, a small language for LLM workflows that showed what code reads like when anifcan ask a decision model a question.
Similar Articles
@obie: Hey rubyists, here's the best way to play with these new decision models like JEV from @typesafeai Full-featured, and f…
This post introduces 'ruby_decision_model,' a Ruby gem that enables interaction with decision models like JEV, providing a client for typed questions with calibrated probabilities and supporting multiple providers such as OpenRouter and Typesafe.
@obie: https://x.com/obie/status/2103485430414934329
Valentino Stoll announces the release of ruby-laya, a Ruby port of the open-weight System 1 decision engine Laya, making AI decision capabilities accessible to Ruby developers.
@obie: Friday night special, with hints of the big reveal coming next week!
tools4imps released exhale-ruby, a contraction toolkit for Rails that combines dryer and flay on top of Prism/Herb to catch duplicated code introduced by AI agents, with `exhale dry` as its first PR gate. It normalizes code units, scores similarity with rare-fingerprint Jaccard weighting, and labels findings as introduced, shifted, or already there.
@obie: Stephen and I work super closely at ZAR and in this essay he goes deep into the fundamental truths we are discovering a…
exhale-ruby is a contraction toolkit for Rails that detects duplicated code in pull requests, guiding coding agents to fold copies back into existing code using a DRY check built on Prism and Herb.
New in llama.cpp: Decision Models
llama.cpp server now supports 'decision models' via a new /v1/systemone endpoint, where a single forward pass scores typed options (choice/score/yes-no) with probabilities instead of generating text. Several ggml-org models (Julia-1, Laya, Kev-4B, lev, OpenJev) are available in GGUF, following TypeSafe's Jev System One format.