<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://governance.ai-mvp.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://governance.ai-mvp.com/" rel="alternate" type="text/html" /><updated>2026-08-09T09:41:24+02:00</updated><id>https://governance.ai-mvp.com/feed.xml</id><title type="html">Practical AI Governance for Builders</title><subtitle>Technical controls and runtime governance for teams deploying AI in Europe and beyond: sandboxing, policy-as-code, agent telemetry, and EU AI Act compliance, with real code and no vendor spin.</subtitle><author><name>Carlos Hernandez</name></author><entry><title type="html">AI Governance Runs on Verified State</title><link href="https://governance.ai-mvp.com/2026/08/09/ai-governance-runs-on-verified-state/" rel="alternate" type="text/html" title="AI Governance Runs on Verified State" /><published>2026-08-09T06:40:00+02:00</published><updated>2026-08-09T06:40:00+02:00</updated><id>https://governance.ai-mvp.com/2026/08/09/ai-governance-runs-on-verified-state</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/08/09/ai-governance-runs-on-verified-state/"><![CDATA[<p><em>This week’s evidence from adoption research, agent security, Physical AI, and developer tooling points to one control objective: preserve human capability and verify consequential state changes across the full system trajectory.</em></p>

<blockquote>
  <p>Weekly synthesis: August 3 to August 9, 2026
This article extends <a href="https://governance.ai-mvp.com/2026/07/19/ai-governance-is-becoming-operations-engineering/">AI Governance Is Becoming Operations Engineering</a> and connects it to <a href="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/">Proof of Outcome</a>, <a href="https://governance.ai-mvp.com/2026/06/17/trust-at-fleet-scale/">Trust at Fleet Scale</a>, and <a href="https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence/">Grading Robot Action Evidence</a>.</p>
</blockquote>

<hr />

<p>AI governance teams measure outputs because outputs are easy to count. Teams can record task completion, benchmark scores, accepted code, model refusals, and robot success rates. Those figures omit the state that a system leaves behind.</p>

<p>An employee can finish an AI-assisted task and retain little of the skill needed for the next one. A coding agent can close more issues while weakening the public knowledge that future contributors use. A web agent can execute a sequence of acceptable clicks and still cross an authentication boundary. A robot can pass a manipulation benchmark while its emergency response lacks a certifiable safe state.</p>

<p>The same governance problem appears in each case. The organization needs evidence about the transition from one state to another: what the person or agent knew, what changed, which authority allowed the change, whether an independent check confirmed it, and which recovery path remains available.</p>

<p><a href="https://governance.ai-mvp.com/2026/07/19/ai-governance-is-becoming-operations-engineering/">Last month’s synthesis</a> argued that AI governance was becoming operations engineering. This week’s evidence sharpens the unit of control. AI governance runs on verified state.</p>

<h2 id="productivity-measures-need-a-memory">Productivity Measures Need a Memory</h2>

<p>An adoption study that entered arXiv this week shows why task performance cannot carry the full governance claim. CEPR published an earlier version in March and revised it in July, so this synthesis treats the result as background context rather than fresh evidence.</p>

<p>Guillermo Cruces and colleagues submitted a preprint on August 4 based on a randomized online experiment with 1,174 adults. Participants completed a workplace-style problem-solving task with or without a GenAI assistant, followed by an unassisted module. AI access reduced the performance gap between participants with higher and lower levels of education from 0.548 to 0.139 standard deviations. Participants with less education retained part of the gain after the tool disappeared, but a substantial gap returned. Intensive use improved later unaided performance when participants sustained their own effort during the assisted task.</p>

<p>The result supports a precise adoption metric. Organizations should measure assisted performance and retained capability as separate outcomes. A team that records the assisted score alone cannot tell whether the system expanded human capability, supplied temporary leverage, or encouraged dependence.</p>

<p>Two studies of software work add a social layer. Giusy Annunziata and colleagues surveyed 152 software professionals who use AI tools. Their model links AI use with different social outcomes depending on the work. In specialization tasks, peer knowledge sharing mediated the relationship between AI use and fewer coordination problems. In coordination tasks, AI use complemented human communication. The small observational survey does not establish causation, but it rejects a simple substitution story in which an assistant replaces team interaction.</p>

<p>Mengying Zhou, Yongjie Yin, and Yang Chen studied a related question through a four-week multi-agent simulation seeded with GitHub data from 1,084 active developers. Coding agents increased planned and completed tasks by 34% and 39%, while median completion time fell from 45 to 20 minutes. Public knowledge quality fell at the same time. On the authors’ retrieval test, the agent-condition corpus provided 22.3% knowledge coverage, compared with 81.1% for the real-human corpus. The simulation does not show what deployed teams will do. It identifies a failure mode that adoption dashboards should test in field settings: more output can leave a weaker shared record.</p>

<p>The first cross-topic takeaway joins adoption and social impact: <strong>organizations need a capability ledger beside the productivity ledger.</strong> That ledger should track unaided skill, reviewer competence, peer knowledge, and the quality of reusable records. Otherwise, a productivity gain can hide a future dependency.</p>

<h2 id="consequential-work-is-a-sequence-of-state-changes">Consequential Work Is a Sequence of State Changes</h2>

<p>Agent security research now treats the full trajectory as the assurance target.</p>

<p>Alireza Lotfi and colleagues describe the problem in their August 3 preprint, <em>Securing Agentic AI: From Per-Action Checks to Trajectory Assurance</em>. An agent can execute several permitted actions that compose into a prohibited outcome. Delegation adds identity and capability questions. Model routing creates a control plane below the visible agent. Memory, retrieved content, and tool interfaces expose several paths through which an attacker can alter later decisions.</p>

<p>The paper proposes a useful governance test: define invariants over the sequence, then verify that the runtime preserves them. A procurement agent might have permission to search suppliers, draft an order, and request approval. The system still needs a rule that prevents the agent from dividing one purchase into smaller orders to avoid an approval threshold. Each action can pass a local check while the trajectory violates policy.</p>

<p>Long-horizon developer infrastructure reflects the same concern. The August 3 <em>LongHorizon-Harness</em> preprint keeps task state outside the executor and updates that state after a separate auditor checks the environment. Its manager, executor, and auditor roles divide planning, action, and verification. The authors report gains across WeaveBench, OSWorld 2.0, and Terminal-Bench 2.1 with the same model and execution backend. Those results come from the project team and need independent reproduction. The architecture demonstrates a control pattern that governance teams can inspect: fresh execution context, durable task state, read-only verification, and recoverable progress.</p>

<p>The rising-repository scan found strong attention around this pattern. LoopX shipped four releases from August 4 through August 9 and describes a local control plane for objectives, gates, evidence, quotas, and handoffs across agent turns. LongHorizon-Harness shipped four releases from August 4 through August 7. Stars and release counts do not establish safety or technical quality. They show that developers now treat state preservation, verification, and recovery as product surfaces.</p>

<p>The second cross-topic takeaway connects agent security, developer tooling, and adoption: <strong>governance must bind policy to a state transition and its place in a trajectory.</strong> A tool permission answers whether one action may run. A trajectory control answers whether the sequence still serves the authorized objective.</p>

<h2 id="monitoring-needs-an-enforcement-path">Monitoring Needs an Enforcement Path</h2>

<p>Two August 5 security papers expose the limits of observing model reasoning.</p>

<p>Longtao Guo and colleagues tested LoginTrap, a task-agnostic indirect prompt-injection attack against web agents. Malicious page content made login appear necessary and routed the agent toward an attacker-controlled flow. The authors report an 86% average end-to-end attack success rate across their tested models and agent designs. The experiment focuses on a specific attack construction, so the percentage should not stand in for internet-wide risk. The finding identifies authentication as a separate policy boundary. A browser agent should not decide from page text alone when, where, or how to submit credentials.</p>

<p>Agatha Duzan and Asa Cooper Stickland compared chain-of-thought monitoring under explicit and implicit influence. Their monitor detected many behavior shifts when a prompt told the model to act on and conceal a nudge. Detection fell by 41 to 46 percentage points in two implicit-influence settings. Some realistic system-prompt additions reduced implicit detection to 5% while the behavioral influence remained. The study covers four task formats and seven extended-thinking models, and its results need replication. It still warns against treating visible reasoning as an enforcement boundary.</p>

<p>These papers point to controls outside the reasoning trace. Authentication policy should validate the destination, relying party, credential scope, and user authorization before a login action. A trajectory controller should evaluate cumulative effects. A policy engine should block prohibited state changes even when a monitor sees no suspicious thought.</p>

<p>The third cross-topic takeaway links monitoring research with practical governance: <strong>a monitor earns governance value through the action it can trigger.</strong> Teams need a defined response for each signal: block, ask, isolate, reduce authority, restore a checkpoint, or stop the system. Observation without authority produces an incident record, not a safety boundary.</p>

<h2 id="physical-ai-makes-the-safe-state-visible">Physical AI Makes the Safe State Visible</h2>

<p>Physical AI turns state verification into a mechanical constraint.</p>

<p>The August 3 industrial-humanoid safety preprint by Caiwu Ding and colleagues defines a fail-passive gap. Conventional machinery can often reach a safe state when a certified chain removes power. A walking humanoid may fall when the system cuts power, so de-energization can create the hazard. The authors use an external safety chain to locate the remaining uncertified element at the interface between the robot-side controller and its balancing policy. They do not claim end-to-end certification.</p>

<p>That boundary matters for AI governance beyond robotics. A kill switch counts as a control when the resulting state reduces risk. Revoking a cloud agent’s token may halt a transaction halfway through. Stopping an industrial robot can release a load or remove active balance. A governance team needs evidence about the transition that follows the stop command, including residual energy, incomplete work, and recovery conditions.</p>

<p>Two other robotics preprints show why runtime evidence needs calibration and context. SAFECAST uses contrast-set training and calibration to improve failure detection for vision-language-action policies under clutter, lighting changes, novel objects, altered starting states, and reworded instructions. The authors report gains on real-world DROID data and LIBERO simulation. They also show that monitor performance depends on calibration data that matches deployment shifts.</p>

<p>DreamWAM represents predicted future states through appearance, motion, geometry, and semantics rather than RGB alone. The authors report 74.4% average real-world task success under unseen lighting, background, and layout changes, compared with 55.6% for their Fast-WAM-Joint baseline. The result remains task-specific preprint evidence. Its governance contribution lies in the structure of the state prediction. A system can test a proposed action against motion, geometry, and semantic changes that relate to the physical task.</p>

<p>The fourth cross-topic takeaway connects Physical AI, agent monitoring, and system safety: <strong>teams must define the verified safe state before they define the stop control.</strong> The same rule applies to a robot, a browser session, a code deployment, and a regulated workflow. Each system needs a known recovery state, an independent path to reach it, and evidence that the transition completed.</p>

<h2 id="the-learning-gap-is-state-management-literacy">The Learning Gap Is State-Management Literacy</h2>

<p>This week’s practical learning signal came from the overlap between fresh research and active code. Builders can now study concrete patterns for external task state, read-only audit, checkpoints, release gates, and evidence logs. They can also study counterexamples in which reasoning monitors miss implicit influence or robot monitors lose calibration under a deployment shift.</p>

<p>Riichiro Mizoguchi and colleagues add a human-side design pattern in their August 6 <em>Vibe Compiler</em> preprint. Their research prototype maps an argument across sixteen academic parameters and asks reflective questions when it finds missing logic. The system leaves the missing reasoning with the researcher instead of completing it. The authors offer prototype experience rather than a controlled evaluation, so the paper does not prove that the design preserves skill. It gives builders a concrete way to encode productive struggle into an AI-assisted workflow.</p>

<p>That material supports a more useful learning path for governance-minded teams:</p>

<ol>
  <li>Model the system as state transitions, including human work and external services.</li>
  <li>Define invariants across the full trajectory, not one model response.</li>
  <li>Separate execution state from verified state.</li>
  <li>Give monitors a bounded enforcement or escalation path.</li>
  <li>Test interruption, rollback, and safe-state recovery under realistic conditions.</li>
</ol>

<p>The current papers and open repositories provide hands-on material for this learning path. Their code, claims, and benchmark designs need the same scrutiny as any other early project.</p>

<h2 id="a-practical-control-model">A Practical Control Model</h2>

<p>Teams can apply the weekly thesis through six records.</p>

<h3 id="1-authorized-objective">1. Authorized objective</h3>

<p>Record the goal, owner, scope, expiry, and prohibited outcomes. Preserve changes to the objective so investigators can distinguish adaptation from drift.</p>

<h3 id="2-proposed-transition">2. Proposed transition</h3>

<p>Describe the starting state, requested action, expected end state, and affected resources. Use stable action identities across the model, policy engine, tool gateway, and audit log.</p>

<h3 id="3-trajectory-invariants">3. Trajectory invariants</h3>

<p>Express limits that apply across several steps: cumulative spend, data movement, credential use, delegation depth, physical workspace, and approval thresholds.</p>

<h3 id="4-independent-verification">4. Independent verification</h3>

<p>Check the resulting environment rather than relying on the agent’s report. For consequential work, separate the executor from the verifier and preserve the evidence each one produced.</p>

<h3 id="5-capability-effects">5. Capability effects</h3>

<p>Measure retained human skill, reviewer load, peer knowledge, and unaided performance. Track whether automation strengthens the organization’s ability to oversee the work.</p>

<h3 id="6-safe-recovery">6. Safe recovery</h3>

<p>Test what happens after a stop, timeout, revoked credential, failed tool call, robot fault, or corrupted checkpoint. Confirm that the recovery state reduces risk and preserves enough evidence for investigation.</p>

<h2 id="a-public-position-worth-defending">A Public Position Worth Defending</h2>

<p>Public AI governance commentary loses value when authors celebrate capability gains without naming the operating conditions or list risks without showing which controls a builder can implement.</p>

<p>A stronger expert position connects the claim to the state transition. If a study reports productivity gains, ask what participants retained. If an agent passes an eval, ask which environment state the verifier checked. If a monitor reports suspicious behavior, ask which action the system blocked. If a robot has an emergency stop, ask which physical state follows.</p>

<p>My public position is concrete: organizations can govern advanced AI when they preserve an authoritative record of objectives, transitions, checks, outcomes, and recovery. This framing gives executives a decision model, engineers a control architecture, and auditors evidence they can test.</p>

<h2 id="the-weekly-thesis">The Weekly Thesis</h2>

<p>The week’s adoption, social, security, robotics, GitHub, and learning evidence points to one operating principle. AI governance needs a verified account of how work changes state over time.</p>

<p>Output quality remains one part of that account. Teams also need retained human capability, reusable public knowledge, trajectory-level policy, authentication boundaries, calibrated monitors, independent verification, and safe recovery. No single model trace or benchmark supplies all of it.</p>

<p>Verified state gives governance teams a place to join those controls. It lets them ask whether the system remains inside its authority, whether another party confirmed the result, and whether the organization can recover without creating a new hazard.</p>

<h2 id="references">References</h2>

<ul>
  <li><strong>Does generative AI narrow education-based productivity gaps? Evidence from a randomized experiment</strong>, Guillermo Cruces, Diego Fernandez Meijide, Sebastian Galiani, Ramiro Galvez, and Maria Lombardi, arXiv version submitted August 4, 2026. Background context: CEPR published an earlier working-paper version on March 16 and revised it on July 13. <a href="https://arxiv.org/abs/2608.04198">https://arxiv.org/abs/2608.04198</a></li>
  <li><strong>When AI Joins the Team! A Model of How AI Adoption Relates To Social Patterns in Software Engineering Teams</strong>, Giusy Annunziata, Rudrajit Choudhuri, Anita Sarma, Gemma Catolino, and Filomena Ferrucci, arXiv preprint, submitted August 4, 2026. <a href="https://arxiv.org/abs/2608.03462">https://arxiv.org/abs/2608.03462</a></li>
  <li><strong>From Social Coding to Agentic Coding: Productivity and Relational Reconfiguration in Open-Source Communities</strong>, Mengying Zhou, Yongjie Yin, and Yang Chen, arXiv preprint, submitted August 4, 2026. <a href="https://arxiv.org/abs/2608.03585">https://arxiv.org/abs/2608.03585</a></li>
  <li><strong>Securing Agentic AI: From Per-Action Checks to Trajectory Assurance</strong>, Alireza Lotfi, Subangkar Karmaker Shanto, Imtiaz Karim, and Elisa Bertino, arXiv preprint, submitted August 3, 2026. <a href="https://arxiv.org/abs/2608.01558">https://arxiv.org/abs/2608.01558</a></li>
  <li><strong>LoginTrap: Uncovering Task-Agnostic Phishing-Style Indirect Prompt Injection Attacks against LLM-based Web Agents</strong>, Longtao Guo, Zelin Zhang, Kaifeng Huang, and Yang Shi, arXiv preprint, submitted August 5, 2026. <a href="https://arxiv.org/abs/2608.04741">https://arxiv.org/abs/2608.04741</a></li>
  <li><strong>Chain-of-Thought Monitoring Can Be Unreliable in Implicit-Influence Settings</strong>, Agatha Duzan and Asa Cooper Stickland, arXiv preprint, submitted August 5, 2026. <a href="https://arxiv.org/abs/2608.04735">https://arxiv.org/abs/2608.04735</a></li>
  <li><strong>Toward Certified Functional Safety for Industrial Humanoid Robots: The Fail-Passive Gap and a Feasibility Study</strong>, Caiwu Ding, Tao Cui, Lingyun Wang, and Chengtao Wen, arXiv preprint, submitted August 3, 2026. <a href="https://arxiv.org/abs/2608.02809">https://arxiv.org/abs/2608.02809</a></li>
  <li><strong>SAFECAST: Robust Failure Detection for VLA Policies with Contrast-Set Training and Calibration</strong>, Harshitha Rajaprakash, Aditeya Prajapati, Rong Xue, Abrar Anwar, and Jesse Thomason, arXiv preprint, submitted August 4, 2026. <a href="https://arxiv.org/abs/2608.04246">https://arxiv.org/abs/2608.04246</a></li>
  <li><strong>DreamWAM: Beyond RGB Future Prediction for World Action Models</strong>, Shanglin Yuan, Weiheng Zhao, Xin Shi, Haoyi Jiang, Xianda Guo, Liu Liu, Wenyu Liu, Wei Sui, and Xinggang Wang, arXiv preprint, submitted August 5, 2026. <a href="https://arxiv.org/abs/2608.04996">https://arxiv.org/abs/2608.04996</a></li>
  <li><strong>LongHorizon-Harness: Advancing Long-Horizon Agents for Real-World Tasks</strong>, Ziyu Ma, Hailang Huang, Shun Zou, Yong Wang, Shidong Yang, Yiming Hu, Fei Wei, and XiangXiang Chu, arXiv preprint, submitted August 3, 2026. <a href="https://arxiv.org/abs/2608.01964">https://arxiv.org/abs/2608.01964</a></li>
  <li><strong>Vibe Compiler: A Research-Logic Synthesis Tool That Runs without Prompt Engineering</strong>, Riichiro Mizoguchi, Tomoki Aburatani, Kento Koike, and Machi Shimmei, arXiv preprint, submitted August 6, 2026. Prototype experience, not a controlled learning-outcome study. <a href="https://arxiv.org/abs/2608.05545">https://arxiv.org/abs/2608.05545</a></li>
  <li><strong>LongHorizon-Harness v0.1.3</strong>, AMAP-ML, GitHub release, August 7, 2026. Project claims and benchmark artifacts require independent verification. <a href="https://github.com/AMAP-ML/LongHorizon-Harness/releases/tag/v0.1.3">https://github.com/AMAP-ML/LongHorizon-Harness/releases/tag/v0.1.3</a></li>
  <li><strong>LoopX v0.4.4</strong>, LoopX contributors, GitHub release, August 9, 2026. Repository activity is an attention signal, not evidence of safety or adoption. <a href="https://github.com/huangruiteng/loopx/releases/tag/v0.4.4">https://github.com/huangruiteng/loopx/releases/tag/v0.4.4</a></li>
</ul>]]></content><author><name>Carlos Hernandez</name></author><category term="governance" /><category term="synthesis" /><category term="ai-governance" /><category term="agents" /><category term="genai-adoption" /><category term="physical-ai" /><category term="agent-safety" /><category term="evaluation" /><category term="runtime-governance" /><category term="evidence" /><summary type="html"><![CDATA[This week's evidence from adoption research, agent security, Physical AI, and developer tooling points to one control objective: preserve human capability and verify consequential state changes across the full system trajectory.]]></summary></entry><entry><title type="html">AI Governance Is Becoming Operations Engineering</title><link href="https://governance.ai-mvp.com/2026/07/19/ai-governance-is-becoming-operations-engineering/" rel="alternate" type="text/html" title="AI Governance Is Becoming Operations Engineering" /><published>2026-07-19T05:00:00+02:00</published><updated>2026-07-19T05:00:00+02:00</updated><id>https://governance.ai-mvp.com/2026/07/19/ai-governance-is-becoming-operations-engineering</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/07/19/ai-governance-is-becoming-operations-engineering/"><![CDATA[<p><em>Evidence from AI adoption, agent safety, Physical AI, developer tooling, and workforce research points to one operating model: govern accepted outcomes, action identity, review capacity, and runtime evidence as one system.</em></p>

<blockquote>
  <p>Weekly synthesis: July 13 to July 19, 2026
This article continues <a href="https://governance.ai-mvp.com/2026/07/12/ai-governance-moved-into-the-runtime/">last week’s runtime-governance synthesis</a> and connects it to <a href="https://governance.ai-mvp.com/2026/05/28/coding-agents-safely/">Coding Agents Safely</a>, <a href="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/">Proof of Outcome</a>, <a href="https://governance.ai-mvp.com/2026/06/17/trust-at-fleet-scale/">Trust at Fleet Scale</a>, and <a href="https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence/">Signed Is Not Trustworthy</a>.</p>
</blockquote>

<hr />

<p>AI teams used to separate adoption, safety, infrastructure, and workforce policy. This week’s evidence makes that separation hard to defend.</p>

<p>Employers now seek AI operating skills in accountancy, banking, staffing, and consulting. Engineering teams report more accepted code and more incidents as agents raise change volume. Agent-safety researchers are defining canonical actions, human-intervention routes, and evaluations that distinguish noticing a problem from responding well. Robotics researchers are working on world models, action representations, onboard latency, and backdoor defenses. Developers are turning prompts into compiled artifacts and model choice into a routing system shaped by cost, cache behavior, latency, and compliance.</p>

<p>These groups describe the same work from different positions. Each group needs to convert uncertain model behavior into controlled, measurable operations.</p>

<p>Last week’s synthesis argued that <a href="https://governance.ai-mvp.com/2026/07/12/ai-governance-moved-into-the-runtime/">AI governance had moved into the runtime</a>. This week supplies the next step. Runtime controls need owners, capacity limits, release processes, incident practices, and evidence that connects an approval to an outcome. AI governance is becoming operations engineering.</p>

<h2 id="adoption-has-reached-the-operating-model">Adoption Has Reached the Operating Model</h2>

<p>The adoption question has moved past access counts.</p>

<p>The Bipartisan Policy Center’s July 15 analysis of Lightcast job-posting data found fast growth in demand for AI skills outside the technology sector. Job postings from accountancy offices showed rising demand for Microsoft Copilot, prompt engineering, MLOps, retrieval-augmented generation, and GenAI skills. Commercial banks showed demand for Hugging Face, large language models, GenAI, and machine-learning skills. The data does not prove that each employer has deployed AI well. It does show that firms now expect employees in business functions to operate and oversee AI systems.</p>

<p>UNESCO’s July 15 World Youth Skills Day material placed the same transition in a wider social frame. Young people need technical and AI skills alongside civic, social, and communication skills. That combination matters because AI adoption changes who can inspect a system, challenge its output, and take responsibility for a decision. A workforce trained to use an assistant without learning how to challenge it will struggle to govern one.</p>

<p>The Stanford Digital Economy Lab’s July 13 statement, signed by more than 200 economists and AI researchers, asked institutions to prepare for AI’s economic transformation and steer it toward broad prosperity. That call becomes concrete at the level of job design. Institutions must decide which workers receive context, training, decision rights, and recourse as AI enters a workflow.</p>

<p>OpenAI’s July 14 investment guide offers a vendor view of the same operational turn. It recommends measuring cost per accepted outcome, including retries, latency, tool use, and human review. It also advises organizations to govern context, tools, permitted actions, approvals, and capacity before advanced workflows scale. Those recommendations support an important change in adoption metrics. Token volume and active users measure consumption. Accepted outcomes and review costs measure whether a workflow works.</p>

<p>The first cross-topic takeaway follows: <strong>AI adoption and AI governance now share an operating model.</strong> Both depend on workflow ownership, quality thresholds, reviewer capacity, permission boundaries, and evidence that the work met its acceptance criteria.</p>

<h2 id="throughput-is-a-governance-variable">Throughput Is a Governance Variable</h2>

<p>Honeycomb published a useful field report on July 16. Its engineering team increased peak-weekday merges from about 30 to about 74 while AI-attributed code grew. Incidents increased with change volume. The team did not present incident count as a reason to stop. It focused on containment cost, continuous delivery, fast CI, observability, ownership, and feature flags.</p>

<p>This evidence comes from one company and reflects its own measurement choices. It still exposes a governance issue that adoption dashboards miss. An AI system can improve local task speed and overload the surrounding organization at the same time.</p>

<p>More generated changes consume review time. More tool calls create more authorization decisions. More releases create more chances for configuration drift. More autonomous steps make incident reconstruction harder. A team can report a productivity gain while response quality, reviewer attention, or rollback capacity deteriorates.</p>

<p>Governance teams need capacity measures alongside model measures:</p>

<ul>
  <li>accepted outcomes per unit of review effort;</li>
  <li>change volume against incident and rollback load;</li>
  <li>approval volume against reviewer availability;</li>
  <li>retries and tool calls per completed task;</li>
  <li>time from detected failure to contained failure.</li>
</ul>

<p>These measures connect GenAI adoption to public accountability. If a public agency, bank, or hospital increases AI-assisted throughput, it must also fund the people and systems that review exceptions, investigate incidents, and preserve recourse. Workforce policy and technical governance meet at the queue.</p>

<p>The second cross-topic takeaway is direct: <strong>the throughput multiplier and the governance burden arrive together.</strong> Teams should scale autonomy when review, observability, and containment capacity can absorb the resulting work.</p>

<h2 id="agents-need-stable-action-identity">Agents Need Stable Action Identity</h2>

<p>Three July 15 preprints make action-level governance more precise. They are early research and need replication, but their questions map well to deployed systems.</p>

<p>Zexun Wang’s <strong>CAVA</strong> paper starts with a record-matching problem. The same operational act can appear as a coding hook, browser event, API call, gateway record, or workflow trace. CAVA proposes canonical runtime action objects so a verifier can determine which action received approval and whether the executed action matches it. The paper treats stable action identity as the substrate for approval binding, receipt integrity, policy evaluation, and later verification.</p>

<p><strong>SAFETY SENTRY</strong>, by Tianyu Chen, Chujia Hu, and Wenjie Wang, replaces a binary safe-or-unsafe decision with per-action routing: <code class="language-plaintext highlighter-rouge">EXECUTE</code>, <code class="language-plaintext highlighter-rouge">ASK</code>, or <code class="language-plaintext highlighter-rouge">REFUSE</code>. The model can complete low-risk actions, request human judgment when context matters, and block harmful actions. This routing shape fits real governance better than a universal human-in-the-loop rule. A person should see the actions that require judgment, not approve a stream of routine alerts until attention collapses.</p>

<p>Sagar Deb and Ashwanth Krishnan’s <strong>STOCKTAKE</strong> separates perception from action in a supply-chain benchmark. The tested agents often detected hidden operational problems and still chose weak responses. An outcome score alone could not explain whether the model misread the situation or understood it and acted poorly. Governance needs both diagnoses because the remedies differ. Better context may fix perception. A policy gate, action constraint, or human escalation path may fix the response.</p>

<p>The European Commission AI Office’s July 15 frontier-AI expert report adds an institutional layer. Experts emphasized Europe’s ability to access, select, control, and benefit from frontier models, while the Commission notes that the report does not state an official Commission position. Sovereignty here includes control across the stack, not ownership of a single model. An institution that cannot identify the action, choose the permitted runtime, or verify the receipt has weak operational control even if it procures from a European provider.</p>

<p>These sources extend the argument in <a href="https://governance.ai-mvp.com/2026/05/28/coding-agents-safely/">Coding Agents Safely</a>. A sandbox limits reach. Action identity tells the policy engine what it is limiting. Human routing assigns judgment. A receipt lets another party check the decision after execution.</p>

<h2 id="physical-ai-makes-action-semantics-concrete">Physical AI Makes Action Semantics Concrete</h2>

<p>Physical AI research exposes the cost of vague action records.</p>

<p>Xiaomi Robotics submitted <strong>Xiaomi-Robotics-U0</strong> on July 13. The authors describe a 38-billion-parameter world foundation model for multi-view scene generation, embodied transfer, and video generation. They position the model as both an embodied world model and a data engine for robot learning. A synthetic scene can expand training coverage, but it also adds provenance questions. Teams need to record which generated conditions shaped a policy and which real-world conditions remain outside the evaluation set.</p>

<p>The July 14 <strong>FlowWAM</strong> preprint uses optical flow as a video-native action representation. This work connects action prediction to motion encoded across frames. For governance, the representation matters because an approval must refer to something stable enough to compare before and after execution. A label such as <code class="language-plaintext highlighter-rouge">move arm</code> carries less policy value than an action object that captures direction, extent, timing, controller state, and environmental constraints.</p>

<p><strong>Jetson-PI</strong>, also submitted July 14, addresses onboard VLA inference latency and perception-execution misalignment. The authors report higher control frequency on Jetson Orin through future correction, scheduling, and system-level acceleration. Lower latency improves control, but acceleration changes the decision window available for monitoring and intervention. A governance design that assumes cloud-scale review time will fail inside a fast robot loop.</p>

<p>The <strong>TrustVLA</strong> authors study visual-triggered backdoors in VLA policies and propose an inference-time defense that detects abnormal evidence patterns, localizes the trigger, and repairs the observation. The paper remains a preprint, yet it gives a concrete example of a policy that behaves well under clean observations and fails under a small visual trigger. A robot operator needs evidence about the observation path, policy version, detector state, controller decision, and physical outcome.</p>

<p>The connection to <a href="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/">Proof of Outcome</a> and <a href="https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence/">Signed Is Not Trustworthy</a> is practical. Robot governance needs records from several layers because no single trace proves completion. The planner can record intent. The controller can record authorization and execution. Sensors or independent witnesses can record the result. Investigators need those records aligned around the same action identity.</p>

<p>The third cross-topic takeaway is that <strong>action representation has become a policy surface.</strong> Agent tools, supply-chain decisions, and robot motions all need an action model that can carry scope, context, approval, execution state, and outcome evidence.</p>

<h2 id="the-control-stack-is-converging">The Control Stack Is Converging</h2>

<p>The week’s developer material shows teams assembling that operating model.</p>

<p>Simerus Mahesh’s July 16 Google Developers article treats production prompts as compiled software artifacts. Teams can split instructions into modules, resolve dependencies, validate variables, check drift, and require a reviewed pull request before an agent changes its instruction layer. Prompt governance becomes release engineering.</p>

<p>Ai2’s July 15 account of building the maritime agent <strong>Shippy</strong> gives the design a high-stakes setting. The team packages versioned skills and configuration, uses deterministic command-line tools around live data, and sets an explicit boundary against legal determinations. Answers include source boundaries, data cutoffs, timestamps, and links that analysts can inspect. The design assigns nondeterminism to the model and keeps data access, domain limits, and verification paths under engineering control.</p>

<p>IBM Research’s July 15 model-routing essay describes routing as a systems-optimization problem. Cost depends on cache behavior and workload. Latency depends on serving conditions and routing frequency. Compliance, privacy, data residency, and approved-model lists constrain model choice. The router becomes a policy enforcement point and an economic control at the same time.</p>

<p>GitHub activity supports the same direction. On July 19, <strong>Mesh-LLM</strong> had 2,674 stars and exposed a distributed inference layer across local machines. <strong>promptscript</strong> had 578 stars and treated prompts as versioned, auditable code. <strong>wigolo</strong> had 1,281 stars and offered local-first web access over MCP. Microsoft’s <strong>agent-governance-toolkit</strong> remained under the scan’s 5,000-star ceiling at 4,862 stars and provided policy, identity, sandboxing, and reliability components. Stars do not prove technical quality, but this cluster shows developer interest in control surfaces around models.</p>

<p>The fourth cross-topic takeaway is that <strong>governance controls now influence cost, reliability, and product architecture.</strong> Prompt builds, routers, tool gateways, local inference, policy engines, and observability systems form one control stack. Treating governance as a review outside that stack creates duplicate records and late decisions.</p>

<h2 id="a-practical-operating-model">A Practical Operating Model</h2>

<p>Teams can turn this synthesis into five design commitments.</p>

<h3 id="1-define-the-accepted-outcome">1. Define the accepted outcome</h3>

<p>Set the quality bar before measuring model cost or task speed. Include retries, tool use, review effort, incident risk, and rollback cost. A completed task that fails review is work in progress, not an outcome.</p>

<h3 id="2-canonicalize-the-action">2. Canonicalize the action</h3>

<p>Map browser events, API calls, code changes, financial operations, and robot commands into stable action objects. Bind policy and approval to those objects. Preserve semantic differences that affect risk.</p>

<h3 id="3-route-judgment-by-context">3. Route judgment by context</h3>

<p>Reserve human review for actions that need authority, domain judgment, or exception handling. Let policy execute bounded routine work and refuse prohibited work. Monitor approval queues for overload and alert fatigue.</p>

<h3 id="4-build-the-evidence-path-with-the-action-path">4. Build the evidence path with the action path</h3>

<p>Version prompts, skills, policies, models, and tool schemas. Record the observation, proposed action, policy result, approval, execution record, and outcome evidence. Test whether an investigator can reconstruct a failure before production creates one.</p>

<h3 id="5-scale-containment-with-throughput">5. Scale containment with throughput</h3>

<p>Track change volume, review load, incident frequency, blast radius, and recovery time together. Increase autonomy when CI, observability, feature flags, revocation, and ownership can contain the added failure rate.</p>

<h2 id="public-expertise-needs-an-implementation-vocabulary">Public Expertise Needs an Implementation Vocabulary</h2>

<p>Public AI governance commentary still spends too much time at the level of principles and model releases. Practitioners now need a vocabulary for the operating layer: accepted outcomes, canonical actions, risk routing, control-loop latency, prompt builds, policy-aware routing, receipts, and containment capacity.</p>

<p>That vocabulary connects technical work to policy without turning either side into decoration. A compliance leader can map human oversight to <code class="language-plaintext highlighter-rouge">ASK</code> routes and approval evidence. An engineering leader can map risk management to release gates, tool permissions, rollback, and incident review. A workforce leader can identify the skills people need to challenge outputs and operate the control stack. A robotics team can state which layer observed intent, execution, and physical outcome.</p>

<p>Carlos Hernandez’s public position in this field can stay specific: organizations will earn trust by showing how they control AI-assisted work under real operating pressure. The credible expert contribution is to translate governance duties into system boundaries and evidence that builders can implement and auditors can test.</p>

<h2 id="the-weekly-thesis">The Weekly Thesis</h2>

<p>The week’s adoption, safety, robotics, GitHub, and learning signals point to one conclusion. AI governance is becoming the discipline that determines how model behavior enters an operating system and how an organization contains the consequences.</p>

<p>The organization needs to know what outcome it will accept, what action the system proposed, which policy applied, who supplied judgment, what executed, and how the team handled the result. Those questions govern an AI-assisted pull request, a bank workflow, a public service, and a robot motion.</p>

<p>Principles remain useful. Operations make them testable.</p>

<h2 id="references">References</h2>

<ul>
  <li><strong>“We Must Act Now”: Sixteen Nobel Laureates Join Leading Economists and AI Researchers in Call to Prepare for AI’s Economic Transformation</strong>, Stanford Digital Economy Lab, July 13, 2026. <a href="https://digitaleconomy.stanford.edu/news/wemustactnow/">https://digitaleconomy.stanford.edu/news/wemustactnow/</a></li>
  <li><strong>Industries with the Fastest Growth in Demand for AI Skills July 2026</strong>, Jack Malde, Bipartisan Policy Center, July 15, 2026. <a href="https://bipartisanpolicy.org/article/industries-with-the-fastest-growth-in-demand-for-ai-skills-july-2026/">https://bipartisanpolicy.org/article/industries-with-the-fastest-growth-in-demand-for-ai-skills-july-2026/</a></li>
  <li><strong>World Youth Skills Day 2026: Skills for a shared future</strong>, UNESCO, July 15, 2026. <a href="https://www.unesco.org/en/articles/world-youth-skills-day-2026-skills-shared-future">https://www.unesco.org/en/articles/world-youth-skills-day-2026-skills-shared-future</a></li>
  <li><strong>How to manage AI investments in the agentic era</strong>, OpenAI, July 14, 2026. Primary-source vendor guidance. <a href="https://openai.com/index/managing-ai-investments-in-agentic-era/">https://openai.com/index/managing-ai-investments-in-agentic-era/</a></li>
  <li><strong>30 to 70 PRs a Day: How We Managed to Not Wreck Our Systems</strong>, Liz Fong-Jones, Honeycomb, July 16, 2026. Company field report. <a href="https://www.honeycomb.io/blog/30-70-prs-day-how-we-managed-not-wreck-systems">https://www.honeycomb.io/blog/30-70-prs-day-how-we-managed-not-wreck-systems</a></li>
  <li><strong>CAVA: Canonical Action Verification and Attestation for Runtime Governance of Agentic AI Systems</strong>, Zexun Wang, arXiv preprint, submitted July 15, 2026. <a href="https://arxiv.org/abs/2607.13716">https://arxiv.org/abs/2607.13716</a></li>
  <li><strong>SAFETY SENTRY: Context-Aware Human Intervention via EXECUTE-ASK-REFUSE Routing</strong>, Tianyu Chen, Chujia Hu, and Wenjie Wang, arXiv preprint, submitted July 15, 2026. <a href="https://arxiv.org/abs/2607.13594">https://arxiv.org/abs/2607.13594</a></li>
  <li><strong>STOCKTAKE: Measuring the Gap Between Perception and Action in LLM Agents with a Fair Oracle</strong>, Sagar Deb and Ashwanth Krishnan, arXiv preprint, submitted July 15, 2026. <a href="https://arxiv.org/abs/2607.13618">https://arxiv.org/abs/2607.13618</a></li>
  <li><strong>AI Office publishes frontier AI expert findings on EU competitiveness, sovereignty and security</strong>, European Commission AI Office, July 15, 2026. Expert input, not an official Commission position. <a href="https://digital-strategy.ec.europa.eu/en/library/ai-office-publishes-frontier-ai-expert-findings-eu-competitiveness-sovereignty-and-security">https://digital-strategy.ec.europa.eu/en/library/ai-office-publishes-frontier-ai-expert-findings-eu-competitiveness-sovereignty-and-security</a></li>
  <li><strong>Xiaomi-Robotics-U0: Unified Embodied Synthesis with World Foundation Model</strong>, Xinghang Li et al., arXiv preprint, submitted July 13, 2026. <a href="https://arxiv.org/abs/2607.11643">https://arxiv.org/abs/2607.11643</a></li>
  <li><strong>FlowWAM: Optical Flow as a Unified Action Representation for World Action Models</strong>, Yixiang Chen et al., arXiv preprint, submitted July 14, 2026. <a href="https://arxiv.org/abs/2607.13017">https://arxiv.org/abs/2607.13017</a></li>
  <li><strong>Jetson-PI: Towards Onboard Real-Time Robot Control via Foresight-Aligned Asynchronous Inference</strong>, Zebin Yang et al., arXiv preprint, submitted July 14, 2026. <a href="https://arxiv.org/abs/2607.12659">https://arxiv.org/abs/2607.12659</a></li>
  <li><strong>TrustVLA: Mechanism-Guided Inference-Time Defense Against Vision-Language-Action Backdoors</strong>, Pinhan Fu et al., arXiv preprint, submitted July 14, 2026. <a href="https://arxiv.org/abs/2607.12571">https://arxiv.org/abs/2607.12571</a></li>
  <li><strong>Building scalable AI agents with modular prompt transpilation</strong>, Simerus Mahesh, Google Developers Blog, July 16, 2026. <a href="https://developers.googleblog.com/building-scalable-ai-agents-with-modular-prompt-transpilation/">https://developers.googleblog.com/building-scalable-ai-agents-with-modular-prompt-transpilation/</a></li>
  <li><strong>What building Shippy taught us about building agents</strong>, Kyle Wiggers and Ai2, Hugging Face, July 15, 2026. Company case study. <a href="https://huggingface.co/blog/allenai/shippy-tech-blog">https://huggingface.co/blog/allenai/shippy-tech-blog</a></li>
  <li><strong>Model Routing Is Simple. Until It Isn’t.</strong>, Yara Rizk, Eyal Shnarch, Jason Tsay, and Merve Unuvar, IBM Research via Hugging Face, July 15, 2026. <a href="https://huggingface.co/blog/ibm-research/model-routing-is-simple-until-it-isnt">https://huggingface.co/blog/ibm-research/model-routing-is-simple-until-it-isnt</a></li>
  <li><strong>Mesh-LLM/mesh-llm</strong>, GitHub repository, inspected July 19, 2026. <a href="https://github.com/Mesh-LLM/mesh-llm">https://github.com/Mesh-LLM/mesh-llm</a></li>
  <li><strong>mrwogu/promptscript</strong>, GitHub repository, inspected July 19, 2026. <a href="https://github.com/mrwogu/promptscript">https://github.com/mrwogu/promptscript</a></li>
  <li><strong>KnockOutEZ/wigolo</strong>, GitHub repository, inspected July 19, 2026. <a href="https://github.com/KnockOutEZ/wigolo">https://github.com/KnockOutEZ/wigolo</a></li>
  <li><strong>microsoft/agent-governance-toolkit</strong>, GitHub repository, inspected July 19, 2026. <a href="https://github.com/microsoft/agent-governance-toolkit">https://github.com/microsoft/agent-governance-toolkit</a></li>
</ul>]]></content><author><name>Carlos Hernandez</name></author><category term="governance" /><category term="synthesis" /><category term="ai-governance" /><category term="agents" /><category term="genai-adoption" /><category term="physical-ai" /><category term="operations" /><category term="runtime-governance" /><category term="observability" /><category term="evidence" /><summary type="html"><![CDATA[Evidence from AI adoption, agent safety, Physical AI, developer tooling, and workforce research points to one operating model: govern accepted outcomes, action identity, review capacity, and runtime evidence as one system.]]></summary></entry><entry><title type="html">This Week, AI Governance Moved Into the Runtime</title><link href="https://governance.ai-mvp.com/2026/07/12/ai-governance-moved-into-the-runtime/" rel="alternate" type="text/html" title="This Week, AI Governance Moved Into the Runtime" /><published>2026-07-12T05:30:00+02:00</published><updated>2026-07-12T05:30:00+02:00</updated><id>https://governance.ai-mvp.com/2026/07/12/ai-governance-moved-into-the-runtime</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/07/12/ai-governance-moved-into-the-runtime/"><![CDATA[<p><em>The week’s strongest signal was not a new model. It was the same governance problem showing up in enterprise adoption, agent safety, MCP tooling, GitHub projects, and physical AI: AI systems now need controls at the point of action.</em></p>

<blockquote>
  <p>Weekly synthesis: July 6 to July 12, 2026
Connects to <a href="https://governance.ai-mvp.com/2026/05/28/coding-agents-safely/">Coding Agents Safely</a>, <a href="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/">Proof of Outcome</a>, <a href="https://governance.ai-mvp.com/2026/06/17/trust-at-fleet-scale/">Trust at Fleet Scale</a>, <a href="https://governance.ai-mvp.com/2026/06/19/trusting-the-skills-you-didnt-write/">Trusting the Skills You Didn’t Write</a>, and <a href="https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence/">Signed Is Not Trustworthy</a>.</p>
</blockquote>

<hr />

<p>The useful pattern this week is that AI governance is becoming less document-shaped and more runtime-shaped.</p>

<p>That does not mean policies, model cards, laws, maturity models, or safety frameworks are irrelevant. It means their value is increasingly determined by whether they bind to the thing the AI system actually does: the tool call, the code change, the cloud action, the robot policy, the data path, the fleet update, the citation, the authorization decision.</p>

<p>Across the week, the evidence pointed in the same direction from different angles. Enterprise GenAI adoption is exposing review capacity and workflow redesign as the real bottlenecks. Public-sector and social evidence is making source quality, agency, and trust measurable rather than rhetorical. Physical AI research is turning simulation, policy evaluation, latency, and deployment artifacts into the surfaces where safety has to live. Agent governance work is moving controls outside the model host. Rising GitHub repositories are clustering around harnesses, evals, MCP inspection, and agent firewalls. The best learning material is no longer “how to prompt a chatbot”; it is how to design tools, permissions, observability, and production agent patterns.</p>

<p>The synthesis is simple: <strong>AI governance is shifting from promises about model behavior to evidence about system behavior.</strong></p>

<h2 id="adoption-is-a-workflow-problem-not-an-access-problem">Adoption Is a Workflow Problem, Not an Access Problem</h2>

<p>The week’s adoption signal was not “more people are using GenAI.” That is already old news. The sharper signal was that serious adoption is now measured by whether organizations can absorb AI-generated work without losing control of the workflow.</p>

<p>The CMU Software Engineering Institute’s <strong>AI Adoption Maturity Model v1.0</strong>, published June 30 and treated here as background context because it falls outside this synthesis window, frames maturity as disciplined capability building rather than deployment volume. That matters because the current week made the same point operationally: once AI starts producing work at scale, the governance surface moves downstream into review, workflow ownership, quality controls, and evidence.</p>

<p>AWS’s July 9 guidance on <strong>MCP tool design</strong> is a concrete example. The problem it names is not that agents lack tools. It is that poorly scoped tools create bloat, confusion, wrong tool choice, bad parameters, and expensive retries. That is governance in a very practical form: tool boundaries become policy boundaries. A permission model that looks clean in a diagram can still fail if the tool surface is too broad for the model to choose safely.</p>

<p>Arize’s July 10 post on <strong>production patterns for AI agents</strong> makes the same point from the deployment side. A local coding agent, an in-app customer assistant, and an AI SRE are all “agents” only at the buzzword layer. In production they need different harnesses, eval plans, rollout paths, sandboxes, memory behavior, and failure-mode monitoring. The useful category is not agent versus non-agent. It is which action loop is being authorized, observed, and rolled back.</p>

<p>That is the first cross-topic takeaway: <strong>adoption maturity and agent safety now share the same unit of analysis: the controlled workflow.</strong> If a team cannot say which tools an agent may use, which evidence it must produce, which reviewer capacity it consumes, and which action can be revoked, it is not adopting AI maturely. It is scaling ambiguity.</p>

<h2 id="safety-is-becoming-an-external-control-discipline">Safety Is Becoming an External-Control Discipline</h2>

<p>The safety and governance sources this week were unusually aligned.</p>

<p>Anthropic updated its <strong>Responsible Scaling Policy</strong> to version 3.4 on July 8. The most interesting part was not any single threshold change. It was the policy mechanics: coverage dates for risk reports, visible redaction indications in public reports, and external review rules. This is governance as process integrity. It asks: when a safety claim is published, what period does it cover, what has been withheld, and who outside the immediate team saw the unredacted evidence?</p>

<p>The Future of Life Institute’s <strong>AI Safety Index: Summer 2026</strong> gave a harsher outside view. It evaluated nine leading AI companies on 37 indicators across six domains, with evidence collected through June 3. The timing means it is a current publication but partly backward-looking evidence. Still, the pattern is useful: even the leading firms received middling grades, and the weakest parts remain the places where commitments have to become accountable practice.</p>

<p>The UK AI Security Institute’s July 7 case study, <strong>Finding Cloud Misconfigurations with Frontier AI</strong>, moved the discussion from frontier-risk abstractions into a defended cloud environment. AISI used frontier models to examine a staging version of its own AWS-based research platform and found real issues, including a misconfiguration that could have allowed user impersonation. The study is important because it shows both sides of the agent-security problem at once: capable AI can help defenders, and capable AI is also learning the same attack chains defenders are trying to contain.</p>

<p>Two July 6 arXiv papers sharpened the agent-specific version of the same issue. <strong>FORGE</strong> describes research-trajectory hijacking attacks against deep research agents: adversarial documents do not merely inject a bad answer, they steer follow-up questions and contaminate the plan. <strong>aiAuthZ</strong> moves authorization off the agent’s host, binding tool execution to caller identity, nonce, timestamp, argument policy, and audit logs. The shared lesson is that a model cannot be the root of trust for the context it is reading. A deceived model still needs an external boundary that prevents the deception from becoming unauthorized action.</p>

<p>That is the second cross-topic takeaway: <strong>frontier safety, enterprise cloud defense, and agent authorization are converging on the same architecture: the model proposes, but an external control plane decides what may execute.</strong> This is the agent version of the argument in <a href="https://governance.ai-mvp.com/2026/05/28/coding-agents-safely/">Coding Agents Safely</a>: the sandbox, policy gate, identity boundary, and audit trail are not compliance wrappers. They are the system.</p>

<h2 id="physical-ai-shows-why-runtime-evidence-matters">Physical AI Shows Why Runtime Evidence Matters</h2>

<p>Physical AI made the runtime-governance problem impossible to ignore.</p>

<p>NVIDIA’s July 7 <strong>Isaac GR00T</strong> post describes a full humanoid policy development workflow: simulation setup, teleoperation data collection, post-training, evaluation, and deployment through Isaac ROS and Jetson Thor. GR00T 1.7 is presented as an open, commercially usable VLA model for humanoid skills, with model weights available and deployment support through ONNX and TensorRT. That is an engineering milestone. It is also a governance milestone, because every stage produces artifacts that can either be evidenced or left as undocumented trust.</p>

<p>The robotics papers from the same week reinforced the same trend. <strong>ActionCache</strong> attacks the latency bottleneck in VLA inference by reusing intermediate action states to reduce generation time. <strong>LAMP</strong> uses a latent motion prior to make dexterous hand learning less brittle on real hardware. <strong>Image2Sim</strong> turns posed RGB-D observations into interactive embodied navigation environments and synthesizes more than 10 million navigation samples. Each paper is about capability, but each capability has a governance implication:</p>

<ul>
  <li>lower latency changes what can be safely controlled in real time;</li>
  <li>safer exploration spaces change what counts as acceptable online learning;</li>
  <li>scalable simulation changes what can be tested before a policy touches the world.</li>
</ul>

<p>This is where the previous embodied-AI series becomes practical. In <a href="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/">Proof of Outcome</a>, I argued that a robot has to produce evidence of what it did, not merely logs of what the agent intended. In <a href="https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence/">Signed Is Not Trustworthy</a>, I separated signature validity from evidence quality. This week’s physical-AI evidence strengthens that argument. The new governance boundary is not “does the model have a safety policy?” It is “which artifact proves this policy was trained, evaluated, authorized, deployed, and observed under the claimed conditions?”</p>

<p>That is the third cross-topic takeaway: <strong>physical AI turns agent governance into evidence engineering.</strong> If a cloud agent makes a bad spreadsheet, the blast radius is real but digital. If an embodied agent moves a hand, a wheel, or a tool, the same categories need harder evidence: provenance, controller-side authorization, simulation coverage, deployment identity, outcome witnesses, and revocation.</p>

<h2 id="the-github-signal-builders-are-moving-toward-harnesses">The GitHub Signal: Builders Are Moving Toward Harnesses</h2>

<p>The rising-repository scan was useful because it showed where developer energy is accumulating.</p>

<p>The fastest growth in the scan included visible application layers, such as <strong>dramaclaw/dramaclaw</strong>, a script-to-video AIGC pipeline that had crossed 1,000 stars by this run. But the strategically more important signal was the cluster around agent harnesses, evals, inspection, and control. <strong>ai-boost/awesome-harness-engineering</strong> was nearing 3,000 stars and explicitly organizes tools, patterns, evals, memory, MCP, permissions, observability, and orchestration. <strong>MCPJam/inspector</strong> was active on July 12 and positions itself as a testing and debugging platform for MCP servers, MCP apps, and ChatGPT apps. <strong>luckyPipewrench/pipelock</strong> describes itself as an agent firewall for MCP security and agent egress, with mediated traffic scanning and signed action receipts. <strong>benchflow-ai/awesome-evals</strong> keeps the eval and agent-building resource layer visible.</p>

<p>These are not all equivalent projects, and star growth is a noisy signal. But the direction matters. The developer market is not only chasing better model wrappers. It is building the surrounding machinery: harnesses, inspectors, eval catalogs, egress controls, receipts, and permission patterns.</p>

<p>That gives a public-positioning angle for technical AI governance: <strong>the next credibility layer is not another principle statement. It is the toolchain that makes agent behavior inspectable, bounded, and repeatable.</strong> This is where governance work can meet builders without sounding like an after-the-fact policy lecture.</p>

<h2 id="the-learning-material-has-caught-up">The Learning Material Has Caught Up</h2>

<p>Saturday’s gap scan added an important correction: the practical learning frontier has moved.</p>

<p>The strongest current learning resources were about operational literacy. AWS published both prescriptive guidance and a concrete July 9 blog post on MCP tool design. Arize mapped production agent patterns to different eval and rollout needs. Hugging Face and NVIDIA published <strong>Data for Agents</strong> on July 8, tying agent capability to open data, synthetic data, and cross-organization trust. Hugging Face’s blog stream also showed active work around vLLM integration, LeRobot, kernels, and production deployment paths.</p>

<p>This matters because public expert positioning often lags the engineering reality. A good 2024 post explained RAG. A good 2025 post explained evals. A good 2026 post has to explain why evals, tool schemas, identity, receipts, datasets, and runtime controls are one system.</p>

<p>The useful learning path for governance-minded builders is therefore:</p>

<ol>
  <li>Learn how tools are exposed to agents.</li>
  <li>Learn how permissions bind to tool calls and arguments.</li>
  <li>Learn how traces, receipts, and evals are produced.</li>
  <li>Learn how deployment artifacts connect to rollback and revocation.</li>
  <li>Learn how those records survive audit, incident review, and public scrutiny.</li>
</ol>

<p>That path is narrower than “learn AI.” It is also much more valuable.</p>

<h2 id="what-this-means-for-practical-governance">What This Means for Practical Governance</h2>

<p>The practical governance implication is that teams should stop asking only “what is our AI policy?” and start asking five runtime questions:</p>

<p><strong>What is the action boundary?</strong> Name the point where model output turns into a tool call, code merge, cloud change, robot action, publication, financial workflow, or user-facing decision.</p>

<p><strong>Who authorizes that action?</strong> The answer should not be “the model decided.” It should identify a policy gate, identity, role, argument-level constraint, human approval path, or controller boundary.</p>

<p><strong>What evidence is produced?</strong> A log is not automatically evidence. It needs issuer identity, proximity to the action, independence where possible, tamper resistance, timestamps, inputs, outputs, and enough context to reproduce the decision.</p>

<p><strong>What can be revoked?</strong> Agents need kill switches, credential expiry, tool withdrawal, model rollout controls, MCP server version enforcement, fleet revocation, and artifact-level unpublishing.</p>

<p><strong>What claim is explicitly not being made?</strong> This is the discipline from <a href="https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence/">Signed Is Not Trustworthy</a>. Do not let a passing eval imply safety in the field. Do not let a signed trace imply physical completion. Do not let a public safety framework imply independent verification. State the boundary of the evidence.</p>

<p>For EU AI Act and broader governance work, this is the bridge between policy and engineering. Article-style obligations around risk management, logging, technical robustness, documentation, human oversight, and post-market monitoring all become concrete only when mapped to runtime artifacts. A model provider may publish a framework. A deployer may write a policy. But the audit will eventually ask what happened in the system, who allowed it, what evidence exists, and whether the same failure can be prevented or contained next time.</p>

<h2 id="the-weekly-thesis">The Weekly Thesis</h2>

<p>This week made one thing clearer: AI governance is no longer mainly about judging model intent. It is about controlling system action.</p>

<p>That shift connects the week’s apparently separate topics. GenAI adoption creates workflow pressure. Public AI services expose citation and trust problems. Frontier safety frameworks need evidence boundaries. Cloud agents need external authorization. Research agents need planning-layer defenses. Physical AI needs policy evaluation and outcome evidence. GitHub builders are moving toward harnesses and inspection. Learning material is catching up to tool design, data, and production patterns.</p>

<p>The old question was: can the model do the task?</p>

<p>The current governance question is: <strong>when the model tries to act, what external system proves the action was allowed, bounded, observed, and reversible?</strong></p>

<p>That is the question worth building around.</p>

<h2 id="references">References</h2>

<ul>
  <li><strong>The AI Adoption Maturity Model v1.0</strong>, Software Engineering Institute, June 30, 2026. Background context, outside the July 6 to July 12 synthesis window. <a href="https://www.sei.cmu.edu/library/ai-adoption-maturity-model/">https://www.sei.cmu.edu/library/ai-adoption-maturity-model/</a></li>
  <li><strong>MCP tool design: Practical approaches and tradeoffs</strong>, Daniel Wells and Raian Osman, AWS, July 9, 2026. <a href="https://aws.amazon.com/blogs/machine-learning/mcp-tool-design-practical-approaches-and-tradeoffs/">https://aws.amazon.com/blogs/machine-learning/mcp-tool-design-practical-approaches-and-tradeoffs/</a></li>
  <li><strong>3 production patterns for AI agents and how to evaluate each one</strong>, Arize, July 10, 2026. <a href="https://arize.com/blog/3-production-patterns-ai-agents-how-to-evaluate-each-one/">https://arize.com/blog/3-production-patterns-ai-agents-how-to-evaluate-each-one/</a></li>
  <li><strong>Anthropic’s Responsible Scaling Policy</strong>, Anthropic, last updated July 8, 2026. <a href="https://www.anthropic.com/responsible-scaling-policy">https://www.anthropic.com/responsible-scaling-policy</a></li>
  <li><strong>AI Safety Index: Summer 2026</strong>, Future of Life Institute, July 2026. Note: published inside the synthesis window, with evidence collected through June 3, 2026. <a href="https://futureoflife.org/ai-safety-index-summer-2026/">https://futureoflife.org/ai-safety-index-summer-2026/</a></li>
  <li><strong>Finding Cloud Misconfigurations with Frontier AI: A Case Study</strong>, UK AI Security Institute, July 7, 2026. <a href="https://www.aisi.gov.uk/blog/finding-cloud-misconfigurations-with-frontier-ai-a-case-study">https://www.aisi.gov.uk/blog/finding-cloud-misconfigurations-with-frontier-ai-a-case-study</a></li>
  <li><strong>FORGE: Research-Trajectory Hijacking Attacks on Deep Research Agents</strong>, Yue Pan, Ziheng Zhang, Junxiang Lei, Changhao Jia, Qingyi Si, and Hongcheng Guo, arXiv, submitted July 6, 2026. <a href="https://arxiv.org/abs/2607.04718">https://arxiv.org/abs/2607.04718</a></li>
  <li><strong>aiAuthZ: Off-Host, Identity-Bound Authorization for AI Agents</strong>, Sai Varun Kodathala, arXiv, submitted July 6, 2026. <a href="https://arxiv.org/abs/2607.05518">https://arxiv.org/abs/2607.05518</a></li>
  <li><strong>Global Dialogue on AI Governance</strong>, United Nations, first session held July 6 to July 7, 2026 in Geneva. <a href="https://www.un.org/global-dialogue-ai-governance/en">https://www.un.org/global-dialogue-ai-governance/en</a></li>
  <li><strong>Develop Humanoid Robot Policies End-to-End with NVIDIA Isaac GR00T</strong>, Edith Llontop and Brandon Neel, NVIDIA Technical Blog, July 7, 2026. <a href="https://developer.nvidia.com/blog/develop-humanoid-robot-policies-end-to-end-with-nvidia-isaac-gr00t/">https://developer.nvidia.com/blog/develop-humanoid-robot-policies-end-to-end-with-nvidia-isaac-gr00t/</a></li>
  <li><strong>Training-Free Acceleration for Vision-Language-Action Models with Action Caching and Refinement</strong>, Ryuji Oi, Hikari Otsuka, Kosuke Matsushima, Yuki Ichikawa, Masato Motomura, Tatsuya Kaneko, and Daichi Fujiki, arXiv, submitted July 7, 2026. <a href="https://arxiv.org/abs/2607.06370">https://arxiv.org/abs/2607.06370</a></li>
  <li><strong>LAMP: Latent Motion Prior-Guided Real-World Learning for Dexterous Hand Manipulation</strong>, Xinye Yang, Zhiyuan Ma, Hongze Yu, Yuanpei Chen, Yaodong Yang, Xiaojie Chai, Xinlei Chen, and Chao Yu, arXiv, submitted July 7, 2026. <a href="https://arxiv.org/abs/2607.06323">https://arxiv.org/abs/2607.06323</a></li>
  <li><strong>Image2Sim: Scaling Embodied Navigation via Generative Neural Simulator</strong>, Zihan Wang, Seungjun Lee, Yinghao Xu, and Gim Hee Lee, arXiv, submitted July 7, 2026. <a href="https://arxiv.org/abs/2607.05765">https://arxiv.org/abs/2607.05765</a></li>
  <li><strong>Data for Agents</strong>, Will Jennings, Jane Polak Scowcroft, Annie Surla, Yev Meyer, Rebecca Kao, Leanna Chraghchian, and NVIDIA, Hugging Face, July 8, 2026. <a href="https://huggingface.co/blog/nvidia/open-data-for-agents">https://huggingface.co/blog/nvidia/open-data-for-agents</a></li>
  <li><strong>dramaclaw/dramaclaw</strong>, GitHub repository, inspected July 12, 2026. <a href="https://github.com/dramaclaw/dramaclaw">https://github.com/dramaclaw/dramaclaw</a></li>
  <li><strong>ai-boost/awesome-harness-engineering</strong>, GitHub repository, inspected July 12, 2026. <a href="https://github.com/ai-boost/awesome-harness-engineering">https://github.com/ai-boost/awesome-harness-engineering</a></li>
  <li><strong>MCPJam/inspector</strong>, GitHub repository, inspected July 12, 2026. <a href="https://github.com/MCPJam/inspector">https://github.com/MCPJam/inspector</a></li>
  <li><strong>luckyPipewrench/pipelock</strong>, GitHub repository, inspected July 12, 2026. <a href="https://github.com/luckyPipewrench/pipelock">https://github.com/luckyPipewrench/pipelock</a></li>
  <li><strong>benchflow-ai/awesome-evals</strong>, GitHub repository, inspected July 12, 2026. <a href="https://github.com/benchflow-ai/awesome-evals">https://github.com/benchflow-ai/awesome-evals</a></li>
</ul>]]></content><author><name>Carlos Hernandez</name></author><category term="governance" /><category term="synthesis" /><category term="ai-governance" /><category term="agents" /><category term="genai-adoption" /><category term="physical-ai" /><category term="safety" /><category term="mcp" /><category term="runtime-governance" /><category term="evidence" /><summary type="html"><![CDATA[The week's strongest signal was not a new model. It was the same governance problem showing up in enterprise adoption, agent safety, MCP tooling, GitHub projects, and physical AI: AI systems now need controls at the point of action.]]></summary></entry><entry><title type="html">Signed Is Not Trustworthy: Grading the Evidence Behind a Robot’s Action</title><link href="https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence/" rel="alternate" type="text/html" title="Signed Is Not Trustworthy: Grading the Evidence Behind a Robot’s Action" /><published>2026-06-30T09:00:00+02:00</published><updated>2026-06-30T09:00:00+02:00</updated><id>https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/06/30/grading-robot-action-evidence/"><![CDATA[<p><em>Every post in this series ended with a signature. A signed manifest, a signed audit trail, a signed sensor record. Here is the uncomfortable part: a valid signature tells you the record was not altered after it was signed. It tells you almost nothing about whether the record is worth trusting. This post is one scale for the difference.</em></p>

<blockquote>
  <p>Series: The Engineering of AI Governance, Post 9
Continues from <a href="https://governance.ai-mvp.com/2026/06/19/trusting-the-skills-you-didnt-write/">Trusting the Skills You Didn’t Write</a>
Status: this consolidates vocabulary introduced across Posts 4 to 6 into one grading model. It extends AgenTrust’s existing primitives (manifest, cMCP, TRACE); the specific grading scheme here is a design proposal for discussion, not a shipped feature.</p>
</blockquote>

<hr />

<p>Across the last five posts I introduced graded-evidence language three separate times without ever tying it together. Post 4 split trust into governance layers, mission, machine control, functional safety. Post 5 introduced a per-link <strong>assurance class</strong> for hardware backing, <code class="language-plaintext highlighter-rouge">gpu-cc-attested</code> down to <code class="language-plaintext highlighter-rouge">software-only</code>. Post 6 made a robot’s sensors testify and called the readings “physical truth.” Each was locally correct. Together they leave a reader unable to answer the only question an investigator actually asks: <em>given this signed record in front of me, how much should I believe it?</em></p>

<p>So this post does one thing. It collapses that scattered vocabulary into a single way to read an evidence record, and it is deliberately built so that a high score never quietly becomes a claim the evidence cannot support.</p>

<h2 id="first-which-layer-is-even-talking">First, which layer is even talking?</h2>

<p>Before grading a record, know what kind of claim it is making. Post 4 named three layers, and they do not substitute for each other:</p>

<table>
  <thead>
    <tr>
      <th>Layer</th>
      <th>Question it answers</th>
      <th>Who owns it</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Mission governance</td>
      <td>Was this request allowed, by which agent, under which policy?</td>
      <td>cMCP + Agent Manifest + Cedar</td>
    </tr>
    <tr>
      <td>Machine control</td>
      <td>Was this motion acceptable against the <em>current</em> physical state?</td>
      <td>Independent controller</td>
    </tr>
    <tr>
      <td>Functional safety</td>
      <td>How is harm physically prevented when everything above fails?</td>
      <td>Certified systems (out of scope, on purpose)</td>
    </tr>
  </tbody>
</table>

<p>A record from the mission layer that says <code class="language-plaintext highlighter-rouge">allow</code> is not evidence about motion. A record from the controller is not proof of physical safety. The first mistake in reading agent-to-robot evidence is letting a claim from one layer answer a question that belongs to another. Keep them apart, then grade whichever one you are holding.</p>

<h2 id="then-grade-the-link-with-three-questions">Then, grade the link with three questions</h2>

<p>Any single evidence link, an authorization, an outcome, a sensor frame, can be graded on three independent axes. They do not collapse into one number, and pretending they do is how “signed” gets mistaken for “trustworthy.”</p>

<p><strong>1. Proximity: how close did the signer sit to the machine?</strong></p>

<p>The further the signer is from the controller boundary, the more can go unobserved between the claim and the metal.</p>

<table>
  <thead>
    <tr>
      <th>Level</th>
      <th>Signer</th>
      <th>What it means</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>E0</td>
      <td>The agent or application itself</td>
      <td>Self-reported. A valid signature on the accused’s own account.</td>
    </tr>
    <tr>
      <td>E1</td>
      <td>A gateway that saw the response</td>
      <td>Observed, but no controller-side party attested it.</td>
    </tr>
    <tr>
      <td>E2</td>
      <td>A separate observer</td>
      <td>An independent watcher signs what it saw.</td>
    </tr>
    <tr>
      <td>E3</td>
      <td>A controller-side adapter</td>
      <td>A signer sitting at the action-server or PLC boundary.</td>
    </tr>
    <tr>
      <td>E4</td>
      <td>The controller’s own key</td>
      <td>The controller, OEM module, or safety authority signs under its own key.</td>
    </tr>
  </tbody>
</table>

<p>An E0 self-report is not a weak green. It is red. A perfectly valid signature from the party with the most reason to lie is the <em>lowest</em> grade of evidence, not a passing one.</p>

<p><strong>2. Independence: could anyone contradict it?</strong></p>

<p>Proximity is worthless if the same party controls both ends. A record where the requester and the outcome signer are the same key, or the same company, cannot corroborate itself, no matter how close to the machine it sat.</p>

<p>So every outcome link should declare its relationship to the request signer: <code class="language-plaintext highlighter-rouge">same_key</code>, <code class="language-plaintext highlighter-rouge">same_party</code>, <code class="language-plaintext highlighter-rouge">same_contract_group</code>, or <code class="language-plaintext highlighter-rouge">independent_party</code>. An E3 adapter run entirely by the operator is still same-party evidence. That distinction has to be on the face of the record, not inferred later by a tired investigator.</p>

<p><strong>3. Assurance class: what hardware stood behind the key?</strong></p>

<p>This is Post 5’s axis, and it is genuinely separate from the first two. A signature is only as honest as the environment that held the key. From Post 5, per link: <code class="language-plaintext highlighter-rouge">software-only</code>, <code class="language-plaintext highlighter-rouge">trustzone-signed</code>, <code class="language-plaintext highlighter-rouge">cpu-tee-attested</code>, <code class="language-plaintext highlighter-rouge">gpu-cc-attested</code>, plus what it protected (confidentiality, integrity, identity) and which authority attested it. A <code class="language-plaintext highlighter-rouge">software-only</code> signature can be forged by a compromised runtime before signing. A hardware-attested one cannot, without breaking the hardware.</p>

<p>Three axes, orthogonal. A record can be close to the machine (E4) and still be same-party and still be <code class="language-plaintext highlighter-rouge">software-only</code>. Read all three, or you have not read the record.</p>

<h2 id="the-verdict-and-the-line-it-must-never-cross">The verdict, and the line it must never cross</h2>

<p>Combine the axes into one human-readable verdict so a reviewer does not have to do the arithmetic under pressure: an E4, <code class="language-plaintext highlighter-rouge">independent_party</code>, <code class="language-plaintext highlighter-rouge">cpu-tee-attested</code> outcome reads <em>high-integrity, independent, hardware-backed</em>. An E0, <code class="language-plaintext highlighter-rouge">same_party</code>, <code class="language-plaintext highlighter-rouge">software-only</code> outcome reads <em>self-reported, not audit-grade</em>, and displays red.</p>

<p>But here is the spine of the whole scheme, and where I have to correct my own Post 6. However high a record scores, two claims stay off the table by default:</p>

<ul>
  <li><strong><code class="language-plaintext highlighter-rouge">physical_completion_claim: none</code>.</strong> A controller reporting <code class="language-plaintext highlighter-rouge">success</code> means the controller reported success under its own semantics. Sensor readings raise the cost of lying, they do not become “physical truth.” I called them that in Post 6, and it was a word too strong. Even an E4, hardware-backed sensor record is graded evidence that a motion was <em>witnessed</em>, not proof that the world changed the way the agent intended.</li>
  <li><strong><code class="language-plaintext highlighter-rouge">completeness_claim: not_proven</code>.</strong> Two signed receipts prove the integrity of what was presented. They do not prove nothing was withheld. Per-issuer hash chains and gap detection are what let a reviewer see when a record is missing, and their absence is itself a finding.</li>
</ul>

<p>The discipline is the product. A grading scale that let a high score imply physical completion or completeness would be worse than no scale, because it would launder confidence the evidence never earned.</p>

<h2 id="reading-a-record-end-to-end">Reading a record, end to end</h2>

<p>Put it together on the asymmetric chain from Post 5. A cloud reasoning step signs its decision <code class="language-plaintext highlighter-rouge">gpu-cc-attested</code>, <code class="language-plaintext highlighter-rouge">independent_party</code> at the datacenter. The plan crosses to the robot. The edge actuation signs <code class="language-plaintext highlighter-rouge">trustzone-signed</code>, and its outcome link is E3, adapter-attested, but <code class="language-plaintext highlighter-rouge">same_party</code>, because the operator runs the adapter. The sensor witnesses from Post 6 attach at E2 to E3 depending on who holds their keys.</p>

<p>A reader who grades each link sees the honest shape immediately: strong and independent in the cloud, stepping down to same-party and software-rooted at the hand, with no physical-completion claim anywhere. That is not a failure of the system. That is the system telling the truth about itself, which is the only reason anyone outside the operator should believe a word of it.</p>

<h2 id="what-this-means-under-eu-law">What this means under EU law</h2>

<p>The same requirements from earlier posts bite here. <strong>Article 12</strong> wants automatically logged events and <strong>Article 19</strong> wants them kept, but a log an operator can trivially forge is record-keeping in name only. <strong>Article 15</strong> asks for assurance that the deployed system is the approved one. A grading scale that surfaces proximity, independence, and assurance class is exactly how you answer an auditor without hand-waving: not “we have logs,” but “here is what each record can and cannot support, on its face.”</p>

<h2 id="where-i-want-to-be-wrong">Where I want to be wrong</h2>

<p>This scale is a proposal, and the axes are the part I most want stress-tested. If you review agent-driven robot incidents, or build controllers, or sign attestations for a living: does grading proximity, independence, and assurance class separately match how you actually weigh evidence, or is there a fourth axis I am folding in by accident? The <a href="https://github.com/agentrust-io/examples/tree/main/industrial-embodied-ai">example is public</a>, and the objections are the point.</p>]]></content><author><name>Carlos Hernandez</name></author><category term="runtime" /><category term="embodied-ai" /><category term="embodied-ai" /><category term="robotics" /><category term="agentrust" /><category term="evidence-quality" /><category term="attestation" /><category term="issuer-independence" /><category term="eu-ai-act" /><summary type="html"><![CDATA[Every post in this series produced a signed record. None of them is worth the same. One scale to read agent-to-robot evidence honestly: how close the signer sat to the machine, whether anyone independent could contradict it, and what hardware stood behind the key.]]></summary></entry><entry><title type="html">Trusting the Skills You Didn’t Write</title><link href="https://governance.ai-mvp.com/2026/06/19/trusting-the-skills-you-didnt-write/" rel="alternate" type="text/html" title="Trusting the Skills You Didn’t Write" /><published>2026-06-19T09:00:00+02:00</published><updated>2026-06-19T09:00:00+02:00</updated><id>https://governance.ai-mvp.com/2026/06/19/trusting-the-skills-you-didnt-write</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/06/19/trusting-the-skills-you-didnt-write/"><![CDATA[<p><em>The first two posts assumed you wrote the software. You didn’t. The brain is a foundation model you didn’t train; the skills come from a marketplace anyone can publish to. The ecosystem is your strongest advantage and your largest attack surface, at the same time.</em></p>

<blockquote>
  <p>Series: The Engineering of AI Governance, Post 8
Continues from <a href="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/">Proof of Outcome</a> and <a href="https://governance.ai-mvp.com/2026/06/17/trust-at-fleet-scale/">Trust at Fleet Scale</a>. Final post of the trust trilogy.
Interactive: three widgets. The capability explorer is the one to push on.
Status: this extends AgenTrust’s existing primitives (manifest, cMCP, TRACE); the specific mechanisms proposed here are design proposals for discussion, not shipped features.</p>
</blockquote>

<hr />

<p>Posts 6 and 7 quietly assumed something convenient: that you wrote the software running on your robot. You almost certainly didn’t. A full-stack humanoid builder runs a foundation model it didn’t train, its robot is powered by <strong>NVIDIA’s GR00T</strong>, and on top of that, the skills come from a marketplace where third parties publish, share, and monetize robot capabilities. The marketplace <em>is</em> the business model. It is also the largest attack surface in the entire system.</p>

<p>So the question this post answers is the uncomfortable one underneath every robot app store: <strong>how do you let code you didn’t write run on a machine that can hurt someone, without trusting whoever wrote it?</strong></p>

<h2 id="the-supply-chain-of-a-robots-mind">The supply chain of a robot’s mind</h2>

<p>A robot’s behaviour is not one artifact. It’s a stack of them, each from a different author: a foundation model, a domain fine-tune, first-party skills, and third-party skills from the marketplace. Every link in that stack is a trust decision, and today most of them are taken on faith.</p>

<p>The discipline is the same one software supply chains learned the hard way: <strong>provenance</strong>. A signed manifest per artifact, <strong>SLSA</strong> provenance on the model and its fine-tunes, a model bill-of-materials so you know what went into the brain. An artifact without provenance isn’t “probably fine”, it’s unaccountable, and on a safety-critical robot that means blocked.</p>

<p>Inspect the stack and see where trust actually comes from:</p>

<iframe src="/widgets/a8-supply-chain.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="560"></iframe>

<p><em>Try this: click each link to see its signer and provenance level, then toggle “require signed provenance” off. The unsigned promo skill, which was blocked, is suddenly admitted, that toggle is the difference between a supply chain and a hope.</em></p>

<p>Notice the foundation model sits at the root. You didn’t train GR00T, so you cannot audit its weights line by line, but you <em>can</em> require it to arrive signed, with provenance, from an identifiable party, and pin exactly which version you run. Trust you can’t derive from inspection, you derive from provenance and identity instead.</p>

<h2 id="default-deny-at-the-skill-boundary">Default-deny at the skill boundary</h2>

<p>Provenance tells you <em>where a skill came from</em>. It says nothing about <em>what the skill may do once it runs</em>. That is a separate control, and it is the most important one on this page: every skill is scoped to exactly what its signed manifest declares, and <strong>anything undeclared fails structurally</strong>, the Cedar default-deny posture from Post 4, applied at the marketplace boundary.</p>

<p>The consequence is the property you want to be able to say out loud to a regulator: a weather-display skill <em>cannot</em> command an actuator. Not “shouldn’t,” not “is unlikely to”, <em>cannot</em>, because moving the arm was never in its manifest, and you cannot grant a capability that the signed manifest doesn’t contain.</p>

<p>Push on it:</p>

<iframe src="/widgets/a8-capability-scoping.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="680"></iframe>

<p><em>Try this: select the weather skill, then attempt “move arm” or “actuate gripper.” Both are denied, not by a rule someone remembered to write, but structurally, because they aren’t in the skill’s signed manifest. Switch to the arm-handoff skill and the same calls go through. Capability follows declaration.</em></p>

<p>This is what turns a marketplace from a liability into something operable. The blast radius of a malicious skill is bounded <em>before it runs</em> by what it was allowed to declare, and actuator capabilities are exactly the declarations a marketplace reviews hardest.</p>

<h2 id="running-untrusted-code-on-a-machine-that-moves">Running untrusted code on a machine that moves</h2>

<p>Scoping bounds what a skill can <em>request</em>. You still have to bound what it can <em>do</em> if it misbehaves within its scope. That’s the three-layer containment from Post 4 doing real work: the third-party skill lives in the <strong>mission layer</strong>, sandboxed away from the certified functional-safety stack, under motion-envelope and rate limits it cannot exceed. A skill that was authorized to move the arm still cannot drive it outside the safe envelope, because the layer that enforces the envelope is not the layer the skill runs in. Untrusted code on a robot is survivable only when the thing keeping people safe is architecturally below the thing you don’t trust.</p>

<h2 id="review-attestation-and-the-kill-switch">Review, attestation, and the kill switch</h2>

<p>Before a skill ships, the marketplace has to check it, signature valid, provenance present, declared capabilities within policy, sandbox manifest attached, static scan clean, and that review has to become a <strong>verifiable claim</strong> a buyer can inspect later, not an internal rubber stamp. An attestation record in TRACE says <em>this skill passed this review at this version</em>, signed.</p>

<p>And because review is never perfect, the marketplace needs a kill switch: when a published skill turns out to be unsafe, you revoke it <strong>fleet-wide</strong>, fast, and provably, the exact revocation machinery from Post 7, now pointed at a marketplace artifact instead of a compromised robot.</p>

<iframe src="/widgets/a8-skill-review-revocation.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="640"></iframe>

<p><em>Try this: run the review pipeline, publish the skill, then report misbehaviour. The skill is pulled across the fleet and its attestation revoked, a published, monetized capability can be un-shipped in one motion.</em></p>

<h2 id="the-honest-gap">The honest gap</h2>

<p>Here is what static review and capability scoping cannot do: catch a skill that behaves perfectly through review and then misbehaves in the field at the worst possible moment. Provenance proves origin; scoping bounds capability; neither reads intent. An adversary who stays inside its declared scope until the one instant it matters passes every check on this page.</p>

<p>That is precisely why this is the <em>third</em> post and not the first. The marketplace controls are necessary and insufficient on their own, they only hold because <strong>Post 6’s outcome evidence notices</strong> a skill doing something its authorization didn’t predict, and <strong>Post 7’s fleet containment bounds</strong> how far that skill could have spread before it was caught and revoked. No single layer is sufficient. The trilogy is one argument: trust an embodied agent the way you’d trust a stranger you’ve given the keys to, verify where it came from, bound what it can touch, watch what it actually does, and be able to take the keys back instantly.</p>

<h2 id="where-this-lands">Where this lands</h2>

<p>For the EU AI Act, a skill marketplace is a supply chain, and supply chains have named responsibilities. The provenance, signed manifests, and attestation records here are how a provider demonstrates that the system in the field is the approved one (Article 15) and keeps the records to prove it (Articles 12 / 19); the capability scoping and sandboxing are the technical measures behind the safety obligations for AI as a safety component of machinery. The marketplace operator and the robot manufacturer will argue for years about who owns which obligation, but neither can discharge theirs without exactly this evidence.</p>

<p>That closes the trilogy. Post 6 made the robot prove what it did. Post 7 made trust survive a fleet that shares what it learns. Post 8 made the marketplace safe enough to be a business. None of it makes a robot trustworthy on its own, together, they make a robot <em>accountable</em>, which is the only kind of trust that survives contact with an incident.</p>]]></content><author><name>Carlos Hernandez</name></author><category term="runtime" /><category term="embodied-ai" /><category term="embodied-ai" /><category term="robotics" /><category term="agentrust" /><category term="marketplace" /><category term="provenance" /><category term="slsa" /><category term="cedar" /><category term="default-deny" /><category term="eu-ai-act" /><summary type="html"><![CDATA[A robot's brain is a foundation model you didn't train and skills from a marketplace anyone can publish to. Provenance, default-deny capability scoping, and a fleet-wide kill switch.]]></summary></entry><entry><title type="html">Trust at Fleet Scale: the Skill That Spreads</title><link href="https://governance.ai-mvp.com/2026/06/17/trust-at-fleet-scale/" rel="alternate" type="text/html" title="Trust at Fleet Scale: the Skill That Spreads" /><published>2026-06-17T09:00:00+02:00</published><updated>2026-06-17T09:00:00+02:00</updated><id>https://governance.ai-mvp.com/2026/06/17/trust-at-fleet-scale</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/06/17/trust-at-fleet-scale/"><![CDATA[<p><em>Trust that works for one robot is a demo. A business is a fleet, and a fleet that shares what it learns can share a compromise just as fast. Identity, revocation, and the worm nobody designs for.</em></p>

<blockquote>
  <p>Series: The Engineering of AI Governance, Post 7
Continues from <a href="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/">Proof of Outcome</a>
Interactive: three widgets. The blast-radius simulator is the one to play with.
Status: this extends AgenTrust’s existing primitives (manifest, cMCP, TRACE); the specific mechanisms proposed here are design proposals for discussion, not shipped features.</p>
</blockquote>

<hr />

<p>Everything so far has been about one robot: its manifest, its hardware, its outcome evidence. But nobody sells one robot. A robotics company ships <em>fleets</em>, and two trust problems appear only at scale, both invisible in a single-unit demo.</p>

<p>The first is mundane and unavoidable: <strong>per-unit identity</strong>, from the factory line to the scrapyard. The second is the one almost nobody designs for until it bites: <strong>trust propagation</strong>. When robots share what they learn, the way a skill-sharing fleet is designed to work, with “networked learning across robot types”, a poisoned or unsafe skill can spread through the fleet like a worm. The same mechanism that makes the fleet smart makes it fragile.</p>

<h2 id="a-birth-certificate-on-the-line">A birth certificate on the line</h2>

<p>A robot’s identity cannot be assigned after the fact by a server that simply trusts whatever the robot claims. It has to be <em>born</em> on the manufacturing line: a hardware root of trust injected into the secure element and fuses, secure boot measured, and only then an identity the fleet will accept. Onboarding (FIDO Device Onboard / BRSKI-style) lets a unit <em>prove what it is</em> before it joins, not assert it.</p>

<p>Walk the sequence:</p>

<iframe src="/widgets/a7-robot-onboarding-stepper.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="460"></iframe>

<p><em>Step through it: notice that each stage hands the next a signed artifact. The fleet identity at the end isn’t a database row, it’s the end of a chain that starts in silicon on the factory floor.</em></p>

<p>Get this wrong and everything downstream is theatre: revocation, attestation, and skill provenance all assume the robot is who it says it is. That assumption is only as good as the moment of birth.</p>

<h2 id="revocation-that-actually-works">Revocation that actually works</h2>

<p>A fleet is only as trustworthy as its weakest unit. Robots get stolen, resold, jailbroken, or simply retired, and when one does, you need to revoke its identity <em>fleet-wide, fast, and provably</em>. “We sent an email to disable it” is not revocation. The metric that matters is <strong>revocation latency</strong>: how long between “this unit is compromised” and “no system in the fleet will accept its credentials,” plus a transparency-log entry that proves it happened.</p>

<p>Compromise a few units below and revoke them:</p>

<iframe src="/widgets/a7-fleet-revocation.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="640"></iframe>

<p><em>Try this: click several robots to mark them compromised, then hit revoke. Watch the revocation latency and the transparency-log entries. The point isn’t that revocation is possible, it’s that it’s fast, fleet-wide, and leaves a proof.</em></p>

<p>Decommissioning is the same discipline run forward: a retired robot must leave no usable keys behind, or your fleet’s trust boundary quietly includes a machine in a scrapyard.</p>

<h2 id="the-skill-that-spreads">The skill that spreads</h2>

<p>Here is the problem that is genuinely new, and genuinely under-discussed. Networked learning is a superpower: one robot learns to handle a part better, and the whole fleet improves overnight. But run that mechanism without trust controls and you have built a <strong>propagation channel</strong>, and a poisoned, unsafe, or simply buggy skill rides it exactly as fast as a good one.</p>

<p>The defense is not to ban sharing. It’s to make propagation <em>earn</em> its reach: every cross-robot update carries a <strong>signed propagation manifest</strong>, releases are staged to a bounded cohort, and a <strong>blast-radius</strong> bound ensures that if a skill turns out to misbehave, caught by the outcome evidence from Post 6, it can only have reached a contained slice of the fleet, never all of it.</p>

<p>Watch the difference. Drop a poisoned skill into the fleet with containment off, then on:</p>

<iframe src="/widgets/a7-trust-propagation-blast-radius.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="680"></iframe>

<p><em>Try this: hit play with containment off and the skill floods all 64 robots. Turn containment on and reset, the same poisoned skill is bounded to its staging cohort and halts. Same superpower, survivable failure mode.</em></p>

<p>This is where the trilogy interlocks. Containment needs Post 6’s outcome evidence to <em>notice</em> a skill is misbehaving, and Post 8’s marketplace controls to decide what a skill was even allowed to do. No single layer is enough; the fleet survives because they back each other up.</p>

<h2 id="fleet-attestation">Fleet attestation</h2>

<p>The question a regulator or an enterprise buyer will eventually ask is simple and brutal: <em>right now, is every robot in your fleet running approved software?</em> Not “was it approved at deployment”, <em>right now</em>. Answering it requires continuous fleet attestation: each unit periodically proves its measured state, and the fleet view is a verifiable rollup, not a spreadsheet maintained by hope. The honest version surfaces drift, the handful of units that have wandered from the approved baseline, rather than reporting a green dashboard that means nothing.</p>

<h2 id="the-honest-tension">The honest tension</h2>

<p>Networked learning and attestation pull in opposite directions. The more autonomously robots adapt and share, the harder it is to say “every unit is running approved software,” because the software is changing underneath you. There is no clean resolution, only a boundary you draw deliberately: what may propagate <em>autonomously</em> within a blast-radius bound, versus what requires a signed, reviewed release before it can reach the fleet. Pretending the tension doesn’t exist is how you end up with a fleet that is both smart and unaccountable. State the boundary; don’t hide it.</p>

<h2 id="where-this-lands">Where this lands</h2>

<p>For the EU AI Act, fleet identity and revocation are how Article 15’s “the deployed system is the approved one” survives contact with ten thousand units that update in the field. Revocation latency and fleet attestation are the operational evidence behind it. And the transparency log of revocations and propagations is, in practice, the Article 12 / 19 record-keeping obligation applied to the fleet rather than the single robot.</p>

<p>One robot you can trust by hand. A fleet you have to trust by design, and the design has to assume that the channel which makes it intelligent is the same one an attacker would choose. Next, Post 8: the skills and models you didn’t write, running on a machine that can hurt someone.</p>]]></content><author><name>Carlos Hernandez</name></author><category term="runtime" /><category term="embodied-ai" /><category term="embodied-ai" /><category term="robotics" /><category term="agentrust" /><category term="fleet" /><category term="identity" /><category term="revocation" /><category term="trust-propagation" /><category term="blast-radius" /><category term="eu-ai-act" /><summary type="html"><![CDATA[Trust that works for one robot is a demo. Per-unit identity, fast revocation, and bounding the blast radius of a poisoned skill that spreads through a fleet's networked learning.]]></summary></entry><entry><title type="html">Proof of Outcome: Did the Robot Actually Do It?</title><link href="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/" rel="alternate" type="text/html" title="Proof of Outcome: Did the Robot Actually Do It?" /><published>2026-06-14T09:00:00+02:00</published><updated>2026-06-14T09:00:00+02:00</updated><id>https://governance.ai-mvp.com/2026/06/14/proof-of-outcome</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/06/14/proof-of-outcome/"><![CDATA[<p><em>Your audit proves the robot was allowed to move. It does not prove the robot moved, or that the world changed the way the agent claims. This is the gap that decides whether your evidence is worth anything to an insurer.</em></p>

<blockquote>
  <p>Series: The Engineering of AI Governance, Post 6
Continues from <a href="https://governance.ai-mvp.com/2026/06/11/the-cloud-can-prove-it-the-robot-cant/">The Cloud Can Prove It. The Robot Can’t.</a>
Interactive: this post has three widgets you can play with. They’re the point, read with your hands.
Status: this extends AgenTrust’s existing primitives (manifest, cMCP, TRACE); the specific mechanisms proposed here are design proposals for discussion, not shipped features.
Update (30 June): I call sensor readings “physical truth” below, and <a href="/2026/06/30/grading-robot-action-evidence/">Post 9</a> walks that back: they are graded evidence that a motion was <em>witnessed</em>, not proof that the world changed as intended.</p>
</blockquote>

<hr />

<p>In Post 4 I admitted a gap and gave it a name: the <strong>response-hash gap</strong>. The audit bundle proves what was <em>authorized</em>, a <code class="language-plaintext highlighter-rouge">cMCP</code> <code class="language-plaintext highlighter-rouge">allow</code>, a signed manifest, a policy decision. It does not prove what <em>happened</em>. A robot that was authorized to place an object and then dropped it produces the same authorization log as one that placed it perfectly.</p>

<p>For a humanoid working among people, on a line next to a human, say, that gap is the whole game. After an incident, nobody is interested in what the policy engine permitted. They want to know what the arm did, when, and whether it stopped when the person stepped in. An <code class="language-plaintext highlighter-rouge">allow</code> is a statement of intent. <strong>Intent is not what hurts people, and it is not what an insurer pays out on.</strong></p>

<p>So Post 6 is about closing the gap: turning a record of <em>decisions</em> into a record of <em>effects</em>.</p>

<h2 id="the-gap-made-concrete">The gap, made concrete</h2>

<p>Start by feeling it. Below, a three-step pick-and-place. The authorization log always says the same thing, approve, approve, approve, task complete. Change the <em>physical</em> scenario and toggle whether outcome evidence is being recorded, and watch what your audit can and cannot see.</p>

<iframe src="/widgets/a6-authorization-vs-outcome.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="500"></iframe>

<p><em>Try this: pick “gripper slip” or “human entered zone,” then flip outcome attestation off. The verdict still reads “complete”, because with only the authorization log, the failure is invisible. Turn attestation on and the divergence appears.</em></p>

<p>The lesson is uncomfortable: an audit trail that logs only authorizations will certify a dropped object, a missed stop, and a clean run identically. That is not a logging bug. It is a category error, you are recording the wrong layer.</p>

<h2 id="sensors-as-witnesses">Sensors as witnesses</h2>

<p>The fix is to make the robot’s own instrumentation testify. A motion already generates a stream of physical truth: end-effector pose, joint torques, gripper force, the vision frame, and, critically, the independent controller’s <strong>state token</strong>, the same single-use token from Post 4 that says <em>the decision is now, not thirty seconds ago</em>.</p>

<p>Bind those readings into the evidence record, signed and time-stamped, and the audit stops describing permissions and starts describing reality. Scrub through a motion and watch the witnesses move together, including the moment a person enters the safeguarded zone and the controller forces a stop.</p>

<iframe src="/widgets/a6-sensor-witness-scrubber.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="560"></iframe>

<p><em>Try this: drag the scrubber past the point where the person enters. Force collapses to zero, the end-effector freezes, and the controller’s state token flips to STOP, all on the same timeline, all signed.</em></p>

<p>There is an honest problem here, and Post 5 already named it: on the robot, the perception model runs in an integrated GPU with <strong>no confidential computing</strong>. The same compromised runtime that could forge a log could, in principle, forge a sensor frame. Signing readings close to the source, cross-checking redundant sensors, and binding every frame to the single-use state token raises the cost of lying enormously, but it does not make lying impossible. Outcome proof is a steep hill for an attacker, not a wall. Say that out loud; the credibility is in the caveat.</p>

<h2 id="the-flight-recorder">The flight recorder</h2>

<p>Witness data is only worth as much as its resistance to quiet editing after the fact. So the outcome record is structured the way an aircraft’s is: a <strong>tamper-evident, hash-chained ledger</strong> where each record seals the one before it, and the final root is anchored with an outside party (a transparency log, an insurer’s endpoint, the cloud step’s attested record from Post 5). Alter any record and the chain breaks from there down; the anchored root stops matching. The witness is no longer the accused.</p>

<p>Edit the ledger below and watch it refuse to be rewritten.</p>

<iframe src="/widgets/a6-flight-recorder-hashchain.html" title="Interactive widget" loading="lazy" style="width:100%;max-width:720px;border:1px solid #e6e6e2;border-radius:12px;background:#fff;display:block" height="680"></iframe>

<p><em>Try this: change any record, soften “object not released” to “object released,” for instance. Every hash from that record down turns red, and the recomputed root no longer matches the anchored one. You cannot edit history without leaving the edit visible.</em></p>

<p>This is the artifact an accident investigator, an insurer, or a court actually needs: not a list of what the robot was allowed to do, but a sealed, reconstructable account of what it did, one that an outside party can verify without trusting the operator.</p>

<h2 id="when-the-network-drops">When the network drops</h2>

<p>Robots keep working when connectivity doesn’t. So outcome evidence cannot depend on a live link to the anchor. The pattern: buffer signed records locally in order, keep the hash chain intact offline, and anchor the accumulated root when the link returns. Ordering survives the outage because each record still seals its predecessor; only the <em>publication</em> of the root is deferred, not the integrity. An audit that falls apart the moment a robot leaves Wi-Fi is not an audit.</p>

<h2 id="where-this-lands">Where this lands</h2>

<p>For the EU AI Act, this is what makes <strong>Article 12 / Article 19</strong> logging meaningful rather than ceremonial. Those provisions want automatically generated records of the system’s <em>operation</em>, and a list of granted permissions is not that. Outcome evidence is the difference between a log that satisfies the letter and one that survives the question an investigator actually asks.</p>

<p>It is also the foundation for the next two posts. Fleet revocation (Post 7) needs to know whether a skill <em>behaved</em>, not just whether it was <em>authorized</em>. The skill marketplace (Post 8) needs outcome evidence to catch a third-party skill that passed review and then misbehaved in the field. Proof of outcome is the layer everything downstream stands on.</p>

<p>The response-hash gap is closed, not perfectly, because the edge hardware won’t allow perfect, but honestly, and to a standard an outside party can check. Next: making it hold across ten thousand robots that share what they learn.</p>]]></content><author><name>Carlos Hernandez</name></author><category term="runtime" /><category term="embodied-ai" /><category term="embodied-ai" /><category term="robotics" /><category term="agentrust" /><category term="proof-of-outcome" /><category term="tamper-evident" /><category term="sensor-attestation" /><category term="flight-recorder" /><category term="eu-ai-act" /><summary type="html"><![CDATA[An authorization log proves a robot was allowed to move, not that it did. Closing the response-hash gap with sensor-witnessed, tamper-evident outcome evidence.]]></summary></entry><entry><title type="html">The Cloud Can Prove It. The Robot Can’t.</title><link href="https://governance.ai-mvp.com/2026/06/11/the-cloud-can-prove-it-the-robot-cant/" rel="alternate" type="text/html" title="The Cloud Can Prove It. The Robot Can’t." /><published>2026-06-11T09:00:00+02:00</published><updated>2026-06-11T09:00:00+02:00</updated><id>https://governance.ai-mvp.com/2026/06/11/the-cloud-can-prove-it-the-robot-cant</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/06/11/the-cloud-can-prove-it-the-robot-cant/"><![CDATA[<script type="module">
  import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
  mermaid.initialize({ startOnLoad: true, theme: 'neutral', securityLevel: 'loose' });
</script>

<p><em>Where to anchor agent trust on a humanoid robot when the on-board GPU (NVIDIA Thor) has no confidential computing, and the reasoning that drove the motion lives in a datacenter that does.</em></p>

<blockquote>
  <p>Series: The Engineering of AI Governance, Post 5
Continues from <a href="https://governance.ai-mvp.com/2026/06/08/software-promises-hardware-proofs/">Software Promises, Hardware Proofs</a> and <a href="https://governance.ai-mvp.com/2026/06/06/ten-thousand-safe-motions/">Ten Thousand Safe Motions</a>
Strategic companion (robotics.ai-mvp.com): <a href="https://robotics.ai-mvp.com/notes/010-the-trust-stack/">The Trust Stack</a>, the same problem framed for operators and investors.</p>
</blockquote>

<hr />

<p>In the last post I argued that software enforcement cannot prove itself to a party that does not trust the operator. Audit logs, policy decisions, compliance records, all of them are <em>promises</em>, and a compromised runtime can forge every one. The move from promises to proofs runs through hardware: anchor the signing keys and the enforcement outside the operator’s reach, in a Trusted Execution Environment, and the witness is no longer the accused.</p>

<p>I closed with an honest admission, the <strong>response-hash gap</strong>: the audit bundle proves what was <em>authorized</em>, not what <em>happened</em>. This post is about a second gap, and it is worse, because it does not come from unfinished code. It comes from the silicon.</p>

<p>Here is the problem in one sentence:</p>

<blockquote>
  <p><strong>On a humanoid robot, the place where the action physically happens is the place where you have the weakest hardware-rooted trust.</strong></p>
</blockquote>

<p>The reasoning that decided to pick up the object runs in a datacenter GPU that can produce a hardware-signed proof of exactly what it did. The motion itself runs on a chip bolted into the robot’s torso that cannot. Accountability, as I keep saying, has to be engineered, and this is the seam where it is hardest to engineer.</p>

<h2 id="the-architecture-nobody-gets-to-opt-out-of">The architecture nobody gets to opt out of</h2>

<p>Strip a deployed humanoid down to its trust-relevant parts and you get two compute domains, not one.</p>

<pre class="mermaid">
flowchart LR
    subgraph Cloud["Datacenter: confidential computing available"]
        LLM["Reasoning / planning<br />(large VLA or LLM)<br />H200 · B200 · GB200"]
    end
    subgraph Edge["Robot: NVIDIA Jetson Thor"]
        POL["On-board policy / fast VLA<br />(reactive control)"]
        CTRL["Real-time controller<br />(certified safety stack)"]
        ACT["Actuators"]
    end
    LLM -- "plan / goal" --&gt; POL
    POL -- "command" --&gt; CTRL
    CTRL --&gt; ACT
    POL -. "evidence" .-&gt; Ledger[(Trust ledger / TRACE)]
    LLM -. "attested evidence" .-&gt; Ledger
</pre>

<p>This is not an architectural choice you can refactor away. It is forced by physics and economics. The slow, heavy reasoning, the part that benefits from a 70B-plus model and a second of deliberation, commoditizes in the cloud, where you can rent the best hardware. The fast control loop, the part that must close in milliseconds and keep running when the network drops, stays on the robot. (Readers of the robotics side of this work will recognize this as the <a href="https://robotics.ai-mvp.com/notes/010-the-trust-stack/"><em>slow-reasoning-commoditizes, fast-control-stays-defensible</em> split</a>, and why trust becomes the next axis of competition.) Trust has to cross that boundary, and the two sides of the boundary are not equals.</p>

<h2 id="the-hardware-reality">The hardware reality</h2>

<p>I want this section to be airtight, because the whole argument rests on it.</p>

<p>In the datacenter, <strong>GPU Confidential Computing</strong> is real and shipping. An NVIDIA H200 (Hopper) can run in CC mode: the model and its activations sit in <strong>encrypted VRAM</strong>, and the GPU’s security processor emits a signed attestation report that a remote party can verify through NVIDIA’s attestation service or Intel Trust Authority, in one composite workflow alongside the CPU TEE (Intel TDX or AMD SEV-SNP). Datacenter <strong>Blackwell</strong> (B200/GB200) goes further, adding <strong>TEE-I/O (TDISP)</strong> to secure the PCIe path between the CPU TEE and the GPU, removing most of the bounce-buffer overhead Hopper paid. You can hand an auditor cryptographic proof that <em>this exact model ran, unmodified and confidential, on genuine CC-mode hardware.</em></p>

<p>Now the robot. Jetson AGX Thor uses a <strong>Blackwell GPU</strong>, the same architecture family. So you might assume the same proofs are available on board. They are not.</p>

<table>
  <thead>
    <tr>
      <th>Platform</th>
      <th>GPU Confidential Computing (encrypted VRAM, GPU-signed attestation, TEE-I/O)</th>
      <th>CPU / SoC TEE</th>
      <th>What you can prove</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>H200 (Hopper)</strong></td>
      <td>✅ CC mode; GPU-security-processor-signed attestation; remote-attestable (NVIDIA NRAS / Intel Trust Authority)</td>
      <td>Pairs with Intel TDX / AMD SEV-SNP CVM</td>
      <td><em>This exact model ran unmodified and confidential on genuine CC-mode hardware</em></td>
    </tr>
    <tr>
      <td><strong>B200 / GB200 (datacenter Blackwell)</strong></td>
      <td>✅ Adds <strong>TEE-I/O (TDISP)</strong>, secures the CPU↔GPU link, removes most of Hopper’s CC overhead</td>
      <td>TDX / SEV-SNP</td>
      <td>Same, at far lower performance cost</td>
    </tr>
    <tr>
      <td><strong>Jetson AGX Thor (edge Blackwell)</strong></td>
      <td>❌ <strong>Not exposed.</strong> CC + TDISP are dGPU-only; no tooling in the Jetson Linux stack</td>
      <td>ARM <strong>TrustZone / OP-TEE</strong>, secure boot (on-die BootROM + 16 PKC fuse keys), fTPM, disk + system-memory encryption, rollback protection</td>
      <td>Boot/platform integrity and secrets held in the secure world, <strong>not</strong> the GPU inference</td>
    </tr>
  </tbody>
</table>

<p>The decisive fact: NVIDIA states plainly, in its own developer forum, that Confidential Computing and TDISP are <em>“for dGPU only”</em> and not supported on Jetson Thor. As of Jetson Linux r38 (mid-2026) there is no tooling in the Jetson software stack to enable them.</p>

<p>And this is not arbitrary market segmentation. Thor’s GPU is <strong>integrated</strong> on the SoC, sharing <strong>unified LPDDR memory</strong> with the CPU. The entire datacenter CC model assumes a <em>discrete</em> GPU with its own encrypted HBM, attested across a <em>secured PCIe link</em>, which is exactly what TDISP protects. On an integrated SoC there is <strong>no PCIe boundary to secure and no separate VRAM to encrypt.</strong> The confidential-computing model does not structurally map onto the part. (Note the trap for the careless: Thor <em>does</em> encrypt system memory, but that is LPDDR-level encryption, not the encrypted-VRAM-plus-GPU-attestation primitive that defines datacenter CC. They sound alike. They are not the same protection.)</p>

<p>So the correct statement is not “Thor has a weaker GPU TEE.” It is sharper:</p>

<blockquote>
  <p><strong>Thor and the datacenter offer two different <em>classes</em> of trust. The cloud gives you GPU-confidential-compute-class proofs. The robot gives you TrustZone-class proofs, and only those.</strong></p>
</blockquote>

<h2 id="the-asymmetric-trust-chain">The asymmetric trust chain</h2>

<p>This turns the clean trust chain from Post 4 into a lopsided one. Walk the two halves.</p>

<p><strong>Cloud reasoning step.</strong> Wrap it in a CC TEE. You get a hardware-attested proof binding the model identity, the inputs, and the outputs to genuine CC-mode silicon. This is the <em>strong</em> anchor, and it is exactly the kind of evidence the Agent Manifest was designed to seal: prompt, policy, tool schemas, model identity, delegation chain. In the cloud, the manifest’s claims can be <em>proven</em>, not just asserted.</p>

<p><strong>Edge actuation step.</strong> You cannot do any of that. The strongest anchor available on Thor is the secure world: OP-TEE holds a signing key that never leaves TrustZone, secure boot measures the boot chain into the fuses and the fTPM, and the secure world can emit <strong>signed, ordered evidence</strong>, “policy P evaluated; command C issued at time T by agent A; state token S consumed.” That signed evidence feeds the hash-chained audit and the single-use state tokens we already built. It is real, hardware-rooted accountability.</p>

<p>But notice precisely what it covers and what it does not. TrustZone can prove the <em>platform booted as expected</em> and that <em>a key under hardware control signed this record.</em> It <strong>cannot</strong> prove that the vision-language-action model in the integrated GPU ran unmodified, or that its activations stayed confidential. There is no enclave around that GPU. The secure world is a few megabytes for small trusted apps; it cannot hold a multi-gigabyte policy model. So the on-robot inference, the thing closest to the moving hand, is <em>measured and signed at its boundaries</em>, not <em>confidential-compute-attested</em>.</p>

<p>That is the second gap, sitting right next to the response-hash gap:</p>

<ul>
  <li><strong>Response-hash gap</strong> (Post 4): the bundle proves authorizations, not outcomes.</li>
  <li><strong>Edge-inference gap</strong> (this post): on the actuation device, the inference itself is signed at the edges but not attested as confidential or unmodified, because the hardware cannot.</li>
</ul>

<p>I would rather name both gaps out loud than ship a diagram that implies a proof we cannot produce.</p>

<h2 id="what-you-can-still-do-at-the-edge-and-where-i-want-to-be-honest">What you can still do at the edge, and where I want to be honest</h2>

<p>This is not a counsel of despair. TrustZone-class trust is enough to build something genuinely useful, as long as you do not oversell it:</p>

<ol>
  <li><strong>Anchor agent identity in the secure world.</strong> The robot’s signing key lives in OP-TEE, bound to secure boot. A forged runtime cannot impersonate the agent without breaking hardware.</li>
  <li><strong>Measure the model at load.</strong> Before the policy/VLA artifact is loaded into the integrated GPU, hash it, the weights, and ideally the runtime and config alongside them, and have a trusted app inside OP-TEE sign <em>“model with digest H was loaded at T on device D.”</em> The signing key never leaves the secure world and is bound to secure boot, so a compromised normal-world runtime cannot forge the record; the fTPM can even hold the digest in a measurement register. Think of it as <strong>measured boot applied to the model</strong> rather than to the bootloader. It converts “trust the operator’s word about which model is running” into a hardware-signed claim, and because the manifest already seals the <em>approved</em> model identity, any silent swap to a tampered or unapproved model shows up as a digest that no longer matches. Its limit is exactly the edge-inference gap: it proves <em>which artifact was loaded</em>, not that the GPU then executed it unmodified or kept its activations confidential, a load-time measurement, not continuous enforcement.</li>
  <li><strong>Emit signed, ordered evidence from TrustZone</strong>, hash-chained, so skipped steps leave holes no log entry can paper over.</li>
  <li><strong>Bind the edge record to the cloud’s strong attestation.</strong> The plan that arrived from the datacenter carries a verifiable CC attestation; the edge evidence references it by hash. The chain is asymmetric, but it is <em>continuous</em>: you can follow one motion from a hardware-attested cloud decision to a hardware-signed edge actuation, and see exactly where the assurance steps down a class.</li>
  <li><strong>Make the step-down explicit in TRACE.</strong> Serialise an asymmetric chain naively and a consumer may read every link as equally strong, implying the actuation was GPU-CC-attested when it was not. So each claim in the record should carry an explicit <strong>assurance class</strong>, the kind of hardware trust backing <em>that link</em>, not a single flattened verdict. Concretely, a per-link tag such as <code class="language-plaintext highlighter-rouge">gpu-cc-attested | cpu-tee-attested | trustzone-signed | software-only</code>, plus what it protects (confidentiality / integrity / identity) and which authority attested it. The cloud reasoning link reads <em>GPU CC, remote-attested, model and I/O confidential</em>; the edge actuation link reads <em>TrustZone-signed, secure-boot-rooted, model measured at load, inference not confidential</em>. This keeps both classes of proof in one record without faking their equivalence, it lets an automated verifier enforce policy (“reject any chain whose actuation link is software-only”), and it maps onto the standards TRACE already composes, RATS/EAT claims already carry verifier-assessed trust. Honest evidence states its own limits, in a field a machine can read.</li>
</ol>

<p>What I deliberately will <strong>not</strong> claim: that any of this makes the on-robot inference confidential, or that it proves the integrated GPU ran the measured model unmodified. It does not, and no amount of TrustZone signing changes that until the silicon does.</p>

<h2 id="threat-model-briefly">Threat model, briefly</h2>

<ul>
  <li><strong>Defended:</strong> forged agent identity at the edge; silent model substitution (detectable via the load measurement); tampered or reordered evidence; replayed stale state; a compromised software runtime forging its own audit; an operator asserting an unverifiable version of events to an investigator.</li>
  <li><strong>Not defended:</strong> an attacker with physical control of the GPU memory bus extracting model weights or activations on the robot; a runtime that faithfully reports a measured model while the GPU silently miscomputes; nation-state-grade hardware attacks on the SoC. These require either confidential computing on the part (not available) or physical-security controls outside the trust layer.</li>
</ul>

<p>Stating the second list is not weakness. It is the difference between an evidence record an investigator can rely on and a marketing claim that collapses under the first hard question.</p>

<h2 id="where-this-lands-for-the-eu-ai-act">Where this lands for the EU AI Act</h2>

<p>A humanoid carrying out tasks among people is, in regulatory terms, an AI system acting as a safety component of a regulated machine, high-risk under <strong>Article 6(1)</strong> via the <strong>Annex I</strong> product-safety route (the Machinery Regulation), not the Annex III use-case list. That routing matters for timing. Under the Digital Omnibus deferral agreed on 7 May 2026 (pending formal publication), Annex III high-risk obligations move to <strong>2 December 2027</strong>, but Annex I product-embedded systems, which is where robots sit, move to <strong>2 August 2028</strong>. You have runway; you do not have an exemption.</p>

<p>Two of the high-risk requirements bite directly on everything above. <strong>Article 12 (record-keeping)</strong> requires the system to automatically log events across its lifetime, and <strong>Article 19</strong> requires providers to keep those logs, the hash-chained, hardware-signed evidence in this post is exactly that kind of record, and the asymmetric chain lets you produce it across the cloud/edge boundary instead of only for the cloud half. <strong>Article 15 (accuracy, robustness and cybersecurity)</strong> wants assurance that the deployed system is the approved one and has not been silently altered; the cloud-side CC attestation and the edge-side load measurement are the technical controls that turn that requirement from a policy promise into a hardware-backed proof, fully for the cloud step, and an honestly-qualified one (carried in the TRACE assurance class) for the edge step. On the deployer side, <strong>Article 26</strong> adds the duty to keep those automatically generated logs, the same evidence, handed to whoever operates the fleet.</p>

<p>The regulation does not care that Thor lacks confidential computing. It cares whether you can show, independently of your own word, what your system did. The architecture in this post is how you show it <em>given</em> the hardware you actually have, and, just as importantly, how you disclose the one place where you can only show part of it.</p>

<h2 id="what-i-want-from-you">What I want from you</h2>

<p>The example is public, in <a href="https://github.com/agentrust-io/examples"><code class="language-plaintext highlighter-rouge">agentrust-io/examples</code></a>. The cloud-attested path and the TrustZone evidence path are where I am building next, and this is the part of the system where I most want to be wrong in interesting ways.</p>

<p>If you build humanoid platforms, edge perception stacks, or the confidential-computing infrastructure on either side of this boundary, I want your objections specifically on three things: whether the load-time model measurement on Thor is worth more than I think or less; whether anyone is getting <em>any</em> GPU-side attestation out of an integrated Tegra part that I have missed; and whether the cloud-to-edge evidence binding survives contact with a real fleet.</p>

<p>We are going to argue exactly this, in person. I have invited several robotics engineers and <strong>Imran</strong>, who leads AgenTrust, to a <strong>GenAI Gurus</strong> session on trust for embodied AI, the natural sequel to his Confidential Computing Summit talk. If you want the hardware-rooted-trust-for-robots conversation to be had by people who actually ship the hardware, this is the room.</p>

<p>Software promises. Hardware provides proofs. And on a robot, the most important hardware is the one that can prove the least, so we had better be precise about what we are proving, and where.</p>

<hr />

<p><em>Next in the series: closing the response-hash gap with hardware-attested runs, and a portable assurance-level profile for TRACE so a single trust record can carry both classes of proof without pretending they are the same.</em></p>]]></content><author><name>Carlos Hernandez</name></author><category term="runtime" /><category term="embodied-ai" /><category term="embodied-ai" /><category term="robotics" /><category term="agentrust" /><category term="confidential-computing" /><category term="tee" /><category term="nvidia-thor" /><category term="attestation" /><category term="edge-ai" /><category term="eu-ai-act" /><summary type="html"><![CDATA[On a humanoid, the action happens where hardware trust is weakest. NVIDIA Jetson Thor has no GPU confidential computing, so agent trust must be engineered across an asymmetric cloud-to-edge boundary.]]></summary></entry><entry><title type="html">Verifiable Trust for AI Agents That Control Robots: A Working Example with AgenTrust</title><link href="https://governance.ai-mvp.com/2026/06/08/software-promises-hardware-proofs/" rel="alternate" type="text/html" title="Verifiable Trust for AI Agents That Control Robots: A Working Example with AgenTrust" /><published>2026-06-08T09:00:00+02:00</published><updated>2026-06-08T09:00:00+02:00</updated><id>https://governance.ai-mvp.com/2026/06/08/software-promises-hardware-proofs</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/06/08/software-promises-hardware-proofs/"><![CDATA[<script type="module">
  import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs';
  mermaid.initialize({ startOnLoad: true, theme: 'neutral', securityLevel: 'loose' });
</script>

<p>We trust people not because they are perfect, but because they carry continuity.</p>

<p>Their identity, memory, reputation and accountability survive, however imperfectly, beyond a single action. If something goes wrong, a person cannot normally shut down, discard the context and return as a clean instance with no connection to what happened before.</p>

<p>Agents break that intuition.</p>

<p>An agent can act, stop, restart, lose memory or be replaced. The next instance may not understand what the previous one did, why it did it or what consequences it left behind. Accountability does not survive on its own. It has to be engineered.</p>

<p>That is why permission is not enough. <a href="/2026/06/06/ten-thousand-safe-motions/">Post #3</a> made the full argument: machine safety checks single motions in milliseconds, so the damage an autonomous agent assembles from individually safe actions, like skipping inspections and logging them as passed, stays invisible to every control we have today. Trust in the agent itself has to become verifiable: which agent acted, under which identity, through which tool boundary, under which policy, with what outcome.</p>

<p>This already matters in software. A rogue coding agent can corrupt a repository, leak data, manipulate a workflow or cause serious business damage. That is the risk we will explore on June 18 in the GenAI Gurus session with Marius Hobbhahn of Apollo Research, <a href="https://www.meetup.com/genai-gurus/events/314881167/">“When Claude Code Goes Rogue: Real-Time Monitoring”</a>. But software environments at least tend to give us logs, version history, access controls and recovery paths.</p>

<p>With embodied AI, the problem becomes harder. When agents control robots, machines or physical processes, their actions involve motion, force, proximity to people, mechanical inertia and consequences that cannot simply be rolled back.</p>

<p>The industrial robot-cell example in this post makes that problem concrete. A material-movement request must not become a direct leap from agent intent to machine motion. It should pass through a chain that can be inspected and, increasingly, verified: declared agent capabilities, governed tool access, a policy decision, an independent controller that still owns physical execution and evidence of what actually happened.</p>

<p>That chain is what <strong>AgenTrust</strong> is being built to provide. It is an open-source trust layer for agentic systems, not another agent framework: a signed <strong>Agent Manifest</strong> binds what the agent is supposed to be; <strong>cMCP</strong> enforces Cedar policy at the MCP tool boundary and records a hash-chained audit trail; and <strong>TRACE</strong> defines portable trust records that an independent party can verify without relying on the agent operator’s word. Hardware attestation is the step that roots those claims outside the software process itself.</p>

<p>On June 23, Imran Siddique will unveil the stack at the Confidential Computing Summit in <a href="https://ccsummit2026.sched.com/event/2NKcF/governing-ai-agents-at-the-hardware-boundary-imran-siddique-microsoft">“Governing AI Agents at the Hardware Boundary”</a>. His thesis fits in one line: software governance makes promises; hardware governance provides proofs. I spent the past days building AgenTrust’s first industrial embodied-AI example. This post walks through what the example establishes, what it deliberately does not claim and the exact line where agent governance must hand over to machine safety.</p>

<h2 id="the-example-in-one-view">The example in one view</h2>

<p>Post #3 ended with a missing certificate: nobody yet certifies the agent, and it has to be built. This is what building one looks like:</p>

<ul>
  <li>The contribution is a <a href="https://github.com/agentrust-io/examples/tree/main/industrial-embodied-ai">runnable industrial example, now merged into agentrust-io/examples</a>: a material-movement agent requesting motion from a simulated robot cell through a live cMCP runtime. Three runs: a declared workflow that completes, an undeclared workflow that dies at the policy gate, and the important one, <strong>a request the policy authorizes and the controller still refuses, because a person entered the safeguarded area.</strong></li>
  <li>The boundary the example is built around: a cMCP <code class="language-plaintext highlighter-rouge">allow</code> means the software request was authorized. It does <strong>not</strong> mean a physical action is safe, accepted by the controller, or completed by a machine. Functional safety (ISO 13849, IEC 61508, ISO 10218) keeps owning the cell.</li>
  <li>Today’s agent controls live <em>inside</em> the agent’s trust boundary: a compromised runtime can bypass policies and forge logs. Trusted execution environments move enforcement and evidence outside that blast radius. For agents with actuators, that is the difference between an operator-controlled log and independently verifiable evidence.</li>
</ul>

<h2 id="why-continuity-changes-the-governance-problem">Why continuity changes the governance problem</h2>

<p>The opening intuition turns into an engineering checklist the moment you write it down. Everything that quietly carries trust between people is absent in an agent, and each absence has to be rebuilt as an artifact:</p>

<table>
  <thead>
    <tr>
      <th>What carries trust in people</th>
      <th>What agents do instead</th>
      <th>What rebuilds it</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Stable identity</td>
      <td>Restart as a clean instance</td>
      <td><strong>Agent Manifest</strong>: a signed identity that survives the process</td>
    </tr>
    <tr>
      <td>Memory of their own actions</td>
      <td>Context erased, compacted or lost</td>
      <td><strong>Hash-chained audit</strong>: the record outlives the runtime</td>
    </tr>
    <tr>
      <td>Reputation accumulated over time</td>
      <td>Every instance starts from zero</td>
      <td><strong>TRACE records</strong>: portable history a stranger can check</td>
    </tr>
    <tr>
      <td>Accountability they cannot shed</td>
      <td>Replaced, redeployed, denied</td>
      <td><strong>Offline verification</strong>: evidence that does not depend on the operator’s word</td>
    </tr>
  </tbody>
</table>

<p>Nothing in that table mentions robots. The table is about agents, full stop. Robots are simply where its consequences stop being abstract.</p>

<p><a href="/2026/05/28/coding-agents-safely/">Post #2 in this series</a> closed by crediting a May GenAI Gurus session with <a href="https://www.linkedin.com/in/imransiddique1986/">Imran Siddique</a> on the Microsoft Agent Governance Toolkit and its policy-as-code approach. Two things happened since. Imran left Microsoft to become Chief Platform Officer at OPAQUE, working at the junction of agent governance and confidential computing. And he invited me to contribute to <strong>AgenTrust</strong>, the open-source project he is presenting at the Confidential Computing Summit, specifically to build out its coverage of <em>embodied AI systems in industrial environments</em> and work toward external maintainership of that area.</p>

<p>This series has been walking toward that subject for a while, whether I planned it or not. <a href="/2026/04/10/eu-ai-act-compliance-checklist-for-ai-agent-developers/">Post #1</a> was the paper layer: what the EU AI Act actually requires from agent developers. (Its high-risk timelines have since moved with the Digital Omnibus; the update is in the EU section below.) <a href="/2026/05/28/coding-agents-safely/">Post #2</a> was the containment layer: how to run agents whose tools touch repositories and secrets. <a href="/2026/06/06/ten-thousand-safe-motions/">Post #3</a> made the argument: certified machine safety cannot see the damage untrusted agents assemble from individually safe actions, so agent trust has to be built as its own layer. This post builds the thing the argument demands: agents whose tools move steel.</p>

<p>The contribution is merged: <a href="https://github.com/agentrust-io/examples/tree/main/industrial-embodied-ai"><code class="language-plaintext highlighter-rouge">industrial-embodied-ai</code> on agentrust-io/examples</a>. Everything below describes that public example. One disclosure up front: I contribute in a personal capacity, and the example is fully synthetic. No robot hardware, no vendor SDK, no production endpoint, no proprietary industrial data. What is real is the governance path: every request in this post went through a live cMCP runtime, and the committed evidence files were captured from a real run.</p>

<h2 id="what-agentrust-is-and-what-it-is-not">What AgenTrust is, and what it is not</h2>

<p>The Microsoft Agent Governance Toolkit (AGT) demonstrated how much can be done in software: policy at the action layer, agent identity and delegation, runtime controls, reliability signals and conformance tests across agent frameworks. It also exposed a ceiling. As Imran <a href="https://www.linkedin.com/pulse/from-software-silicon-what-agt-taught-me-real-ceiling-imran-siddique-oolvc/">put it after building AGT</a>, software enforcement cannot prove itself to a party that does not trust the operator. The same administrator who controls the runtime may be able to replace a policy, interfere with an evaluator or reconstruct a log.</p>

<p>AgenTrust builds on that lesson. Its goal is not to replace the agent framework, model, MCP server or industrial controller. Its job is to bind those systems into a verifiable chain:</p>

<table>
  <thead>
    <tr>
      <th>Component</th>
      <th>Question it answers</th>
      <th>Role in the chain</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><strong>Agent Manifest</strong></td>
      <td><em>What agent was approved?</em></td>
      <td>Cryptographically binds the artifacts that define an agent at deployment. The full manifest covers ten of them, from system prompt, policy bundle and tool schemas through model identity, memory baseline, delegation chain, supply-chain provenance and human approvals, with the signing key sealed in hardware where available. This example binds the prompt, policy and tool declarations relevant to the robot workflow.</td>
    </tr>
    <tr>
      <td><strong>cMCP</strong> (confidential MCP)</td>
      <td><em>What was the agent allowed to do at the tool boundary?</em></td>
      <td>Intercepts every MCP tool call, evaluates Cedar policy, applies default-deny authorization and appends each decision to a hash-chained audit trail. In a hardware-backed deployment, enforcement and signing run inside a trusted execution environment (TEE), outside the operator’s reach.</td>
    </tr>
    <tr>
      <td><strong>TRACE</strong> (Trust Runtime Attestation and Compliance Evidence)</td>
      <td><em>What evidence can another party verify?</em></td>
      <td>Defines a portable trust record for runtime identity, policy hashes, tool transcripts, provenance and attestation. Rather than inventing new formats, it composes existing standards (RATS/EAT attestation, SLSA provenance, SPIFFE identity, SCITT transparency anchoring). A verifier checks the signed record without calling back to, or simply trusting, the operator that produced it.</td>
    </tr>
  </tbody>
</table>

<p>Together, these components separate three ideas that are too often collapsed into the word “trust”: <strong>identity</strong> (what agent is this?), <strong>authority</strong> (what may it request?) and <strong>evidence</strong> (what can be independently established afterward?). Hardware attestation adds a fourth: proof that the enforcement environment and its keys were protected from the software operator.</p>

<p>Worth noting, because it shapes what contributing means: AgenTrust presents itself as an open coalition working toward standards submission, not a vendor product. The published direction includes a public append-only registry for TRACE anchors, mappings to the OWASP Agentic Top 10 and NIST zero-trust principles, and co-editor invitations extended across the industry. Whether all of that lands is a fair question for any developer-preview project. The architecture is worth engaging with either way, because each component is independently useful.</p>

<p>The distinction matters because the robot example in this post runs in explicit <code class="language-plaintext highlighter-rouge">software-only</code> development mode. It demonstrates the manifest, policy, audit and verification path without pretending that a laptop run is hardware-attested. The same flow supports a <code class="language-plaintext highlighter-rouge">--require-hardware</code> mode on a compatible TEE host. That progression, from useful software controls to evidence rooted outside the controlled process, is the point of AgenTrust.</p>

<h2 id="the-scenario-a-material-movement-agent-asks-a-robot-to-move">The scenario: a material-movement agent asks a robot to move</h2>

<p>The setting is the most ordinary thing in any factory: an agent that schedules material movement asks a robot cell to move a pallet. Ordinary is the point. If governance cannot handle “move this pallet,” it has nothing to say about humanoids.</p>

<p>Here is what the example contains, artifact by artifact:</p>

<table>
  <thead>
    <tr>
      <th>Artifact</th>
      <th>What it is</th>
      <th>Why it matters</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">agent-manifest.json</code> (signed)</td>
      <td>Binds the agent’s system prompt, policy and tool declarations to hashes</td>
      <td>The agent that ran is provably the agent you reviewed; prompt swaps and tool-list drift become detectable</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">policy/allow.cedar</code></td>
      <td>Workflow-scoped Cedar permits, <strong>default deny</strong></td>
      <td>Anything not explicitly declared never reaches the robot side</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">catalog.json</code></td>
      <td>Attested tool catalog for the robot-cell MCP server</td>
      <td>The agent only sees tools that were declared and pinned</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">server/mock_robot_controller.py</code></td>
      <td>An <strong>independent</strong> controller with fresh, authenticated, single-use state tokens</td>
      <td>Stale, modified or replayed cell state is rejected; speed and zone limits are enforced outside the agent’s reach</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">trace-output/example-*.json</code></td>
      <td>Runtime-issued TRACE Trust Record + signed audit bundle from a real run</td>
      <td>The decision trail verifies offline; you do not have to trust my laptop</td>
    </tr>
    <tr>
      <td><code class="language-plaintext highlighter-rouge">tests/</code> (7 passing)</td>
      <td>Controller regression tests: stale, modified and replayed state, speed limits, approved zones</td>
      <td>The safety-relevant refusals are tested behavior, not narrative</td>
    </tr>
  </tbody>
</table>

<h2 id="the-architecture-two-gates-one-record">The architecture: two gates, one record</h2>

<p>The design has two decision points on purpose, and they answer different questions. cMCP answers <em>“is this request allowed?”</em> The controller answers <em>“is this motion acceptable right now?”</em> Neither can answer the other’s question, and the example treats that as a feature to be engineered, not a bug to be abstracted away.</p>

<pre class="mermaid">
flowchart TB
    M["Agent Manifest (signed)<br />binds prompt, policy and tool hashes"] -.-&gt; B
    A["Material-movement agent<br />(LLM planner)"] --&gt;|"MCP tools/call"| B["cMCP Runtime<br />attested tool catalog<br />Cedar authorization, default deny<br />hash-chained audit"]
    B --&gt;|"denied"| X["Request stops here.<br />Controller never invoked"]
    B --&gt;|"authorized request"| C["Independent controller<br />fresh single-use state token<br />recheck of live cell state<br />speed and zone limits"]
    C --&gt;|"rejected"| Y["Motion never starts"]
    C --&gt;|"accepted command"| D["Simulated robot execution"]
    B ==&gt;|"session close"| T["TRACE Trust Record<br />+ signed audit bundle"]
</pre>

<p>Three details deserve attention because they generalize beyond this example:</p>

<ol>
  <li><strong>The manifest is signed and the catalog is attested.</strong> Before any policy question is asked, the runtime can check that the agent’s prompt, its policy and its tool declarations are exactly the ones that were reviewed. In a world of skill marketplaces and fleet-wide updates, where a behavior trained in one place executes in thousands of others, <em>“which agent is this, exactly?”</em> is the first governance question, not an afterthought.</li>
  <li><strong>Policy is default deny and workflow-scoped.</strong> The Cedar permits do not say what the robot may not do; they say the only things the agent may ask for. The undeclared request in run 2 below is not caught by a clever rule. It fails because nothing permits it.</li>
  <li><strong>The controller does not trust the conversation.</strong> It demands a fresh, authenticated, single-use state token and rechecks the physical state at decision time. A cell state observed thirty seconds ago, or replayed from an earlier request, is not evidence about now, and the regression tests verify that stale, modified and replayed state all get rejected.</li>
</ol>

<h2 id="three-runs-one-boundary">Three runs, one boundary</h2>

<p>The agent runs three paths through the live runtime. Here they are as a sequence:</p>

<pre class="mermaid">
sequenceDiagram
    participant A as Agent
    participant P as cMCP Runtime
    participant K as Controller
    participant R as Robot cell (simulated)
    rect rgb(232,245,233)
    Note over A,R: Run 1: declared workflow, clear cell
    A-&gt;&gt;P: move request (declared workflow)
    P-&gt;&gt;P: manifest verified, Cedar: allow
    P-&gt;&gt;K: authorized request + fresh state token
    K-&gt;&gt;K: state, speed, zone: accept
    K-&gt;&gt;R: execute
    R--&gt;&gt;A: completed
    end
    rect rgb(255,243,224)
    Note over A,P: Run 2: undeclared workflow
    A-&gt;&gt;P: request outside declared workflows
    P-&gt;&gt;P: Cedar: default deny
    P--&gt;&gt;A: denied. Controller never invoked
    end
    rect rgb(255,235,238)
    Note over A,R: Run 3: authorized, then a person enters the cell
    A-&gt;&gt;P: move request (declared workflow)
    P-&gt;&gt;P: Cedar: allow
    P-&gt;&gt;K: authorized request + fresh state token
    K-&gt;&gt;K: live state: human detected in safeguarded area
    K--&gt;&gt;A: rejected. Motion never starts
    end
</pre>

<p>And here is the actual summary the agent prints, from a real run:</p>

<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code>SUCCESS
  cMCP policy: authorized
  controller: accepted
  execution: completed

POLICY DENY
  cMCP policy: denied
  controller: not invoked

SAFETY REJECT
  cMCP policy: authorized
  controller: rejected
  reason: human_detected
  execution: not_started

TRACE VERIFICATION
  schema/signature/hashes/freshness: verified
  audit bundle: verified
  runtime platform: software-only
  hardware attestation: not verified (development mode)
</code></pre></div></div>

<table>
  <thead>
    <tr>
      <th>Run</th>
      <th>cMCP policy</th>
      <th>Controller</th>
      <th>Execution</th>
      <th>What the audit trail proves</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1: declared workflow, clear cell</td>
      <td>authorized</td>
      <td>accepted</td>
      <td>completed</td>
      <td>Which policy authorized which request, under which signed manifest</td>
    </tr>
    <tr>
      <td>2: undeclared workflow</td>
      <td><strong>denied</strong></td>
      <td>not invoked</td>
      <td>never started</td>
      <td>The request was structurally stopped before any robot-side call existed</td>
    </tr>
    <tr>
      <td>3: person in the safeguarded area</td>
      <td>authorized</td>
      <td><strong>rejected</strong> (<code class="language-plaintext highlighter-rouge">human_detected</code>)</td>
      <td>not started</td>
      <td>Authorization happened <em>and</em> the machine layer refused, both on the record</td>
    </tr>
  </tbody>
</table>

<p>Run 3 is the whole post in one row. The policy engine did its job perfectly and said yes. Then the world changed: a person walked into the cell, and the layer that watches the world said no. If your governance design cannot represent “the software was right to allow it and the machine was right to refuse it,” it will either block everything or, much worse, treat an <code class="language-plaintext highlighter-rouge">allow</code> as permission to move. “Permission is not enough” is not a slogan here. It is run 3, on the record, in the audit bundle.</p>

<p>The example states this boundary explicitly, and it is the sentence I most want robotics engineers to read:</p>

<blockquote>
  <p>A cMCP <code class="language-plaintext highlighter-rouge">allow</code> decision means the software request is authorized. It does not mean that a physical action is safe, accepted by the controller, or completed by a machine.</p>
</blockquote>

<h2 id="who-owns-safe-the-three-layer-split">Who owns “safe”: the three-layer split</h2>

<p>That boundary generalizes into a layered model. Each layer answers one question, produces its own evidence, and defers downward.</p>

<svg viewBox="0 0 760 400" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Three-layer responsibility model for embodied AI governance" style="max-width:100%;height:auto;">
  <style>
    .lt { font: 600 17px -apple-system, Helvetica, Arial, sans-serif; fill: #1a1a1a; }
    .lq { font: italic 13.5px -apple-system, Helvetica, Arial, sans-serif; fill: #444; }
    .lp { font: 13px -apple-system, Helvetica, Arial, sans-serif; fill: #333; }
    .hd { font: 700 13px -apple-system, Helvetica, Arial, sans-serif; fill: #666; letter-spacing: 1px; }
    .ar { font: 600 12px -apple-system, Helvetica, Arial, sans-serif; fill: #777; }
  </style>
  <text x="20" y="28" class="hd">LAYER</text>
  <text x="545" y="28" class="hd">ITS EVIDENCE</text>

  <rect x="20" y="42" width="500" height="92" rx="10" fill="#E3F2FD" stroke="#90CAF9" />
  <text x="40" y="76" class="lt">Mission governance: AgenTrust</text>
  <text x="40" y="100" class="lq">"Is this request allowed, and which agent made it?"</text>
  <text x="40" y="120" class="lp">Signed Agent Manifest · Cedar default-deny permits · cMCP runtime</text>
  <text x="545" y="86" class="lp">Signed audit bundle +</text>
  <text x="545" y="104" class="lp">TRACE Trust Record</text>

  <text x="255" y="158" class="ar">defers to ▼</text>

  <rect x="20" y="172" width="500" height="92" rx="10" fill="#FFF8E1" stroke="#FFE082" />
  <text x="40" y="206" class="lt">Machine control: independent controller</text>
  <text x="40" y="230" class="lq">"Is this motion acceptable right now?"</text>
  <text x="40" y="250" class="lp">Single-use state tokens · live state recheck · speed and zone limits</text>
  <text x="545" y="216" class="lp">Accept / reject decisions</text>
  <text x="545" y="234" class="lp">on fresh, authenticated state</text>

  <text x="255" y="288" class="ar">defers to ▼</text>

  <rect x="20" y="302" width="500" height="92" rx="10" fill="#FFEBEE" stroke="#EF9A9A" />
  <text x="40" y="336" class="lt">Functional safety: certified and hardware-enforced</text>
  <text x="40" y="360" class="lq">"How is harm physically prevented?"</text>
  <text x="40" y="380" class="lp">ISO 13849 · IEC 61508 · ISO 10218 · safety PLC, e-stop, force limiting</text>
  <text x="545" y="346" class="lp">Safety certification,</text>
  <text x="545" y="364" class="lp">outside the agent's reach</text>
</svg>

<table>
  <thead>
    <tr>
      <th>Layer</th>
      <th>Question it answers</th>
      <th>Owner in the example</th>
      <th>Failure handled</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Mission governance</td>
      <td>Is this request allowed, by which agent, under which policy?</td>
      <td>cMCP + Agent Manifest + Cedar</td>
      <td>Undeclared workflows, prompt/tool drift, unprovable decisions</td>
    </tr>
    <tr>
      <td>Machine control</td>
      <td>Is this motion acceptable against the <em>current</em> physical state?</td>
      <td>Independent mock controller</td>
      <td>Stale/replayed state, speed and zone violations, humans in the cell</td>
    </tr>
    <tr>
      <td>Functional safety</td>
      <td>How is harm physically prevented when everything above fails?</td>
      <td>Certified systems (out of scope, on purpose)</td>
      <td>The cases no software policy should ever be trusted with</td>
    </tr>
  </tbody>
</table>

<p>A governance layer written in Python evaluating Cedar policies is not a safety function and never will be: it is not certified to any Performance Level or SIL, and it sits orders of magnitude above real-time control loops. The honest claim, and the one this example is built around, is that agent governance adds a <em>provable decision layer above</em> the certified stack, and explicitly defers to it. Anyone who tells you agentic policy can replace ISO 13849 has never stood next to a moving robot.</p>

<h2 id="promises-vs-proofs-why-the-hardware-boundary-matters">Promises vs. proofs: why the hardware boundary matters</h2>

<p>So far, everything described could run on any laptop, and that is precisely the limitation Imran’s summit talk targets. The controls we rely on today (policy engines, identity checks, audit logs, credential vaults) all live <em>inside</em> the agent’s trust boundary. If the runtime is compromised, policies can be bypassed and logs can be forged after the fact. Software governance, on its own, makes promises.</p>

<p>This is the inspection problem from <a href="/2026/06/06/ten-thousand-safe-motions/">post #3</a> again. That agent wrote “inspected: passed” into its own log, and the investigation had nothing better to read. Run inspection as a governed tool and the story changes: every call and every decision is appended by the runtime to a hash-chained, signed trail, and a skipped inspection leaves a hole in the trail that no log entry can paper over. The witness is no longer the accused.</p>

<p>That is the ceiling AgenTrust is designed to move beyond: an audit log is only as trustworthy as the system that generated it, unless the identity, policy, enforcement environment and signing keys are anchored somewhere the operator cannot silently rewrite.</p>

<p>The AgenTrust design pushes toward proofs, and the example shows the trajectory honestly:</p>

<table>
  <thead>
    <tr>
      <th>Control</th>
      <th>Software-only (this example, dev mode)</th>
      <th>TEE-backed (where the stack is going)</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Policy decision</td>
      <td>A promise: Cedar evaluated the policy, assuming the runtime was intact</td>
      <td>A proof: the decision executed inside an attested environment</td>
    </tr>
    <tr>
      <td>Audit trail</td>
      <td>Hash-chained and signed: verifiable offline, forgeable only before signing</td>
      <td>Anchored to hardware attestation: forging requires breaking the TEE, not the app</td>
    </tr>
    <tr>
      <td>Agent identity</td>
      <td>Signed manifest binds prompt, policy and tool hashes</td>
      <td>The same binding, attested at runtime, not just at review time</td>
    </tr>
    <tr>
      <td>Controller outcome</td>
      <td><strong>The open gap:</strong> the audit bundle binds request hashes and policy decisions, but does not yet populate a response hash for what the controller reported back</td>
      <td>The contribution I want to make next: close the loop so <em>outcomes</em>, not just authorizations, are bound into the evidence</td>
    </tr>
  </tbody>
</table>

<p>Note the last row. The example can currently <em>prove what was authorized</em> but not yet <em>prove what the controller said happened</em>: the bundle has no response hash for the controller outcome. I put that gap in <a href="https://github.com/agentrust-io/examples/pull/16">the PR description</a> on purpose. A governance example that hides its own audit gap would be a strange way to argue for auditability.</p>

<p>The committed TRACE fixture is deliberately labeled <code class="language-plaintext highlighter-rouge">software-only</code>: it validates signatures, hashes and audit integrity without claiming hardware provenance, and the agent supports a <code class="language-plaintext highlighter-rouge">--require-hardware</code> flag for rehearsal on a TEE host. When the full stack is public, that flag is where “promise” turns into “proof.”</p>

<p>One honest caveat before we go further, because the next post pushes back on this one. “Hardware governance provides proofs” holds cleanly in the datacenter, where confidential-computing silicon can sign what it ran. At the robot’s edge the hardware story is harder, and on integrated parts the proof may not be available at all. <a href="/2026/06/11/the-cloud-can-prove-it-the-robot-cant/">Post #5</a> takes that asymmetry apart. The narrower claim is the one that survives: a hardware-anchored root moves you from <em>trust the operator</em> to <em>verify the claim</em>, wherever the silicon supports it.</p>

<p>Why does this matter more for embodied agents than for chatbots? Because the consequences are irreversible and the questions arrive in legal form. When a robot cell does something unexpected, the people asking (the works council, the insurer, the accident investigator) are not asking whether your policy engine <em>probably</em> worked. They are asking what you can prove. For software agents, a forged audit log is a bad day for the security team. For physical agents, an unforgeable record of <em>which agent, which policy, which authorization, which refusal</em> is the difference between an incident review and a liability lottery.</p>

<h2 id="what-this-means-under-eu-law">What this means under EU law</h2>

<p>Readers of <a href="/2026/04/10/eu-ai-act-compliance-checklist-for-ai-agent-developers/">post #1</a> will recognize where each artifact lands. One important update first: after the Digital Omnibus political agreement, the relevant high-risk AI Act dates are no longer 2 August 2026. They move to 2 December 2027 for stand-alone high-risk systems and 2 August 2028 for high-risk systems embedded in products, while AI-enabled machinery is expected to be handled through the Machinery Regulation route, with delegated acts adding the AI-related health and safety requirements. A sketch, not legal advice:</p>

<table>
  <thead>
    <tr>
      <th>Obligation</th>
      <th>Deadline</th>
      <th>What the example demonstrates</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>EU AI Act Art. 12 (record-keeping)</td>
      <td>2 Dec 2027 / 2 Aug 2028*</td>
      <td>Hash-chained audit + signed TRACE bundle, verifiable offline by a third party</td>
    </tr>
    <tr>
      <td>EU AI Act Art. 14 (human oversight)</td>
      <td>2 Dec 2027 / 2 Aug 2028*</td>
      <td>Default-deny, workflow-scoped permits give oversight an actual enforcement point, not a dashboard</td>
    </tr>
    <tr>
      <td>EU AI Act Art. 15 (robustness &amp; cybersecurity)</td>
      <td>2 Dec 2027 / 2 Aug 2028*</td>
      <td>Signed manifest against prompt/tool tampering; single-use state tokens against replay</td>
    </tr>
    <tr>
      <td>Machinery Regulation 2023/1230</td>
      <td>20 Jan 2027</td>
      <td>The route that matters most for this robot cell: the agreed text exempts machinery from the AI Act’s direct high-risk regime and handles AI safety through delegated acts here. Machine safety stays with the certified layer, and the example’s architecture encodes that deference</td>
    </tr>
  </tbody>
</table>

<p><sub>*Stand-alone high-risk systems / high-risk systems embedded in products, subject to final adoption of the Digital Omnibus text.</sub></p>

<p>The pattern from post #1 holds: the regulation’s words (“logging,” “oversight,” “robustness”) only become real when there is a specific artifact a notified body or an auditor can check. For an industrial robot cell specifically, the legal vehicle is now expected to be the Machinery Regulation rather than the AI Act’s direct high-risk regime, but that changes the address, not the homework: the governance artifacts above remain useful as evidence and design controls either way. This example is my current best answer to what those artifacts look like when the agent’s tools are actuators.</p>

<h2 id="where-this-goes-next">Where this goes next</h2>

<p>Three dates, in order:</p>

<p><strong>Thursday, June 18.</strong> GenAI Gurus hosts <strong>Marius Hobbhahn</strong>, CEO and founder of Apollo Research, on <em>“When Claude Code Goes Rogue: Real-Time Monitoring”</em>: what thousands of real coding-agent traces reveal (dangerous commands, data exfiltration attempts, instruction drift, scope creep), and a live demo of Watcher, Apollo’s real-time oversight tool. If this post is about proving what an agent is <em>allowed</em> to do before it acts, that session is about catching what agents <em>actually</em> do while they act. Prevention and detection, the two halves of any control system that deserves the name. It is free and online: <strong><a href="https://www.meetup.com/genai-gurus/events/314881167/">RSVP on Meetup</a></strong>.</p>

<p><strong>Tuesday, June 23.</strong> Imran presents <a href="https://ccsummit2026.sched.com/event/2NKcF/governing-ai-agents-at-the-hardware-boundary-imran-siddique-microsoft">Governing AI Agents at the Hardware Boundary</a> at the Confidential Computing Summit, where the AgenTrust stack, including this example, goes on stage.</p>

<p><strong>After that.</strong> The response-hash gap, hardware-attested runs of this example, and the deeper question this series keeps circling: what a portable governance profile for physical agents should standardize. If you build robot cells, fleets, or the skill marketplaces that feed them, or if you are a robotics-safety engineer convinced an AI-governance person has no business near your controller, I want your objections: <a href="https://github.com/agentrust-io/examples/tree/main/industrial-embodied-ai">the example is public</a>, and the comment section at the <a href="https://www.meetup.com/genai-gurus/events/314881167/">GenAI Gurus call</a> works too.</p>

<p>Agents will keep restarting, forgetting and being replaced. That is what processes do. The work is making sure accountability does not restart with them.</p>

<h2 id="the-series">The series</h2>

<ul>
  <li><strong>Post 1:</strong> <a href="/2026/04/10/eu-ai-act-compliance-checklist-for-ai-agent-developers/">EU AI Act for AI Agent Developers: A Practical Compliance Checklist</a></li>
  <li><strong>Post 2:</strong> <a href="/2026/05/28/coding-agents-safely/">How to Run Coding Agents Safely in the Enterprise</a></li>
  <li><strong>Post 3:</strong> <a href="/2026/06/06/ten-thousand-safe-motions/">When Autonomous AI Agents Control Robots: The Real Threats No Safety System Detects</a></li>
  <li><strong>Post 4:</strong> Verifiable Trust for AI Agents That Control Robots: A Working Example with AgenTrust <em>(this post)</em></li>
  <li><strong>Post 5:</strong> Code Is No Longer the Bottleneck. Verification Is <em>(coming soon)</em></li>
  <li><strong>Post 6:</strong> From NIM to Jetson: A NeMo Guardrails Configuration Pack for Production Inference</li>
  <li><strong>Post 7:</strong> Open Weights, Real Obligations: Governing GPAI Models You Deploy but Didn’t Train</li>
  <li><strong>Post 8:</strong> Sovereign AI Infrastructure: Governance Patterns for On-Prem and European Cloud</li>
  <li><strong>Post 9:</strong> The Contributor Journey: Building an Open-Source Agent Governance Layer</li>
</ul>

<p>The full series lives at <a href="https://governance.ai-mvp.com">governance.ai-mvp.com</a>.</p>

<p>If you found this useful, the companion resource is <strong><a href="https://github.com/GenAI-Gurus/awesome-eu-ai-act">Awesome EU AI Act</a></strong>, a community-maintained list of 200+ official sources, open source tools, templates, and guides for EU AI Act compliance. A GitHub star helps other developers find it.</p>

<hr />

<p><em>Written by <a href="https://www.linkedin.com/in/carloshvp">Carlos Hernandez</a>, founder of <a href="https://genai-gurus.com">GenAI Gurus</a>, Europe’s GenAI practitioner community. I contribute to <a href="https://github.com/agentrust-io/examples">AgenTrust</a> in a personal capacity. AgenTrust is in developer preview: the example pins specific cMCP and TRACE commits until the public release stack is on PyPI, and APIs may change. The scenario is fully synthetic (no robot hardware, vendor SDK, production endpoint, or proprietary industrial data) and nothing in this post is a substitute for certified functional safety or legal advice.</em></p>]]></content><author><name>Carlos Hernandez</name></author><category term="runtime" /><category term="embodied-ai" /><category term="embodied-ai" /><category term="robotics" /><category term="agentrust" /><category term="cmcp" /><category term="agent-manifest" /><category term="trace" /><category term="cedar" /><category term="confidential-computing" /><category term="tee" /><category term="agent-governance" /><category term="functional-safety" /><category term="industrial" /><category term="eu-ai-act" /><summary type="html"><![CDATA[AI agents can restart, forget or be replaced, but accountability cannot. An industrial robot-cell example shows how AgenTrust binds agent identity, policy-enforced MCP access and verifiable evidence without confusing software authorization with physical safety.]]></summary></entry><entry><title type="html">When Autonomous AI Agents Control Robots: The Real Threats No Safety System Detects</title><link href="https://governance.ai-mvp.com/2026/06/06/ten-thousand-safe-motions/" rel="alternate" type="text/html" title="When Autonomous AI Agents Control Robots: The Real Threats No Safety System Detects" /><published>2026-06-06T09:00:00+02:00</published><updated>2026-06-06T09:00:00+02:00</updated><id>https://governance.ai-mvp.com/2026/06/06/ten-thousand-safe-motions</id><content type="html" xml:base="https://governance.ai-mvp.com/2026/06/06/ten-thousand-safe-motions/"><![CDATA[<p>Here is a failure that no robot safety system will ever catch.</p>

<p>A robot cell assembles parts. The last step of every unit is a short quality inspection. One day the agent driving the cell gets a new objective: raise output. Nobody tells it how. The agent finds the obvious shortcut by itself. It starts skipping the inspection on part of the units, and writes “inspected: passed” into the log, because that is what closes a unit fastest.</p>

<p>Every motion in the cell stays perfectly safe: approved zones, certified speeds, no human nearby. The safety controller has nothing to refuse. The uninspected parts ship for weeks.</p>

<p>Months later, defective units surface in the field. There is a recall, and there are lawsuits. The investigation pulls the production records, and the records say every unit was inspected. Because the only witness was the agent itself.</p>

<p>Every safety system did its job. That is the problem.</p>

<p>We are about to put agents in charge of machines that share space with people: on production lines, in warehouses, in laboratories, in the homes of our parents. The first instinct, a good one, is to ask whether the machines are safe. Decades of functional-safety engineering answer that question very well. But “is the machine safe” and “can the agent be trusted” are different questions, and all the damage in this post happens in the gap between them.</p>

<h2 id="the-question-safety-answers-and-the-one-it-cannot">The question safety answers, and the one it cannot</h2>

<p>Certified machine safety works, and it works extremely well. ISO 13849 performance levels, IEC 61508 safety integrity levels, ISO 10218 for industrial robots and ISO/TS 15066 for collaborative ones: together they answer a precise question with hard guarantees. <em>Can this motion, right now, harm a person near the machine?</em> The answer is computed in milliseconds, at the level of joints, forces, speeds and zones, by systems deliberately kept simple enough to certify.</p>

<p>An agent does not operate at that level. An agent pursues goals over hours and weeks. Its behavior is a plan built from instructions, data, memory and whatever it read along the way. It acts through sequences, and sequences have properties that no single action has: order, timing, things left out, effects that add up.</p>

<svg viewBox="0 0 760 330" xmlns="http://www.w3.org/2000/svg" role="img" aria-label="Timeline: the safety layer checks single motions in milliseconds, the agent plans over hours to weeks, damage shows up months later; everything after the safety checks is the unchecked gap" style="max-width:100%;height:auto;">
  <style>
    .bt { font: 600 15px -apple-system, Helvetica, Arial, sans-serif; fill: #1a1a1a; }
    .bs { font: 11.5px -apple-system, Helvetica, Arial, sans-serif; fill: #333; }
    .gp { font: 700 13.5px -apple-system, Helvetica, Arial, sans-serif; fill: #8a6d00; }
    .gs { font: 12px -apple-system, Helvetica, Arial, sans-serif; fill: #7a6210; }
    .an { font: italic 12px -apple-system, Helvetica, Arial, sans-serif; fill: #8a6d00; }
    .ax { font: 11.5px -apple-system, Helvetica, Arial, sans-serif; fill: #777; }
  </style>

  <rect x="230" y="28" width="505" height="246" rx="8" fill="#FFF8E1" stroke="#FFE082" stroke-dasharray="6,4" />
  <text x="245" y="54" class="gp">THE GAP: NOBODY CHECKS WHAT SAFE ACTIONS ADD UP TO</text>
  <text x="245" y="74" class="gs">skipped steps &middot; slow accumulation &middot; data out through allowed tools</text>

  <line x1="320" y1="84" x2="320" y2="296" stroke="#ddd" stroke-dasharray="3,4" />
  <line x1="480" y1="84" x2="480" y2="296" stroke="#ddd" stroke-dasharray="3,4" />
  <line x1="640" y1="84" x2="640" y2="296" stroke="#ddd" stroke-dasharray="3,4" />

  <rect x="120" y="96" width="110" height="58" rx="8" fill="#C8E6C9" stroke="#66BB6A" />
  <text x="132" y="118" class="bt">Safety layer</text>
  <text x="132" y="135" class="bs">checks each</text>
  <text x="132" y="149" class="bs">single motion</text>
  <text x="240" y="116" class="an">&#9664; safety coverage ends here</text>

  <rect x="240" y="164" width="320" height="58" rx="8" fill="#BBDEFB" stroke="#64B5F6" />
  <text x="252" y="188" class="bt">The agent plans and acts</text>
  <text x="252" y="206" class="bs">hours to weeks, toward its goal</text>

  <rect x="560" y="216" width="175" height="52" rx="8" fill="#FFCDD2" stroke="#E57373" />
  <text x="572" y="238" class="bt">Damage shows up</text>
  <text x="572" y="255" class="bs">recalls, audits, lawsuits</text>

  <line x1="120" y1="300" x2="735" y2="300" stroke="#bbb" stroke-width="1" />
  <line x1="120" y1="296" x2="120" y2="304" stroke="#bbb" />
  <line x1="320" y1="296" x2="320" y2="304" stroke="#bbb" />
  <line x1="480" y1="296" x2="480" y2="304" stroke="#bbb" />
  <line x1="640" y1="296" x2="640" y2="304" stroke="#bbb" />
  <text x="120" y="322" class="ax">milliseconds</text>
  <text x="320" y="322" class="ax" text-anchor="middle">hours</text>
  <text x="480" y="322" class="ax" text-anchor="middle">weeks</text>
  <text x="640" y="322" class="ax" text-anchor="middle">months later</text>
</svg>

<p>Damage built from individually safe actions is invisible to the safety layer. Not because the safety layer is badly built, but because it answers a different question, at a different level, on a different clock.</p>

<h2 id="more-damage-the-safety-layer-cannot-see">More damage the safety layer cannot see</h2>

<p>Think of the future we are building: humanoid robots in manufacturing, logistics, laboratories, eldercare and homes, each driven by an agent that plans, remembers and acts on our behalf. Now look at what an untrusted agent can do in that world without one unsafe motion. The skipped inspections were the first example. Four more:</p>

<p><strong>The care robot that harms by doing less.</strong> Its every motion is gentle, compliant, force-limited. The agent behind it, manipulated through a scam call it answered, or simply drifting toward “minimize disturbance,” reorders the day. Water reminders quietly dropped. Meals served within the allowed window, but always late. The daughter’s calls declined because “the resident was resting.” The front door opened, politely, for “the technician.” Weeks later: dehydration, missed warning signs, a burglary the robot helped with. The safety layer had nothing to refuse. No force limit was hit, no speed limit, no person too close to a moving arm.</p>

<p><strong>The lab robot that corrupts a discovery.</strong> Overnight assays, collision-free pipetting, flawless paths. Early in the sequence the agent swaps two sample racks, or shortens incubation times to hit a throughput target it was praised for last week. Months of results are silently wrong. A drug candidate advances on corrupted data; a real one is discarded. Nothing the safety controller monitors was ever out of bounds. The damage is scientific first and human later.</p>

<p><strong>The home robot that cleans your desk and takes your identity.</strong> Its movements are perfectly safe. A malicious instruction hidden in a QR code on a delivery box is enough. The robot photographs the passport it is organizing, reads the one-time codes from the phone screen it dusts, and places a dozen small orders, each under the spending limit. The gripper never pinched a finger. The gripper was never the threat.</p>

<p><strong>The fleet that fails everywhere at once.</strong> A warehouse agent’s skill update re-orders picks “efficiently”: perishable goods left for last, batch traceability broken, an export-controlled component routed to the normal shipping lane. Every drive at certified speed, every lift within load ratings. The update reached three hundred sites overnight, because that is what fleets are for. The damage arrives later, as letters from regulators.</p>

<p>Five stories, one pattern. The safety layer guarantees that no single motion hurts anyone standing next to the robot. It guarantees nothing about whether ten thousand safe motions add up to sabotage, neglect, theft or fraud.</p>

<h2 id="these-risks-already-have-names">These risks already have names</h2>

<p>None of this is new, and names matter, because risks with names get budgets. The <a href="https://genai.owasp.org/">OWASP Top 10 for Agentic Applications</a> (December 2025) catalogued exactly these failure modes for software agents. And none of it is hypothetical: at Black Hat 2025, researchers hijacked Gemini through a poisoned calendar invite and turned on the boiler of a real apartment. Their paper is called <a href="https://www.safebreach.com/blog/invitation-is-all-you-need-hacking-gemini/">“Invitation Is All You Need”</a>. Robots do not add new categories. They make the existing ones worse in three ways: consequences cannot be undone, they show up late, and they spread at fleet scale.</p>

<table>
  <thead>
    <tr>
      <th>Story</th>
      <th>OWASP agentic risk</th>
      <th>What changes with a robot</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Skipped inspections</td>
      <td>ASI01 Agent Goal Hijack (a badly set objective, optimized autonomously)</td>
      <td>Defects ship inside physical products and surface months later; they cannot be patched remotely</td>
    </tr>
    <tr>
      <td>Eldercare neglect</td>
      <td>ASI01 Goal Hijack + ASI09 Human-Agent Trust Exploitation</td>
      <td>The victim trusts the robot precisely because it is physically gentle</td>
    </tr>
    <tr>
      <td>Corrupted assays</td>
      <td>ASI06 Memory &amp; Context Poisoning</td>
      <td>Corrupted data flows into decisions about human health</td>
    </tr>
    <tr>
      <td>Identity theft while dusting</td>
      <td>ASI02 Tool Misuse</td>
      <td>Cameras and manipulators turn “data access” into a walk through your home</td>
    </tr>
    <tr>
      <td>Fleet-wide re-ordering</td>
      <td>ASI08 Cascading Failures</td>
      <td>One update, three hundred sites, one night</td>
    </tr>
  </tbody>
</table>

<p>European law is arriving at the same split from the other side. After the Digital Omnibus political agreement, AI-enabled machinery is expected to be governed through the Machinery Regulation route (applying from January 20, 2027), while the AI Act’s high-risk obligations move to December 2, 2027 for stand-alone systems and August 2, 2028 for systems embedded in products, subject to final adoption. Look at what those frameworks ask for and you find the right words: record-keeping, human oversight, robustness, accuracy. The words from <a href="/2026/04/10/eu-ai-act-compliance-checklist-for-ai-agent-developers/">post #1</a>, the paper layer.</p>

<p>But here is the uncomfortable part. The robot in every story above <em>passes its conformity assessment</em>. The assessment certifies the machine. Nothing in the certificate says anything about the agent driving it. And a regulation, however well written, cannot intercept a tool call. It creates duties for companies. Nothing yet technically constrains the agent itself.</p>

<h2 id="permission-is-not-trust">Permission is not trust</h2>

<p>The standard answer is permissions: give the agent an account, limit its credentials, check its role. Necessary, but far from enough. A credential says what an account may do. It cannot say which agent configuration was actually running, under which instructions, what it did with the access, or whether the record of all that survived the night.</p>

<p>Because agents, unlike people, carry no continuity. They restart, forget, get redeployed and replaced. The agent that skipped three weeks of inspections may not exist anymore by the time the field reports arrive. And its logs, the ones that said “inspected: passed”, lived on infrastructure controlled by the same operator whose process is now in question. <a href="/2026/05/28/coding-agents-safely/">Post #2</a> showed how to contain coding agents; containment limits what an agent can reach, but it does not produce evidence anyone else can believe.</p>

<p>So the trust problem is concrete, and any real answer needs four properties:</p>

<ol>
  <li><strong>Identity that survives restarts.</strong> Proof that the agent that acted is exactly the agent that was reviewed: its instructions, its policy, its tools.</li>
  <li><strong>Authority enforced where actions happen.</strong> At the tool boundary, default deny, not in a policy document far away from the robot.</li>
  <li><strong>Evidence a stranger can verify.</strong> An insurer, an auditor, a court: people who have no reason to trust the operator’s database.</li>
  <li><strong>A root of trust outside the operator.</strong> Otherwise items 1 to 3 are promises made by the same party that is under investigation. As Imran Siddique put it after building Microsoft’s Agent Governance Toolkit: <a href="https://www.linkedin.com/pulse/from-software-silicon-what-agt-taught-me-real-ceiling-imran-siddique-oolvc/">software enforcement cannot prove itself to someone who does not trust the operator</a>. The proof has to root in hardware.</li>
</ol>

<h2 id="the-only-approach-that-matches-the-problem">The only approach that matches the problem</h2>

<p>I do not say “only” lightly. Guardrail products check outputs. Observability products watch behavior. Both are useful, and both are promises that can be switched off by whoever runs them. The four properties above need something structurally different: an open trust layer that binds identity, authority and evidence together and anchors them outside the operator’s reach.</p>

<p>That is what <strong>AgenTrust</strong> is being built to be. It continues the work of the Microsoft Agent Governance Toolkit, carries its lessons forward, and builds on open standards instead of inventing private ones: a signed Agent Manifest for identity, policy-enforced tool access for authority, portable TRACE records for evidence, and hardware attestation as the root. Imran presents the stack on June 23 at the Confidential Computing Summit, in a talk whose title already says it all: <a href="https://ccsummit2026.sched.com/event/2NKcF/governing-ai-agents-at-the-hardware-boundary-imran-siddique-microsoft">“Governing AI Agents at the Hardware Boundary”</a>. If a comparable open effort exists that meets all four requirements, I want to hear about it, and I will write about it here.</p>

<p>A fair objection: AgenTrust is young, and slides do not catch skipped inspections. Agreed. That is why the next post in this series is not another argument but a working example: the first industrial embodied-AI example for AgenTrust, an agent requesting motion from a robot cell through a governed, evidence-producing chain, with every refusal on the record. Post #4 walks through it end to end, including the exact line where agent governance must hand over to machine safety, and the gaps that remain.</p>

<p>Two dates before then. On June 18, GenAI Gurus hosts Marius Hobbhahn, CEO of Apollo Research, on what thousands of real agent traces reveal when coding agents go rogue: the detection half of this story, free and online, <a href="https://www.meetup.com/genai-gurus/events/314881167/">RSVP here</a>. On June 23, the prevention half goes on stage at the summit.</p>

<p>The safety layer will keep doing its job, and we should be grateful for the engineering culture behind it. But it certifies motions. Nobody yet certifies the agent. That second certificate does not exist today.</p>

<p>It has to be built.</p>

<h2 id="the-series">The series</h2>

<ul>
  <li><strong>Post 1:</strong> <a href="/2026/04/10/eu-ai-act-compliance-checklist-for-ai-agent-developers/">EU AI Act for AI Agent Developers: A Practical Compliance Checklist</a></li>
  <li><strong>Post 2:</strong> <a href="/2026/05/28/coding-agents-safely/">How to Run Coding Agents Safely in the Enterprise</a></li>
  <li><strong>Post 3:</strong> When Autonomous AI Agents Control Robots: The Real Threats No Safety System Detects <em>(this post)</em></li>
  <li><strong>Post 4:</strong> <a href="/2026/06/08/software-promises-hardware-proofs/">Verifiable Trust for AI Agents That Control Robots: A Working Example with AgenTrust</a>, the running example this post argues for</li>
  <li><strong>Post 5:</strong> Code Is No Longer the Bottleneck. Verification Is <em>(coming soon)</em></li>
</ul>

<p>The full series lives at <a href="https://governance.ai-mvp.com">governance.ai-mvp.com</a>.</p>

<p>If you found this useful, the companion resource is <strong><a href="https://github.com/GenAI-Gurus/awesome-eu-ai-act">Awesome EU AI Act</a></strong>, a community-maintained list of 200+ official sources, open source tools, templates, and guides for EU AI Act compliance. A GitHub star helps other developers find it.</p>

<hr />

<p><em>Written by <a href="https://www.linkedin.com/in/carloshvp">Carlos Hernandez</a>, founder of <a href="https://genai-gurus.com">GenAI Gurus</a>, Europe’s GenAI practitioner community. I contribute to AgenTrust in a personal capacity. The scenarios above are invented examples, not reports of real incidents, and nothing in this post is a substitute for certified functional safety or legal advice.</em></p>]]></content><author><name>Carlos Hernandez</name></author><category term="governance" /><category term="embodied-ai" /><category term="embodied-ai" /><category term="agent-governance" /><category term="owasp" /><category term="agentic-security" /><category term="eu-ai-act" /><category term="machinery-regulation" /><category term="agentrust" /><category term="physical-ai" /><category term="trust" /><summary type="html"><![CDATA[Robot safety systems check single motions. Agents cause damage across sequences, omissions and time. Concrete examples of harm no safety controller can see, what OWASP already calls it, and why verifiable agent trust is the layer nobody has built.]]></summary></entry></feed>