<?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: Milos Plavsic</title>
    <description>The latest articles on DEV Community by Milos Plavsic (@milos-plavsic).</description>
    <link>https://dev.to/milos-plavsic</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%2F4096384%2F0ce7e56f-7bff-4880-b5fa-c26c3bf3a915.jpg</url>
      <title>DEV Community: Milos Plavsic</title>
      <link>https://dev.to/milos-plavsic</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/milos-plavsic"/>
    <language>en</language>
    <item>
      <title>The Agent Failed. The Promise Did Not: Building Verifiable Agent Succession</title>
      <dc:creator>Milos Plavsic</dc:creator>
      <pubDate>Wed, 26 Aug 2026 22:50:10 +0000</pubDate>
      <link>https://dev.to/milos-plavsic/the-agent-failed-the-promise-did-not-building-verifiable-agent-succession-oe4</link>
      <guid>https://dev.to/milos-plavsic/the-agent-failed-the-promise-did-not-building-verifiable-agent-succession-oe4</guid>
      <description>&lt;p&gt;This article was created for the purpose of entering the &lt;strong&gt;All Things Agentic Hackathon&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Autonomous agents are increasingly trusted with work that outlives one model&lt;br&gt;
call: onboarding a supplier, renewing a contract, gathering compliance&lt;br&gt;
evidence, or completing a regulated handoff. Those workflows create an awkward&lt;br&gt;
question. What happens when the agent disappears, is compromised, or must be&lt;br&gt;
replaced while the obligation remains real?&lt;/p&gt;

&lt;p&gt;Restarting is not continuity. A durable queue can still replay an effect. A&lt;br&gt;
persistent memory can preserve revoked or poisoned context. A new agent can&lt;br&gt;
overlap authority with its predecessor. And an executor that verifies its own&lt;br&gt;
success has produced an assertion, not independent evidence.&lt;/p&gt;

&lt;p&gt;I built &lt;a href="https://github.com/milos-plavsic/continuum" rel="noopener noreferrer"&gt;Continuum&lt;/a&gt; to make that&lt;br&gt;
boundary explicit.&lt;/p&gt;

&lt;h2&gt;
  
  
  The vertical slice
&lt;/h2&gt;

&lt;p&gt;The reference incident is a synthetic €250,000 supplier-onboarding obligation.&lt;br&gt;
The agent expects compliance evidence before a persisted deadline. Nothing&lt;br&gt;
arrives—and, importantly, no explicit failure event appears.&lt;/p&gt;

&lt;p&gt;Cloud Tasks crosses the real deadline. The Negative Space Sentinel converts the&lt;br&gt;
absence into an append-only event, and Pub/Sub deliberately redelivers it after&lt;br&gt;
the first delivery fails. A deterministic eligibility gate evaluates three&lt;br&gt;
deployed successor records across health, capability, jurisdiction, contract&lt;br&gt;
compatibility, scope, and trust.&lt;/p&gt;

&lt;p&gt;Only eligible candidates reach Google ADK and Gemini 3.6 Flash. Gemini must cite&lt;br&gt;
the incident and candidate evidence, and its choice is causal: it determines&lt;br&gt;
which eligible workload is proposed for activation. But the model is not an&lt;br&gt;
authority boundary. Deterministic policy independently validates the result,&lt;br&gt;
advances the authority epoch with compare-and-swap semantics, and fences the&lt;br&gt;
predecessor.&lt;/p&gt;

&lt;p&gt;The successor receives a minimum-context receipt. Verified facts cross the&lt;br&gt;
boundary; raw prompt injection, a secret, unsupported model inference, and&lt;br&gt;
revoked memory do not. The action gateway checks workload identity, current&lt;br&gt;
epoch, policy, compliance evidence, context receipt, request digest, and&lt;br&gt;
idempotency in one Firestore transaction. Two deliveries produce one observed&lt;br&gt;
provider effect under the demonstrated failure model.&lt;/p&gt;

&lt;h2&gt;
  
  
  Verification belongs outside execution
&lt;/h2&gt;

&lt;p&gt;Continuum exports five content-addressed control artifacts: the obligation,&lt;br&gt;
authority grant, succession manifest, revocation proof, and execution receipt.&lt;br&gt;
A separately deployed Cloud Run verifier has a distinct read-only identity. It&lt;br&gt;
recomputes digests and directly reads authority, compliance, and provider state.&lt;br&gt;
Only that verifier may issue artifact six: &lt;code&gt;VERIFIED&lt;/code&gt;, &lt;code&gt;FAILED&lt;/code&gt;, or&lt;br&gt;
&lt;code&gt;INCONCLUSIVE&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This three-valued result matters. Missing provider truth is not success, but it&lt;br&gt;
is not necessarily proof of failure either. &lt;code&gt;INCONCLUSIVE&lt;/code&gt; holds further&lt;br&gt;
learning and consequential claims until evidence exists.&lt;/p&gt;

&lt;p&gt;The accepted cloud run binds one immutable image to five private Cloud Run&lt;br&gt;
revisions, distinct workload identities, Firestore state, deliberate Pub/Sub&lt;br&gt;
redelivery, one provider effect, predecessor denial, and 104 correlated&lt;br&gt;
OpenTelemetry spans. The proof packet is downloadable and can be checked&lt;br&gt;
without Google credentials.&lt;/p&gt;

&lt;h2&gt;
  
  
  Learning without letting media rewrite history
&lt;/h2&gt;

&lt;p&gt;Post-incident learning created a second design problem. Multimodal output can be&lt;br&gt;
useful for human training, but generated media must not drift back into the&lt;br&gt;
control plane as authority or evidence.&lt;/p&gt;

&lt;p&gt;The Antibody Foundry therefore starts only from a verifier-issued &lt;code&gt;VERIFIED&lt;/code&gt;&lt;br&gt;
bundle. It reduces that bundle to five bounded, non-sensitive facts. Gemma 4&lt;br&gt;
creates a structured lesson, regression test, video prompt, and music prompt,&lt;br&gt;
and must cite every fact exactly once. Deterministic admission rejects missing&lt;br&gt;
citations, extra fields, oversized text, or sensitive prompt terms.&lt;/p&gt;

&lt;p&gt;Only then are the admitted prompts sent to Veo 3.1 Lite and Lyria 3. Their&lt;br&gt;
outputs are stored under the same request digest with create-only,&lt;br&gt;
content-addressed naming. The final receipt is marked&lt;br&gt;
&lt;code&gt;DERIVED_NOT_AUTHORITY_OR_EVIDENCE&lt;/code&gt;. The branch can explain what happened; it&lt;br&gt;
cannot select a successor, grant authority, execute an action, or attest the&lt;br&gt;
outcome it depicts.&lt;/p&gt;

&lt;p&gt;That causal sequence is the important part. Gemma, Veo, and Lyria are not three&lt;br&gt;
decorative API calls. Each downstream request exists only because the same&lt;br&gt;
independently verified incident passed the prior boundary.&lt;/p&gt;

&lt;h2&gt;
  
  
  Production discipline in a hackathon build
&lt;/h2&gt;

&lt;p&gt;The public repository includes a cloud-neutral three-call SDK and portable&lt;br&gt;
Continuity Contract, so adopting the protocol does not require moving a domain&lt;br&gt;
model to Google Cloud. Google Cloud is the reference binding and the source of&lt;br&gt;
deployment evidence, not a portability claim.&lt;/p&gt;

&lt;p&gt;The complete quality gate runs in GitHub Actions, executes 151 tests, enforces&lt;br&gt;
genuine 100.0% statement and branch coverage without exclusions, runs C0–C6&lt;br&gt;
contract conformance, checks release invariants, rejects committed credentials&lt;br&gt;
or generated cloud state, and builds the non-root container image.&lt;/p&gt;

&lt;p&gt;Equally important are the limits. The provider effect is a controlled Firestore&lt;br&gt;
sandbox record, not a third-party procurement API. The project proves one&lt;br&gt;
regional reference profile, not Byzantine consensus, universal exactly-once&lt;br&gt;
execution, or third-party interoperability. The Continuity Contract is a&lt;br&gt;
proposal, not an adopted standard.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;Persistence is not memory, and memory is not continuity. Continuity requires an&lt;br&gt;
explicit separation between institutional obligation, model recommendation,&lt;br&gt;
authority, execution, and independent verdict.&lt;/p&gt;

&lt;p&gt;I also learned that bounded AI is often more convincing than performative&lt;br&gt;
autonomy. Gemini changes the outcome, but deterministic gates constrain what it&lt;br&gt;
is allowed to change. Gemma, Veo, and Lyria make verified learning more legible,&lt;br&gt;
but cannot rewrite operational truth.&lt;/p&gt;

&lt;p&gt;The long-term ambition is straightforward: make safe succession a normal&lt;br&gt;
property of serious agent systems. And if a better-founded standard eventually&lt;br&gt;
replaces this proposal, that would be success. Even standards should have&lt;br&gt;
succession plans.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://continuum-showcase-rdzvxiysbq-ew.a.run.app" rel="noopener noreferrer"&gt;Live read-only showcase&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/milos-plavsic/continuum" rel="noopener noreferrer"&gt;Source, architecture, tests, and proof&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/milos-plavsic/continuum/releases/tag/multimodal-proof-8bec862" rel="noopener noreferrer"&gt;Verifier-gated Gemma, Veo, and Lyria proof&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

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