<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Glenn Allogho</title>
    <description>The latest articles on DEV Community by Glenn Allogho (@glenn_all).</description>
    <link>https://dev.to/glenn_all</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F974827%2Fa8308396-3323-4468-95b9-b8c5a029f929.jpg</url>
      <title>DEV Community: Glenn Allogho</title>
      <link>https://dev.to/glenn_all</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/glenn_all"/>
    <language>en</language>
    <item>
      <title>Your fallback model only counts if the tool calls survive</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Tue, 03 Nov 2026 09:25:27 +0000</pubDate>
      <link>https://dev.to/glenn_all/your-fallback-model-only-counts-if-the-tool-calls-survive-4330</link>
      <guid>https://dev.to/glenn_all/your-fallback-model-only-counts-if-the-tool-calls-survive-4330</guid>
      <description>&lt;p&gt;Anthropic's S-1 says open-weight models could win some workloads and pressure its prices. That doesn't mean Claude is losing. It does mean your agent workflow sits on commercial decisions you don't control, so a backup model is worth having.&lt;/p&gt;

&lt;p&gt;The catch is that "backup" is usually just an endpoint. DeepSeek and Kimi both speak the Anthropic format, so pointing Claude Code at them takes minutes. Whether the agent still works is a different question. In one reported case, a small local Qwen model behind Ollama returned tool calls as plain text JSON instead of tool_use blocks, four times running. Valid responses, zero finished tasks.&lt;/p&gt;

&lt;p&gt;Three checks before you trust a fallback:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The protocol carries tool calls, tool results and streaming intact.&lt;/li&gt;
&lt;li&gt;Your real harness still enforces hooks and permissions on a throwaway repo. The harness does that, not the model.&lt;/li&gt;
&lt;li&gt;About five real tasks, several runs each, with the patches actually validated.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Then compare cost per accepted task, including failed attempts and review time, instead of price per token.&lt;/p&gt;

&lt;p&gt;Full breakdown, including the pricing math and the routing traps: &lt;a href="https://levelup.gitconnected.com/anthropics-s-1-names-its-real-rival-cheap-open-weight-models-05d11f23d229?sk=d17020566f668a2d02482e5f20461815" rel="noopener noreferrer"&gt;https://levelup.gitconnected.com/anthropics-s-1-names-its-real-rival-cheap-open-weight-models-05d11f23d229?sk=d17020566f668a2d02482e5f20461815&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>claude</category>
      <category>programming</category>
    </item>
    <item>
      <title>Rust won't save your agent from a double charge</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Sat, 31 Oct 2026 09:16:35 +0000</pubDate>
      <link>https://dev.to/glenn_all/rust-wont-save-your-agent-from-a-double-charge-3ii9</link>
      <guid>https://dev.to/glenn_all/rust-wont-save-your-agent-from-a-double-charge-3ii9</guid>
      <description>&lt;p&gt;An agent sends a payment request. The provider accepts it, the connection drops before the response arrives, the worker times out, the orchestrator retries. The customer is charged twice, and a Rust rewrite would not have prevented it.&lt;/p&gt;

&lt;p&gt;Rust's ownership model removes use-after-free bugs and data races in safe code. It can't know whether a remote API finished an operation before the network failed. That takes durable state, idempotency and a recovery protocol that separates safe retries (a read-only search) from operations that need reconciliation (a payment).&lt;/p&gt;

&lt;p&gt;Raw speed is a weak argument too. In an illustrative run of 4 model calls at about 800 ms, 6 tool calls at about 150 ms and 100 ms of orchestration, removing orchestration completely saves about 2.4%.&lt;/p&gt;

&lt;p&gt;Where Rust earns its place is concurrency: how many agent sessions one worker sustains in a fixed memory budget at acceptable tail latency. Memory safety, concurrency correctness, distributed execution correctness. Rust covers the first, helps with the second, and leaves the third to your architecture.&lt;/p&gt;

&lt;p&gt;Full piece, with the state store, queue, worker and recovery design: &lt;a href="https://pub.towardsai.net/why-rust-might-be-the-most-important-language-for-the-next-era-of-ai-713221579ca4?sk=d5e3756c3d754c64104d6be85cd5e283" rel="noopener noreferrer"&gt;Why Rust might be the most important language for the next era of AI&lt;/a&gt;&lt;/p&gt;

</description>
      <category>rust</category>
      <category>ai</category>
      <category>agents</category>
      <category>architecture</category>
    </item>
    <item>
      <title>A cheaper model with a better harness just beat the stronger one</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Thu, 29 Oct 2026 09:15:44 +0000</pubDate>
      <link>https://dev.to/glenn_all/a-cheaper-model-with-a-better-harness-just-beat-the-stronger-one-1nn4</link>
      <guid>https://dev.to/glenn_all/a-cheaper-model-with-a-better-harness-just-beat-the-stronger-one-1nn4</guid>
      <description>&lt;p&gt;Google Cloud AI Research's Harness² keeps the model frozen and rewrites everything around it: system prompt, guardrails, memory, tool guidance, subagents, skills, scripts and plugins.&lt;/p&gt;

&lt;p&gt;The loop proposes two edited harnesses, runs them against the current one on the same task with the same model, and keeps only the changes the traces support. Lessons get stored and retrieved per task, so one fix doesn't leak into unrelated work.&lt;/p&gt;

&lt;p&gt;One round took GLM-5 under OpenCode from 64.2 to 75.7 on WorkBuddy-Bench, above base Gemini at 72.4.&lt;/p&gt;

&lt;p&gt;The consequence for builders: the model is the part everyone can swap next month. The harness, and the evidence behind each piece of it, is the part that stays yours. The catch is that "better" here is behavioral evidence with no answer key, and the repo itself warns about unrestricted network access and a disabled sandbox in the Codex runs. Self-editing harnesses need controls in code.&lt;/p&gt;

&lt;p&gt;Full breakdown, with the benchmarks and where it loses to the baseline: &lt;a href="https://medium.com/towards-artificial-intelligence/googles-harness%C2%B2-suggests-the-next-ai-upgrade-may-not-be-a-new-model-edf814029e79?sk=439a8401742a1f098b4cc3d97ba0aea1" rel="noopener noreferrer"&gt;Google's Harness² suggests the next AI upgrade may not be a new model&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>agents</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Your proactive AI agent costs 4x the plan price</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Tue, 27 Oct 2026 09:21:22 +0000</pubDate>
      <link>https://dev.to/glenn_all/your-proactive-ai-agent-costs-4x-the-plan-price-2bnm</link>
      <guid>https://dev.to/glenn_all/your-proactive-ai-agent-costs-4x-the-plan-price-2bnm</guid>
      <description>&lt;p&gt;Comparing Claude Duet, OpenAI's Dots, Meta's Muse and Grok Bot by monthly price misses the real bill: the human review every output still needs.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cost per accepted outcome = (plan cost + review minutes x hourly rate) / accepted outputs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A hypothetical: a $100 plan drafts 40 briefs, 32 get accepted. Sticker math says $3.13 each. Add 5 minutes of review per brief and 15 minutes to fix each reject, at $60 an hour, and it's about $13.13 each.&lt;/p&gt;

&lt;p&gt;Two more filters that matter before model quality:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Permissions decide where work stops.&lt;/strong&gt; Duet blocks trading and transfers even with approval. Dots hands transfers and password changes back to you. Muse routes actions through a separate allow, ask or deny authority. Grok Bot's background approvals expire after about 10 minutes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Availability.&lt;/strong&gt; Personal Dots accounts exclude the EEA, Switzerland and the UK. Duet is a waitlisted US preview.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pilot two eligible agents on the same bounded recurring job, judge output before granting actions, and decide against a threshold you set in advance.&lt;/p&gt;

&lt;p&gt;Full comparison table, quota math and the six-step pilot: &lt;a href="https://pub.towardsai.net/proactive-ai-agents-claude-duet-dots-muse-or-grok-bot-1361967f6a41?sk=e4b539646e2bb653b11805bfc032f5d5" rel="noopener noreferrer"&gt;Proactive AI agents: Claude Duet, Dots, Muse or Grok Bot?&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>productivity</category>
      <category>llm</category>
    </item>
    <item>
      <title>Once tokens cost cents, your agent bill runs on minutes</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Sun, 25 Oct 2026 09:19:06 +0000</pubDate>
      <link>https://dev.to/glenn_all/once-tokens-cost-cents-your-agent-bill-runs-on-minutes-4ljn</link>
      <guid>https://dev.to/glenn_all/once-tokens-cost-cents-your-agent-bill-runs-on-minutes-4ljn</guid>
      <description>&lt;p&gt;DeepSeek V4.1-Flash-1017 resolves a SWE benchmark task for just under 20 cents in tokens. At that price, the bill that matters is wall-clock time: sandboxes, CI runners, concurrency slots and people waiting.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;cost per task ≈ token_cost + wall_clock_hours x hourly_rate_of_everything_waiting
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Three things change once you price time:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The host matters as much as the model.&lt;/strong&gt; Same MIT weights, OpenRouter hosts ranging from 24 to 290 tokens per second, prices barely tracking it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Concurrency follows wall clock.&lt;/strong&gt; At 1,000 tasks an hour, a 7.6 minute task (210 tok/s) needs about 127 slots. The same task at 42 tok/s takes 23.5 minutes and needs about 392.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Success rate divides everything.&lt;/strong&gt; 8 minutes at 55% success is roughly even with 12 minutes at 85%. Compare cost per successful task, never per-token price.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Also worth knowing: DeepSeek's direct API is double price in weekday peak windows, and the &lt;code&gt;deepseek-flash&lt;/code&gt; alias moves on release day, so pin versions.&lt;/p&gt;

&lt;p&gt;The full worked example, the cost script and a Python harness to measure time and cost per task on your own agent traffic: &lt;a href="https://medium.com/towards-artificial-intelligence/deepseek-v4-1-flash-1017-why-time-per-task-beats-token-price-100398161fa3?sk=016a699c283e951202eecf0401f9f8b6" rel="noopener noreferrer"&gt;DeepSeek V4.1-Flash-1017: Why Time Per Task Beats Token Price&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>devops</category>
      <category>agents</category>
    </item>
    <item>
      <title>Your LLM tracing tool isn't where the lock-in is</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Fri, 23 Oct 2026 08:17:30 +0000</pubDate>
      <link>https://dev.to/glenn_all/your-llm-tracing-tool-isnt-where-the-lock-in-is-513a</link>
      <guid>https://dev.to/glenn_all/your-llm-tracing-tool-isnt-where-the-lock-in-is-513a</guid>
      <description>&lt;p&gt;Langfuse, Phoenix and LangSmith all accept OpenTelemetry spans over OTLP. If your app emits plain spans, the backend is a config choice:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;OTEL_EXPORTER_OTLP_ENDPOINT&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;http://localhost:6006 python trace_demo.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So tracing isn't the decision. Scores, datasets and prompts are, because no exporter setting moves them. That leaves four constraints worth picking on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;License.&lt;/strong&gt; Langfuse is MIT outside &lt;code&gt;ee/&lt;/code&gt;. Phoenix's server is Elastic License 2.0, so no hosting it for clients. LangSmith is closed, self-host is Enterprise only.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ops.&lt;/strong&gt; Self-hosted Langfuse is six containers. Phoenix is one process on SQLite.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Billing shape.&lt;/strong&gt; Langfuse Cloud bills traces plus observations plus scores. Cheap at 4 spans per trace, more expensive than LangSmith at 40.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Eval loop.&lt;/strong&gt; Wherever your evals run is where you'll stay.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The full comparison, a runnable &lt;code&gt;trace_demo.py&lt;/code&gt;, and the pricing math at three traffic shapes: &lt;a href="https://pub.towardsai.net/langfuse-vs-phoenix-vs-langsmith-the-decision-is-not-tracing-768f4c650490?sk=909a1b068ba1de5bad89c1550c2289c6" rel="noopener noreferrer"&gt;Langfuse vs Phoenix vs LangSmith: the decision is not tracing&lt;/a&gt;&lt;/p&gt;

</description>
      <category>llm</category>
      <category>observability</category>
      <category>opentelemetry</category>
      <category>ai</category>
    </item>
    <item>
      <title>Anthropic didn't leave Git because the repo got big</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Wed, 21 Oct 2026 08:23:37 +0000</pubDate>
      <link>https://dev.to/glenn_all/anthropic-didnt-leave-git-because-the-repo-got-big-ckd</link>
      <guid>https://dev.to/glenn_all/anthropic-didnt-leave-git-because-the-repo-got-big-ckd</guid>
      <description>&lt;p&gt;Anthropic replaced Git in its monorepo with Scion, and the lazy reading is "Git doesn't scale." The real break was checkout volume. Almost every client was a CI job or an agent sandbox: always online, short-lived, created by the million. For those, a full local clone is pure overhead, and several hundred mirrors stopped helping.&lt;/p&gt;

&lt;p&gt;Scion moves the work to the server. Clients ask for the exact objects they lack, and every query is also an API. Anthropic reports 99%+ cache hits, a 200x smaller footprint than the mirror fleet, and 25% of CI CPU freed.&lt;/p&gt;

&lt;p&gt;You can't install it, but two ideas work on plain Git today. Stop cloning to ask questions: a small service that owns one mirror can answer "what changed?" and "what's the merge base?" for every job. And make checkout cost follow the change:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone &lt;span class="nt"&gt;--filter&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;blob:none &lt;span class="nt"&gt;--no-checkout&lt;/span&gt; &lt;span class="nt"&gt;--sparse&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$REPO_URL&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; src
git &lt;span class="nt"&gt;-C&lt;/span&gt; src sparse-checkout &lt;span class="nb"&gt;set&lt;/span&gt; &lt;span class="nt"&gt;--cone&lt;/span&gt; services/payments build
git &lt;span class="nt"&gt;-C&lt;/span&gt; src checkout &lt;span class="nt"&gt;--detach&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$HEAD_SHA&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The query service in about 100 lines of Python, where sparse checkouts break, and how Scion compares to Sapling, Piper and Scalar: &lt;a href="https://levelup.gitconnected.com/anthropic-scion-vs-git-what-agent-scale-source-control-changes-6129f7d99d95?sk=c1c5126db0a2b4c5f8e81b4665ffb279" rel="noopener noreferrer"&gt;Anthropic Scion vs Git: what agent-scale source control changes&lt;/a&gt;&lt;/p&gt;

</description>
      <category>git</category>
      <category>ai</category>
      <category>devops</category>
      <category>agents</category>
    </item>
    <item>
      <title>Clef replaces your router's classifier call, not your router</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Mon, 19 Oct 2026 08:14:29 +0000</pubDate>
      <link>https://dev.to/glenn_all/clef-replaces-your-routers-classifier-call-not-your-router-4mfh</link>
      <guid>https://dev.to/glenn_all/clef-replaces-your-routers-classifier-call-not-your-router-4mfh</guid>
      <description>&lt;p&gt;The weakest line in most agent routers is a small LLM told to "reply with only one word." Sometimes it replies with "&lt;strong&gt;coding&lt;/strong&gt;" plus a paragraph, and a strict parser sends a coding prompt to the cheap model.&lt;/p&gt;

&lt;p&gt;Cloudflare's Clef removes that failure. It scores the options you give it in one pass, generates no tokens, and bills input only: $0.038 per million on Clef-flash. In one public build it routed 200 of 200 test requests correctly.&lt;/p&gt;

&lt;p&gt;That builder kept his 0.7 confidence threshold, his fallback flag and his "unsure goes to Sonnet" rule anyway. Clef replaced the classifier call. The policy is still yours to write and tune. And on Cloudflare's own RouterBench run it ties TypeSafe's Jev (79.7 vs 79.9), so the case for switching is price, the free tier, images or open weights, not better routing.&lt;/p&gt;

&lt;p&gt;Prices, outside latency tests, the routing policy I'd start from and a four-step check on 200 of your own requests: &lt;a href="https://pub.towardsai.net/cloudflare-clef-makes-your-agent-router-obsolete-c42871b4dd68?sk=7a4db35e9e25ef3cb1d7834e673453e1" rel="noopener noreferrer"&gt;Cloudflare Clef Makes Your Agent Router Obsolete&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>cloudflare</category>
      <category>agents</category>
    </item>
    <item>
      <title>Meta's best model has no API price, and that's the strategy</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Sat, 17 Oct 2026 08:23:19 +0000</pubDate>
      <link>https://dev.to/glenn_all/metas-best-model-has-no-api-price-and-thats-the-strategy-22mo</link>
      <guid>https://dev.to/glenn_all/metas-best-model-has-no-api-price-and-thats-the-strategy-22mo</guid>
      <description>&lt;p&gt;Muse Wonder costs exactly what Claude Opus 5.5 costs: $4 in, $20 out per million tokens. The price match got the headlines. The interesting part is underneath.&lt;/p&gt;

&lt;p&gt;Meta's API speaks both OpenAI's and Anthropic's wire formats, and Meta publishes a seven-setting config that points Claude Code at &lt;code&gt;muse-wonder-1.0&lt;/code&gt;. Switching in is a config change. But Wonder Full, the stronger model, has no per-token price. It only ships inside Muse Code, from $50 a month per seat, with training on your code on by default.&lt;/p&gt;

&lt;p&gt;My read: easy in at Opus prices, subscription to reach the top. If you build your own harness, you can buy Anthropic's and OpenAI's flagships by the token and not Meta's. If Meta puts Wonder Full on the API, that read is wrong.&lt;/p&gt;

&lt;p&gt;Configs, a per-task cost calculator and a five-task test to run before switching: &lt;a href="https://levelup.gitconnected.com/meta-priced-muse-wonder-like-claude-then-kept-the-best-model-off-the-api-542027662f21?sk=96b78f6443f466651415f494593c3f1a" rel="noopener noreferrer"&gt;Meta priced Muse Wonder like Claude, then kept the best model off the API&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>claude</category>
      <category>meta</category>
    </item>
    <item>
      <title>Open weights don't make a 1T model cheap to run</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Thu, 15 Oct 2026 08:13:29 +0000</pubDate>
      <link>https://dev.to/glenn_all/open-weights-dont-make-a-1t-model-cheap-to-run-2mo0</link>
      <guid>https://dev.to/glenn_all/open-weights-dont-make-a-1t-model-cheap-to-run-2mo0</guid>
      <description>&lt;p&gt;Mistral Large 4 is 1.05T parameters with 52B active per token. The 52B sets your compute. The 1T sets your memory, because every expert has to stay resident in GPU memory for the router to pick it. At FP8 that is about a terabyte of weights before any KV cache.&lt;/p&gt;

&lt;p&gt;That makes 8x B200 (1,440 GB) the first single node I'd plan FP8 on. Rented at about $53.52 an hour, it has to sustain roughly 7,100 output tokens per second all month to beat Mistral's preview API price, about 3,600 at list price. Most teams won't have that concurrency.&lt;/p&gt;

&lt;p&gt;My read: the open weights matter most as an option that caps vendor leverage. Running them yourself pays off only for organisations that already run GPU clusters.&lt;/p&gt;

&lt;p&gt;Memory tables, hardware tiers and the break-even chart: &lt;a href="https://medium.com/towards-artificial-intelligence/mistral-large-4-is-open-weight-but-not-easy-to-run-36d94c7a3d40?sk=474b67ebb545e89acfe8c9706423c099" rel="noopener noreferrer"&gt;Mistral Large 4 is Open-Weight, But Not Easy to Run&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>mistral</category>
      <category>gpu</category>
    </item>
    <item>
      <title>Green tests are not evidence your coding agent finished the job</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Tue, 13 Oct 2026 08:56:36 +0000</pubDate>
      <link>https://dev.to/glenn_all/green-tests-are-not-evidence-your-coding-agent-finished-the-job-325e</link>
      <guid>https://dev.to/glenn_all/green-tests-are-not-evidence-your-coding-agent-finished-the-job-325e</guid>
      <description>&lt;p&gt;A coding agent can ship a green diff that is not the job you asked for.&lt;/p&gt;

&lt;p&gt;A vague brief leaves the agent to decide what is broken, what must stay stable, and how far the change reaches. Those are product and engineering decisions. The implementation makes them for you if you leave them implicit.&lt;/p&gt;

&lt;p&gt;The missing ingredient is rarely a better prompt. It is four loops around the agent: bound the outcome, require a plan before edits, delegate only inspectable increments, and approve evidence before merge. Green tests say the assertions still pass. They do not say the increment matched the bound. A diff shows what changed. The agent's completion report shows what it thinks changed. A mismatch is a review target.&lt;/p&gt;

&lt;p&gt;Full write-up with a task-brief template and before-merge checklist: &lt;a href="https://levelup.gitconnected.com/the-four-loops-that-keep-coding-agent-work-reliable-d53f43cffd96?sk=0bfcc0313adc8d472f9c9112abe85853" rel="noopener noreferrer"&gt;The Four Loops that Keep Coding-Agent Work Reliable&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>coding</category>
      <category>agents</category>
      <category>productivity</category>
    </item>
    <item>
      <title>A decision model that can't refuse will still answer</title>
      <dc:creator>Glenn Allogho</dc:creator>
      <pubDate>Sun, 11 Oct 2026 08:23:49 +0000</pubDate>
      <link>https://dev.to/glenn_all/a-decision-model-that-cant-refuse-will-still-answer-4bl4</link>
      <guid>https://dev.to/glenn_all/a-decision-model-that-cant-refuse-will-still-answer-4bl4</guid>
      <description>&lt;p&gt;OpenAI's Decisions API (public beta since Oct 6) and TypeSafe's Jev do the same job: closed questions in, typed answers with probabilities out, no prose.&lt;/p&gt;

&lt;p&gt;Jev is cheaper ($0.042 vs $0.10 per million input tokens, no output charge on either) but text only. OpenAI takes images, offers US and EU residency, and can return a refusal. Jev always picks one of your options. Jev has a published calibration number; OpenAI has none yet.&lt;/p&gt;

&lt;p&gt;My read: the price gap barely matters at agent volumes. What matters is what your code does when the model shouldn't be answering. A model that must choose gives you a confident label for input it didn't understand, so you need your own "insufficient" option and a human fallback either way.&lt;/p&gt;

&lt;p&gt;I compared images, latency, pricing, residency, limits, and a few small tests that point in different directions here: &lt;a href="https://medium.com/towards-artificial-intelligence/openais-decisions-api-vs-jev-which-one-should-you-use-db7221b08db9?sk=268034a59df5c6338d390fb7105d38c2" rel="noopener noreferrer"&gt;OpenAI's Decisions API vs Jev: which one should you use?&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>openai</category>
      <category>llm</category>
      <category>api</category>
    </item>
  </channel>
</rss>
