<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>DRYHURST Articles</title>
    <link>https://dryhurst.io/articles/</link>
    <atom:link href="https://dryhurst.io/articles/feed.xml" rel="self" type="application/rss+xml" />
    <description>Field notes from DRYHURST on applied AI, typed model judgments, and shipping AI into production software.</description>
    <language>en</language>
    <lastBuildDate>Thu, 12 Nov 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>OpenAI Decisions API vs Jev: Request Shape, Price, Limits</title>
      <link>https://dryhurst.io/articles/openai-decisions-api-vs-jev/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/openai-decisions-api-vs-jev/</guid>
      <pubDate>Thu, 12 Nov 2026 00:00:00 GMT</pubDate>
      <description>OpenAI now ships a decision endpoint too. It asks the same three kinds of question as Jev with a different JSON contract and more than twice the input price. Here is the side-by-side, with an interactive translator.</description>
      <category>OpenAI Decisions API</category>
      <category>gpt-6-luna</category>
      <category>Jev vs OpenAI</category>
      <category>decision model API</category>
      <category>OpenRouter decisions API</category>
    </item>
    <item>
      <title>Jev 1.14: Image Input and the Box Primitive Explained</title>
      <link>https://dryhurst.io/articles/jev-1-14-images-box-primitive/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/jev-1-14-images-box-primitive/</guid>
      <pubDate>Thu, 12 Nov 2026 00:00:00 GMT</pubDate>
      <description>Jev can see now. Version 1.14 takes images and adds Box, a fourth question type that answers where something is. One rule makes it safe to use: a Box always returns a box, so ask whether the thing is there first.</description>
      <category>Jev 1.14</category>
      <category>Jev Box primitive</category>
      <category>TypeSafe image input</category>
      <category>bounding box API</category>
      <category>jev-latest</category>
    </item>
    <item>
      <title>Claude Fable 5.2 for Builders: Effort, Pricing, Migration</title>
      <link>https://dryhurst.io/articles/claude-fable-5-2-for-builders/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/claude-fable-5-2-for-builders/</guid>
      <pubDate>Thu, 12 Nov 2026 00:00:00 GMT</pubDate>
      <description>Anthropic's most capable widely released model got cheaper and stricter. The price fell 20%, effort is now the only dial, and harnesses that edit history will get 400s. A builder's guide with an effort dial and a migration checklist you can tick off.</description>
      <category>Claude Fable 5.2</category>
      <category>claude-fable-5-2</category>
      <category>Fable 5.2 effort</category>
      <category>Fable 5.2 migration</category>
      <category>Anthropic API pricing</category>
    </item>
    <item>
      <title>Jev Decides, Claude Fable 5.2 Writes: A Two-Model Design</title>
      <link>https://dryhurst.io/articles/jev-decides-fable-writes/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/jev-decides-fable-writes/</guid>
      <pubDate>Thu, 12 Nov 2026 00:00:00 GMT</pubDate>
      <description>The cheapest frontier-model call is the one you never make. Put Jev in front of Claude Fable 5.2, let it decide what each message needs, and send Fable only the work that needs a writer. Run the inbox and watch the bill.</description>
      <category>Jev and Claude</category>
      <category>Claude Fable 5.2 cost</category>
      <category>LLM routing architecture</category>
      <category>decision model triage</category>
      <category>AI cost optimization</category>
    </item>
    <item>
      <title>Reading Decision Model Scores and Thresholds, Interactively</title>
      <link>https://dryhurst.io/articles/reading-decision-scores-thresholds/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/reading-decision-scores-thresholds/</guid>
      <pubDate>Thu, 12 Nov 2026 00:00:00 GMT</pubDate>
      <description>Decision models hand you numbers, and the numbers are easy to misread. Drag a probability distribution until the score lies to you, then find the confidence threshold that costs least. Two labs, one for each mistake.</description>
      <category>decision model score</category>
      <category>confidence threshold</category>
      <category>probability calibration</category>
      <category>Jev Score primitive</category>
      <category>OpenAI Decisions score</category>
    </item>
    <item>
      <title>What is Jev? TypeSafe System One Model Explained</title>
      <link>https://dryhurst.io/articles/what-is-jev-system-one-model/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/what-is-jev-system-one-model/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Jev answers typed questions about your data with calibrated probabilities, and never writes a word of prose. What it is, how it differs from an LLM, and where it fits in real software.</description>
      <category>TypeSafe Jev</category>
      <category>System One decision model</category>
      <category>structured outputs API</category>
      <category>Jev model</category>
      <category>AI decision engine</category>
    </item>
    <item>
      <title>Choice, Score and Noul: Jev Question Types</title>
      <link>https://dryhurst.io/articles/choice-score-noul-question-types/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/choice-score-noul-question-types/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Every question you ask Jev is a Choice, a Score or a Noul. Here is what each one returns, how to pick between them, and how to compose them into decisions your code owns.</description>
      <category>AI structured outputs primitives</category>
      <category>Jev question types</category>
      <category>Noul primitive</category>
      <category>AI decision scoring</category>
      <category>TypeSafe primitives</category>
    </item>
    <item>
      <title>Decision Models vs LLMs: When Not to Generate Text</title>
      <link>https://dryhurst.io/articles/decision-models-vs-llms/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/decision-models-vs-llms/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Most AI features need a decision, not a paragraph. How decision models like Jev differ from LLMs, and a practical test for when to stop generating text.</description>
      <category>decision models vs LLMs</category>
      <category>System One vs System Two AI</category>
      <category>Jev vs LLM</category>
      <category>structured outputs alternative</category>
      <category>AI classification model</category>
    </item>
    <item>
      <title>Confidence vs Probability: AI Escalation</title>
      <link>https://dryhurst.io/articles/confidence-vs-probability-ai-escalation/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/confidence-vs-probability-ai-escalation/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>An AI answer is only half a decision. The other half is knowing when not to trust it. How Jev separates probability from confidence, and how we set the thresholds.</description>
      <category>confidence gated routing</category>
      <category>AI confidence score</category>
      <category>Jev probability calibration</category>
      <category>automated escalation AI</category>
      <category>decision model thresholds</category>
    </item>
    <item>
      <title>Speculative Fan-Out: Batch AI Queries</title>
      <link>https://dryhurst.io/articles/speculative-fan-out-batch-queries/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/speculative-fan-out-batch-queries/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Ask every question you might need, in one request, and let code ignore the rest. Why that is cheaper and faster than branching, and when a second call is genuinely required.</description>
      <category>speculative fan out</category>
      <category>Jev batch queries</category>
      <category>LLM parallel processing</category>
      <category>TypeSafe batch performance</category>
      <category>AI decision latency</category>
    </item>
    <item>
      <title>Jev on OpenRouter: Decisions API, Pricing and Latency</title>
      <link>https://dryhurst.io/articles/jev-openrouter-decisions-api/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/jev-openrouter-decisions-api/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>OpenRouter serves Jev through a separate decisions endpoint, not chat completions. Here is the request shape, what it costs, and how fast it answered for us.</description>
      <category>OpenRouter decisions API</category>
      <category>typesafe/jev-1.13</category>
      <category>Jev OpenRouter</category>
      <category>Jev API pricing</category>
      <category>OpenRouter decision model</category>
    </item>
    <item>
      <title>Claude Code Model Router Built with Jev</title>
      <link>https://dryhurst.io/articles/claude-code-model-router-jev/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/claude-code-model-router-jev/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Not every message to a coding agent needs the biggest model. How we used Jev to size each request and hand small jobs to Haiku and Sonnet, including the limits we hit.</description>
      <category>LLM model router</category>
      <category>Claude Code router</category>
      <category>Jev model router</category>
      <category>AI cost optimization</category>
      <category>Claude Code subagents</category>
    </item>
    <item>
      <title>AI Agent Skill Selection with Jev: Pick the Right Skill</title>
      <link>https://dryhurst.io/articles/ai-agent-skill-picker-jev/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/ai-agent-skill-picker-jev/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Agents pick skills from a cramped one-line index and often guess wrong. Here is how we put Jev in front of that choice, and what it costs.</description>
      <category>AI agent skill selection</category>
      <category>Jev skill picker</category>
      <category>Claude Code skills</category>
      <category>agent skill routing</category>
      <category>TypeSafe agent skill</category>
    </item>
    <item>
      <title>LLM Guardrails and Citation Checks with Jev</title>
      <link>https://dryhurst.io/articles/ai-guardrails-citation-checking-jev/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/ai-guardrails-citation-checking-jev/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>A guardrail should hand you evidence, not make your policy for you. How we use Jev to screen LLM traffic and catch citations that do not hold up.</description>
      <category>LLM guardrails</category>
      <category>AI citation checking</category>
      <category>RAG verification</category>
      <category>prompt injection detection</category>
      <category>Jev guardrails</category>
    </item>
    <item>
      <title>LLM Triage for $0.00003: Sort Email and Tickets with Jev</title>
      <link>https://dryhurst.io/articles/ticket-email-triage-fraction-of-a-cent/</link>
      <guid isPermaLink="true">https://dryhurst.io/articles/ticket-email-triage-fraction-of-a-cent/</guid>
      <pubDate>Mon, 28 Sep 2026 00:00:00 GMT</pubDate>
      <description>Sorting a pile of text is a decision problem, not a writing problem. Our Jev triage setup, what one email cost, and the rules we use when Jev is unsure.</description>
      <category>LLM triage</category>
      <category>AI email classification</category>
      <category>AI lead triage</category>
      <category>ticket classification AI</category>
      <category>low cost AI classification</category>
    </item>
  </channel>
</rss>
