<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ruslan Vrublevskyi</title>
    <description>The latest articles on DEV Community by Ruslan Vrublevskyi (@ruslanvrublevskyi).</description>
    <link>https://dev.to/ruslanvrublevskyi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4078503%2F8d23f41a-b036-4103-9f7a-a50184018306.jpg</url>
      <title>DEV Community: Ruslan Vrublevskyi</title>
      <link>https://dev.to/ruslanvrublevskyi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ruslanvrublevskyi"/>
    <language>en</language>
    <item>
      <title>Trust-Aware Recovery in Agent Fleets: Why Restarting Everything Is the Wrong Default</title>
      <dc:creator>Ruslan Vrublevskyi</dc:creator>
      <pubDate>Sat, 15 Aug 2026 05:44:26 +0000</pubDate>
      <link>https://dev.to/ruslanvrublevskyi/trust-aware-recovery-in-agent-fleets-why-restarting-everything-is-the-wrong-default-27lm</link>
      <guid>https://dev.to/ruslanvrublevskyi/trust-aware-recovery-in-agent-fleets-why-restarting-everything-is-the-wrong-default-27lm</guid>
      <description>&lt;p&gt;I created this article for the purposes of entering the Google All Things Agentic Hackathon 2026.Autonomous agent systems fail differently from ordinary services.&lt;/p&gt;

&lt;p&gt;A single stale evidence record, malformed worker output, poisoned tool result, or policy change can contaminate downstream state even when most of the fleet's earlier work is still valid.&lt;/p&gt;

&lt;p&gt;EvidenceBound Recovery Mesh treats that as a trust-graph problem rather than a process-restart problem.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0kvtznz985p5e549ofbp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F0kvtznz985p5e549ofbp.png" alt="EvidenceBound Recovery Mesh architecture showing the live verified Google Cloud runtime and separated enterprise persistence extension" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;EvidenceBound Recovery Mesh architecture. Solid paths are implemented and verified in the live deployment; Firestore and BigQuery are explicitly shown as enterprise extension targets, not active integrations.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Each material step becomes a checkpoint with explicit dependencies, output digests, evidence/tool digests, policy version, provenance, integrity metadata, and a deterministic verification state.&lt;/p&gt;

&lt;p&gt;When a trust break is detected, the runtime freezes unsafe downstream action, traverses the dependency graph, computes the exact blast radius, preserves checkpoints that remain verifiable, and reruns only the affected branch.&lt;/p&gt;

&lt;p&gt;The key design choice is that the language model is not the source of truth for trust.&lt;/p&gt;

&lt;p&gt;Gemini agents can analyze evidence and return bounded structured output, but deterministic code decides whether a checkpoint is VERIFIED, INVALIDATED, RECOMPUTE, or BLOCKED. The model cannot override policy, provenance, integrity, or side-effect gates.&lt;/p&gt;

&lt;p&gt;In the production acceptance run on Google Cloud, four Google ADK agents used Gemini 3.5 Flash through Vertex AI.&lt;/p&gt;

&lt;p&gt;A controlled stale-evidence fault invalidated the history snapshot and blocked publish_action.&lt;/p&gt;

&lt;p&gt;Scout remained reusable while Statistician, Skeptic, and Orchestrator were selectively recomputed. The final action resumed only after deterministic re-verification.&lt;/p&gt;

&lt;p&gt;Measured on that controlled production run:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Full restart: 4 model calls / 1781 input tokens&lt;/li&gt;
&lt;li&gt;Selective recovery: 3 model calls / 1358 input tokens&lt;/li&gt;
&lt;li&gt;Saved: 1 model call / 423 input tokens, about 24% of input tokens for that run&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not a general savings claim. It is a measured receipt from one bounded production scenario.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the live demo intentionally uses an in-memory hot store
&lt;/h2&gt;

&lt;p&gt;Once the production judge path passed live acceptance on Google Cloud, I deliberately froze the backend rather than adding a new database dependency immediately before judging.&lt;/p&gt;

&lt;p&gt;The live hackathon deployment therefore uses a bounded process-local in-memory hot store for run state.&lt;/p&gt;

&lt;p&gt;For an enterprise deployment, the architecture separates persistence behind an extension boundary: the same Flight Recorder checkpoint/event schema can be persisted to Firestore for multi-week operational state and to BigQuery for long-term audit analytics.&lt;/p&gt;

&lt;p&gt;Those are enterprise architecture extension targets, not active services in the live submission.&lt;/p&gt;

&lt;p&gt;This separation is important: persistence availability must never become trust authority. Verification, invalidation, blast-radius calculation, reuse decisions and fail-closed action gating remain deterministic regardless of the storage provider.&lt;/p&gt;

&lt;p&gt;The broader lesson is simple:&lt;/p&gt;

&lt;p&gt;Persisted state should not be treated as trusted state merely because it exists.&lt;/p&gt;

&lt;p&gt;For autonomous fleets, recovery should preserve only work whose evidence, provenance, dependencies, integrity and policy context are still verifiable.&lt;/p&gt;

&lt;p&gt;Project: EvidenceBound Recovery Mesh&lt;br&gt;
Hackathon: Google All Things Agentic Hackathon 2026&lt;br&gt;
Category: Fortified Enterprise Fleet&lt;/p&gt;

</description>
      <category>ai</category>
      <category>googlecloud</category>
      <category>agents</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
