<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>ChaseInTech — Articles</title>
    <link>https://chaseintech.com/articles/</link>
    <description>Long-form writing on agentic AI, governed automation and systems architecture by Chase (ChaseInTech).</description>
    <language>en-gb</language>
    <lastBuildDate>Mon, 31 Aug 2026 20:00:00 GMT</lastBuildDate>
    <atom:link href="https://chaseintech.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Claude Code and Codex Are Quietly Becoming Agent Control Planes</title>
      <link>https://chaseintech.com/articles/claude-code-codex-agent-control-planes/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/claude-code-codex-agent-control-planes/</guid>
      <description>Recent releases add model-switch hooks, restricted execution, spend visibility, MCP result interception and tighter subagent accounting. The coding agent is becoming a governed runtime.</description>
      <content:encoded><![CDATA[<p>Coding agents are no longer just models wrapped in a terminal. Their release notes now read like the beginnings of an operating system for delegated work: policy hooks, restricted modes, spend visibility, subagent supervision, tool-result inspection and recovery controls.</p>
<p>I use these systems enough to care less about the feature headline than the authority behind it. A model can be excellent at code and still be unsafe to leave unattended if I cannot answer basic questions about the run.</p>
<p>Which model executed the task? What tools could it reach? Did a subagent inherit the same permissions? Could a project file silently change the operating rules? What happened after a tool returned data? How much did the whole task tree spend? Could I stop it and reconstruct what it had already done?</p>
<p>The latest Claude Code and Codex releases are interesting because both products are starting to expose answers.</p>
<h2>Claude Code adds policy around model changes</h2>
<p>Claude Code v2.1.251 added <code>PreModelSwitch</code> and <code>PostModelSwitch</code> hook events. The release notes say these hooks can block, confirm or annotate a model switch.[1]</p>
<p>That sounds small until a session can move between models with different prices, capabilities, context state or policy requirements. A model change is an operating event. It can alter how the next action is produced.</p>
<p>A useful pre-switch hook can check which model the session wants to use, why the change is happening, what state will be carried forward and whether the new route is allowed for that task. A post-switch hook can record what changed and attach the decision to the run.</p>
<p>The hook does not prove that the switch is safe. It gives an operator somewhere to enforce policy.</p>
<p>Claude Code also added per-session prompt-cache information and spend-limit visibility for developers using a Claude apps gateway with those limits. These additions make cost less mysterious, especially in long sessions where cache misses and re-caching can change the shape of the bill.[1]</p>
<p>Cost visibility is not the same as cost control, but invisible spending cannot be governed at all.</p>
<h2>Restricted mode changes the default authority</h2>
<p>Claude Code v2.1.248 introduced a restricted mode. In that mode, command and code-execution tools, WebFetch and broad file permissions are removed by default. The release also says bypass-permission mode is refused while restricted mode is active.[2]</p>
<p>That is a more important design choice than another convenience command.</p>
<p>Most agent incidents do not begin with a dramatic exploit. They begin with a tool that was available because nobody removed it. A coding task that only needs repository reading and a narrow edit should not automatically inherit shell execution, unrestricted network access and every writable path on the machine.</p>
<p>Restricted mode moves the starting point. The operator has to add authority instead of remembering to subtract it.</p>
<p>This is still configuration, not a guarantee. Teams can choose a broader profile, allow the wrong path or misunderstand what a plugin can do. But the product now exposes a clearer least-authority lane.</p>
<h2>The filesystem fixes show why policy must survive runtime changes</h2>
<p>The same Claude Code release fixed file tools following a symlink that had been swapped inside the working directory after the permission check. It also fixed plugin commands declared in a marketplace entry being able to point outside the plugin directory.[1]</p>
<p>These fixes are a reminder that checking a path once is not enough. The resource used at execution time must still be the resource that was approved.</p>
<p>An agent can ask permission for a path that appears safe, then reach somewhere else if the path changes before the operation. A plugin can look contained in its manifest and still escape that boundary if the resolved command points outside it.</p>
<p>A real control plane has to govern the resolved runtime object rather than trusting the earlier string that named it.</p>
<h2>Codex is exposing coordination and interception points</h2>
<p>Codex 0.150.0 added task-to-task coordination primitives and interrupt handling.[3] Codex 0.151.0 followed with changes around MCP tool results, sandbox behavior, permission state and nested subagent accounting.[4]</p>
<p>The MCP result interception point is particularly useful.</p>
<p>Tool governance is often described as deciding whether an agent may call a tool. That is only half the path. The result can also contain hostile instructions, malformed records, secrets, unexpected links or data that should not be allowed into the next reasoning step unchanged.</p>
<p>A control plane needs somewhere to inspect, redact, reject, replace or annotate the result before the agent treats it as trusted context.</p>
<p>This matters even when the tool itself is legitimate. A browser, issue tracker, documentation server or repository search can return untrusted content. Permission to call the tool does not make every returned byte safe.</p>
<h2>Subagent budgets need one root contract</h2>
<p>Codex 0.151.0 also tightened accounting for nested subagents so descendants can remain under a root token budget.[4]</p>
<p>Without that relationship, a parent agent can appear bounded while repeatedly spawning work underneath it. The top-level session stays within its own apparent limit, but the full task tree does not.</p>
<p>The same problem applies to time, API spend, tool calls and side effects. A parent task should not escape a limit by delegating the expensive part.</p>
<p>I want one task contract at the root:</p>
<ul>
<li>maximum model and API spend;</li>
<li>maximum elapsed time;</li>
<li>maximum subagent depth and count;</li>
<li>allowed tools and paths;</li>
<li>actions that require fresh human approval;</li>
<li>evidence required before the run can close.</li>
</ul>
<p>Every child should inherit that contract unless the operator explicitly narrows or extends it. A child must not be able to grant itself more authority than the parent had.</p>
<h2>Streaming is useful, but background work still needs receipts</h2>
<p>Claude Code v2.1.251 added live streaming of a foreground subagent&#39;s tool calls and results to Remote Control clients. The release notes distinguish this from background subagents, which still show status rather than the same live detail.[1]</p>
<p>That distinction matters.</p>
<p>Foreground visibility helps an operator understand a task while it is happening. Background agents create a different requirement. If the system cannot show every step live, it needs durable receipts after the fact.</p>
<p>A status such as &quot;completed&quot; is not enough. I need the task input, model route, tool calls, files changed, commands run, external effects, test results, approval events and final output. If the work failed, I also need to know what state survived.</p>
<p>Live observation and replayable evidence solve different problems. Mature agent systems need both.</p>
<h2>This is not a benchmark contest</h2>
<p>Nothing in these release notes proves that Claude Code or Codex writes better software. It does not establish that either sandbox is complete, that every plugin is safe or that a nested task always stays inside the intended boundary.</p>
<p>The releases do show where the products are investing.</p>
<p>They are adding policy seams around model routing. They are making authority profiles explicit. They are exposing cost and cache state. They are providing more control over coordination and tool results. They are repairing gaps where an approved path could become a different runtime resource.</p>
<p>That is control-plane work.</p>
<p>The model still matters. So do the prompt, repository, tests and human reviewer. But once a coding agent can coordinate tasks and execute tools, the surrounding control system decides whether that intelligence can be used repeatedly without turning every run into a trust exercise.</p>
<h2>What I will measure next</h2>
<p>I do not want to judge these controls from release notes alone.</p>
<p>The practical test is a bounded repository task run under both systems with the same contract. I would record:</p>
<ul>
<li>which policy decisions are visible before execution;</li>
<li>how model changes are represented;</li>
<li>whether child tasks inherit limits;</li>
<li>what tool results can be inspected before reuse;</li>
<li>how filesystem boundaries behave under path changes;</li>
<li>what evidence remains after interruption or failure;</li>
<li>how much human time is required to reconstruct the run.</li>
</ul>
<p>That test would not declare a universal winner. It would show which control surfaces are usable, which are only configurable and which still rely on operator discipline.</p>
<p>Coding agents are getting more capable. The more important change is that their authority is finally becoming something we can inspect and shape.</p>
<h2>Sources</h2>
<p>[1] <a href="https://github.com/anthropics/claude-code/releases/tag/v2.1.251">https://github.com/anthropics/claude-code/releases/tag/v2.1.251</a> - Claude Code v2.1.251 release notes
[2] <a href="https://github.com/anthropics/claude-code/releases/tag/v2.1.248">https://github.com/anthropics/claude-code/releases/tag/v2.1.248</a> - Claude Code v2.1.248 release notes
[3] <a href="https://github.com/openai/codex/releases/tag/rust-v0.150.0">https://github.com/openai/codex/releases/tag/rust-v0.150.0</a> - Codex 0.150.0 release notes
[4] <a href="https://github.com/openai/codex/releases/tag/rust-v0.151.0">https://github.com/openai/codex/releases/tag/rust-v0.151.0</a> - Codex 0.151.0 release notes</p>
]]></content:encoded>
      <pubDate>Mon, 31 Aug 2026 20:00:00 GMT</pubDate>
      <category>Article</category>
      <category>Claude Code</category>
      <category>OpenAI Codex</category>
      <category>AI agents</category>
      <category>software engineering</category>
      <category>agent governance</category>
    </item>
    <item>
      <title>GPT-6 Astra Rumours Are Outrunning the Evidence</title>
      <link>https://chaseintech.com/articles/gpt-6-astra-rumor-evidence-audit/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/gpt-6-astra-rumor-evidence-audit/</guid>
      <description>Reported outputs are circulating under an Astra codename, but OpenAI has not published a GPT-6 model page, API identity, price or system card. This is a rumor audit, not a release announcement.</description>
      <content:encoded><![CDATA[<p>GPT-6 is already being discussed like a product launch. It is not one yet.</p>
<p>A third-party report published on 29 August attributes surfaced outputs to an OpenAI codename, &quot;Astra.&quot; The screenshots and commentary are interesting. They may even turn out to be early evidence of a future model. They are not an API identity, model card, price sheet or release note.[1]</p>
<p>I follow rumors because waiting for a polished launch page can leave a builder behind. I also refuse to plan a product around a codename that a vendor has not confirmed.</p>
<p>Both positions can be true. You can pay attention without pretending the evidence is stronger than it is.</p>
<p>This article separates the current GPT-6 story into four lanes: reported, observed, official and unknown.</p>
<h2>Reported: outputs are being attributed to Astra</h2>
<p>TestingCatalog published &quot;First outputs from GPT-6 &#39;Astra&#39; model from OpenAI&quot; on 29 August. The page categorises the story under AI rumours and describes the outputs as reportedly generated with extended reasoning.[1]</p>
<p>That wording matters.</p>
<p>&quot;Reportedly&quot; means the publication is passing on an attribution. It does not mean OpenAI has confirmed the model identity. The output may come from an internal test, a limited evaluation route, a future product checkpoint or something else entirely. An outside reader cannot resolve that from the screenshot alone.</p>
<p>The report is a useful lead. It is not a release contract.</p>
<p>A release contract would include a stable model name, access route, documentation, pricing, limits and support boundaries. None of those are established by the existence of a surfaced output.</p>
<h2>Observed: screenshots can show behavior, not product identity</h2>
<p>A screenshot may show an interface, a response and a label. It can help answer narrow questions:</p>
<ul>
<li>Was this output presented under the name Astra?</li>
<li>What kind of prompt appears to have been used?</li>
<li>How long did the visible run take?</li>
<li>Did the result contain code, analysis or tool output?</li>
</ul>
<p>It cannot establish the whole product behind the image.</p>
<p>A label can be an internal alias. A response can be selected from many attempts. A timing figure can exclude queueing, retries or hidden work. A result can look strong without revealing the model version, system prompt, tool access or evaluation conditions.</p>
<p>This is the same reason I do not treat a vendor benchmark chart as production reliability. The visible result is one part of the harness.</p>
<p>For GPT-6 rumors, the harness is mostly missing.</p>
<h2>Official: OpenAI has published GPT-5.6 pages, not GPT-6</h2>
<p>I checked OpenAI&#39;s live sitemap on 31 August. It contains first-party GPT-5.6 surfaces, including an official page for GPT-5.6 in Kiro. I did not find a GPT-6 model page, GPT-6 announcement, Astra model page or Bel model page in that sitemap.[2][3]</p>
<p>This is a bounded negative finding.</p>
<p>A missing sitemap entry does not prove that OpenAI has no internal model, checkpoint or experiment with those names. It only proves that the first-party publication surface I checked did not expose the product documentation a developer would need.</p>
<p>That is enough to reject one claim: GPT-6 has not been verified as a public product through the official surface used in this audit.</p>
<p>It is not enough to claim that every rumor is false.</p>
<h2>Unknown: the details that determine whether builders can use it</h2>
<p>Most of the useful questions remain unanswered.</p>
<h3>Model and API identity</h3>
<p>What exact identifier would a developer send? Would GPT-6 be one model, a family or a routing layer? Would Astra survive as a public name?</p>
<p>Without a stable identifier, there is nothing to integrate or test.</p>
<h3>Price</h3>
<p>A model can look excellent in a screenshot and still be a poor fit for repeated agent work if output tokens, tool calls, cache behavior or long reasoning make the successful task expensive.</p>
<p>The rate card is only the start. I would still measure cost per successful, checked task.</p>
<h3>Context and state</h3>
<p>A context-window number does not tell us how well the model uses long repositories, whether it compacts state, how it preserves instructions or what happens after repeated tool calls.</p>
<p>The practical question is how much useful state survives the workflow.</p>
<h3>Tool use</h3>
<p>Does the model call tools directly? Can it work through Codex or another managed harness? How are permissions represented? Can results be inspected before the model reuses them?</p>
<p>A stronger model with weak tool boundaries can increase the blast radius of an error.</p>
<h3>Availability and limits</h3>
<p>Who gets access? Which regions, plans and APIs? What are the rate limits? Is the model suitable for background work or only interactive sessions?</p>
<p>A demo that cannot be scheduled or budgeted is not an agent platform.</p>
<h3>Evaluation method</h3>
<p>If new benchmark results appear, I want the exact benchmark version, harness, settings, number of trials, grader and failure treatment.</p>
<p>A number without the run contract is advertising material, not operating evidence.</p>
<h3>Safety documentation</h3>
<p>A public system card or equivalent document should define the tested risk areas, deployment restrictions and known limitations. It will not prove the system is safe, but it gives outside reviewers something concrete to examine.</p>
<h2>Parameter counts are not a substitute for evidence</h2>
<p>Some GPT-6 coverage has repeated very large parameter-count claims. I am not treating those figures as facts.</p>
<p>Parameter counts can be misunderstood even when the vendor publishes them. Total parameters, active parameters, expert routing and inference cost are different quantities. A speculative number tells us almost nothing about the cost or reliability of a real task.</p>
<p>The same applies to predictions that a model will arrive within days. A market price, anonymous comment or social post can measure expectation. It cannot set OpenAI&#39;s release schedule.</p>
<p>If OpenAI publishes the model tomorrow, the evidence changes tomorrow. The correct response is to update the article, not pretend today&#39;s rumor was official all along.</p>
<h2>How I handle rumors in a real product workflow</h2>
<p>I use a simple rule.</p>
<p>A rumor can enter research. It cannot enter production routing.</p>
<p>That means I can:</p>
<ul>
<li>save the source;</li>
<li>record the date and exact wording;</li>
<li>identify testable claims;</li>
<li>prepare a provisional evaluation plan;</li>
<li>watch the first-party documentation surfaces.</li>
</ul>
<p>I will not:</p>
<ul>
<li>add an unverified model to a live registry;</li>
<li>promise a customer that a rumored capability is coming;</li>
<li>publish a price or release date without a first-party source;</li>
<li>build a governance claim around a codename;</li>
<li>present a screenshot as a system card.</li>
</ul>
<p>This keeps the research lane fast without contaminating product truth.</p>
<h2>What would change this article</h2>
<p>A first-party OpenAI announcement would move part of the story from reported to official.</p>
<p>The minimum useful publication would include:</p>
<ul>
<li>exact model or family name;</li>
<li>API or product availability;</li>
<li>price and rate limits;</li>
<li>context and tool-use documentation;</li>
<li>evaluation details;</li>
<li>safety or system documentation;</li>
<li>migration guidance from current models.</li>
</ul>
<p>Once those exist, the article should stop asking whether GPT-6 is a release. It should test whether the release does what the documentation claims.</p>
<p>Until then, the honest headline has a question mark.</p>
<h2>Sources</h2>
<p>[1] <a href="https://www.testingcatalog.com/first-outputs-from-gpt-6-astra-model-from-openai">https://www.testingcatalog.com/first-outputs-from-gpt-6-astra-model-from-openai</a> - TestingCatalog: reported GPT-6 Astra outputs
[2] <a href="https://openai.com/sitemap.xml">https://openai.com/sitemap.xml</a> - OpenAI sitemap
[3] <a href="https://openai.com/index/gpt-5-6-in-kiro">https://openai.com/index/gpt-5-6-in-kiro</a> - OpenAI: GPT-5.6 in Kiro</p>
]]></content:encoded>
      <pubDate>Mon, 31 Aug 2026 19:00:00 GMT</pubDate>
      <category>Article</category>
      <category>GPT-6</category>
      <category>OpenAI</category>
      <category>AI rumors</category>
      <category>model verification</category>
      <category>evidence audit</category>
    </item>
    <item>
      <title>Anthropic Wants AI Agents to Operate Lab Hardware</title>
      <link>https://chaseintech.com/articles/anthropic-model-hardware-standard-agent-safety/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/anthropic-model-hardware-standard-agent-safety/</guid>
      <description>The Model Hardware Standard research preview connects agents to microscopes, liquid handlers and robotic arms. The difficult part is bounding physical authority and proving what changed.</description>
      <content:encoded><![CDATA[<p>An AI agent editing the wrong file can break a build. An agent operating a microscope, liquid handler or robotic arm can change the physical world.</p>
<p>Anthropic opened a research preview of the Model Hardware Standard on 27 August. MHS is described as a shared specification for agents to operate devices from different manufacturers. The launch examples include scientific and manufacturing equipment, and Anthropic names Hugging Face LeRobot and Raspberry Pi among the early adopters.[1]</p>
<p>The shared interface is useful. The harder problem sits around it.</p>
<p>Which device is the agent talking to? What exact action is allowed? How far can a motor move? What happens when two devices need the same resource? Who can stop the run? What evidence proves the device reached the expected state?</p>
<p>Once software can produce physical side effects, those questions are part of the product.</p>
<h2>A common command format does not create common safety</h2>
<p>Laboratory and manufacturing equipment often comes from different vendors, with different interfaces, timing rules and failure behavior. A shared specification can make coordination easier because the agent does not need a separate ad hoc integration for every device.</p>
<p>That removes friction. It can also concentrate authority.</p>
<p>An agent that previously controlled one instrument through a narrow script may now have a route to several instruments through one standard. The interface becomes easier to use, and the blast radius of a bad instruction can grow at the same time.</p>
<p>This does not make the standard a bad idea. It means the safety model cannot stop at protocol compatibility.</p>
<p>A device may accept the same shape of command while requiring completely different operating limits. A microscope stage, liquid handler and robotic arm do not share the same consequences, even if one agent can address all three.</p>
<p>The control plane must understand the device, action and physical context behind the call.</p>
<h2>Device identity has to be stronger than a friendly name</h2>
<p>A physical workflow needs a verified device identity.</p>
<p>&quot;Microscope 2&quot; is not enough if the operator cannot prove which hardware instance, firmware, calibration state and attached components sit behind that label.</p>
<p>The task contract should bind to a specific device record. That record should include the properties that matter for safe operation:</p>
<ul>
<li>manufacturer and model;</li>
<li>unique device identity;</li>
<li>firmware and driver version;</li>
<li>calibration or maintenance state;</li>
<li>attached tools or consumables;</li>
<li>physical location;</li>
<li>supported safety interlocks.</li>
</ul>
<p>The agent should not silently substitute a different device because the preferred one is unavailable. Substitution changes the task.</p>
<p>If the operator approves one microscope and the runtime routes to another, the approval no longer describes what happened.</p>
<h2>Capability leases should expire with the task</h2>
<p>I would not give a hardware agent a standing permission such as &quot;can control robotic arms.&quot;</p>
<p>I would issue a short capability lease tied to one task.</p>
<p>The lease would define:</p>
<ul>
<li>the exact device;</li>
<li>allowed commands;</li>
<li>bounded operating range;</li>
<li>maximum force, speed, temperature or volume where relevant;</li>
<li>start and expiry time;</li>
<li>maximum number of actions;</li>
<li>required sensor conditions;</li>
<li>actions that trigger fresh human approval.</li>
</ul>
<p>A task that needs to move one stage by a small distance should not inherit permission to run every motion function on the device.</p>
<p>The lease should also die when the task closes, fails or loses contact with the supervising system. An unattended session must not leave durable hardware authority behind.</p>
<h2>Timing and concurrency are part of the safety model</h2>
<p>Physical work happens over time.</p>
<p>A command can be valid in isolation and dangerous in sequence. A liquid handler may need to wait for a plate to reach the correct position. A robotic arm may need an area to remain clear. A microscope may need the sample to stop moving before capture.</p>
<p>When one agent coordinates several devices, it must handle dependencies, resource locks and timeouts. It also needs a defined response when the physical state does not match the expected state.</p>
<p>Retrying the same command is not always safe.</p>
<p>In software, a retry might create a duplicate record. In hardware, a retry might repeat a dose, move a stage twice or apply force again. The system should treat every retry as a new physical decision unless the device can prove that the first action did not occur.</p>
<p>Idempotency cannot be assumed. It has to be designed into the device operation or established from sensor evidence.</p>
<h2>Interlocks must sit below the model</h2>
<p>A language model should not be the last safety check before motion.</p>
<p>Hard limits and emergency stops need to exist below the reasoning layer. The model may propose an action, but the device controller or independent safety layer should enforce boundaries the model cannot override.</p>
<p>That includes:</p>
<ul>
<li>travel limits;</li>
<li>collision zones;</li>
<li>force and speed ceilings;</li>
<li>temperature and pressure constraints;</li>
<li>door, cover or enclosure state;</li>
<li>presence sensors;</li>
<li>emergency-stop state.</li>
</ul>
<p>The model can explain why it wants an action. It should not be able to argue a physical interlock out of the way.</p>
<p>A useful architecture separates proposal from authority:</p>
<ol>
<li>The agent proposes a device action.</li>
<li>The policy layer checks the task and capability lease.</li>
<li>The safety controller checks current physical conditions.</li>
<li>The device executes within hard limits.</li>
<li>Sensors confirm the resulting state.</li>
<li>The system records the receipt.</li>
</ol>
<p>If any layer cannot prove its preconditions, the action should stop.</p>
<h2>Human approval needs an exact physical target</h2>
<p>A generic confirmation such as &quot;Allow this experiment?&quot; is weak approval.</p>
<p>The review should show the operator:</p>
<ul>
<li>the device and current state;</li>
<li>the proposed action and operating range;</li>
<li>the reason for the action;</li>
<li>expected physical result;</li>
<li>known hazards or irreversible effects;</li>
<li>what the system will measure afterward;</li>
<li>how to stop or recover.</li>
</ul>
<p>The approval should bind one person to one action scope and expire if the device state changes before execution.</p>
<p>If the sample moved, the tool changed or the calibration expired, the old approval should not carry forward automatically.</p>
<h2>Physical state needs a receipt</h2>
<p>Software agents often close a task when a command returns success. That is not enough for physical work.</p>
<p>A controller can acknowledge a command without proving the real-world outcome. The arm may stall. The liquid transfer may be incomplete. The image may be captured from the wrong position.</p>
<p>The receipt should include both the command and the observed result.</p>
<p>Depending on the device, that might mean:</p>
<ul>
<li>encoder position;</li>
<li>sensor reading;</li>
<li>before-and-after image;</li>
<li>measured volume or weight;</li>
<li>timestamped controller status;</li>
<li>interlock state;</li>
<li>operator intervention;</li>
<li>error and recovery path.</li>
</ul>
<p>The evidence does not guarantee scientific validity. It proves more narrowly what the system observed during the action.</p>
<p>That distinction matters. A correct device movement can still produce a bad experiment. The agent-control receipt and the scientific conclusion are separate layers of evidence.</p>
<h2>The research preview is not a safety certificate</h2>
<p>Anthropic says the MHS research preview will help build additional safety evaluations and strengthen protections for AI use in the physical world. The company also says it is developing a physical safety roadmap.[1]</p>
<p>That is a statement of work in progress.</p>
<p>The announcement does not establish general availability, field prevalence or proof that agents can safely run arbitrary laboratories. Early integrations show that the interface can be explored with real devices. They do not settle governance across every machine, environment and experiment.</p>
<p>The most useful response is not to dismiss the standard or celebrate it as solved. It is to test the boundaries while the specification is still being shaped.</p>
<h2>What I would test before trusting a hardware agent</h2>
<p>I would start with a simulator or a low-consequence device task and force the system through failure cases.</p>
<p>The test plan would include:</p>
<ul>
<li>wrong device identity;</li>
<li>expired capability lease;</li>
<li>stale calibration;</li>
<li>unexpected sensor state;</li>
<li>conflicting device schedules;</li>
<li>partial physical completion;</li>
<li>network loss during execution;</li>
<li>duplicate command delivery;</li>
<li>human stop during motion;</li>
<li>recovery after a failed receipt.</li>
</ul>
<p>I would also test the evidence path. Can an independent reviewer reconstruct which device moved, under which approval, within which bounds, and what sensors observed afterward?</p>
<p>If the answer is no, the system is not ready for unattended physical authority.</p>
<h2>Where ChaseOS fits, and where it does not</h2>
<p>ChaseOS does not currently claim a shipped MHS integration.</p>
<p>The relevant connection is architectural. ChaseOS already treats authority, approval and evidence as separate parts of agent work. A future physical-device lane would need to extend that model with device identity, short capability leases, interlocks, emergency stops and physical-state receipts.</p>
<p>That is a proposed direction, not product truth.</p>
<p>MHS makes the device interface easier to imagine. The operating system around it still decides whether an agent can use that interface safely.</p>
<p>The command format may be shared. Responsibility cannot be delegated to the format.</p>
<h2>Sources</h2>
<p>[1] <a href="https://www.anthropic.com/news/model-hardware-standard-research-preview">https://www.anthropic.com/news/model-hardware-standard-research-preview</a> - Anthropic: Previewing the Model Hardware Standard</p>
]]></content:encoded>
      <pubDate>Mon, 31 Aug 2026 18:00:00 GMT</pubDate>
      <category>Article</category>
      <category>Anthropic</category>
      <category>Model Hardware Standard</category>
      <category>AI agents</category>
      <category>robotics</category>
      <category>physical AI safety</category>
    </item>
    <item>
      <title>ChaseOS Studio V1.1.0: inspect knowledge before it joins the graph</title>
      <link>https://chaseintech.com/articles/chaseos-studio-v1-1-0-release-evidence/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/chaseos-studio-v1-1-0-release-evidence/</guid>
      <description>The signed V1.1.0 release makes Intake, Research Collections and approvals inspectable, and publishes an updater path backed by a hash-matched Windows installer.</description>
      <content:encoded><![CDATA[<p><strong>ChaseOS Studio V1.1.0 is now the public Windows release. This update is about making the path from captured evidence to durable knowledge visible before anything is filed.</strong></p>
<p>The public release manifest, website download and installed build on the primary test system all resolve to the same V1.1.0 candidate. The installer was downloaded back from the public URL and matched against its published SHA-256, rather than treating a successful upload as proof by itself.</p>
<p>Existing V1.0.9 installations can now discover V1.1.0 through Studio&#39;s update channel. A second computer is the next useful acceptance environment: it should receive the update prompt, install the signed package and then confirm its own installed version. That second-machine completion is a test to perform, not something this article assumes has already happened.</p>
<h2>Intake now previews the graph change</h2>
<p><a href="/images/articles/chaseos-studio-v1-1-0/intake-graph-preview.png"><img src="/images/articles/chaseos-studio-v1-1-0/intake-graph-preview.png" alt="ChaseOS Studio graph preview highlighting one proposed Intake node and five existing links."></a></p>
<p>The Intake flow can hand a proposed filing plan to the graph without silently adding it. The proposed node stays highlighted, existing connections remain visible, and the operator can zoom to the affected area or return to Intake.</p>
<p>This is the useful distinction: the graph preview is an inspection state. It is not permission to write the note.</p>
<h2>Research Collections keeps evidence and destination together</h2>
<p><a href="/images/articles/chaseos-studio-v1-1-0/research-collections.png"><img src="/images/articles/chaseos-studio-v1-1-0/research-collections.png" alt="Research Collections showing the proposal list, evidence, destination path, collection map and approval controls."></a></p>
<p>Research Collections now puts the reason for the suggestion, resolved evidence, target path, proposed node, new links and rewrite count into one review surface. The example above proposes one collection node linked to 17 existing notes with zero rewrites.</p>
<p>The interface also states the scope of the destination and keeps <code>Inspect in Graph</code>, <code>Queue for approval</code> and <code>Dismiss suggestion</code> as separate decisions. That separation matters because previewing a useful structure should not automatically promote it into canonical knowledge.</p>
<h2>Approvals exposes where a request came from</h2>
<p><a href="/images/articles/chaseos-studio-v1-1-0/approvals.png"><img src="/images/articles/chaseos-studio-v1-1-0/approvals.png" alt="Approvals surface showing an all-clear queue grouped into Studio and local, agent runtime and external connector requests."></a></p>
<p>Approvals now groups requests by Studio and local work, agent runtimes and external connectors. The retained signed-build capture shows the truthful empty state: nothing was waiting at the moment of QA. Separate interaction evidence covers approve and decline journeys, but an empty packaged screenshot is not mislabelled as proof that a live request was executed.</p>
<h2>What was actually verified</h2>
<ul>
<li>The Windows installer is Authenticode-signed and timestamped.</li>
<li>The public V1.1.0 installer is 531,616,112 bytes.</li>
<li>Its public readback SHA-256 matches the published release hash.</li>
<li>A V1.0.9 version check reports V1.1.0 as available.</li>
<li>A V1.1.0 version check reports the installation as current.</li>
<li>Signed packaged-app visual QA retained distinct Intake, Research Collections and Approvals captures against a real vault.</li>
</ul>
<p>The remaining cross-device acceptance is deliberately separate: install the update on the second computer, reopen Studio, confirm V1.1.0 there and then test that machine&#39;s own runtime and Cloud state. A website publication cannot prove those machine-local outcomes.</p>
<p><strong><a href="https://chaseos.ai/download">Download ChaseOS Studio V1.1.0</a></strong> · <strong><a href="https://chaseos.ai/changelog">Read the full public changelog</a></strong></p>
]]></content:encoded>
      <pubDate>Thu, 27 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>ChaseOS</category>
      <category>ChaseOS Studio</category>
      <category>knowledge graphs</category>
      <category>human approval</category>
      <category>local-first software</category>
    </item>
    <item>
      <title>Solo Operator AI Workspace: Why Agent Work Needs Proof, Not More Prompts</title>
      <link>https://chaseintech.com/articles/solo-operator-ai-workspace-proof-not-prompts/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/solo-operator-ai-workspace-proof-not-prompts/</guid>
      <description>A public build note for the ChaseInTech workspace kit: job routing, durable context, approval boundaries, runtime adapters and the evidence ladder used to close agent work truthfully.</description>
      <content:encoded><![CDATA[<p>Most agent failures in a real project do not begin with a missing clever prompt. They begin when the agent cannot see the current project truth, receives an unbounded job, inherits the wrong authority or calls work complete without the evidence that the operator actually needs.</p>
<p>The <strong>Solo Operator AI Workspace</strong> packages a different approach. It installs a small operating layer inside a project: a project map, runtime instructions, protected paths, work orders, approval gates, durable state notes and evidence templates. The model can change; the work contract remains visible.</p>
<p><a href="/products/solo-operator-ai-workspace/">See the complete product system and visual diagrams.</a></p>
<h2>The operating loop</h2>
<pre><code class="language-text">project truth
    -&gt; bounded work order
    -&gt; job-shaped runtime profile
    -&gt; checkpointed execution
    -&gt; named acceptance checks
    -&gt; durable closeout evidence
</code></pre>
<p>The point is not to turn every task into bureaucracy. A quick edit can use a short bounded profile. A multi-day build needs higher reasoning effort, checkpoints and durable current-state notes. A visual refinement task needs observable renders. A computer-use task needs a visible foreground session and evidence of what happened in the interface. A release task needs build, package and destination proof.</p>
<h2>Route the job before choosing the model</h2>
<p>Model rankings move quickly and rarely describe a person&#39;s exact project. The workspace begins with observable job characteristics instead:</p>
<ul>
<li>duration and ambiguity;</li>
<li>code, visual or computer-use surface;</li>
<li>authority and external effects;</li>
<li>checkpoint frequency;</li>
<li>acceptance evidence required.</li>
</ul>
<p>That produces a work profile such as quick bounded, deep build, visual refinement, computer use, supervised runtime or release proof. A founder can then select a suitable commercial, local, open or regionally developed model based on evaluations, privacy, language, licence, cost and hardware—not the assumption that one model is universally best.</p>
<h2>Durable context without copying a private system</h2>
<p>The kit is informed by patterns used while operating and releasing several software products, but it does not contain ChaseOS, private business data, credentials or governed internal policy.</p>
<p>Instead, it exposes reusable abstractions:</p>
<table>
<thead>
<tr>
<th>Artifact</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>Project map</td>
<td>Names the current source of truth, important paths and known unknowns</td>
</tr>
<tr>
<td>Work order</td>
<td>Defines the outcome, allowed changes, protected paths and acceptance checks</td>
</tr>
<tr>
<td>Current state</td>
<td>Leaves a compact resume point for the next session or harness</td>
</tr>
<tr>
<td>Lessons</td>
<td>Carries forward stable operating knowledge without dumping whole conversations</td>
</tr>
<tr>
<td>Approval gates</td>
<td>Separates implementation authority from payments, publishing, deployment and other external effects</td>
</tr>
<tr>
<td>Evidence receipt</td>
<td>Records what was implemented, tested, visually verified, released or read back live</td>
</tr>
</tbody></table>
<p>This gives a new session enough context to resume the project without pretending the old conversation itself is a reliable database.</p>
<h2>“Done” is not one state</h2>
<p>The workspace uses an evidence ladder:</p>
<ol>
<li><strong>Implemented</strong> — files or behaviour exist.</li>
<li><strong>Tested</strong> — a named check passed.</li>
<li><strong>Visually verified</strong> — the rendered result was inspected.</li>
<li><strong>Released</strong> — an accepted artifact was built or submitted.</li>
<li><strong>Live</strong> — the destination was read back and verified.</li>
</ol>
<p>A lower rung does not prove a higher one. A passing unit test does not prove a production deployment. A storefront draft does not prove a customer can buy. A generated image does not prove the final page uses it correctly.</p>
<h2>What Version 1.0 has actually proved</h2>
<p>Version 1.0 contains cross-runtime project adapters, six work profiles, four reusable skills, a safe bootstrapper, a workspace doctor, a private-data scanner, a sample project, an illustrated manual and deterministic release packaging.</p>
<p>Its product-tool test suite passed ten tests. The sample project passed three tests. A fixed, public-safe Codex fixture passed five acceptance tests while its protected files remained unchanged. The privacy scan reported no private-data findings in the customer release.</p>
<p>The acceptance run also found a real packaging defect: several runtime-specific installs referenced a shared contract without installing it. The bootstrapper was corrected and a regression test now covers that path. That defect is more useful evidence than a perfect demo because it shows the package was exercised as a buyer would use it.</p>
<p>Compatibility remains deliberately specific:</p>
<ul>
<li>Codex completed one bounded live task on Windows under the recorded fixture constraints.</li>
<li>Claude Code&#39;s installer path and workspace doctor passed, but live execution was blocked by expired operator authentication.</li>
<li>Gemini CLI and GitHub Copilot adapters are packaged but do not yet carry live runtime claims.</li>
<li>macOS and Linux acceptance remain future checks.</li>
</ul>
<h2>What the product does not provide</h2>
<p>It does not include a model, API credits, a hosted agent, a 24/7 server, unrestricted computer control, access to private ChaseInTech systems or a guarantee that an agent will produce correct work.</p>
<p>It gives the operator a clearer surface for assigning, constraining, resuming and verifying that work. The buyer remains responsible for model accounts, runtime infrastructure and approval decisions.</p>
<p>That boundary is the product&#39;s central idea: autonomy becomes more useful when authority and proof remain explicit.</p>
<p><a href="/products/solo-operator-ai-workspace/">Explore the Solo Operator AI Workspace and its verified Gumroad buying route.</a></p>
]]></content:encoded>
      <pubDate>Mon, 24 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>AI agents</category>
      <category>agent harnesses</category>
      <category>Codex</category>
      <category>release engineering</category>
      <category>solo founders</category>
    </item>
    <item>
      <title>Gemini 3.7 Flash Is Cheaper and Better at Agent Work - But Is It More Reliable?</title>
      <link>https://chaseintech.com/articles/gemini-3-7-flash-agent-reliability/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/gemini-3-7-flash-agent-reliability/</guid>
      <description>Gemini 3.7 Flash cuts introductory token pricing and raises agent benchmark scores, but production reliability still needs workload-specific proof.</description>
      <content:encoded><![CDATA[<h1>Gemini 3.7 Flash Is Cheaper and Better at Agent Work - But Is It More Reliable?</h1>
<p>Google released Gemini 3.7 Flash on August 13, only three weeks after 3.6 Flash, and called it its most intelligent workhorse model for coding and agents.[1] That pace alone should make builders pause before treating any model choice as permanent. The more interesting part is what Google changed: the model is cheaper to run through the end of 2026, scores better across several agent-style tests, and is already generally available rather than sitting behind a preview label.[2][3]</p>
<p>I would test it. I would not yet call it reliable.</p>
<p>That distinction matters because agent work is not a single answer. An agent has to plan, call tools, read the result, recover when a tool fails, preserve state and stop at the right moment. A model can improve at all of those behaviours and still fail too often for an unattended production workflow.</p>
<h3>The price cut is real, but temporary</h3>
<p>Gemini 3.7 Flash costs $0.75 per million input tokens and $3.75 per million output tokens on the paid Gemini API. Output billing includes thinking tokens. On January 1, 2027, both rates double to $1.50 and $7.50.[2] Google has also applied the promotional rate to Gemini 3.6 Flash, so this is not a clean permanent price advantage of 3.7 over its immediate predecessor.[3]</p>
<p>Take a medium agent run that consumes 100,000 input tokens and 20,000 output tokens. At the introductory rates, the model bill is $0.15. At the announced 2027 rates, the same token mix is $0.30. That calculation excludes search, maps, storage for cached context, the agent runtime, retries and human review. Google&#39;s pricing page, for example, lists 5,000 free Google Search requests per month across Gemini 3.x models on the paid tier, then $14 per 1,000 requests.[2]</p>
<p>This is where cheap tokens can fool a team. An agent that costs 15 cents per attempt but needs three attempts, two verifier passes and a human rescue is not a 15-cent outcome. Cost per successful, checked task is the number worth tracking.</p>
<p>There is encouraging evidence on that front. Cognition&#39;s FrontierCode 1.1 leaderboard reports Gemini 3.7 Flash at a 43.6% score and an average rollout cost of $1.82, compared with 34.4% and $4.04 for Gemini 3.6 Flash.[7] That is a 9.2-point score gain while the measured rollout cost fell about 55%. FrontierCode is designed around whether maintainers would merge a generated pull request, using blocking criteria, tests, rubrics and other verifiers. It is a better signal than a toy code-completion test, although its score is a weighted benchmark result, not a production success rate.[7]</p>
<h3>Better at agent work is a fair claim</h3>
<p>Google reports gains across coding, web development, document work and tool use. The headline results include 65.3% on DeepSWE v1.1 versus 49.0% for 3.6 Flash, 1588 versus 1538 Elo on WebDev Arena, and 30.4% versus 17.0% on AutomationBench.[1]</p>
<p>Some of those numbers have useful outside support. The live DeepSWE leaderboard listed 3.7 Flash at roughly 65% pass@1 on August 20, with an average cost of $2.18, 107,000 output tokens and 125 steps across 113 long-horizon engineering tasks.[8] Pass@1 means the first submitted attempt succeeds, rather than giving the model several parallel chances and selecting the best. The result is impressive, but Google&#39;s methodology says its own 3.7 Flash DeepSWE number was self-computed with a mini SWE agent harness, LiteLLM 1.96 and high thinking.[6] An independent leaderboard listing is useful corroboration, not proof that an independent party reproduced Google&#39;s exact run.</p>
<p>Code Arena provides a different kind of evidence: human preference votes on generated web work. Its August 19 leaderboard showed Gemini 3.7 Flash High at 1588 Elo, with a plus-or-minus 13 interval and 2,545 votes. The listing was marked preliminary.[9] The gap over 3.6 Flash is visible, but the uncertainty bands and different vote counts matter. Elo measures comparative preference under that arena&#39;s setup, not whether the resulting app is secure, maintainable or correct behind the interface.</p>
<p>The weakest headline evidence is AutomationBench. Google&#39;s model card reports 30.4% on a private set, and its evaluation notes say the figure comes from the official public leaderboard.[5][6] A private test set can reduce contamination, but outsiders cannot fully inspect the tasks or rerun the exact evaluation. More importantly, 30.4% still means the model did not complete most evaluated workflows under that setup.</p>
<p>This is why I am comfortable saying 3.7 Flash looks better at agent work. The direction appears across different task types and benchmark owners. I am not comfortable turning that into &quot;reliable agents&quot; without workload-specific evidence.</p>
<h3>Reliability needs a denominator</h3>
<p>Google says the model adapts to roadblocks, clarifies intent and uses tools with fewer retries.[1] Those are product claims, not published service-level measurements. The release does not provide repeated-run success distributions, tool-call error rates, p95 task latency, timeout frequency, recovery quality after partial failure or the share of tasks that still need a human.</p>
<p>The model card is blunt about some boundaries. Gemini 3.7 Flash can hallucinate, may be slow or time out, and has uneven knowledge freshness: Google gives March 2026 as the cutoff while warning that some domains may only reflect January 2025.[5] The same card says the model can complete individual coding tasks but lacks the independence to chain them into an end-to-end research workflow without human intervention.[5] That sentence should sit next to every claim about autonomous agent work.</p>
<p>Reliability is also partly a property of the harness around the model. I would evaluate 3.7 Flash with a fixed task contract: what counts as success, which tools it may call, how many steps it gets, which side effects require approval, and what deterministic checks must pass before completion. Then I would run the same tasks repeatedly and track first-pass completion, verified completion after repair, cost per verified outcome, timeouts, unsafe actions and human minutes per task.</p>
<p>A benchmark winner can still be the wrong model for a workflow if it is erratic. For a code agent, compile and test the patch, inspect the diff and keep repository permissions narrow. For an email or Workspace agent, stage the draft and proposed file changes before sending or overwriting anything. The model can choose actions; your system must decide which actions are allowed to become real.</p>
<h3>What builders can use today</h3>
<p>Gemini 3.7 Flash is a stable model with the ID <code>gemini-3.7-flash</code>. Google lists it as generally available and ready for production use through the Gemini API.[3][4] It accepts text, images, video, audio and PDFs, with a 1,048,576-token input limit and 65,536-token output limit. It supports function calling, code execution, search grounding, file search, structured output and low, medium or high thinking. Computer use is supported, but that tool remains in preview.[4]</p>
<p>The model is also available through Google AI Studio, Android Studio, Gemini Enterprise Agent Platform and the Gemini Enterprise app. Gemini Spark began using it for eligible Google AI Pro and Ultra subscribers in supported countries on launch day.[1] Availability is broad, but product access and capability maturity are not the same thing. A GA model using a preview computer-use tool still has a preview dependency in that workflow.</p>
<p>Google says its automated safety evaluations were similar to 3.6 Flash overall, with specialist manual red teaming finding no egregious concerns and launch thresholds met. The model did not reach Google&#39;s tracked or critical capability levels, although cyber and one CBRN assessment reached alert thresholds below those levels.[5] These are Google-run safety assessments, not an independent safety audit. The card also says a separate Gemini 3.7 Frontier Safety Framework report will be published shortly.[5]</p>
<p>There are documentation rough edges worth noting. Several 3.7 model-card sections defer to older Gemini cards for architecture, training data, acceptable use and safety policy detail. At least two cross-references have mismatched labels and destinations. That does not prove a model defect, but it weakens the audit trail available to a buyer today.[5]</p>
<p>My builder verdict is simple. Gemini 3.7 Flash has earned a place in the evaluation lane. The introductory economics are good, the coding evidence is stronger than a standard vendor chart, and multiple benchmarks point in the same direction. Production promotion should wait for your own repeated, verifier-backed runs. The cheapest model is the one that gets an approved task right with the least total repair, not the one with the smallest token line item.</p>
<h2>Key takeaways</h2>
<ul>
<li>Gemini 3.7 Flash is GA, while individual capabilities such as computer use can still be preview features.[3][4]</li>
<li>Introductory API pricing is $0.75 per million input tokens and $3.75 per million output tokens through December 31, 2026; the rates double on January 1, 2027.[2]</li>
<li>Third-party leaderboards support the direction of Google&#39;s coding and web-development claims.[7][8][9]</li>
<li>Google&#39;s methodology says some runs were self-computed, and Code Arena still labels the 3.7 result preliminary.[6][9]</li>
<li>Higher benchmark scores do not establish production reliability. Track repeated verified completion, retries, timeouts, tool errors, unsafe actions and human intervention on your own workload.</li>
<li>Keep consequential actions behind deterministic checks and explicit approval, even when the model&#39;s first-pass performance improves.</li>
</ul>
<h2>Sources</h2>
<p>[1] <a href="https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-3-7-flash">https://blog.google/innovation-and-ai/models-and-research/gemini-models/introducing-gemini-3-7-flash</a> - Introducing Gemini 3.7 Flash
[2] <a href="https://ai.google.dev/gemini-api/docs/pricing">https://ai.google.dev/gemini-api/docs/pricing</a> - Gemini Developer API pricing
[3] <a href="https://ai.google.dev/gemini-api/docs/latest-model">https://ai.google.dev/gemini-api/docs/latest-model</a> - What&#39;s new in Gemini 3.7 Flash
[4] <a href="https://ai.google.dev/gemini-api/docs/models/gemini-3.7-flash">https://ai.google.dev/gemini-api/docs/models/gemini-3.7-flash</a> - Gemini 3.7 Flash model documentation
[5] <a href="https://deepmind.google/models/model-cards/gemini-3-7-flash">https://deepmind.google/models/model-cards/gemini-3-7-flash</a> - Gemini 3.7 Flash Model Card
[6] <a href="https://deepmind.google/models/evals-methodology/gemini-3-7-flash">https://deepmind.google/models/evals-methodology/gemini-3-7-flash</a> - Gemini 3.7 Flash evaluation methodology
[7] <a href="https://cognition.com/frontiercode">https://cognition.com/frontiercode</a> - FrontierCode Leaderboard
[8] <a href="https://deepswe.datacurve.ai">https://deepswe.datacurve.ai</a> - DeepSWE leaderboard
[9] <a href="https://arena.ai/leaderboard/code/webdev">https://arena.ai/leaderboard/code/webdev</a> - Code Arena WebDev leaderboard</p>
]]></content:encoded>
      <pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>Gemini 3.7 Flash</category>
      <category>AI agents</category>
      <category>model evaluation</category>
      <category>reliability</category>
      <category>agent economics</category>
    </item>
    <item>
      <title>Cloudflare's DeepSeek V4 Release Shows How to Build 1M-Token Agent Workspaces with Workers and R2</title>
      <link>https://chaseintech.com/articles/cloudflare-deepseek-v4-workers-ai-r2-agent-workspaces/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/cloudflare-deepseek-v4-workers-ai-r2-agent-workspaces/</guid>
      <description>DeepSeek V4 Pro and Flash bring one-million-token context to Workers AI. Here is the practical R2 and Workers architecture for repository-scale agent work.</description>
      <content:encoded><![CDATA[<h1>Cloudflare&#39;s DeepSeek V4 Release Shows How to Build 1M-Token Agent Workspaces with Workers and R2</h1>
<p>Cloudflare has put DeepSeek V4 Pro 0813 and DeepSeek V4 Flash 0731 on Workers AI. Both models support a full 1,048,576-token context window, thinking mode and multi-turn function calling. Cloudflare is explicitly positioning them for large codebases, long-horizon agent workflows and multi-step reasoning.[1]</p>
<p>For AI engineers, that is more than another model listing. It creates a practical stack for repository-scale agents:</p>
<ul>
<li><strong>Workers AI</strong> runs DeepSeek V4 Pro or Flash.</li>
<li><strong>Workers</strong> receives the task, assembles context and controls tools.</li>
<li><strong>R2</strong> stores repositories, documents, checkpoints and generated artifacts.</li>
<li><strong>Cloudflare Agents</strong> carries durable state, workflows and recovery.</li>
<li><strong>AI Gateway</strong> gives the model route an observable control surface.</li>
</ul>
<p>That combination is particularly relevant to the direction of ChaseOS. It could provide an edge-native lane for large technical dossiers, repository analysis, long-running engineering tasks and inspectable phase handovers without making the primary runtime depend on one model.</p>
<p>The point is not to move everything onto Cloudflare. The point is to understand what this release makes possible and where each part of the stack belongs.</p>
<h2>What Cloudflare actually released</h2>
<p>Cloudflare&#39;s canonical changelog names two Workers AI models:[1]</p>
<pre><code class="language-text">@cf/deepseek-ai/deepseek-v4-pro-0813
@cf/deepseek-ai/deepseek-v4-flash-0731
</code></pre>
<p>Both expose the same maximum context window: 1,048,576 tokens. Both support reasoning and function calling. They are available through a Workers AI binding, Cloudflare&#39;s OpenAI-compatible endpoint, the REST API or AI Gateway.[1]</p>
<p>They serve different operating roles.</p>
<h3>DeepSeek V4 Flash 0731: the default long-context route</h3>
<p>Cloudflare calls Flash the faster, lower-cost sibling and says this release supersedes its earlier preview with improved agentic capabilities.[1]</p>
<p>The current model page lists:</p>
<ul>
<li>1,048,576-token context;</li>
<li>reasoning;</li>
<li>function calling;</li>
<li>$0.44 per million input tokens;</li>
<li>$1.32 per million output tokens;</li>
<li>$0.014 per million cached input tokens.[3]</li>
</ul>
<p>Flash is the natural first route for frequent work such as:</p>
<ul>
<li>searching a large repository;</li>
<li>connecting an issue to the correct files and tests;</li>
<li>analysing long logs or CI histories;</li>
<li>converting a technical dossier into a structured task packet;</li>
<li>maintaining a long-running agent plan across multiple tool calls;</li>
<li>producing an initial implementation plan before a more expensive review.</li>
</ul>
<h3>DeepSeek V4 Pro 0813: the visual and higher-value route</h3>
<p>Pro exposes the same listed context ceiling but adds vision support. Cloudflare currently marks it beta and lists:[2]</p>
<ul>
<li>1,048,576-token context;</li>
<li>reasoning;</li>
<li>function calling;</li>
<li>vision;</li>
<li>$1.32 per million input tokens;</li>
<li>$3.96 per million output tokens;</li>
<li>$0.044 per million cached input tokens.</li>
</ul>
<p>That makes Pro more relevant when the engineering evidence is not text-only:</p>
<ul>
<li>a UI regression with screenshots;</li>
<li>an architecture review involving diagrams;</li>
<li>a browser-agent failure with visual traces;</li>
<li>OCR mixed with repository evidence;</li>
<li>a high-value code change where an additional model route is cheaper than a failed deployment.</li>
</ul>
<p>Both models require Workers Paid or prepaid AI Gateway credits according to Cloudflare.[1][2][3]</p>
<h2>Why one million tokens matters to agent engineers</h2>
<p>Most model announcements discuss context as a chat feature. Harness engineers should think of it as a <strong>working-set ceiling</strong>.</p>
<p>A million-token run can potentially hold:</p>
<ul>
<li>a substantial repository snapshot;</li>
<li>issue and pull-request history;</li>
<li>architecture decisions;</li>
<li>test output;</li>
<li>API specifications;</li>
<li>runbooks;</li>
<li>agent plans and previous tool results;</li>
<li>screenshots or diagrams on the Pro route.</li>
</ul>
<p>This reduces one common failure mode: an agent solves the fragment it can see while missing the contract, dependency or historical decision sitting outside its context.</p>
<p>But it introduces another risk. If the harness simply uploads everything, the model gets a large but badly defined workspace. Relevant evidence competes with stale files, generated output, secrets, abandoned plans and unrelated history.</p>
<p>The better question is not:</p>
<blockquote>
<p>Can this repository fit inside one million tokens?</p>
</blockquote>
<p>It is:</p>
<blockquote>
<p>What verified working set gives the model enough context to finish this exact job?</p>
</blockquote>
<p>That is where R2 and Workers become useful.</p>
<h2>R2 gives the agent a workspace outside the prompt</h2>
<p>R2 is Cloudflare&#39;s object-storage layer. Cloudflare says it stores unstructured data without the egress bandwidth fees associated with typical cloud storage services.[5]</p>
<p>For an agent system, R2 should not be described vaguely as &quot;memory.&quot; It can be something more useful: a durable, inspectable workspace.</p>
<p>A repository-scale run can store:</p>
<pre><code class="language-text">r2://agent-sources/{source_hash}/repository.tar.zst
r2://agent-sources/{source_hash}/manifest.json
r2://runs/{run_id}/task-packet.json
r2://runs/{run_id}/selected-context.json
r2://runs/{run_id}/checkpoints/plan.json
r2://runs/{run_id}/checkpoints/implementation.json
r2://runs/{run_id}/artifacts/candidate.patch
r2://runs/{run_id}/verification/test-results.json
r2://approvals/{approval_id}/packet.json
r2://receipts/{run_id}/execution.json
r2://receipts/{run_id}/readback.json
</code></pre>
<p>The repository object is the source. The manifest tells the harness what exists. The selected-context record shows what the model actually received. Checkpoints make a long task resumable. Verification and receipt objects prove what happened afterward.</p>
<p>A Worker can read and write R2 objects through a bucket binding.[6] That means context does not need to arrive as one giant browser upload or remain trapped in an opaque conversation.</p>
<h2>Workers turns storage and models into a harness</h2>
<p>Workers should sit between the external request, R2 and Workers AI.</p>
<p>Its job is to make the run explicit:</p>
<ol>
<li>Authenticate the caller.</li>
<li>Validate the task packet.</li>
<li>Resolve the approved R2 source objects.</li>
<li>Build the context manifest.</li>
<li>Select Flash or Pro.</li>
<li>Expose only the tools permitted for that phase.</li>
<li>Enforce token, tool-turn and time budgets.</li>
<li>Write checkpoints and artifacts to R2.</li>
<li>Run deterministic verification.</li>
<li>Require approval before protected actions.</li>
<li>Read the destination back and write a receipt.</li>
</ol>
<p>A simplified binding configuration could expose both AI and R2 to the Worker:</p>
<pre><code class="language-jsonc">{
  &quot;ai&quot;: {
    &quot;binding&quot;: &quot;AI&quot;
  },
  &quot;r2_buckets&quot;: [
    {
      &quot;binding&quot;: &quot;AGENT_WORKSPACE&quot;,
      &quot;bucket_name&quot;: &quot;agent-workspace&quot;
    }
  ]
}
</code></pre>
<p>The model router stays small:</p>
<pre><code class="language-ts">const ROUTES = {
  flash: &quot;@cf/deepseek-ai/deepseek-v4-flash-0731&quot;,
  pro: &quot;@cf/deepseek-ai/deepseek-v4-pro-0813&quot;,
} as const;

async function runEngineeringPhase(
  env: Env,
  packet: TaskPacket,
) {
  const route = chooseRoute(packet);
  const context = await buildContextFromR2(
    env.AGENT_WORKSPACE,
    packet,
  );

  assertContextPolicy(context, packet);
  assertRunBudget(packet, route);

  return env.AI.run(ROUTES[route], {
    messages: context.messages,
    tools: toolsForPhase(packet.phase),
  });
}
</code></pre>
<p>The important code is not the two model IDs. It is <code>buildContextFromR2</code>, <code>assertContextPolicy</code>, <code>assertRunBudget</code> and <code>toolsForPhase</code>. Those functions define the harness.</p>
<h2>Seven practical uses for this stack</h2>
<h3>1. Repository archaeology</h3>
<p>An engineer can upload or synchronise a repository snapshot into R2. A deterministic indexer produces a file manifest, symbol map, dependency graph and recent-change summary.</p>
<p>Flash receives the manifest first. It selects the likely files for the task and explains why. The Worker retrieves those files and expands context only when required.</p>
<p>This gives the model repository-scale awareness without blindly pasting every file into the prompt.</p>
<h3>2. Long-running migrations</h3>
<p>Framework upgrades, database migrations and CLI consolidations rarely fit into one model turn. They need discovery, planning, staged implementation, tests and rollback.</p>
<p>Each phase can write a checkpoint to R2:</p>
<pre><code class="language-json">{
  &quot;phase&quot;: &quot;implementation-2-of-5&quot;,
  &quot;completed&quot;: [&quot;schema adapter&quot;, &quot;compatibility tests&quot;],
  &quot;pending&quot;: [&quot;worker migration&quot;, &quot;deployment rehearsal&quot;],
  &quot;acceptance_checks&quot;: [&quot;unit&quot;, &quot;integration&quot;, &quot;rollback&quot;],
  &quot;source_hash&quot;: &quot;sha256:...&quot;,
  &quot;artifact_hash&quot;: &quot;sha256:...&quot;
}
</code></pre>
<p>If a run stops, another model can continue from the checkpoint rather than reconstructing state from a chat transcript.</p>
<h3>3. Multimodal debugging</h3>
<p>The Pro route can combine screenshots with code, logs and test evidence. A browser or desktop agent can write screenshots and DOM captures to R2, then pass the exact referenced objects to the model.</p>
<p>The final fix still needs deterministic checks and visual readback. Vision helps interpret evidence; it does not prove the UI is fixed.</p>
<h3>4. Technical-document workspaces</h3>
<p>R2 can hold specifications, PDFs, diagrams, meeting decisions and implementation contracts. A Worker can build a source-bound context pack for a documentation or architecture agent.</p>
<p>This is useful for AI engineers working across long design histories where the model must preserve exact terminology and cite the correct source.</p>
<h3>5. Evaluation and model comparison</h3>
<p>The same R2 fixture can run through Flash, Pro and another provider. The harness records accepted output, retries, tool calls, latency, token use and human correction.</p>
<p>That gives engineers a real answer to &quot;which model is cheaper?&quot; Cost per token becomes cost per accepted task.</p>
<h3>6. Agent-generated artifacts</h3>
<p>An agent can produce patches, reports, diagrams, spreadsheets or media into a staged R2 prefix. The Worker computes hashes and builds an approval packet.</p>
<p>Approved artifacts move to the next stage. Rejected artifacts remain attached to the run but never reach a public destination.</p>
<h3>7. External developer agents</h3>
<p>A public Worker endpoint can accept a constrained task without exposing the internal runtime. The Worker authenticates the caller, applies rate limits, retrieves only allowed objects and returns a receipt-linked result.</p>
<p>That creates a path to agent services for developers without giving a model blanket access to ChaseOS internals.</p>
<h2>A concrete ChaseOS pilot</h2>
<p>The release is directly relevant to ChaseOS because it could support an isolated <strong>repository and dossier engineering lane</strong>.</p>
<p>The pilot should be narrow.</p>
<h3>Input</h3>
<ul>
<li>one repository snapshot;</li>
<li>one issue or feature dossier;</li>
<li>one acceptance contract;</li>
<li>an explicit list of allowed tools;</li>
<li>no production credentials;</li>
<li>no deployment authority.</li>
</ul>
<h3>Cloudflare lane</h3>
<pre><code class="language-text">Request
  -&gt; Worker intake
  -&gt; R2 source manifest
  -&gt; DeepSeek V4 Flash navigation
  -&gt; bounded source expansion
  -&gt; Flash or Pro implementation plan
  -&gt; candidate artifact in R2
  -&gt; deterministic verification
  -&gt; independent review
  -&gt; human approval
  -&gt; handover back to ChaseOS
</code></pre>
<h3>Model routing</h3>
<p>Use Flash by default. Escalate to Pro when:</p>
<ul>
<li>the task includes screenshots or diagrams;</li>
<li>Flash fails a verifier more than once;</li>
<li>the change crosses a high-risk boundary;</li>
<li>ambiguity remains after repository navigation;</li>
<li>the expected cost of failure is higher than the added model cost.</li>
</ul>
<h3>Evidence returned to ChaseOS</h3>
<p>The lane should return:</p>
<ul>
<li>source manifest and hashes;</li>
<li>selected-context manifest;</li>
<li>model and pricing route;</li>
<li>tool-call trace;</li>
<li>checkpoints;</li>
<li>candidate artifact hash;</li>
<li>test and review results;</li>
<li>human approval reference;</li>
<li>execution and readback receipts where applicable.</li>
</ul>
<p>That is more valuable than returning a message saying &quot;task completed.&quot;</p>
<h2>What not to do</h2>
<p>A million-token window can encourage bad architecture. Avoid these shortcuts:</p>
<h3>Do not load a bucket directly into the model</h3>
<p>R2 may contain unrelated runs, secrets, customer exports or stale artifacts. The Worker must select exact objects for the exact task.</p>
<h3>Do not use the model&#39;s summary as the checkpoint</h3>
<p>A checkpoint should be a typed record with source and artifact hashes, completed steps and remaining acceptance checks.</p>
<h3>Do not let function calling define the permission model</h3>
<p>The fact that a model can call a function does not mean that function should exist for every run. Tool visibility belongs to the harness.</p>
<h3>Do not confuse context size with reliable recall</h3>
<p>Measure whether the model retrieves and uses the decisive evidence as irrelevant context grows.</p>
<h3>Do not hard-code ChaseOS to DeepSeek</h3>
<p>Put the models behind role contracts. The repository navigator, visual reviewer or implementation planner should be replaceable without rewriting the workflow.</p>
<h2>The evaluation that matters</h2>
<p>For every test task, record:</p>
<ul>
<li>selected model;</li>
<li>source tokens and cached tokens;</li>
<li>output tokens;</li>
<li>context objects included;</li>
<li>tool calls;</li>
<li>verifier failures;</li>
<li>retries;</li>
<li>elapsed time;</li>
<li>human correction time;</li>
<li>accepted or rejected result.</li>
</ul>
<p>The comparison should answer:</p>
<ul>
<li>Does Flash navigate large codebases accurately enough to be the default?</li>
<li>Does Pro&#39;s vision improve visual-debug tasks enough to justify the cost?</li>
<li>Does selective R2 retrieval outperform loading the entire repository?</li>
<li>Can the agent resume from a checkpoint without losing constraints?</li>
<li>Can every final claim be tied to a source, test or readback receipt?</li>
</ul>
<p>If the answer is yes, Cloudflare becomes a useful execution lane. If not, the architecture still preserves the source objects and evaluation evidence needed to change models.</p>
<h2>Why this release matters</h2>
<p>DeepSeek V4 Pro and Flash are the first Workers AI models that Cloudflare lists with a full one-million-token context window.[1] That gives agent engineers a serious new working-set ceiling on an edge platform that already has compute, object storage, durable agent primitives and model routing.</p>
<p>For AI engineers, the opportunity is repository-scale reasoning without building every infrastructure layer from scratch.</p>
<p>For harness engineers, the opportunity is more important: keeping the repository, checkpoints, permissions, tools, verification and receipts outside the model.</p>
<p>For ChaseOS, this creates a concrete pilot path for long-horizon engineering and dossier work. R2 can be the workspace. Workers can be the gate. DeepSeek can be the reasoning route. ChaseOS can remain the system that defines the contract, chooses the lane and verifies the outcome.</p>
<p>That is the useful interpretation of this announcement. Not one million tokens of autonomy. One million tokens of working context inside a controlled engineering system.</p>
<h2>Sources</h2>
<ol>
<li><a href="https://developers.cloudflare.com/changelog/post/2026-08-14-deepseek-v4-workers-ai/">Cloudflare Changelog: DeepSeek V4 Flash and Pro now available on Workers AI</a></li>
<li><a href="https://developers.cloudflare.com/workers-ai/models/deepseek-v4-pro-0813/">DeepSeek V4 Pro 0813 on Cloudflare Workers AI</a></li>
<li><a href="https://developers.cloudflare.com/workers-ai/models/deepseek-v4-flash-0731/">DeepSeek V4 Flash 0731 on Cloudflare Workers AI</a></li>
<li><a href="https://developers.cloudflare.com/workers-ai/configuration/bindings/">Workers AI bindings</a></li>
<li><a href="https://developers.cloudflare.com/r2/">Cloudflare R2 overview</a></li>
<li><a href="https://developers.cloudflare.com/r2/api/workers/workers-api-usage/">Using R2 from Workers</a></li>
<li><a href="https://developers.cloudflare.com/agents/">Cloudflare Agents documentation</a></li>
<li><a href="https://blog.cloudflare.com/workers-ai-gateway-unification/">Workers AI and AI Gateway as a unified control plane</a></li>
</ol>
]]></content:encoded>
      <pubDate>Mon, 17 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>Cloudflare</category>
      <category>DeepSeek V4</category>
      <category>Workers AI</category>
      <category>R2</category>
      <category>agent engineering</category>
    </item>
    <item>
      <title>Rebuilding a Reselling Business With Autonomous Agents - Part 4</title>
      <link>https://chaseintech.com/articles/rebuilding-reselling-business-with-autonomous-agents-part-4/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/rebuilding-reselling-business-with-autonomous-agents-part-4/</guid>
      <description>A build log covering inventory, computer control, approval gates and the first eBay listing in my autonomous reselling workflow.</description>
      <content:encoded><![CDATA[<p><strong>Part 4 moves the reselling build from plans and isolated tools into a real operating sequence: inspect inventory, prepare the listing, control the computer, keep the approval points visible and put the first product live on eBay.</strong></p>
<p>I am rebuilding a reselling business around autonomous agents, but the goal is not to remove myself from every decision. The goal is to stop treating every repetitive action as a fresh manual task while keeping control over the decisions that carry commercial or account risk.</p>
<p>This instalment follows the workflow from physical stock to a public listing. It also shows why agentic commerce is harder than connecting a language model to a browser.</p>
<h2>The workflow in Part 4</h2>
<p>The build joins several different kinds of work:</p>
<ol>
<li>inspect and identify physical inventory;</li>
<li>turn product evidence into structured listing data;</li>
<li>prepare titles, descriptions and operational records;</li>
<li>use computer control to move through the commerce interface;</li>
<li>pause at the approval points that affect pricing, account actions or publication;</li>
<li>verify that the intended listing actually reached the live state.</li>
</ol>
<p>Each step can look simple in isolation. The real engineering challenge is preserving context and evidence as work passes between them.</p>
<p>A product image, an inventory record, a model-generated description and a browser action do not have the same authority. The system needs to know which inputs are evidence, which outputs are proposals and which actions require a human decision.</p>
<h2>Why inventory is the difficult starting point</h2>
<p>Reselling begins in the physical world. Stock can be incomplete, mislabelled, duplicated or stored under an old description. Condition is not a clean database field until someone has inspected the item and recorded it properly.</p>
<p>That makes inventory a poor place for blind automation.</p>
<p>An agent can help organise evidence, identify missing fields and prepare a draft. It should not quietly turn uncertainty into a confident product claim. The useful workflow keeps the original images and observations attached to the record, makes missing information visible and lets a human correct the item before anything public is submitted.</p>
<p>This is where MarginFlip fits into the wider system. It is the operational product layer for turning legacy stock into structured inventory and a repeatable resale workflow. ChaseOS provides the broader control-plane pattern: tasks, agents, evidence, approvals and durable state should remain inspectable instead of disappearing into one long chat.</p>
<h2>Computer control is only one layer</h2>
<p>The visible part of an autonomous workflow is often the cursor moving through a website. That is useful, but it is not the whole system.</p>
<p>Computer control needs a contract around it:</p>
<ul>
<li>the exact account and destination;</li>
<li>the item being processed;</li>
<li>the allowed actions;</li>
<li>the data approved for entry;</li>
<li>the points where execution must stop;</li>
<li>the evidence required before completion can be claimed.</li>
</ul>
<p>Without that structure, browser automation can move quickly while the business loses track of what it changed.</p>
<p>In this build, Hermes acts as the operating agent across the workflow while ChaseOS provides the governance direction around state, permissions and proof. Claude Code and Codex remain development lanes where appropriate. The important design choice is separation: the system that proposes work should not automatically gain unlimited authority to publish, price or modify an account.</p>
<h2>The approval points stay human</h2>
<p>The agents can move the workflow forward, but I retain the decisions that materially affect the business.</p>
<p>That includes:</p>
<ul>
<li>confirming that the item record matches the physical product;</li>
<li>reviewing condition and disclosure language;</li>
<li>approving pricing decisions;</li>
<li>authorising account-level actions;</li>
<li>approving publication;</li>
<li>checking the live destination rather than trusting a completion message.</li>
</ul>
<p>This is not a ceremonial &quot;human in the loop&quot; label. An approval is useful only when the person can see the proposed action, the evidence behind it and the consequence of accepting it.</p>
<p>The objective is to make each approval smaller and better informed. I should not have to reconstruct the entire job every time the system asks for a decision.</p>
<h2>The first eBay listing is a systems milestone</h2>
<p>Putting one product live is not proof that the complete reselling operation is autonomous or commercially successful.</p>
<p>It is still an important milestone because it exercises the full path across inventory, data preparation, computer control, approval and public verification. A working end-to-end path exposes problems that isolated demos hide:</p>
<ul>
<li>incomplete source data;</li>
<li>inconsistent product naming;</li>
<li>unclear authority boundaries;</li>
<li>fragile browser steps;</li>
<li>missing receipts;</li>
<li>completion claims that do not match the public state.</li>
</ul>
<p>The next stage is to make that path repeatable across more inventory without weakening the review gates. The useful operating metric is not how many prompts the agents produce. It is how many listings reach an accepted, verified state with a clear record of what happened.</p>
<h2>Turning the build into a public operating log</h2>
<p>The final Part 4 video was edited in CapCut and exported as a privacy-safe 4 minute 11 second master. Private working material was treated before publication, and the public cut keeps the focus on the workflow rather than exposing the underlying operating channels.</p>
<p>Publishing the build log is part of the engineering discipline. It creates a durable record of what the system could do at this point in time, what remained human-controlled and what still needs to improve.</p>
<h2>Watch Part 4</h2>
<p><a href="https://youtu.be/BW4w_HE8aOA">Watch Day in the Life of an AI Engineer - Part 4 on YouTube</a>.</p>
<p>The same build is also available through the verified <a href="https://x.com/ChaserCrypto_/status/2088677401999941830">X post</a> and <a href="https://www.linkedin.com/feed/update/urn:li:ugcPost:7494464739020910593/">LinkedIn post</a>.</p>
<h2>What I am building toward</h2>
<p>The longer-term target is not a bot that can click &quot;List item.&quot; It is an inspectable operating system for a reselling business:</p>
<ul>
<li>physical inventory becomes structured evidence;</li>
<li>agents prepare and coordinate bounded work;</li>
<li>deterministic checks handle what can be proven exactly;</li>
<li>human approvals protect commercial and account decisions;</li>
<li>public actions return receipts;</li>
<li>failures can be corrected without losing the workflow state.</li>
</ul>
<p>That is the standard I am applying to MarginFlip, ChaseOS and the wider autonomous-agent stack: useful autonomy, visible boundaries and proof that the intended outcome actually happened.</p>
]]></content:encoded>
      <pubDate>Sat, 15 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>AI engineering</category>
      <category>autonomous agents</category>
      <category>reselling</category>
      <category>ecommerce automation</category>
      <category>build in public</category>
      <category>MarginFlip</category>
      <category>ChaseOS</category>
    </item>
    <item>
      <title>Claude Now Marks AI-Generated Text, Code and Files</title>
      <link>https://chaseintech.com/articles/claude-ai-text-watermarks-provenance-not-proof/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/claude-ai-text-watermarks-provenance-not-proof/</guid>
      <description>Anthropic's hidden watermark can follow supported Claude output into documents and development workflows. In the age of agent harnesses, teams need independent review and better provenance.</description>
      <content:encoded><![CDATA[<h1>Claude Now Marks AI-Generated Text, Code and Files</h1>
<p>Anthropic has started changing a basic assumption about AI-generated text: that once you copy it out of the chat window, its origin disappears.</p>
<p>Supported Claude models will embed an imperceptible, machine-readable watermark into generated text. Anthropic says the mark can travel with copied text and may survive some editing. Supported generated files can carry signed provenance metadata using C2PA instead.[1]</p>
<p>That sounds like a clean answer to a messy problem. It is not.</p>
<p>A detected watermark can show that supported Claude systems processed the text. It cannot, by itself, tell you who had the original idea, who wrote the first draft, whether Claude only corrected grammar, or whether a human reviewed every line. A missing watermark does not prove human authorship either.</p>
<p>That distinction matters for writers, developers and teams building AI agents. Provenance is useful evidence. It is not an authorship verdict.</p>
<h2>What Anthropic is introducing</h2>
<p>Anthropic describes two related marking systems.</p>
<p>For text, a supported Claude model embeds a machine-readable watermark directly into its output. The mark is designed to be invisible to readers and not change the meaning, quality or readability of the response. Because it is part of the text, it can move with copied and pasted content.[1]</p>
<p>For supported files, Anthropic uses digitally signed provenance metadata based on C2PA. C2PA provides a framework for attaching claims about an asset&#39;s origin and editing history to a signed manifest. That is different from an invisible text watermark. It is metadata attached to a file, with cryptographic machinery that lets a verifier check whether the manifest is valid.[1][3]</p>
<p>Anthropic says the text marking applies at the model level across supported Claude surfaces. Its help material names Claude, Claude Code, Claude Cowork, Claude Platform and supported deployments through cloud providers. Models launched in the EU on or after 2 August 2026 are expected to support machine-readable marking at launch, with Anthropic working to extend support to earlier models.[1]</p>
<p>The timing is tied to the EU AI Act&#39;s transparency rules. The European Commission&#39;s Code of Practice is intended to help providers comply with obligations around marking and labelling AI-generated content.[2]</p>
<p>This is not a small interface badge. It is infrastructure inside the output path.</p>
<h2>The watermark is a provenance signal, not an AI detector</h2>
<p>Most AI-writing detectors work backwards. They examine finished text and estimate whether its statistical patterns resemble machine-generated writing. That approach has produced false positives and a lot of misplaced confidence.</p>
<p>Anthropic&#39;s system takes a different route. The model places a signal into its own output, and a compatible detector looks for that signal later. Instead of guessing from style, the verifier checks for a mark deliberately added by the provider.</p>
<p>That is a better defined claim, but still a narrow one.</p>
<p>If the mark is detected, the safe conclusion is that a supported Claude model processed the marked text. Anthropic explicitly warns that the person may have written the material and used Claude only to proofread, translate, summarise or reformat it.[1]</p>
<p>The reverse is also true. If a detector finds no mark, that does not prove the text was written without AI. The output may have come from an older or unsupported model. It may be too short. Heavy editing, paraphrasing, translation or mixing with other text may weaken or remove the signal. Other models will not necessarily use Anthropic&#39;s system.[1]</p>
<p>So the result should not be reduced to two buttons labelled HUMAN and AI.</p>
<p>A better evidence model is:</p>
<table>
<thead>
<tr>
<th>Detector result</th>
<th>What it can support</th>
<th>What it cannot prove</th>
</tr>
</thead>
<tbody><tr>
<td>Claude mark detected</td>
<td>A supported Claude system processed the marked text</td>
<td>Claude originated the ideas or wrote the first draft</td>
</tr>
<tr>
<td>No Claude mark detected</td>
<td>No supported Claude mark was found</td>
<td>The text is human-written or AI-free</td>
</tr>
<tr>
<td>Valid C2PA credentials</td>
<td>The signed provenance claims validate for that file</td>
<td>Every statement inside the file is true</td>
</tr>
<tr>
<td>Missing file credentials</td>
<td>No usable signed manifest is present</td>
<td>The file never passed through an AI system</td>
</tr>
</tbody></table>
<p>This is evidence about process, not truth or ownership.</p>
<h2>What this means for Claude Code</h2>
<p>The coding angle is where the policy becomes operational.</p>
<p>If watermarking applies to supported Claude Code output at the model layer, generated code and surrounding text may carry the signal when copied into source files, documentation, tests, issue comments or pull-request descriptions.[1]</p>
<p>But code is hostile terrain for text watermarking.</p>
<p>Developers rename variables, run formatters, remove comments, extract small functions, combine suggestions from several tools and rewrite sections during review. Build tools also normalise whitespace and line endings. Anthropic has not publicly described the technical embedding method in enough detail to calculate how well the mark survives those transformations.</p>
<p>That missing detail should stay visible. We should not claim the system uses hidden Unicode characters, altered whitespace, token probabilities or any specific encoding until Anthropic publishes the mechanism. &quot;Invisible&quot; does not automatically mean zero-width characters.</p>
<p>For engineering teams, the practical response is not to hunt for secret symbols in every commit. It is to improve the evidence already under their control:</p>
<ol>
<li>Record which model and tool were used for a task.</li>
<li>Keep the human reviewer and approval decision attached to the change.</li>
<li>Store test results and security checks with the pull request.</li>
<li>Distinguish generated code from accepted code. Generation is an event. Acceptance is a human or governed system decision.</li>
<li>Treat watermark detection as one signal in an audit trail, not the audit trail itself.</li>
</ol>
<p>A watermark may help answer, &quot;Did supported Claude processing touch this text?&quot; It does not answer, &quot;Is this code correct, safe, licensed appropriately and approved for production?&quot;</p>
<h2>The harness-era threat model</h2>
<p>The risk becomes more serious when Claude is not answering one prompt in a chat window but operating inside an agent harness.</p>
<p>A harness can ask the model to inspect a repository, edit several files, run commands, generate tests and prepare a pull request. One model may produce the plan, implementation, documentation and review summary. If the same system generates the work and judges its own work, the audit trail can look complete while sharing one failure mode.</p>
<p>Watermarking does not create that risk, but it makes model involvement easier to trace. The operational response should be independent verification.</p>
<p>For consequential development work, I would route the final review through another model or a deterministic verifier before continuing with Claude-generated changes. That does not mean a second model is automatically correct. It means the reviewer should not inherit exactly the same context, assumptions and incentives as the generator.</p>
<p>Useful scenarios include:</p>
<ul>
<li>personal projects that handle credentials, payments or private data;</li>
<li>autonomous refactors that touch many files;</li>
<li>generated migrations, infrastructure changes or deployment scripts;</li>
<li>client work where provenance and disclosure matter;</li>
<li>articles, reports or documentation that require a clear account of AI assistance.</li>
</ul>
<p>The second pass should inspect the diff, tests, source evidence and task contract independently. High-risk changes still need deterministic tests and human approval. Model diversity is a control layer, not a substitute for engineering evidence.</p>
<h2>The hard policy problem is attribution</h2>
<p>Schools, publishers and employers may be tempted to use watermark detection as an enforcement shortcut. That would repeat the biggest mistake made with probabilistic AI detectors: turning limited evidence into a disciplinary verdict.</p>
<p>Consider three cases.</p>
<p>A writer drafts an article and asks Claude to fix spelling. A detector later finds the mark.</p>
<p>A developer asks Claude for a function, rewrites most of it, tests it and takes responsibility for the final change. The mark survives in part of the file.</p>
<p>A student generates an essay with an unsupported model, paraphrases it and submits it without a detectable Claude mark.</p>
<p>The first two could produce a positive signal despite substantial human authorship. The third could produce no Claude signal despite extensive AI generation.</p>
<p>Policies need to define what they regulate: model involvement, undisclosed assistance, delegation of authorship, or prohibited use. Those are different rules. A provenance tool cannot choose the policy for you.</p>
<h2>Why this still matters</h2>
<p>The limitations do not make watermarking pointless.</p>
<p>Machine-readable provenance gives platforms and investigators something more concrete than stylistic suspicion. It can support disclosure workflows, content labelling and forensic analysis. Signed file credentials can also help preserve a verifiable chain of claims about an asset&#39;s origin and edits when the metadata survives.[3]</p>
<p>The bigger shift is architectural. AI systems are beginning to emit not only content, but evidence about how that content was produced.</p>
<p>For agent builders, that should feel familiar. The output is not enough. We also need receipts: the model used, tools called, sources retrieved, approvals granted, tests run and final state verified.</p>
<p>Claude&#39;s watermark can become one receipt in that chain. It should not become the judge.</p>
<h2>My take</h2>
<p>I support provider-level provenance, especially when it is open to third-party verification and described with honest limits. It is more useful than pretending an external classifier can reliably read authorship from prose style.</p>
<p>But the phrase &quot;AI-generated&quot; will cause trouble if organisations treat it as a complete account of how work was made. A model can generate, edit, translate, reformat or merely touch a piece of text. Those actions should not all collapse into the same accusation.</p>
<p>The standard we need is not &quot;find the hidden mark and punish someone.&quot; It is &quot;preserve enough evidence to understand the workflow.&quot;</p>
<p>That is the useful version of provenance. It tells us where to investigate without pretending the investigation is already over.</p>
<h2>Sources</h2>
<p>[1] Anthropic, &quot;How Claude marks AI-generated content&quot; - <a href="https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content">https://support.claude.com/en/articles/16266773-how-claude-marks-ai-generated-content</a></p>
<p>[2] European Commission, &quot;Code of Practice on Transparency of AI-generated Content&quot; - <a href="https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content">https://digital-strategy.ec.europa.eu/en/policies/code-practice-ai-generated-content</a></p>
<p>[3] Coalition for Content Provenance and Authenticity, &quot;C2PA Technical Specification 2.2&quot; - <a href="https://c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html">https://c2pa.org/specifications/specifications/2.2/specs/C2PA_Specification.html</a></p>
<p>[4] TechStartups, contemporary reporting that reproduces and contextualises Anthropic&#39;s announcement - <a href="https://techstartups.com/2026/08/10/anthropic-is-adding-invisible-watermarks-to-claudes-ai-generated-text-that-can-be-detected-even-after-you-copy-and-paste-it/">https://techstartups.com/2026/08/10/anthropic-is-adding-invisible-watermarks-to-claudes-ai-generated-text-that-can-be-detected-even-after-you-copy-and-paste-it/</a></p>
]]></content:encoded>
      <pubDate>Wed, 12 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>Claude</category>
      <category>Anthropic</category>
      <category>AI provenance</category>
      <category>agent harnesses</category>
      <category>AI coding</category>
    </item>
    <item>
      <title>ChaseOS Studio v1 is live: local-first by default, more headroom when you need it</title>
      <link>https://chaseintech.com/articles/chaseos-studio-v1-is-live/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/chaseos-studio-v1-is-live/</guid>
      <description>Community stays free. Paid ChaseOS Studio plans add managed Cloud credits and more headroom while keeping the workspace local-first.</description>
      <content:encoded><![CDATA[<p><strong>Community stays free. Paid plans add managed Cloud credits and more headroom without turning ChaseOS into somebody else’s workspace.</strong></p>
<p>I built ChaseOS Studio around a straightforward rule: upgrading the product should not mean giving up control of the work.</p>
<p>Studio v1 is now live. You can start with the free Community plan, keep your workspace local, bring your own keys and choose what your agents are allowed to do. If you need more managed capacity, Pro, Studio Plus and Studio Max are available through live checkout.</p>
<video controls preload="metadata" poster="/images/articles/chaseos-studio-v1-is-live/hero.png" playsinline style="display:block;width:100%;height:auto;border-radius:12px;border:1px solid rgba(255,255,255,.14);">
  <source src="/images/articles/chaseos-studio-v1-is-live/studio-v1.mp4" type="video/mp4" />
  <a href="/images/articles/chaseos-studio-v1-is-live/studio-v1.mp4">Watch the ChaseOS Studio v1 product video.</a>
</video><h2>What the current product looks like</h2>
<p>The short product cut shows the live pricing experience and inspectable companion profiles. Across the wider product, ChaseOS brings three parts of the system together:</p>
<ul>
<li><strong>Inspectable companion profiles</strong> instead of anonymous background automation.</li>
<li><strong>A visible knowledge graph</strong> so agents and context do not disappear as work moves.</li>
<li><strong>Governed terminal work</strong> that keeps operational activity inside one private command layer.</li>
</ul>
<p>The point is not to hide complexity behind another chat box. The point is to make the system understandable while it is working.</p>
<h2>The plans are live—and the rollout labels matter</h2>
<p>Community remains free and local-first. Pro, Studio Plus and Studio Max add larger managed Cloud credit allowances and more headroom for builders who want ChaseOS Cloud to handle more of the running.</p>
<p>Some individual managed Cloud capabilities are still rolling out. The pricing page marks their current stage rather than implying that every capability is already complete. Agent fleets remain planned.</p>
<p>That distinction matters: the plans and checkout are live, while specific managed capabilities can continue to ship separately.</p>
<h2>Start where you are</h2>
<p>You do not need to move your entire workflow into a hosted environment to start using ChaseOS. Begin locally with Community, then choose a paid plan if managed credits and additional capacity fit the way you work.</p>
<p><strong><a href="https://chaseos.ai/pricing">Compare the current plans</a></strong></p>
<p><em>This article covers the Studio-live and pricing story only. It makes no claim about an accepted replacement installer or newer reliability packages that remain under separate verification.</em></p>
]]></content:encoded>
      <pubDate>Tue, 11 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>ChaseOS</category>
      <category>ChaseOS Studio</category>
      <category>local-first software</category>
      <category>AI agents</category>
      <category>builder tools</category>
    </item>
    <item>
      <title>AI Infrastructure Will Be Won by Moving Less State - Not Adding More Compute</title>
      <link>https://chaseintech.com/articles/ai-infrastructure-will-be-won-by-moving-less-state/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/ai-infrastructure-will-be-won-by-moving-less-state/</guid>
      <description>Persistent State Machine research points to a harder infrastructure advantage: keep model state local, activate only what matters and govern every transition.</description>
      <content:encoded><![CDATA[<p><em>Persistent State Machine research points at a harder systems question: what if the next efficiency gain comes from keeping model state local, activating only what matters and governing every transition?</em></p>
<p>The AI industry keeps treating more compute as the default answer. Bigger clusters. Faster accelerators. More memory bandwidth. More tokens pushed through the same basic path.</p>
<p>But a growing share of the real cost is not the arithmetic. It is moving state to where the arithmetic happens.</p>
<p>That is the useful idea inside Yusuke Esaka&#39;s Persistent State Machine work. The version that first reached our shortlist was v8.0, a four-page preprint that described stationary in-memory cells, local deterministic transitions and sparse activation using author-reported Vivado synthesis results.[2] The record has since moved quickly to v11.0, with a substantially expanded architecture, security design and medium-scale FPGA evaluation.[1]</p>
<p>The change matters. We should not publish the original v8 poster as if it were still the latest evidence.</p>
<p>Our thesis is broader than this one paper:</p>
<blockquote>
<p>The next AI infrastructure advantage will come from controlling where state lives, how little of it moves and which transitions are allowed - not simply from adding more compute.</p>
</blockquote>
<p>That thesis connects hardware efficiency, agent memory and system governance. It also gives us a more useful way to evaluate claims about &quot;next-generation AI infrastructure.&quot;</p>
<h2>The bottleneck is becoming state movement</h2>
<p>Transformer attention repeatedly compares a new query against stored keys and values from earlier tokens. As context grows, that KV cache becomes a large and persistent working set. Conventional accelerators keep moving the relevant data through a memory hierarchy so compute units can use it.</p>
<p>FlashAttention made this systems problem explicit. Its core contribution was not a new model capability. It was an IO-aware attention algorithm that reduced reads and writes between GPU high-bandwidth memory and on-chip SRAM through tiling.[3] FlashAttention-2 pushed the same direction further with better work partitioning and less shared-memory communication.[4]</p>
<p>Persistent State Machines take a more radical position. Instead of repeatedly bringing state to a central compute path, keep state physically local and broadcast instructions to cells that evaluate deterministic transitions. Cells that do not need to participate remain inactive. Local reductions produce the output.</p>
<p>That changes the design question from:</p>
<p>&quot;How fast can we stream the whole working set through the accelerator?&quot;</p>
<p>To:</p>
<p>&quot;How much of the working set needs to move or switch at all?&quot;</p>
<p>That is the infrastructure shift worth watching.</p>
<h2>What the latest paper actually reports</h2>
<p>Version 11 describes the Persistent State Machine as a formal computational model and ASMA as a hardware reference architecture aimed at KV-cache attention.[1]</p>
<p>The paper reports:</p>
<ul>
<li>a local-state computational model with an O(n) space characterization;</li>
<li>an error bound for sparse softmax approximation;</li>
<li>a synthesizable array with selective activation;</li>
<li>tenant-oriented controls including masking, zeroization, a self-checking triple-modular-redundancy voter and a constant-time comparator;</li>
<li>post-route timing closure with positive WNS between 2.548 ns and 3.182 ns across the tested configurations;</li>
<li>0.40 microseconds of pure-array latency and 1.25 microseconds of host-to-FPGA DMA latency;</li>
<li>a reported 4.84 percent LUT overhead for the TMR voter;</li>
<li>and a reported 0.3745 percent perplexity increase on TinyLlama-1.1B with WikiText-2 at 40 percent attention gating, meaning 60 percent of cells remained active.[1]</li>
</ul>
<p>Those are interesting results, but they need the right label.</p>
<p>This is a Zenodo preprint from the architecture&#39;s author. The FPGA figures are post-route tool-flow results on a medium-scale, out-of-context design. Power was evaluated under controlled toggle rates. The model-quality result covers TinyLlama-1.1B on 20 WikiText-2 evaluation sequences. The paper itself says other model families, long-context regimes and a production multi-batch serving stack remain uncharacterized.[1]</p>
<p>So the honest conclusion is not &quot;the memory wall is solved.&quot;</p>
<p>The honest conclusion is:</p>
<blockquote>
<p>The paper presents a testable architecture for reducing state movement, with enough formal and implementation detail to justify independent reproduction.</p>
</blockquote>
<p>That is still valuable. Good infrastructure research should turn a slogan into a benchmarkable system boundary.</p>
<h2>Our thesis: selective state is the real leverage</h2>
<p>The strongest part of this work is not any single power number. It is the combination of three ideas:</p>
<ol>
<li><strong>State should remain close to where it is used.</strong> Repeated movement is treated as a cost, not an invisible implementation detail.</li>
<li><strong>Only relevant state should activate.</strong> Sparsity is expressed as a physical switching decision, not just a logical mask applied after the data has already moved.</li>
<li><strong>State transitions should be explicit.</strong> Local deterministic rules make the path from instruction to change more inspectable than a vague global operation.</li>
</ol>
<p>That combination maps directly onto how we think about agent systems.</p>
<p>ChaseOS is not a hardware accelerator, and we should not pretend the two systems are equivalent. ChaseOS is a local-first control plane for agents, projects, memory, approvals and persistent workflows.[5] But the same systems principle appears at a different layer: persistent state is useful only when its location, ownership, transition and authority are explicit.</p>
<p>We already treat agent memory as governed state rather than a convenient text bucket. A record moves from observation to candidate, validation, scoped commit, retrieval, review and eventual expiry or revocation. The risky point is the transition that turns untrusted information into durable influence.[6]</p>
<p>The PSM paper asks: why move all state through the compute path?</p>
<p>Our agent-infrastructure version asks: why move all context through the model, and why let every retrieved record influence every action?</p>
<p>Both questions lead toward selective state systems.</p>
<h2>What this could mean for agent infrastructure</h2>
<p>Today, many agent stacks rebuild context by collecting messages, memories, files, retrieval results and tool outputs, then sending a large bundle back through a model. The system often pays for state movement in four ways:</p>
<ul>
<li>bytes transferred;</li>
<li>tokens processed;</li>
<li>latency added;</li>
<li>and trust boundaries crossed.</li>
</ul>
<p>A better architecture would make those costs visible before execution.</p>
<p>Imagine an agent runtime where:</p>
<ul>
<li>durable records stay in scoped local stores;</li>
<li>the router sends a narrow instruction to the right stateful component;</li>
<li>only the records qualified for the current tenant, task and trust level activate;</li>
<li>reductions return the minimum useful result;</li>
<li>and high-impact transitions still require current authorization.</li>
</ul>
<p>This is not a claim that PSM hardware can be dropped underneath ChaseOS tomorrow. It is a design direction: move computation toward state, move less state toward models and make every state transition auditable.</p>
<p>That would improve more than efficiency. It could reduce context contamination, cross-tenant leakage and the tendency to treat retrieval as authority.</p>
<h2>The benchmark we would want to see</h2>
<p>Before treating Persistent State Machines as an infrastructure breakthrough, I would want an independent, end-to-end benchmark with five ledgers.</p>
<h3>1. Movement ledger</h3>
<p>Measure bytes moved per generated token across host memory, accelerator memory and the local array. Compare against a tuned GPU baseline using modern IO-aware attention.</p>
<h3>2. Energy ledger</h3>
<p>Separate static power, dynamic array power, external memory energy, host overhead and interconnect cost. Core-only figures should not be presented as full-system efficiency.</p>
<h3>3. Quality ledger</h3>
<p>Test several model families, context lengths, attention patterns and gating ratios. Report perplexity and task-level accuracy, not only the best operating point.</p>
<h3>4. Latency ledger</h3>
<p>Report pure-array latency, DMA latency, batching behavior, tail latency and throughput under realistic concurrent requests. The v11 paper already shows why this matters: its reported DMA path is slower than the pure-array path.[1]</p>
<h3>5. Isolation ledger</h3>
<p>Verify tenant separation, zeroization, fault behavior and side-channel claims under adversarial testing. A secure reference architecture needs evidence that survives more than synthesis constraints.</p>
<p>If the architecture wins across those ledgers, the result would be much more important than one eye-catching pJ/op figure.</p>
<h2>The bigger connection to what we are building</h2>
<p>ChaseOS starts from the position that the boundary is the product. Models are only one execution option inside a governed system. State, permissions, evidence and approvals need their own contracts.[5]</p>
<p>Persistent State Machines suggest a hardware analogue to that philosophy:</p>
<ul>
<li>do not centralize work by default;</li>
<li>do not move state without a reason;</li>
<li>do not activate every component for every task;</li>
<li>and do not confuse a local optimization with an end-to-end result.</li>
</ul>
<p>The interesting future is not &quot;memory versus compute.&quot;</p>
<p>It is infrastructure where memory, compute and governance are designed as one state-transition system.</p>
<p>That is why this paper made the ChaseInTech Digest shortlist. Not because the final architecture is proven, but because it asks the right systems question and exposes enough of the mechanism to test it.</p>
<p>The next advantage may not come from a larger model or a faster matrix multiplier.</p>
<p>It may come from keeping the right state still.</p>
<h2>Sources</h2>
<p>[1] <a href="https://zenodo.org/records/21842502">https://zenodo.org/records/21842502</a> - Persistent State Machine Version 11.0
[2] <a href="https://zenodo.org/records/21753002">https://zenodo.org/records/21753002</a> - Persistent State Machines Version 8.0
[3] <a href="https://arxiv.org/abs/2205.14135">https://arxiv.org/abs/2205.14135</a> - FlashAttention
[4] <a href="https://arxiv.org/abs/2307.08691">https://arxiv.org/abs/2307.08691</a> - FlashAttention-2
[5] <a href="https://chaseintech.com/projects/chaseos">https://chaseintech.com/projects/chaseos</a> - ChaseOS - ChaseInTech
[6] <a href="https://chaseintech.com/articles/agent-memory-is-an-attack-surface">https://chaseintech.com/articles/agent-memory-is-an-attack-surface</a> - Agent Memory Is an Attack Surface</p>
]]></content:encoded>
      <pubDate>Mon, 10 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>AI infrastructure</category>
      <category>Persistent State Machines</category>
      <category>KV cache</category>
      <category>attention hardware</category>
      <category>ChaseOS</category>
    </item>
    <item>
      <title>Agent Memory Is an Attack Surface</title>
      <link>https://chaseintech.com/articles/agent-memory-is-an-attack-surface/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/agent-memory-is-an-attack-surface/</guid>
      <description>How poisoned memory writes persist across sessions, re-enter agent context and steer later reasoning or tool actions - plus the controls that reduce the risk.</description>
      <content:encoded><![CDATA[<p><em>Memory gives an agent continuity. It also gives untrusted information a way to survive the interaction that introduced it.</em></p>
<p><a href="/images/articles/agent-memory-is-an-attack-surface.png">Open the forensic memory trace at full size.</a></p>
<p>An agent reads a document, summarizes a conversation, retrieves a policy or receives an update from another agent. Some of that information may be stored for later. The next task begins, the original source is no longer visible, and the stored record returns as context.</p>
<p>That is useful when the record is accurate, current and properly scoped. It is dangerous when the record is malicious, misleading, stale or written under the wrong authority.</p>
<p>This is the security problem behind memory poisoning. The attack is not limited to the model response that handled the original input. A poisoned record can persist across sessions, reappear during later retrieval and influence planning or tool use long after the source has disappeared.</p>
<p>OWASP lists this as ASI06, Memory &amp; Context Poisoning, in its <em>Top 10 for Agentic Applications 2026</em>. Its description covers summaries, embeddings, retrieval stores and other information an agent retains, retrieves or reuses. The important property is persistence.</p>
<p>A prompt injection changes one interaction. A poisoned memory write can change what future interactions begin by believing.</p>
<h2>Memory is stored influence</h2>
<p>It is tempting to treat memory as a convenience feature. The user does not need to repeat a preference. The support agent remembers an account detail. The coding agent keeps project conventions. The research agent carries forward useful findings.</p>
<p>Once remembered information affects decisions, memory is part of the system&#39;s security state.</p>
<p>The important questions are no longer limited to &quot;What did the user say?&quot; They include:</p>
<ul>
<li>Who or what was allowed to write this record?</li>
<li>Which source produced it?</li>
<li>Was the source authenticated?</li>
<li>Was the content checked before it was committed?</li>
<li>Which user, tenant, task or agent can retrieve it?</li>
<li>How long should it remain available?</li>
<li>Can it be corrected, quarantined or revoked?</li>
<li>Does retrieving it grant any authority, or does the downstream system still verify the action?</li>
</ul>
<p>A memory system that cannot answer those questions has an attribution problem before it has a model problem.</p>
<h2>The attack chain</h2>
<p>The mechanism is easier to understand as a state transition:</p>
<pre><code class="language-text">untrusted source
    -&gt; candidate memory
    -&gt; write or promotion
    -&gt; persistent store
    -&gt; later retrieval
    -&gt; context assembly
    -&gt; plan or decision
    -&gt; tool action
</code></pre>
<p>The vulnerable moment is often the change from candidate information to durable state.</p>
<p>An external document may be untrusted when it enters the system. If the agent summarizes it and stores the summary without source metadata, the next session may not see an external document anymore. It sees an internal memory record. The storage layer has changed the record&#39;s location without proving its truth.</p>
<p>That can create a trust-laundering effect. Content that began outside the trust boundary returns through an internal retrieval path and may look more authoritative than it deserves.</p>
<p>OWASP&#39;s ASI06 examples include poisoned RAG stores, shared-user context contamination, summaries that persist crafted content, long-term memory drift and propagation between cooperating agents. These are different implementations of the same failure: a later decision consumes stored information without enough evidence about where it came from or whether it should still be trusted.</p>
<h2>Where poisoned memory can enter</h2>
<p>The write path is wider than a chat box.</p>
<h3>Uploaded documents and web content</h3>
<p>A research or operations agent may read pages, PDFs, tickets, emails or files. Hidden instructions are one risk, but false factual claims and stale operational guidance matter too. If the system automatically converts everything it reads into durable memory, ordinary ingestion becomes a privileged state-change path.</p>
<h3>API feeds and connected applications</h3>
<p>Agents consume calendars, CRMs, logs, issue trackers and internal databases. An authenticated API proves which system responded. It does not guarantee that every field is correct, current or safe to promote into a different context.</p>
<h3>Retrieval stores</h3>
<p>RAG systems deliberately retrieve external knowledge to influence generation. The <em>PoisonedRAG</em> paper treats the knowledge database itself as an attack surface and demonstrates that injected texts can manipulate answers to targeted questions in its experimental settings.</p>
<p>This is not proof that every RAG deployment is compromised. It shows why retrieval stores need the same integrity, access and provenance controls as other production data systems.</p>
<h3>Other agents</h3>
<p>Multi-agent workflows create transitive trust. A message from another agent can feel internal even when that agent relied on an untrusted page, an over-scoped tool or a contaminated shared store.</p>
<p>The receiver still needs to know the original source, the task scope and the authority attached to the message. &quot;Another agent said it&quot; is not provenance.</p>
<h3>The agent&#39;s own output</h3>
<p>Automatic self-ingestion is especially risky. An agent generates a summary, stores it, retrieves it later and treats the retrieved summary as evidence. A mistake can become self-reinforcing because each retrieval appears to confirm the stored record.</p>
<p>OWASP explicitly recommends preventing automatic re-ingestion of agent-generated output into trusted memory. Generated text can be useful working state, but it should not silently promote itself into ground truth.</p>
<h2>Persistence changes the threat model</h2>
<p>The dangerous word is persistent, not permanent.</p>
<p>Memory can expire, be deleted, be superseded or be rolled back. Good lifecycle controls limit how long a bad record can influence the system.</p>
<p>Without those controls, the window of influence extends beyond the original interaction. The agent may retrieve the record tomorrow, in a different workflow or for another user. The person reviewing the later action may never see the content that introduced the poisoned state.</p>
<p>That makes incident analysis harder. The visible failure may be a bad refund, a misleading security classification or an unsafe tool call. The cause may be a memory write several sessions earlier.</p>
<p>A useful audit trail therefore needs both sides of the lifecycle:</p>
<ul>
<li>the event that created or changed a memory record;</li>
<li>every later retrieval that used it in a consequential decision.</li>
</ul>
<p>Logging only the final tool call misses how the context was assembled. Logging only the memory write misses where the record later caused harm.</p>
<h2>Tools turn bad context into consequences</h2>
<p>Memory poisoning does not automatically create real authority. A remembered approval should not bypass a properly enforced authorization check. A false policy should not create a permission that the downstream service refuses.</p>
<p>The practical risk rises when a tool-enabled agent already has legitimate privileges.</p>
<p>A poisoned record can steer that agent into acting as a confused deputy. The action may be performed with valid credentials and through an allowed tool, even though the decision was based on corrupted context.</p>
<p>That is why memory controls cannot carry the entire security model. High-impact actions still need independent authorization, narrow credentials, policy checks and clear human approval where appropriate.</p>
<p>The rule is simple: remembered authority is not current authorization.</p>
<h2>Defend the write, the read and the action</h2>
<p>There is no single filter that solves memory poisoning. The useful design is layered and reversible.</p>
<table>
<thead>
<tr>
<th>Boundary</th>
<th>Control</th>
<th>What it reduces</th>
<th>What it does not prove</th>
</tr>
</thead>
<tbody><tr>
<td>Before write</td>
<td>Validate candidate memory and restrict write authority</td>
<td>Obvious malicious, malformed or over-scoped records</td>
<td>That accepted content is true</td>
</tr>
<tr>
<td>At commit</td>
<td>Attach source, writer, timestamp, scope and integrity metadata</td>
<td>Anonymous or untraceable records</td>
<td>That a known source is correct</td>
</tr>
<tr>
<td>In storage</td>
<td>Segment by user, tenant, domain and task</td>
<td>Cross-user and cross-context contamination</td>
<td>That records inside one segment are safe</td>
</tr>
<tr>
<td>During retention</td>
<td>Expire, decay or review unverified memory</td>
<td>Long-lived influence from weak records</td>
<td>That recent memory is trustworthy</td>
</tr>
<tr>
<td>At retrieval</td>
<td>Filter by scope, provenance, age and trust state</td>
<td>Irrelevant or unqualified context</td>
<td>That retrieved context should control an action</td>
</tr>
<tr>
<td>Before action</td>
<td>Re-check intent, permissions and side effects</td>
<td>Tool misuse caused by corrupted context</td>
<td>That every harmful plan will be detected</td>
</tr>
<tr>
<td>During response</td>
<td>Log lineage and monitor anomalous changes</td>
<td>Silent persistence and untraceable spread</td>
<td>Automatic recovery</td>
</tr>
<tr>
<td>During recovery</td>
<td>Quarantine, revoke, restore snapshots and roll back</td>
<td>Continued use of suspected records</td>
<td>That all downstream effects were reversed</td>
</tr>
</tbody></table>
<p>Provenance deserves a specific caveat. It supports attribution and audit. It does not establish truth.</p>
<p>A signed record can still be stale. A trusted source can be compromised. A verified employee can make a mistake. Provenance tells the reviewer where to look and which policy to apply. It should not become a decorative trust badge.</p>
<h2>Give memory an explicit lifecycle</h2>
<p>Many agent systems treat memory as an append-only convenience. Security improves when memory behaves more like governed state.</p>
<p>A candidate record can move through explicit stages:</p>
<pre><code class="language-text">observed
    -&gt; candidate
    -&gt; validated or quarantined
    -&gt; committed with scope
    -&gt; retrieved with lineage
    -&gt; reviewed or expired
    -&gt; revoked or archived
</code></pre>
<p>Each transition should have an owner and a reason.</p>
<p>A low-risk preference such as a formatting choice may be accepted automatically with a short retention period. A policy statement that could change payments, permissions or production systems should require stronger source validation and review. A record inherited from another agent should retain the original lineage rather than replacing it with the last agent&#39;s identity.</p>
<p>This is where risk-based memory matters. Not every record deserves the same retention, retrieval weight or review burden.</p>
<h2>What builders should record</h2>
<p>A practical memory record needs more than text and an embedding.</p>
<p>Useful fields include:</p>
<ul>
<li>stable record ID;</li>
<li>raw source or source reference;</li>
<li>writer identity;</li>
<li>creation and modification timestamps;</li>
<li>user, tenant, task and domain scope;</li>
<li>validation state and reviewer, if any;</li>
<li>retention or expiry policy;</li>
<li>superseded and revoked states;</li>
<li>integrity hash or version;</li>
<li>retrieval history for high-impact use;</li>
<li>links to downstream actions influenced by the record.</li>
</ul>
<p>Do not expose sensitive source data unnecessarily, but keep enough lineage to investigate a bad decision and revoke the responsible state.</p>
<p>The retrieval system also needs permission to abstain. If a record lacks the provenance or scope required for a high-impact task, the safe outcome may be to exclude it, request a current source or escalate for review.</p>
<h2>A useful red-team question</h2>
<p>Security testing often asks whether an agent will follow a malicious instruction now. Memory adds a second test:</p>
<blockquote>
<p>If the agent rejects the instruction today, can any part of it still be stored and retrieved tomorrow?</p>
</blockquote>
<p>The <em>AgentPoison</em> paper explores this persistence problem by poisoning long-term memory or knowledge bases so trigger-bearing instructions retrieve malicious demonstrations. Its results are specific to the tested agents and experimental setup, not a prevalence estimate. The important engineering lesson is that memory retrieval can become an attack mechanism even without modifying the base model.</p>
<p>A memory red-team should test at least four paths:</p>
<ol>
<li>Can untrusted content reach a durable store?</li>
<li>Can the original source or warning disappear during summarization?</li>
<li>Can the record cross user, tenant, task or agent boundaries?</li>
<li>Can later retrieval influence a consequential tool call without fresh authorization?</li>
</ol>
<p>The recovery test matters too. Quarantine a suspected record, revoke it, restore a prior snapshot and verify that future retrieval no longer surfaces it. Then inspect whether earlier downstream effects need separate rollback.</p>
<h2>Memory should carry evidence, not borrowed authority</h2>
<p>Memory is one of the features that makes agents useful. It gives continuity to systems that would otherwise start from zero every time.</p>
<p>That continuity should not be confused with trust.</p>
<p>Stored information needs a writer, source, scope, age and lifecycle. Retrieval needs to preserve that lineage. Consequential actions need fresh authorization that does not depend on the agent&#39;s explanation sounding internally consistent.</p>
<p>The strongest memory architecture does not claim to make poisoning impossible. It limits who can write, narrows where records can travel, makes weak provenance visible, expires uncertain state and preserves a path to quarantine and rollback.</p>
<p>An agent does not become safer because it remembers more. It becomes safer when the system knows what that memory is allowed to influence.</p>
<h2>Sources</h2>
<ol>
<li>OWASP Gen AI Security Project, <a href="https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/"><em>OWASP Top 10 for Agentic Applications 2026</em></a>, ASI06: Memory &amp; Context Poisoning, December 2025.</li>
<li>OWASP Gen AI Security Project, <a href="https://genai.owasp.org/resource/agentic-ai-threats-and-mitigations/"><em>Agentic AI - Threats and Mitigations</em></a>, February 2025.</li>
<li>Zhaorun Chen, Zhen Xiang, Chaowei Xiao, Dawn Song and Bo Li, <a href="https://arxiv.org/abs/2407.12784"><em>AgentPoison: Red-teaming LLM Agents via Poisoning Memory or Knowledge Bases</em></a>, arXiv:2407.12784, July 2024.</li>
<li>Wei Zou, Runpeng Geng, Binghui Wang and Jinyuan Jia, <a href="https://arxiv.org/abs/2402.07867"><em>PoisonedRAG: Knowledge Corruption Attacks to Retrieval-Augmented Generation of Large Language Models</em></a>, arXiv:2402.07867v3, August 2024.</li>
</ol>
]]></content:encoded>
      <pubDate>Sat, 08 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>AI agents</category>
      <category>agent security</category>
      <category>memory poisoning</category>
      <category>OWASP ASI06</category>
      <category>retrieval security</category>
    </item>
    <item>
      <title>The Hidden Cost of AI Agents: Verification, Human Review and Rework</title>
      <link>https://chaseintech.com/articles/verification-overhead-ai-agents-cost-per-verified-outcome/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/verification-overhead-ai-agents-cost-per-verified-outcome/</guid>
      <description>Why cost per task is incomplete without tests, model critics, visual QA, repair loops, human approval, monitoring and Cost per Verified Outcome.</description>
      <content:encoded><![CDATA[<p><em>Why cost per task is incomplete until you price tests, model critics, visual QA, repair loops, approval and monitoring.</em></p>
<p>A reply to my recent post about AI-agent economics asked a better question than the original metric: are we measuring the cost of verifying the agent&#39;s work, or only the cost of producing it?</p>
<p>That question changes the accounting.</p>
<p>My previous argument was that cost per token is a billing metric while cost per task is an operating metric. Token rates tell us what model consumption costs. A task metric gets closer to what a team actually wants: a bug fixed, a report grounded, a page deployed or a customer case resolved.</p>
<p>But cost per task still has a weak point. The denominator can quietly become whatever the agent claims it completed.</p>
<p>An agent can say the page is finished while the mobile layout clips. It can say the deployment succeeded while the wrong artifact is live. It can say the booking is complete while the database is unchanged. It can produce confident research while one material claim has no source.</p>
<p>Generation is visible because it produces an artifact and a model bill. Verification is distributed across tests, browser checks, critic calls, screenshots, repair loops, evidence packets, human judgement and monitoring after the action.</p>
<p>Those are not optional accounting details. They are part of the cost of reaching an outcome a business is willing to accept.</p>
<p>The next useful metric is not simply cost per task. It is the cost of reaching a <strong>verified outcome</strong>, where verified means the result passed a declared, versioned assurance process. It does not mean universal truth, zero residual risk or external certification.</p>
<h2>Cost per task was still progress</h2>
<p>Token pricing remains useful. Input, output, reasoning and cache-hit rates explain how a provider meters inference. Teams need those rates for budgeting, routing and diagnosis.</p>
<p>They just do not describe the whole job.</p>
<p>An agent task can include planning, retrieval, tools, browser automation, code execution, repeated attempts and fallback models. The cheapest rate card can still create expensive work if the system needs three runs and twenty minutes of senior review.</p>
<p>That is why the previous ChaseInTech article moved from token rate to <a href="https://chaseintech.com/articles/cost-per-task-vs-ai-token-pricing/">cost per verified task completion</a>. It treated retries, tools, infrastructure and human correction as part of the workflow rather than pretending the model call was the product.</p>
<p>Verification overhead is the next layer inside that metric.</p>
<p>The useful distinction is:</p>
<pre><code class="language-text">Cost per attempt
= what it costs to try

Cost per accepted task
= total workflow cost / outcomes accepted under the task gate

Cost per verified outcome
= total execution and assurance cost / outcomes that passed the declared verification contract
</code></pre>
<p>The words <strong>accepted</strong> and <strong>verified</strong> matter because the task contract has to say what success means. For a coding task, that may require a clean build, relevant tests and no regression. For research, every material claim may need a valid source. For a public website, the built artifact may need visual QA, approval, live deployment proof and a post-publish check.</p>
<p>The completion claim is only one piece of evidence. The environment outcome is what actually happened.</p>
<h2>The hidden ledger behind a GBP 0.58 task</h2>
<p><a href="/images/articles/verification-overhead-cost-ledger.png"><img src="/images/articles/verification-overhead-cost-ledger.png" alt="Illustrative ChaseInTech cost ledger showing a landing-page task growing from GBP 0.58 to GBP 4.40 after verification, repair, human approval and monitoring."></a></p>
<p><em>Open the figure to inspect the full-size ledger.</em></p>
<p>Consider a deliberately simple example: an agent is asked to generate and prepare a customer-facing landing page for publication.</p>
<p>If we count only the first visible work, the ledger might look like this.</p>
<p><strong>Illustrative example - not measured ChaseOS telemetry.</strong></p>
<table>
<thead>
<tr>
<th>Item</th>
<th align="right">Illustrative cost</th>
</tr>
</thead>
<tbody><tr>
<td>Initial planning and page generation</td>
<td align="right">GBP 0.42</td>
</tr>
<tr>
<td>Browser automation</td>
<td align="right">GBP 0.10</td>
</tr>
<tr>
<td>Basic automated tests</td>
<td align="right">GBP 0.06</td>
</tr>
<tr>
<td><strong>Headline task cost</strong></td>
<td align="right"><strong>GBP 0.58</strong></td>
</tr>
</tbody></table>
<p>The page appears to cost 58p. The build passes. The agent says it is done.</p>
<p>Then someone opens the real page.</p>
<p>The desktop version looks acceptable, but the mobile heading wraps badly. A call-to-action sits below the fold. The visual hierarchy feels like developer output rather than a finished customer page. One claim does not match the approved brief. The evidence packet contains a build log but no screenshot of the deployed state.</p>
<p>The fuller ledger looks different.</p>
<p><strong>Illustrative example - not measured ChaseOS telemetry.</strong></p>
<table>
<thead>
<tr>
<th>Item</th>
<th align="right">Illustrative cost</th>
<th>Purpose</th>
</tr>
</thead>
<tbody><tr>
<td>Initial planning and page generation</td>
<td align="right">GBP 0.42</td>
<td>Produces the first artifact</td>
</tr>
<tr>
<td>Browser automation</td>
<td align="right">GBP 0.10</td>
<td>Opens and exercises the page</td>
</tr>
<tr>
<td>Deterministic tests</td>
<td align="right">GBP 0.06</td>
<td>Checks build, routes, schema and obvious regressions</td>
</tr>
<tr>
<td>Separate model critic</td>
<td align="right">GBP 0.18</td>
<td>Reviews requirements, omissions and claims</td>
</tr>
<tr>
<td>Visual QA across viewports</td>
<td align="right">GBP 0.16</td>
<td>Checks hierarchy, clipping, readability and polish</td>
</tr>
<tr>
<td>Policy and brand validation</td>
<td align="right">GBP 0.05</td>
<td>Confirms claims and brand constraints</td>
</tr>
<tr>
<td>Failed review and repair rerun</td>
<td align="right">GBP 0.28</td>
<td>Corrects the visual and requirement failures</td>
</tr>
<tr>
<td>Evidence packet generation</td>
<td align="right">GBP 0.07</td>
<td>Packages screenshots, tests, diff and unresolved risks</td>
</tr>
<tr>
<td>Human approval: 5 minutes at GBP 36/hour</td>
<td align="right">GBP 3.00</td>
<td>Authorised operator reviews and accepts publication</td>
</tr>
<tr>
<td>Post-publish smoke verification</td>
<td align="right">GBP 0.08</td>
<td>Confirms the live state and critical links</td>
</tr>
<tr>
<td><strong>Verified delivery cost</strong></td>
<td align="right"><strong>GBP 4.40</strong></td>
<td>Reaches the declared assurance state</td>
</tr>
</tbody></table>
<p>The arithmetic is intentionally simple. The point is not that every landing page costs GBP 4.40 or needs this exact review graph. Every figure is illustrative.</p>
<p>The point is that the page did not cost 42p because that was the generation bill. It did not necessarily cost only 58p because a browser opened and the build passed. The relevant operating number is the all-in cost of reaching the state the business is prepared to accept.</p>
<p>Human review dominates this example. That will be realistic for some low-volume, high-context workflows and unrealistic for others. Mature automation should reduce the burden by producing better evidence, sampling low-risk work and escalating only ambiguous cases.</p>
<p>It should not hide the labour by leaving it outside the ledger.</p>
<h2>Verification overhead is assurance work</h2>
<p>I use <strong>verification overhead</strong> to mean the additional compute, tooling, infrastructure, model calls, latency and human labour required to decide whether an agent outcome should be accepted.</p>
<p>The word overhead can sound like waste. Much of this work is not waste. It is the price of assurance.</p>
<p>There are at least four different surfaces:</p>
<ol>
<li><strong>Online verification</strong> - checks run for a specific task before its outcome is accepted or executed.</li>
<li><strong>Verification infrastructure</strong> - the fixed or semi-fixed cost of building tests, validators, browser environments, rubrics, evidence schemas and reviewer tools.</li>
<li><strong>Human review</strong> - active judgement, approval and correction time.</li>
<li><strong>Post-action monitoring</strong> - smoke checks, drift detection, incident review and rollback verification after the action.</li>
</ol>
<p>A team can make online checks look cheap by ignoring what it cost to build and maintain the evaluation system. It can make a task look fast by excluding the queue for human approval. It can make a workflow look reliable by counting the pre-deployment pass while ignoring incidents found after release.</p>
<p>Good accounting keeps these buckets visible.</p>
<p>It also separates money from time. A workflow can be cheap in pounds but expensive in delay. Track active compute, queue time, human waiting time, time to first result, time to verified completion, time to approval and time to recovery as distinct measurements.</p>
<h2>The verifier stack</h2>
<p><a href="/images/articles/verification-overhead-stack.png"><img src="/images/articles/verification-overhead-stack.png" alt="Six-layer verification stack showing deterministic, environment, model, visual, human and monitoring checks routed according to risk."></a></p>
<p><em>Open the figure to inspect every assurance layer.</em></p>
<p>A serious system does not ask one grader to prove everything.</p>
<p>Anthropic&#39;s evaluation guidance separates the agent&#39;s trajectory from the final environment outcome and describes agent evaluations that combine code-based, model-based and human graders. Each layer has a different job and a different failure mode.</p>
<table>
<thead>
<tr>
<th>Verification layer</th>
<th>Best use</th>
<th>Strength</th>
<th>Failure mode</th>
</tr>
</thead>
<tbody><tr>
<td>Deterministic validation</td>
<td>Tests, schemas, types, limits, permissions, hashes and database state</td>
<td>Fast, reproducible and auditable</td>
<td>Only proves assertions that were encoded correctly</td>
</tr>
<tr>
<td>Environment validation</td>
<td>Confirms the required end state exists</td>
<td>Connects grading to the real outcome</td>
<td>Instrumentation or environment setup can be incomplete</td>
</tr>
<tr>
<td>Model-based critic</td>
<td>Requirements, omissions, contradictions and semantic quality</td>
<td>Flexible across ambiguous work</td>
<td>Non-deterministic, biased and capable of inventing defects</td>
</tr>
<tr>
<td>Visual QA</td>
<td>Rendered layouts, screenshots, hierarchy and navigation</td>
<td>Finds human-facing failures that code can miss</td>
<td>Visual grounding errors and subjective standards</td>
</tr>
<tr>
<td>Policy and security checks</td>
<td>Permissions, data exposure and restricted actions</td>
<td>Protects authority boundaries</td>
<td>Rules can be incomplete or bypassed</td>
</tr>
<tr>
<td>Human review</td>
<td>Context, accountability, taste and exceptional risk</td>
<td>Highest contextual authority</td>
<td>Expensive, slow, inconsistent and vulnerable to fatigue</td>
</tr>
<tr>
<td>Post-action monitoring</td>
<td>Live regressions, incidents and rollback triggers</td>
<td>Finds failures earlier checks miss</td>
<td>Ongoing cost and detection blind spots</td>
</tr>
</tbody></table>
<p>Deterministic checks should carry as much of the load as possible.</p>
<p>Use code to prove that a file exists, a schema validates, the tests pass, a database row reached the expected state, a forbidden permission was not used or a deployment hash matches the approved artifact. Do not pay a language model to guess what a deterministic validator can prove.</p>
<p>Model critics are useful when the question is semantic. Did the article answer the brief? Is a requirement missing? Are two claims contradictory? Is the evidence strong enough for the wording? A separate critic can surface defects the executor did not notice.</p>
<p>But a critic should not self-certify a sensitive action. It should not replace permission checks or become the only source of truth.</p>
<p>Visual QA matters because source code can be correct while the rendered result is poor. <a href="https://arxiv.org/abs/2401.13649v2">VisualWebArena</a> was built around the fact that many web tasks require visual information because interfaces are designed for human perception. <a href="https://arxiv.org/abs/2404.07972v2">OSWorld</a> similarly uses real computer environments and execution-based evaluation for multi-application tasks.</p>
<p>For a website or control plane, the verification evidence may need mobile and desktop screenshots, overflow checks, focus states, navigation, empty states and the actual application surface where the user works.</p>
<p>A code diff is not a user experience.</p>
<p>Human review sits at a different boundary. The goal is not to put a human somewhere in the loop as a ceremonial safety label. The goal is to present an authorised person with the exact contract, what changed, passed and failed checks, screenshots, unresolved ambiguity, cost, retry count, proposed action and rollback path.</p>
<p>That is evidence-amplified approval. It makes scarce human attention more useful.</p>
<h2>Why a second agent helps</h2>
<p>The executor and verifier optimise for different goals.</p>
<p>The executor is trying to complete the task. The verifier is trying to detect where the result fails the contract. Separate prompts, tools, evidence and incentives can expose different errors.</p>
<p>Anthropic describes evaluator-optimiser workflows in which one model generates and another evaluates against clear criteria, with feedback used for refinement. OpenAI&#39;s CriticGPT research reported that model criticism helped human reviewers catch more bugs in its studied setting.</p>
<p>That is a meaningful pattern for agent systems.</p>
<p>An executor can produce an artifact, trace and evidence. A separate verifier role can run deterministic checks, inspect the environment, apply a semantic rubric, request a bounded repair or escalate uncertainty. The repair can return to the original executor or a designated repair runtime.</p>
<p>The cost of that loop belongs in the ledger.</p>
<p>It also needs a budget. Without stop conditions, evaluator-optimiser loops can become cost multipliers that never converge.</p>
<p>A verification contract should specify:</p>
<ul>
<li>maximum critic passes;</li>
<li>maximum repair attempts;</li>
<li>cost and time ceilings;</li>
<li>evidence required before another retry;</li>
<li>when to escalate to a human;</li>
<li>when to stop safely.</li>
</ul>
<p>A verifier should be allowed to return <strong>pass</strong>, <strong>fail</strong>, <strong>repair</strong> or <strong>escalate</strong>. For high-impact work, it should not grant itself authority to perform the restricted action.</p>
<h2>Why another model call is not independent assurance</h2>
<p>A second agent is useful, but the word independent needs discipline.</p>
<p>Two calls may share the same model family, training data, prompt assumptions, missing evidence, tool blind spots and completion bias. A confident executor and a confident critic can be wrong for the same reason.</p>
<p>Stronger separation can include a different rubric, blinded review without the executor&#39;s conclusion, deterministic graders before model judgement, access to ground-truth environment state, repeated or order-swapped judge runs, a different model where justified and recurring calibration against human decisions.</p>
<p>Even then, the verifier is not a truth machine.</p>
<p>Research on LLM judges documents position, verbosity and self-enhancement biases. A judge can change its preference when candidate order changes. It can reward polished language over factual substance. It can favour work that resembles its own style.</p>
<p>Critics can hallucinate defects too. OpenAI&#39;s CriticGPT report explicitly notes that critics can identify non-existent problems as well as real ones.</p>
<p>This creates two costly failure classes:</p>
<ul>
<li><strong>False acceptance</strong> - a bad outcome is accepted.</li>
<li><strong>False rejection</strong> - a good outcome is rejected, triggering unnecessary repair, delay or human review.</li>
</ul>
<p>Both belong in the scorecard. A verifier that catches every possible issue by rejecting almost everything is not necessarily useful. A cheap verifier that approves confident prose is not assurance.</p>
<h2>The verifier also needs verification</h2>
<p>The moment a verifier can reject work, it becomes part of the production system and deserves its own evaluation.</p>
<p>That means versioning the verifier model, prompt, rubric, evidence inputs and thresholds. It means measuring disagreement, order sensitivity, abstention, false acceptance, false rejection and drift against recurring human-rated samples.</p>
<p>It also means inspecting the benchmark itself.</p>
<p>OpenAI&#39;s work on SWE-bench Verified is a useful example. The original evaluation contained issues that could make results unreliable, so a human-validated subset was created. The lesson is not that every benchmark is broken. The lesson is that tests and grading harnesses can contain ambiguity or reject valid solutions.</p>
<p>Outcome checks are usually stronger than self-reported completion:</p>
<ul>
<li>inspect database state rather than trusting &quot;booking complete&quot;;</li>
<li>inspect test results rather than trusting &quot;bug fixed&quot;;</li>
<li>inspect a deployed artifact hash rather than trusting &quot;deployment succeeded&quot;;</li>
<li>inspect the rendered page rather than trusting source-code confidence.</li>
</ul>
<p>Repeated reliability matters as well.</p>
<p><code>pass@k</code> asks whether at least one of several attempts succeeds. It measures what a system can achieve with a sampling or retry budget.</p>
<p><code>pass^k</code> asks whether all of k repeated trials succeed. It measures consistency.</p>
<p>A workflow that passes once and fails repeatedly may look capable while remaining unreliable for daily operation. <a href="https://arxiv.org/abs/2406.12045v1">Tau-bench</a> uses final environment state and introduced <code>pass^k</code> to expose that distinction in its tool-agent-user setting. Its original task repository now warns that those task versions are outdated, so this article uses the repeated-reliability method rather than any current leaderboard claim.</p>
<h2>Visual QA and operator-defined quality</h2>
<p>Some of the most expensive quality failures are obvious to a human and invisible to a unit test.</p>
<p>The route resolves. The button exists. The JSON is valid. Yet the interface is cramped, confusing or visually unfinished.</p>
<p>Inside the systems I am building, that appears in practical forms:</p>
<ul>
<li>a mobile article title wraps into an unreadable block;</li>
<li>a technical diagram is correct at full size but useless in a social feed;</li>
<li>a control-plane channel layout makes sense to the developer but not the operator;</li>
<li>an evidence packet contains all required fields but makes the decision harder than the raw artifact;</li>
<li>a branded visual technically follows the palette but looks like a generic template.</li>
</ul>
<p>These judgements are not perfectly deterministic, but they are not beyond engineering.</p>
<p>OpenAI&#39;s report on harness engineering describes making applications legible to agents through browser tooling, DOM snapshots, screenshots, logs and metrics. It also describes converting human taste into more mechanical principles and recurring checks in that internal environment.</p>
<p>An operator quality contract can do something similar. It can store accepted and rejected examples, define visual hierarchy and readability criteria, require a viewport matrix, preserve known defects and specify when uncertainty must escalate.</p>
<p>The aim is not to pretend taste has become objective. It is to make expectations inspectable, repeatable and easier to calibrate.</p>
<h2>Assurance should scale with consequence</h2>
<p>The wrong response to verification overhead is maximum verification for every task.</p>
<p>A private brainstorm does not need the same assurance graph as a DNS change, credential use, payment, production deployment or public legal claim.</p>
<p>The other wrong response is to trust every output because the model is strong.</p>
<p>A better system routes assurance according to consequence, reversibility, uncertainty and authority.</p>
<table>
<thead>
<tr>
<th>Proposed tier</th>
<th>Example</th>
<th>Default assurance</th>
</tr>
</thead>
<tbody><tr>
<td>R0 - private draft</td>
<td>Brainstorm or throwaway mock</td>
<td>Light format checks, optional critique</td>
</tr>
<tr>
<td>R1 - reversible internal action</td>
<td>Create a branch or organise non-canonical notes</td>
<td>Deterministic checks and artifact review</td>
</tr>
<tr>
<td>R2 - public but reversible</td>
<td>Publish an approved article or update a non-critical page</td>
<td>Deterministic, model and visual QA, evidence packet, explicit approval and live smoke check</td>
</tr>
<tr>
<td>R3 - sensitive operational action</td>
<td>Production deploy, DNS, credentials, payment or customer commitment</td>
<td>Full tests, policy and security checks, separate verifier, rollback proof and mandatory approval</td>
</tr>
<tr>
<td>R4 - regulated or materially irreversible</td>
<td>High-impact financial, legal, medical or security action</td>
<td>Domain-specific evaluation, qualified accountable authority and continuous monitoring</td>
</tr>
</tbody></table>
<p><strong>This ladder is a proposed architecture, not a claim that every tier is fully implemented in ChaseOS.</strong></p>
<p>NIST&#39;s Generative AI Profile treats testing, evaluation, validation and verification as lifecycle work and recommends oversight proportionate to risk. OWASP&#39;s agentic security guidance highlights risks around tools, identity, inter-agent communication and cascading failures. These are guidance sources, not claims of ChaseOS compliance or certification.</p>
<p>Higher assurance cost can be correct engineering when the downside is material. The optimisation target is not the lowest raw bill. It is the lowest defensible cost for the declared assurance level and remaining risk.</p>
<h2>Cost per Verified Outcome</h2>
<p>I am proposing <strong>Cost per Verified Outcome</strong>, or CPVO, as the main accounting view for this problem.</p>
<p>This is a ChaseInTech operating framework, not a universal accounting standard, and I am not claiming to have invented the phrase.</p>
<p>The direct cost of one outcome is:</p>
<pre><code class="language-text">C_outcome =
  C_execution
  + C_verification
  + C_rework
  + C_human
  + C_monitoring
</code></pre>
<p>Across a workload:</p>
<pre><code class="language-text">CPVO =
  [sum of execution, verification, rework, human and monitoring cost
   + amortised verification-infrastructure cost]
  / outcomes that passed the declared verification contract
</code></pre>
<p>The denominator is the critical part.</p>
<p>Do not mix attempts, completion claims, accepted outcomes and verified outcomes. Include failed attempts that contributed to delivery. Track safe refusals and escalations as their own correct outcome classes where the contract requires them.</p>
<p>Disclose how offline evaluation infrastructure is amortised. A test suite does not become free because it was built before the live run.</p>
<p>Supporting metrics should remain visible:</p>
<table>
<thead>
<tr>
<th>Metric</th>
<th>What it reveals</th>
</tr>
</thead>
<tbody><tr>
<td>First-pass acceptance rate</td>
<td>Whether low raw cost is being subsidised by repair loops</td>
</tr>
<tr>
<td>Retry amplification factor</td>
<td>Total trials required per accepted outcome</td>
</tr>
<tr>
<td>Human escalation rate</td>
<td>Dependence on scarce operator attention</td>
</tr>
<tr>
<td>Human intervention minutes</td>
<td>Hidden labour per accepted outcome</td>
</tr>
<tr>
<td>Time to verified completion</td>
<td>Delay from start to accepted state</td>
</tr>
<tr>
<td>False acceptance rate</td>
<td>Bad outcomes incorrectly approved</td>
</tr>
<tr>
<td>False rejection rate</td>
<td>Good outcomes unnecessarily blocked or rerun</td>
</tr>
<tr>
<td>Verifier disagreement rate</td>
<td>Ambiguity or poor calibration</td>
</tr>
<tr>
<td>Evidence completeness</td>
<td>Auditability of the decision</td>
</tr>
<tr>
<td><code>pass^k</code> consistency</td>
<td>Repeated reliability rather than one lucky pass</td>
</tr>
<tr>
<td>Residual incident rate</td>
<td>Material issues found after acceptance</td>
</tr>
<tr>
<td>Cost by assurance tier</td>
<td>Whether low-risk and high-risk work are being averaged together</td>
</tr>
</tbody></table>
<p>A narrow online ratio can also be useful:</p>
<pre><code class="language-text">Verification Overhead Ratio = C_verification / C_execution
</code></pre>
<p>A fuller assurance-load ratio includes human review, monitoring and attributable evaluation infrastructure. The two should not be mixed in one chart.</p>
<p>For high-impact work, a risk-adjusted extension can include expected residual failure loss. That means multiplying the estimated probability of an undetected material failure by its estimated impact. It is conceptually useful but should not be presented as precise unless those estimates are defensible.</p>
<p>The best number is not automatically the smallest CPVO. A workflow can lower its apparent cost by skipping checks. The assurance profile is part of the product and must remain attached to the metric.</p>
<h2>What this means for ChaseOS today</h2>
<p>ChaseOS is an active governance and control-plane framework in developer preview. It is not a mature production SaaS or a generally available managed agent service.</p>
<p>Its current operating patterns already make verification overhead visible:</p>
<ul>
<li>sensitive actions sit behind explicit human approval gates;</li>
<li>dry runs separate proposal from execution;</li>
<li>evidence packets make actions reviewable;</li>
<li>bounded permissions reduce the blast radius;</li>
<li>production deploys, DNS changes, credentials, public posting and customer commitments require authority the agent cannot grant itself.</li>
</ul>
<p>These are not side documents attached after the real work. They are part of what makes the outcome governable.</p>
<p>The cost shows up as extra tool calls, screenshots, hashes, tests, reviewer minutes and waiting time. The benefit shows up as clearer boundaries, easier rollback and less reliance on the executor&#39;s confidence.</p>
<p>The current <a href="https://chaseintech.com/build-log/chaseos-control-plane-boundaries/">ChaseOS governance build log</a> explains those authority seams. The <a href="https://chaseintech.com/build-log/chaser-agent-source-card-harness/">Chaser Agent Source Card build log</a> describes a review-first V0 that separates source claims, evidence, uncertainty, action candidates and memory candidates into deterministic local artifacts.</p>
<p>Chaser Agent V0 has no browser control or runtime authority by default. That boundary matters because the next direction should start from reviewability before adding capability.</p>
<h2>Proposed: a verification plane around executor runtimes</h2>
<p><a href="/images/articles/verification-overhead-chaseos-plane.png"><img src="/images/articles/verification-overhead-chaseos-plane.png" alt="Proposed ChaseOS verification plane with a current-versus-proposed legend, risk routing, verifier checks and pass, repair, escalate or block outcomes."></a></p>
<p><em>Open the figure to inspect the current-versus-proposed architecture labels.</em></p>
<p>The following is a proposed extension, not a live product claim.</p>
<p>A future ChaseOS verification plane could begin with a versioned task contract and risk classification. An executor runtime performs the bounded work and returns the artifact, trace and evidence. A verifier router selects the required deterministic checks, model critique, visual QA and policy checks for the assurance tier.</p>
<pre><code class="language-text">Task contract
  -&gt; risk classification
  -&gt; executor runtime
  -&gt; artifact + trace + evidence
  -&gt; verifier router
       -&gt; deterministic checks
       -&gt; environment checks
       -&gt; model critic
       -&gt; visual QA
       -&gt; policy/security checks
  -&gt; pass | repair | escalate | block
  -&gt; authorised action where required
  -&gt; post-action monitoring
  -&gt; outcome ledger
</code></pre>
<p>Current ChaseOS controls would remain the authority layer. The verifier could recommend pass, fail, repair or escalation. It would not self-authorise a restricted action.</p>
<p>A future Chaser Agent direction could provide a first-party verification and refinement harness around other runtimes. It could inspect artifacts and traces, invoke deterministic validators, route a calibrated model critic, inspect rendered evidence, score operator rubrics, produce bounded repair instructions and assemble an evidence packet.</p>
<p>That is refinement, not fine-tuning. The model weights do not change when a critic requests a repair.</p>
<p>Human corrections, rejected artifacts and repair traces could later become regression tests, rubric examples or evaluation data. Only after consent, privacy, provenance and a persistent measured gap would true model fine-tuning become a separate decision.</p>
<h2>Feedback should become eval data before training data</h2>
<p><a href="/images/articles/verification-overhead-feedback.png"><img src="/images/articles/verification-overhead-feedback.png" alt="Feedback workflow showing human decisions becoming evidence, regression evaluations and harness improvements before any optional governed fine-tuning decision."></a></p>
<p><em>Open the figure to inspect the governed feedback sequence.</em></p>
<p>Agent systems often describe every correction loop as learning. That collapses several different mechanisms.</p>
<p>A system can improve by changing prompts, tools, retrieval, rubrics, memory or examples without training a model. It can use test-time critique to refine the current artifact. It can store an approved example for later retrieval. None of those updates model weights.</p>
<p>The safer sequence is:</p>
<pre><code class="language-text">human decision and correction
  -&gt; versioned evidence record
  -&gt; regression evaluation
  -&gt; rubric, prompt or tool improvement
  -&gt; measured next run
  -&gt; governed dataset if justified
  -&gt; fine-tuning only if the evidence supports it
</code></pre>
<p>Any reusable dataset needs answers about ownership, consent, tenancy, sensitive data, retention, deletion, provenance and whether the original human judgement was later shown to be wrong.</p>
<p>ChaseOS should not silently train on user work. The verification ledger should preserve why an example exists and which policy permits its reuse.</p>
<h2>Future Cloud and marketplace economics</h2>
<p>ChaseOS Cloud is planned, not live. The credits ledger exists, while the proposed provider-gateway reserve-execute-settle state machine remains specified rather than deployed.</p>
<p>A verification-aware extension could reserve budget for execution, mandatory checks, bounded retry allowance and optional human review. Settlement could expose separate buckets for execution inference, verification inference, tools, repair, human allocation and monitoring.</p>
<p>The key policy is simple:</p>
<blockquote>
<p>A workflow must not lower its bill by silently skipping checks required by the user&#39;s assurance policy.</p>
</blockquote>
<p>A future workflow marketplace should also disclose more than a description and raw price. A proposed assurance manifest could show the task-contract version, allowed tools, risk tier, required verifiers, approval points, rollback behaviour, evidence artifacts, evaluation version, sample size, repeated reliability, expected human minutes and known limitations.</p>
<p>Those would be descriptive assurance profiles, not certifications or guarantees.</p>
<p>The buyer should be able to distinguish the cheapest raw run from the cheapest accepted outcome, the most reliable repeated outcome, the lowest human burden and the strongest assurance profile.</p>
<p>That is a better market than ranking workflows by token price alone.</p>
<h2>The unit businesses actually buy</h2>
<p>Businesses do not buy tokens. They do not buy an agent&#39;s confident <code>TASK COMPLETE</code> message either.</p>
<p>They buy outcomes they can accept under a declared level of assurance.</p>
<p>That means the system has to measure the work required to establish the result, not only generate it. Tests, environment checks, critics, visual QA, repair, evidence, human authority and monitoring all have costs. The verifier has failure modes of its own. Higher-risk work needs stronger and often more expensive assurance.</p>
<p>Cost per task remains a useful step beyond token pricing. Cost per Verified Outcome makes the missing layer explicit.</p>
<p>The operating standard I want is this:</p>
<p>Do not call the task complete because the agent stopped. Call it complete when the declared outcome exists, the required evidence passes, the authorised decision has been made and the remaining risk is visible.</p>
<p>That is the unit the next generation of agent systems will have to price, prove and improve.</p>
<hr>
<p>Read more practical AI systems research at <a href="https://chaseintech.com/articles">https://chaseintech.com/articles</a></p>
<p>Follow ChaseInTech:</p>
<ul>
<li>Website: <a href="https://chaseintech.com">https://chaseintech.com</a></li>
<li>RSS: <a href="https://chaseintech.com/rss.xml">https://chaseintech.com/rss.xml</a></li>
<li>X: <a href="https://x.com/ChaseInTechUK">https://x.com/ChaseInTechUK</a></li>
<li>LinkedIn: <a href="https://uk.linkedin.com/in/john-idowu-03044a175">https://uk.linkedin.com/in/john-idowu-03044a175</a></li>
<li>YouTube: <a href="https://www.youtube.com/@ChaseDNDT">https://www.youtube.com/@ChaseDNDT</a></li>
<li>TikTok: <a href="https://www.tiktok.com/@chaseintech">https://www.tiktok.com/@chaseintech</a>_</li>
<li>GitHub: <a href="https://github.com/chasedndt">https://github.com/chasedndt</a></li>
</ul>
<h2>Sources</h2>
<ul>
<li>Anthropic, Demystifying evals for AI agents: <a href="https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents">https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents</a></li>
<li>Anthropic, Building Effective AI Agents: <a href="https://www.anthropic.com/engineering/building-effective-agents">https://www.anthropic.com/engineering/building-effective-agents</a></li>
<li>Anthropic, Harness design for long-running application development: <a href="https://www.anthropic.com/engineering/harness-design-long-running-apps">https://www.anthropic.com/engineering/harness-design-long-running-apps</a></li>
<li>OpenAI, Harness engineering: <a href="https://openai.com/index/harness-engineering/">https://openai.com/index/harness-engineering/</a></li>
<li>OpenAI, Finding GPT-4&#39;s mistakes with GPT-4: <a href="https://openai.com/index/finding-gpt4s-mistakes-with-gpt-4/">https://openai.com/index/finding-gpt4s-mistakes-with-gpt-4/</a></li>
<li>OpenAI, Introducing SWE-bench Verified: <a href="https://openai.com/index/introducing-swe-bench-verified/">https://openai.com/index/introducing-swe-bench-verified/</a></li>
<li>NIST AI 600-1, Generative Artificial Intelligence Profile: <a href="https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf">https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf</a></li>
<li>OWASP Top 10 for Agentic Applications 2026: <a href="https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/">https://genai.owasp.org/resource/owasp-top-10-for-agentic-applications-for-2026/</a></li>
<li>Training Verifiers to Solve Math Word Problems: <a href="https://arxiv.org/abs/2110.14168v2">https://arxiv.org/abs/2110.14168v2</a></li>
<li>Self-Refine: <a href="https://arxiv.org/abs/2303.17651v2">https://arxiv.org/abs/2303.17651v2</a></li>
<li>Reflexion: <a href="https://arxiv.org/abs/2303.11366v4">https://arxiv.org/abs/2303.11366v4</a></li>
<li>Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena: <a href="https://arxiv.org/abs/2306.05685v4">https://arxiv.org/abs/2306.05685v4</a></li>
<li>Large Language Models are not Fair Evaluators: <a href="https://aclanthology.org/2024.acl-long.511/">https://aclanthology.org/2024.acl-long.511/</a></li>
<li>Tau-bench: <a href="https://arxiv.org/abs/2406.12045v1">https://arxiv.org/abs/2406.12045v1</a></li>
<li>VisualWebArena: <a href="https://arxiv.org/abs/2401.13649v2">https://arxiv.org/abs/2401.13649v2</a></li>
<li>OSWorld: <a href="https://arxiv.org/abs/2404.07972v2">https://arxiv.org/abs/2404.07972v2</a></li>
</ul>
]]></content:encoded>
      <pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>AI agents</category>
      <category>agent evaluation</category>
      <category>verification overhead</category>
      <category>cost per verified outcome</category>
      <category>ChaseOS</category>
      <category>Chaser Agent</category>
    </item>
    <item>
      <title>Why Cost Per Task Matters More Than AI Token Pricing</title>
      <link>https://chaseintech.com/articles/cost-per-task-vs-ai-token-pricing/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/cost-per-task-vs-ai-token-pricing/</guid>
      <description>AI token prices show the rate card, not the cost of completed work. Learn how to measure cost, time and reliability per verified AI task.</description>
      <content:encoded><![CDATA[<p><em>A cheaper input or output rate does not guarantee cheaper work. Retries, reasoning, tools, latency and human correction determine what a verified completion actually costs.</em></p>
<p>Every new AI model arrives with a pricing table.</p>
<p>Input tokens cost this much. Output tokens cost that much. Cached tokens are cheaper. Reasoning has its own line. Engineers can place the numbers in a spreadsheet and rank the models from cheapest to most expensive.</p>
<p>The problem is that nobody hires an AI system because they want tokens. They want completed work.</p>
<p>A coding agent needs to fix the bug. A research agent needs to find the evidence. A support agent needs to resolve the case. A browser agent needs to finish the workflow without breaking the account.</p>
<p>The cheapest token rate can still produce an expensive system if the model needs longer outputs, repeated attempts, more tool calls or a human to rescue the result.</p>
<p>That is why cost per verified task completion is usually the more useful operating metric.</p>
<h2>Token price is a rate card</h2>
<p>Token pricing still matters. It tells you how the provider will meter model consumption.</p>
<p>Input tokens cover the material sent to the model: the prompt, system instructions, files, retrieved documents, previous messages and tool results.</p>
<p>Output tokens cover what the model produces. Depending on the provider, that can include visible answer tokens and separate reasoning tokens.</p>
<p>Cached tokens are repeated input that the provider can reuse more cheaply. A low cache-hit price can matter in repository-scale coding or other workflows that repeatedly send a large stable context.</p>
<p>All of that is useful for estimating a bill. It does not tell you whether the system completed the task.</p>
<p>A low petrol price does not tell you the cost of a delivery if the driver takes the wrong route three times. In the same way, a low token price does not tell you the cost of useful AI work without knowing how much the system consumed and whether the result passed.</p>
<h2>The Kimi K3 and Fable 5 example</h2>
<p>Kimi K3 and Claude Fable 5 make the distinction easier to see.</p>
<p>Moonshot lists Kimi K3 at $0.30 per million cache-hit input tokens, $3 per million cache-miss input tokens and $15 per million output tokens.</p>
<p>Anthropic lists Claude Fable 5 at $10 per million standard input tokens, $1 per million cache hits and $50 per million output tokens. Cache writes have separate prices.</p>
<p>Looking only at those rate cards makes Kimi the obvious cheaper option.</p>
<p>But a fair operating comparison also needs task success, token usage, elapsed time and fallback behaviour.</p>
<p>Artificial Analysis runs Terminal-Bench v2.1 across 89 curated terminal tasks. The tasks cover software engineering, system administration, data processing, model training and security. Each task has a verification suite. The model does not receive credit because its answer sounds good. It has to leave the environment in the correct state.</p>
<p>In the data available during this research, Kimi K3 and Fable 5 achieved similar task scores. Their operating profiles were different.</p>
<p>Kimi used fewer reported output and reasoning tokens per attempted task. Fable produced more output tokens but completed its weighted decoding sooner. Fable&#39;s run also involved fallback behaviour, which makes attribution and exact cost accounting less clean.</p>
<p>That result corrects a tempting but unsupported version of the argument. This comparison does not show Kimi using more output tokens and losing its price advantage. It shows that token rate, token volume, speed and task success can move independently.</p>
<p>Kimi appears cheaper on the rate card and lighter on reported output-token use. Fable appears faster on weighted decode time. Their completion scores are close. The right choice depends on whether the workload is constrained by money, latency, reliability or something else.</p>
<p>Artificial Analysis publishes Kimi in its cost-per-task chart, but Fable is absent from the comparable cost dataset. Applying Fable&#39;s list price mechanically to every reported token would create false precision because the fallback path is not cleanly attributed.</p>
<p>That missing number is part of the lesson. If the run cannot be attributed cleanly, the benchmark cannot support a clean cost-per-completion claim.</p>
<p><img src="/images/articles/cost-per-task-vs-ai-token-pricing-evidence.png" alt="ChaseInTech source-led comparison of Kimi K3 and Fable 5 benchmark evidence"></p>
<p><em>The comparison is useful because it separates score, output-token volume and delivery time. It is not a clean model-only cost comparison because the Fable run included fallback behaviour.</em></p>
<h2>A cheap attempt is not a cheap completion</h2>
<p>Suppose Model A costs half as much per attempt as Model B.</p>
<p>If Model A succeeds on the first attempt, it may be the better economic choice. If it fails twice, calls extra tools, falls back to Model B and then needs a developer to repair the patch, its lower token price did not produce the cheaper completion.</p>
<p>The distinction is simple:</p>
<pre><code class="language-text">Cost per attempted task =
  total workflow cost / all attempted tasks
</code></pre>
<p>That tells you the average cost of trying.</p>
<pre><code class="language-text">Cost per verified completion =
  total workflow cost / tasks that passed the acceptance gate
</code></pre>
<p>That tells you the average cost of receiving work you can actually accept.</p>
<p>The acceptance gate has to be defined before the test. For a coding task it might require the build to succeed, relevant tests to pass and no regression to appear. For research it might require every material claim to have a valid source. For customer support it might require the case to be resolved without breaching policy.</p>
<p>Without a gate, &quot;completion&quot; becomes whatever the model says it completed.</p>
<h2>Research already treats cost and quality together</h2>
<p>This is not only an editorial opinion.</p>
<p>FrugalGPT studied model cascades that route work across different language models. It reported matching the best individual model with up to 98 percent lower cost in its evaluated tasks, or improving GPT-4 accuracy at the same cost. The exact savings are historical and benchmark-specific, but the design principle is current: optimize cost and quality together.</p>
<p>RouteLLM studied learned routing between stronger and weaker models. It reported more than 2x cost reduction in some evaluations without sacrificing response quality. Again, that does not guarantee the same saving in every production system. It shows why model selection belongs on a cost-quality curve rather than a price-only leaderboard.</p>
<p>Tau-bench evaluates agents through the final state of the environment. It also measures repeated reliability. A system can sometimes succeed when given several chances while remaining unreliable across repeated real runs.</p>
<p>HumanEval&#39;s pass@k metric demonstrates the other side. Generating many candidates can improve the chance that at least one works. That extra capability comes with additional generation and verification cost.</p>
<p>Anthropic&#39;s engineering report on its multi-agent research system makes the system cost visible. Anthropic reported that agents used about four times as many tokens as chat interactions and multi-agent systems about fifteen times as many. It also found that token usage, tool calls and model choice all affected performance in its internal analysis.</p>
<p>The papers and engineering reports do not establish one universal cost-per-task number. They do support a wider conclusion: model efficiency has to connect cost with accepted outcomes.</p>
<h2>What to include in the calculation</h2>
<p>A serious cost-per-completion calculation should include more than model inference.</p>
<pre><code class="language-text">Cost per verified completion =
  model inference
  + tools and retrieval
  + retries and fallbacks
  + allocated infrastructure
  + human review and correction
  divided by verified completions
</code></pre>
<p>The model line should include input, output, cached and reasoning-token charges where the provider exposes them.</p>
<p>The system line should include paid search, browser infrastructure, vector databases, code sandboxes, storage and other services used by the workflow.</p>
<p>The failure line should include retries, timeouts and calls made before a fallback model finishes the task.</p>
<p>The human line should include review and correction time. A cheap agent that needs twenty minutes of senior engineering attention on every task may be more expensive than a costly model that produces an accepted result immediately.</p>
<h2>Time needs its own column</h2>
<p>Cost per completion should not swallow every other metric.</p>
<p>A slower but cheaper model may be a good choice for overnight research. It may be the wrong choice for an interactive coding assistant or customer support workflow.</p>
<p>Track time per verified completion separately:</p>
<ul>
<li>Median end-to-end completion time</li>
<li>p95 completion time for slower cases</li>
<li>Tool and network wait time</li>
<li>Retry and fallback time</li>
<li>Human review and repair time</li>
</ul>
<p>Throughput matters too. A model can use fewer tokens but emit them slowly. Another model can produce more tokens at a higher speed. The Kimi and Fable data demonstrates this directly.</p>
<h2>Do not replace one vanity metric with another</h2>
<p>Cost per task is not an intrinsic property of a model.</p>
<p>It depends on:</p>
<ul>
<li>The task distribution</li>
<li>The acceptance criteria</li>
<li>The agent harness</li>
<li>Available tools and permissions</li>
<li>Prompt and context design</li>
<li>Retry policy</li>
<li>Evaluator quality</li>
<li>Human review requirements</li>
<li>Provider pricing at the time of the run</li>
</ul>
<p>The harness is the software around the model. It controls which tools the model can call, how files are presented, how errors are returned and how many turns the agent receives. Comparing two models inside different harnesses partly compares two systems.</p>
<p>Evaluator quality matters as well. Research on LLM judges documents position, verbosity and self-enhancement biases. A cheap system can look efficient if its judge rewards confident prose instead of correct work.</p>
<p>That is why the result should be segmented by task type and difficulty rather than compressed into one universal leaderboard number.</p>
<h2>The operating scorecard</h2>
<p>Engineers evaluating models for real work should track:</p>
<ol>
<li>Input, output, cache and reasoning-token prices</li>
<li>Tokens consumed per attempt</li>
<li>First-attempt task success</li>
<li>Final success after a fixed retry budget</li>
<li>Tool calls and paid external services</li>
<li>Cost per verified completion</li>
<li>Time per verified completion</li>
<li>Human correction minutes</li>
<li>Fallback and timeout rates</li>
<li>Failure severity</li>
</ol>
<p>The rate card belongs in the scorecard. It should not be mistaken for the scorecard.</p>
<h2>The builder takeaway</h2>
<p>Token price tells you what one unit of model consumption costs.</p>
<p>Cost per verified completion tells you what accepted work costs.</p>
<p>Time per verified completion tells you how quickly that work arrives.</p>
<p>Teams should keep all three. Start with representative tasks, define the acceptance gate, hold the harness and retry budget constant, and measure the full workflow.</p>
<p>The model with the lowest input or output price may win. It may not. The point is to stop deciding before the work has been measured.</p>
<p>Tokens are consumption. Completed work is the product.</p>
<hr>
<p>Read more practical AI systems research at <a href="https://chaseintech.com/articles">https://chaseintech.com/articles</a></p>
<p>Follow ChaseInTech:</p>
<ul>
<li>Website: <a href="https://chaseintech.com">https://chaseintech.com</a></li>
<li>RSS: <a href="https://chaseintech.com/rss.xml">https://chaseintech.com/rss.xml</a></li>
<li>X: <a href="https://x.com/ChaseInTechUK">https://x.com/ChaseInTechUK</a></li>
<li>LinkedIn: <a href="https://uk.linkedin.com/in/john-idowu-03044a175">https://uk.linkedin.com/in/john-idowu-03044a175</a></li>
<li>YouTube: <a href="https://www.youtube.com/@ChaseDNDT">https://www.youtube.com/@ChaseDNDT</a></li>
<li>TikTok: <a href="https://www.tiktok.com/@chaseintech">https://www.tiktok.com/@chaseintech</a>_</li>
<li>GitHub: <a href="https://github.com/chasedndt">https://github.com/chasedndt</a></li>
</ul>
<p><img src="/images/articles/cost-per-task-vs-ai-token-pricing-sources.png" alt="Research-source panel showing Artificial Analysis methodology, Anthropic pricing and Moonshot AI benchmark evidence"></p>
<p><em>Source panels are preserved for provenance. Provider material is identified separately from independent benchmark methodology.</em></p>
<h2>Sources</h2>
<ul>
<li>FrugalGPT: <a href="https://arxiv.org/abs/2305.05176v1">https://arxiv.org/abs/2305.05176v1</a></li>
<li>RouteLLM: <a href="https://arxiv.org/abs/2406.18665v4">https://arxiv.org/abs/2406.18665v4</a></li>
<li>Tau-bench: <a href="https://arxiv.org/abs/2406.12045v1">https://arxiv.org/abs/2406.12045v1</a></li>
<li>SWE-bench: <a href="https://arxiv.org/abs/2310.06770v3">https://arxiv.org/abs/2310.06770v3</a></li>
<li>SWE-Lancer: <a href="https://arxiv.org/abs/2502.12115v4">https://arxiv.org/abs/2502.12115v4</a></li>
<li>Measuring AI Ability to Complete Long Software Tasks: <a href="https://arxiv.org/abs/2503.14499v4">https://arxiv.org/abs/2503.14499v4</a></li>
<li>HumanEval and Codex: <a href="https://arxiv.org/abs/2107.03374v2">https://arxiv.org/abs/2107.03374v2</a></li>
<li>Anthropic multi-agent research system: <a href="https://www.anthropic.com/engineering/multi-agent-research-system">https://www.anthropic.com/engineering/multi-agent-research-system</a></li>
<li>OpenAI model-selection guidance: <a href="https://developers.openai.com/api/docs/guides/model-selection">https://developers.openai.com/api/docs/guides/model-selection</a></li>
<li>Artificial Analysis Terminal-Bench v2.1: <a href="https://artificialanalysis.ai/evaluations/terminalbench-v2-1">https://artificialanalysis.ai/evaluations/terminalbench-v2-1</a></li>
<li>Kimi K3 technical blog: <a href="https://www.kimi.com/blog/kimi-k3">https://www.kimi.com/blog/kimi-k3</a></li>
<li>Anthropic pricing: <a href="https://platform.claude.com/docs/en/about-claude/pricing">https://platform.claude.com/docs/en/about-claude/pricing</a></li>
</ul>
]]></content:encoded>
      <pubDate>Sun, 02 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>AI agents</category>
      <category>model evaluation</category>
      <category>token pricing</category>
      <category>AI economics</category>
      <category>benchmarks</category>
    </item>
    <item>
      <title>ChatGPT Health can connect to your medical records. Check these five things first</title>
      <link>https://chaseintech.com/articles/chatgpt-health-five-trust-checks/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/chatgpt-health-five-trust-checks/</guid>
      <description>ChatGPT Health can bring medical records and wellness data into an AI workspace. Check permissions, retention, deletion, sources and professional handoff before connecting.</description>
      <content:encoded><![CDATA[<p>ChatGPT Health can connect medical records and wellness apps inside a dedicated health space. That could make scattered information easier to understand before an appointment.</p>
<p>It also creates a much wider trust boundary.</p>
<p>Medical records are not another casual chat import. They can contain diagnoses, medications, test results, clinician notes and years of personal history. Before connecting anything, I would want five questions answered clearly.</p>
<h2>1. What exactly can the connector access?</h2>
<p>A permission screen should explain which records, providers, apps and date ranges will be imported. &quot;Health data&quot; is too broad.</p>
<p>The safest connection gives the product only what the current task needs. If the goal is to prepare for one appointment, importing an unlimited history from every available source may be unnecessary.</p>
<h2>2. What is retained after disconnection?</h2>
<p>Removing a connector and deleting imported data are not always the same action.</p>
<p>A user should be able to see what remains after access is revoked, how long it remains and which controls remove it. This is especially important when the system creates summaries or derived notes from the original records.</p>
<p>OpenAI says health data is encrypted, isolated from regular chats and not used to train its foundational models. Those are meaningful product commitments. They should still be read alongside the connector and account controls that protect the wider data path.</p>
<h2>3. Can the data be exported and deleted?</h2>
<p>A personal health product should not become another place where information gets trapped.</p>
<p>Users need a clear export route and a clear deletion route. The interface should also distinguish deleting one conversation, removing imported records and closing the health space entirely.</p>
<h2>4. Where do medical claims come from?</h2>
<p>A polished response can still be wrong. Health answers should make the source boundary visible and help the user separate information support from a clinical decision.</p>
<p>A useful workflow is to turn unfamiliar language into questions for a qualified professional. A risky workflow is to treat a generated answer as a diagnosis or emergency decision.</p>
<p>ChatGPT is not a substitute for a clinician. Urgent symptoms and emergency decisions should go to appropriate medical services rather than a chatbot.</p>
<h2>5. When does a professional take over?</h2>
<p>The strongest use case is appointment preparation.</p>
<p>The system can help organise:</p>
<ul>
<li>recent changes;</li>
<li>medications and test results;</li>
<li>questions to ask;</li>
<li>missing records;</li>
<li>areas that need a professional answer.</li>
</ul>
<p>The clinician still owns the medical decision.</p>
<h2>A bounded workflow that makes sense</h2>
<p>I would use ChatGPT Health to build a short appointment brief. It should contain a timeline, key changes, current medications, unresolved questions and links back to the underlying records.</p>
<p>Then I would review the brief, correct anything that looks wrong and take it into the appointment.</p>
<p>That removes friction without pretending the model has clinical authority.</p>
<h2>Product trust has to stay visible</h2>
<p>Consumer AI becomes useful when it helps people prepare and understand. The product loses trust when convenience hides permissions, retention or medical limits.</p>
<p>ChatGPT Health may become a useful personal information layer. The five checks above should remain easier to find than the connect button.</p>
<h2>Sources and claim boundary</h2>
<ul>
<li><a href="https://openai.com/index/introducing-chatgpt-health/">openai.com</a></li>
<li><a href="https://help.openai.com/en/articles/13059328-chatgpt-health">help.openai.com</a></li>
</ul>
<p>OpenAI&#39;s privacy and product statements are publisher-reported. This article is not medical advice and does not endorse diagnosis through ChatGPT.</p>
<h2>Follow ChaseInTech</h2>
<ul>
<li><a href="https://chaseintech.com/articles">Read more articles</a></li>
<li><a href="https://chaseintech.com/rss.xml">Subscribe through RSS</a></li>
<li><a href="https://x.com/ChaseInTechUK">Follow ChaseInTech on X</a></li>
<li><a href="https://uk.linkedin.com/in/john-idowu-03044a175">Connect with John Idowu on LinkedIn</a></li>
</ul>
<p><a href="https://chaseintech.com">ChaseInTech.com</a></p>
]]></content:encoded>
      <pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>ChatGPT Health</category>
      <category>health data</category>
      <category>privacy</category>
      <category>consumer AI</category>
    </item>
    <item>
      <title>Kimi K3 looks efficient on Moonshot's charts. Now I want a test it cannot grade itself</title>
      <link>https://chaseintech.com/articles/kimi-k3-vendor-benchmarks-independent-workflow-test/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/kimi-k3-vendor-benchmarks-independent-workflow-test/</guid>
      <description>Moonshot AI's Kimi K3 score-vs-cost and knowledge-work charts make a strong vendor case. The next useful step is an independent workflow test with the same task, tools, validator and proof requirements as a model already used in ChaseOS.</description>
      <content:encoded><![CDATA[<p>My first Kimi K3 post made a simple point: the benchmark is not the product.</p>
<p>That still stands.</p>
<p>Moonshot AI has now published more concrete evidence for Kimi K3, including score-vs-cost comparisons for coding and BrowseComp, plus internal knowledge-work results across online research, deck creation and finance tasks.</p>
<p>Those charts are more useful than a parameter headline. They show the trade-off Moonshot wants builders to notice: Kimi K3 appears competitive while using less cost per task than several larger proprietary alternatives.</p>
<p>That is worth testing.</p>
<p>It is not yet the test result I would use to choose a model for ChaseOS.</p>
<h2>The vendor chart is the starting claim</h2>
<p>Moonshot&#39;s Kimi Code Bench V2 chart places Kimi K3 near the low-cost end of its comparison while reporting a score above several tested alternatives. Its BrowseComp chart makes a similar argument, with Kimi K3 positioned at a high reported score and a relatively low cost per task.</p>
<p>The internal knowledge-work chart reports Kimi K3 ahead on three selected categories:</p>
<ul>
<li>Online Exp Bench;</li>
<li>DECK-Bench;</li>
<li>Finance-Bench.</li>
</ul>
<p>These are Moonshot AI&#39;s results from Moonshot AI&#39;s evaluation setup. They are relevant first-party evidence, but they do not independently prove how Kimi K3 will behave inside my tools, task definitions, provider route or acceptance criteria.</p>
<p>The charts answer: &quot;How did Kimi K3 perform in Moonshot&#39;s harness?&quot;</p>
<p>I need to answer: &quot;Will Kimi K3 finish useful work inside mine?&quot;</p>
<h2>Cost per task is not cost per trusted result</h2>
<p>A low provider bill can still produce an expensive workflow.</p>
<p>If a model chooses the wrong tool, repeats calls, loses state, misses a requirement or needs a human to repair the final artifact, the headline cost per task stops being the number that matters.</p>
<p>The useful unit is cost per trusted result.</p>
<p>That includes:</p>
<ul>
<li>the model and provider cost;</li>
<li>retries;</li>
<li>tool calls;</li>
<li>validation;</li>
<li>recovery from failure;</li>
<li>human intervention;</li>
<li>the cost of incomplete or misleading work.</li>
</ul>
<p>A model that looks cheaper on one benchmark may be more expensive in an operating system if it needs constant steering. A more expensive call may be better value if it completes the work cleanly and leaves a reliable proof package.</p>
<p>That is the comparison the next ChaseOS test should expose.</p>
<h2>The independent workflow test</h2>
<p>Kimi K3 and a model already used in the ChaseOS stack should receive the same bounded repository task.</p>
<p>Both models get:</p>
<ul>
<li>the same repository snapshot;</li>
<li>the same prompt;</li>
<li>the same tool permissions;</li>
<li>the same context budget;</li>
<li>the same acceptance criteria;</li>
<li>the same validator;</li>
<li>the same evidence requirements.</li>
</ul>
<p>The task should end in a real artifact, not a written claim that the work is complete.</p>
<p>The proof package should include the artifact, validation output, tool trace, retry count, unresolved failures and a clear statement of any human intervention.</p>
<p>No production credentials. No public posting rights. No uncontrolled account actions.</p>
<p>This is an operating test, not a risk demonstration.</p>
<h2>The scorecard I would trust</h2>
<p>I would compare:</p>
<ol>
<li>Completed result - Did the final artifact meet every acceptance criterion?</li>
<li>Tool accuracy - Did the model choose and use the right tools?</li>
<li>Recovery - Did it notice failures and recover without making the situation worse?</li>
<li>Total cost - What did the complete successful run cost, including retries?</li>
<li>Latency - How long did it take to reach a validated result?</li>
<li>Human intervention - How much steering or repair was required?</li>
<li>Evidence quality - Could another operator verify what happened?</li>
</ol>
<p>The winner is not the model with the most impressive paragraph.</p>
<p>The winner is the model that completes the work, proves the result and reaches that standard at a sensible total cost.</p>
<h2>What would change my mind</h2>
<p>If Kimi K3 reproduces the shape of Moonshot&#39;s score-vs-cost story inside the ChaseOS harness, that is meaningful.</p>
<p>It would show that the model is not only strong inside the vendor&#39;s selected evaluation, but also useful inside a provider-independent operating layer with controlled tools and explicit evidence requirements.</p>
<p>If it needs more retries, more repair or more human direction than the alternatives, the vendor chart remains interesting without becoming the buying decision.</p>
<p>That is not a criticism of the chart. It is the difference between first-party evidence and an independent operating result.</p>
<h2>The builder takeaway</h2>
<p>The earlier post asked whether Kimi K3 could navigate a repository, use tools, recover and finish useful work.</p>
<p>This follow-up turns that question into a test contract.</p>
<p>Moonshot&#39;s charts have made Kimi K3 worth testing. ChaseOS should decide whether it is worth trusting.</p>
<h2>Sources and claim boundary</h2>
<ul>
<li><a href="https://www.kimi.com/blog/kimi-k3">Moonshot AI - Kimi K3</a></li>
<li><a href="https://huggingface.co/moonshotai/Kimi-K3">Kimi K3 on Hugging Face</a></li>
<li><a href="https://github.com/MoonshotAI/Kimi-K3">Kimi K3 on GitHub</a></li>
</ul>
<p>All Kimi K3 benchmark, score, cost and knowledge-work figures discussed here are vendor-reported by Moonshot AI. ChaseInTech has not independently reproduced those results. This article proposes the next test and does not claim that the test has already run.</p>
<h2>Follow the build</h2>
<p>The full editorial analysis lives on ChaseInTech.com. ChaseOS.ai is the product destination for the governed agent operating system and harness described in the piece.</p>
<ul>
<li><a href="https://chaseintech.com/articles">Read more ChaseInTech articles</a></li>
<li><a href="https://chaseos.ai">Explore ChaseOS</a></li>
<li><a href="https://x.com/ChaseInTechUK">Follow ChaseInTech on X</a></li>
<li><a href="https://uk.linkedin.com/in/john-idowu-03044a175">Connect with John Idowu on LinkedIn</a></li>
<li><a href="https://chaseintech.com/rss.xml">Subscribe through RSS</a></li>
</ul>
<p><a href="https://chaseintech.com">ChaseInTech.com</a></p>
]]></content:encoded>
      <pubDate>Sat, 01 Aug 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>Kimi K3</category>
      <category>AI agents</category>
      <category>open models</category>
      <category>model evaluation</category>
      <category>ChaseOS</category>
    </item>
    <item>
      <title>GPT-5.6's 3x benchmark jump was a harness story</title>
      <link>https://chaseintech.com/articles/gpt-5-6-harness-story/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/gpt-5-6-harness-story/</guid>
      <description>OpenAI reports that retained reasoning and compaction moved GPT-5.6 Sol from 13.3% to 38.3% on the ARC-AGI-3 public set, with six times fewer output tokens. The model stayed fixed. The harness changed.</description>
      <content:encoded><![CDATA[<p>OpenAI has published one of the clearest demonstrations yet that agent performance is not only a model property.</p>
<p>On the ARC-AGI-3 public task set, OpenAI says GPT-5.6 Sol scored <strong>13.3%</strong> with the official harness. When its team retained reasoning between turns and replaced rolling truncation with compaction, the score rose to <strong>38.3%</strong>.</p>
<p>That is roughly three times the score with <strong>six times fewer output tokens</strong>.</p>
<p>The model did not change. The surrounding system did.</p>
<h2>The benchmark was also measuring the harness</h2>
<p>ARC-AGI-3 asks agents to explore unfamiliar 2D games and infer how they work without explicit instructions. It is meant to test learning and reasoning, not simple recall.</p>
<p>The official harness was intentionally generic. That makes comparisons easier, but OpenAI found two design choices that worked against the way GPT-5.6 Sol had been trained and deployed.</p>
<p>First, the harness discarded reasoning state after every game action. The model could still see past moves and short notes, but not the internal state that produced its current plan. Each new action forced it to reconstruct more of the problem.</p>
<p>Second, the harness used a rolling truncation window. As the interaction grew, older observations and actions disappeared. The result was an agent that could act, but struggled to learn coherently over time.</p>
<p>This is not just a benchmark issue. It is a familiar failure mode in production agent systems.</p>
<h2>Retained reasoning changed the loop</h2>
<p>OpenAI rebuilt the evaluation using its Responses API. For GPT-5.6, chaining the previous response can retain supported reasoning state across tool calls and turns.</p>
<p>OpenAI reported that once reasoning was retained, the model spent less time reinterpreting the game and became better at carrying a coherent strategy forward.</p>
<p>This does not mean exposing private chain-of-thought to the user. It means preserving the model&#39;s supported reasoning state inside the API workflow so the next step does not begin cold.</p>
<p>The useful design question is not whether a system can store more chat history. It is whether it preserves the state the model needs to continue the task correctly.</p>
<h2>Compaction beat blind truncation</h2>
<p>Long-running agents eventually approach a context limit. Something has to happen to older state.</p>
<p>The official ARC harness dropped the oldest messages when its rolling window filled. OpenAI instead enabled compaction.</p>
<p>OpenAI&#39;s API documentation describes compaction as a way to reduce context size while carrying forward key prior state and reasoning in fewer tokens. Developers can enable server-side compaction with a threshold or explicitly call the compact endpoint.</p>
<p>OpenAI says this allowed GPT-5.6 Sol to preserve what it had learned across longer runs while using fewer output tokens.</p>
<p>That is a stronger pattern than retaining everything forever. Good agent memory is not unlimited accumulation. It is selective continuity: preserve the right state, remove redundant weight and keep the next action grounded in what has already happened.</p>
<h2>The claim needs the right boundary</h2>
<p>This was an OpenAI-run experiment using OpenAI&#39;s model, API and preferred settings. It is publisher-reported benchmark evidence, not independent validation by ChaseInTech.</p>
<p>The result also does not prove that every agent workflow will triple its performance. ARC-AGI-3 is a specific environment. The model, task, scoring method, tool loop and context pattern all matter.</p>
<p>But the experiment establishes a testable engineering point:</p>
<blockquote>
<p>Before blaming or replacing the model, measure what your harness is making it forget.</p>
</blockquote>
<h2>What I would test in a real agent stack</h2>
<p>Run the same operational task twice with the same model, prompt, tools and success criteria.</p>
<p>In the first run, use the current default state and truncation behaviour. In the second, preserve supported reasoning state and compact context deliberately.</p>
<p>Compare completed outcomes rather than message quality:</p>
<ul>
<li>Output tokens and total cost</li>
<li>Latency per successful task</li>
<li>Retries and recovery events</li>
<li>Consistency across long tool loops</li>
<li>Final-artifact quality</li>
<li>Evidence available for human review</li>
</ul>
<p>If the second workflow performs materially better, the bottleneck was not only model intelligence. It was orchestration.</p>
<h2>Why this matters for ChaseOS</h2>
<p>I am building <a href="/projects/chaseos/">ChaseOS</a> as an agent harness and operating layer rather than a wrapper around one model provider.</p>
<p>The model should remain replaceable. The system around it must preserve authority, state, evidence, approvals and recovery.</p>
<p>That means treating context management as infrastructure, not a prompt-engineering detail. A stronger model can still underperform inside a weak harness. A well-designed harness can unlock capability that a generic evaluation or stateless workflow leaves behind.</p>
<h2>The wider operator lesson</h2>
<p>The next generation of agent systems will not be differentiated only by which frontier model they call.</p>
<p>They will be differentiated by what they preserve, what they compact, what they verify and what they can recover when a long-running task goes wrong.</p>
<p>GPT-5.6 supplied the headline number. The harness supplied the builder lesson.</p>
<h2>Sources</h2>
<ul>
<li><a href="https://openai.com/index/how-two-settings-tripled-our-arc-agi-3-scores">OpenAI: How enabling two settings tripled our scores on ARC-AGI-3</a></li>
<li><a href="https://platform.openai.com/docs/guides/conversation-state">OpenAI API: Conversation state</a></li>
<li><a href="https://platform.openai.com/docs/guides/compaction">OpenAI API: Compaction</a></li>
<li><a href="https://arcprize.org/blog/arc-agi-3">ARC Prize: ARC-AGI-3</a></li>
</ul>
]]></content:encoded>
      <pubDate>Thu, 30 Jul 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>GPT-5.6</category>
      <category>agent harnesses</category>
      <category>context management</category>
      <category>evaluations</category>
    </item>
    <item>
      <title>Do not change the desktop default because a dev run feels faster</title>
      <link>https://chaseintech.com/articles/desktop-default-performance-pass/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/desktop-default-performance-pass/</guid>
      <description>One measured local build: cold readiness from ~201s to 52.150s and settled CPU from 23.528% to 5.238% — and why the shortcut only changed after functional and visual evidence agreed.</description>
      <content:encoded><![CDATA[<p>A useful build rule from the latest ChaseOS Studio performance pass: do not change the desktop default because a development run feels faster.</p>
<p>The one-directory package had to pass as the artifact an operator would actually run. On one Windows host, cold readiness moved from about 201 seconds to 52.150 seconds, and settled machine CPU moved from 23.528% to 5.238% over a 90.951-second sample.</p>
<p>The rollback path stayed intact while Home, Chat, Graph, Docs, local voice readiness, and the final package were checked. The shortcut changed only after the functional and visual evidence agreed.</p>
<p>This is not a universal hardware benchmark or a public installer announcement. It is one measured local build, with Studio still in Early Access and installer access marked Soon.</p>
<p>Explore Studio: <a href="https://chaseos.ai/studio">chaseos.ai/studio</a></p>
]]></content:encoded>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>chaseos</category>
      <category>performance</category>
      <category>engineering-discipline</category>
    </item>
    <item>
      <title>Model routing should be visible before execution</title>
      <link>https://chaseintech.com/articles/model-routing-before-execution/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/model-routing-before-execution/</guid>
      <description>A product boundary from the ChaseOS build: put managed Cloud, provider-owned keys and local models side by side — and show the cost of the managed path before a request is sent.</description>
      <content:encoded><![CDATA[<p>A useful product boundary from this week&#39;s ChaseOS build: model routing should be visible before execution, not hidden in configuration.</p>
<p>The newest Studio QA state puts three choices side by side — managed Cloud, provider-owned keys, and local open-source models — and shows the usage context for the managed path before a request is sent.</p>
<p>The important limitation is equally visible. This is a test-account fixture, not a Cloud launch. Managed compute is not publicly available, the gateway plan-context change still needs deployment proof, and Studio sends account changes to the account page rather than purchasing anything itself.</p>
<p>That combination matters: make the convenient route understandable without demoting local models or keys the operator controls.</p>
<p>Current product boundary: <a href="https://chaseos.ai/cloud">chaseos.ai/cloud</a></p>
]]></content:encoded>
      <pubDate>Tue, 28 Jul 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>chaseos</category>
      <category>product-boundaries</category>
      <category>cloud</category>
    </item>
    <item>
      <title>The part of an agent demo you cannot see</title>
      <link>https://chaseintech.com/articles/forge-visible-contracts/</link>
      <guid isPermaLink="true">https://chaseintech.com/articles/forge-visible-contracts/</guid>
      <description>Why ChaseOS Forge publishes every workflow pack's contract — inputs, steps, approval gates and enforced limits — before you run it.</description>
      <content:encoded><![CDATA[<p>The part of an agent demo I care about most is usually the part you cannot see: the rules behind the run.</p>
<p>Before I trust a workflow, I want to know what it takes in, the steps it follows, where it needs approval, and what it cannot do.</p>
<p>That is the idea behind ChaseOS Forge. The live marketplace publishes first-party workflow-pack previews, and each one publishes its contract up front.</p>
<p>The Software Review Pack makes this concrete. It turns repo context, diffs, tests, and review notes into an approval-ready engineering packet: six visible steps, four approval gates, and four enforced limits. You can inspect all of it before the workflow runs.</p>
<p>Forge is in Early Access. Paid marketplace checkout and direct installation from the public page are not live yet.</p>
<p>I&#39;m building this in public because the trust model matters as much as the demo.</p>
<p>Explore the live contracts: <a href="https://chaseos.ai/forge">chaseos.ai/forge</a></p>
<p>If you were reviewing an agent workflow, what would you need to see before letting it run?</p>
]]></content:encoded>
      <pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate>
      <category>Article</category>
      <category>agentic-ai</category>
      <category>governance</category>
      <category>chaseos</category>
    </item>
  </channel>
</rss>
