<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: oscar gutierrez</title>
    <description>The latest articles on DEV Community by oscar gutierrez (@oscargutierrez527).</description>
    <link>https://dev.to/oscargutierrez527</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4103305%2Fde01e9ba-bc5e-4bf7-91b7-fea96f55606d.jpg</url>
      <title>DEV Community: oscar gutierrez</title>
      <link>https://dev.to/oscargutierrez527</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/oscargutierrez527"/>
    <language>en</language>
    <item>
      <title>Building an Evidence-Governed AI Operator for Power BI Engineering</title>
      <dc:creator>oscar gutierrez</dc:creator>
      <pubDate>Mon, 31 Aug 2026 20:30:23 +0000</pubDate>
      <link>https://dev.to/oscargutierrez527/building-an-evidence-governed-ai-operator-for-power-bi-engineering-4gp8</link>
      <guid>https://dev.to/oscargutierrez527/building-an-evidence-governed-ai-operator-for-power-bi-engineering-4gp8</guid>
      <description>&lt;h1&gt;
  
  
  Building an Evidence-Governed AI Operator for Power BI Engineering
&lt;/h1&gt;

&lt;h3&gt;
  
  
  What we learned by separating agent reasoning, deterministic engineering facts, and evidence-based completion
&lt;/h3&gt;

&lt;p&gt;Power BI projects rarely fail because teams have no diagnostics.&lt;/p&gt;

&lt;p&gt;There are already analyzers, rules, warnings, documentation tools, and engineering practices that can identify problems in a semantic model.&lt;/p&gt;

&lt;p&gt;The harder question comes afterward:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does all of that evidence mean for the next engineering step?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Is the project ready for production?&lt;/p&gt;

&lt;p&gt;Is a technical handoff actually complete?&lt;/p&gt;

&lt;p&gt;Can a governance claim really be verified from the project?&lt;/p&gt;

&lt;p&gt;And perhaps most importantly:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How should an AI agent behave when the available evidence is not enough to know?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Those questions became the starting point for &lt;strong&gt;BI Guardian Operator&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The project explores a simple architectural principle:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The engines know. The agent coordinates. The AI interprets. Evidence rules.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Rather than asking a language model to inspect a Power BI project and directly decide what is true, we separated the responsibilities of reasoning, execution, evidence, and completion.&lt;/p&gt;

&lt;p&gt;The result is an agentic engineering workflow where the model helps coordinate the work, but does not become the source of engineering truth.&lt;/p&gt;




&lt;h2&gt;
  
  
  The problem was not finding warnings
&lt;/h2&gt;

&lt;p&gt;A traditional Power BI analyzer can identify issues.&lt;/p&gt;

&lt;p&gt;That is useful, but an engineering workflow often needs more than a list.&lt;/p&gt;

&lt;p&gt;Suppose an analyzer finds several maintainability problems.&lt;/p&gt;

&lt;p&gt;That still does not answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Are any of them blockers?&lt;/li&gt;
&lt;li&gt;Is the project ready with conditions?&lt;/li&gt;
&lt;li&gt;What evidence is still missing?&lt;/li&gt;
&lt;li&gt;Has the requested engineering goal actually been completed?&lt;/li&gt;
&lt;li&gt;Which findings should become part of a technical handoff?&lt;/li&gt;
&lt;li&gt;Which governance questions cannot be established from the current project?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;An agent can help coordinate those decisions, but giving the language model unrestricted authority creates a different problem.&lt;/p&gt;

&lt;p&gt;A model can reason fluently about evidence while still being wrong about the underlying engineering facts.&lt;/p&gt;

&lt;p&gt;So we started with a constraint:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The model should be able to reason about the work without being allowed to manufacture the facts.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Separating reasoning from engineering truth
&lt;/h2&gt;

&lt;p&gt;BI Guardian Operator uses deterministic Power BI analysis capabilities to establish observable project facts.&lt;/p&gt;

&lt;p&gt;Those capabilities inspect PBIP or TMDL project metadata and produce structured engineering evidence.&lt;/p&gt;

&lt;p&gt;The agentic layer operates above that boundary.&lt;/p&gt;

&lt;p&gt;At a high level:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The user selects an engineering goal.&lt;/li&gt;
&lt;li&gt;Operator determines what evidence the mission requires.&lt;/li&gt;
&lt;li&gt;Google ADK coordinates the available bounded capabilities.&lt;/li&gt;
&lt;li&gt;Gemini interprets the current mission state and can select an allowed next action.&lt;/li&gt;
&lt;li&gt;Deterministic tools execute that action and return evidence.&lt;/li&gt;
&lt;li&gt;Operator updates the mission state.&lt;/li&gt;
&lt;li&gt;The system evaluates what remains unresolved.&lt;/li&gt;
&lt;li&gt;Completion is checked against explicit evidence requirements.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The important detail is what does &lt;strong&gt;not&lt;/strong&gt; happen.&lt;/p&gt;

&lt;p&gt;Gemini does not invent audit findings.&lt;/p&gt;

&lt;p&gt;Gemini does not silently modify deterministic results.&lt;/p&gt;

&lt;p&gt;And Gemini does not declare a mission complete simply because it believes enough work has probably been done.&lt;/p&gt;

&lt;p&gt;The model helps coordinate the process.&lt;/p&gt;

&lt;p&gt;The evidence determines what can be claimed.&lt;/p&gt;




&lt;h2&gt;
  
  
  Three missions, one governed runtime
&lt;/h2&gt;

&lt;p&gt;To test the architecture, we implemented three different Power BI engineering goals using the same Operator runtime.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Review Before Production
&lt;/h3&gt;

&lt;p&gt;The first mission asks a familiar engineering question:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Is this project ready for the next production step?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Operator coordinates deterministic audit capabilities, collects findings, and evaluates the evidence against the mission requirements.&lt;/p&gt;

&lt;p&gt;The result can be something like:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;or&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ready with Conditions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;rather than a generic success message.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;

&lt;p&gt;The agent can complete its mission correctly while the engineering result still contains unresolved work.&lt;/p&gt;

&lt;p&gt;In other words:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;mission completion and project quality are not the same thing.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A finding also remains traceable to its underlying deterministic rule and supporting evidence.&lt;/p&gt;

&lt;p&gt;The interface may summarize or group results for presentation, but presentation does not replace provenance.&lt;/p&gt;




&lt;h3&gt;
  
  
  2. Technical Handoff
&lt;/h3&gt;

&lt;p&gt;The second mission uses the same Operator runtime for a different objective.&lt;/p&gt;

&lt;p&gt;Instead of asking whether the project is ready, the goal is to produce an engineering handoff.&lt;/p&gt;

&lt;p&gt;Operator gathers the required project inventory, maintainability signals, findings, and engineering work items.&lt;/p&gt;

&lt;p&gt;It can then produce durable outputs such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;structured handoff information,&lt;/li&gt;
&lt;li&gt;engineering findings,&lt;/li&gt;
&lt;li&gt;and a semantic-model diagram derived from project evidence.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The interesting part is not the artifact itself.&lt;/p&gt;

&lt;p&gt;It is that the architecture did not require a completely different agent.&lt;/p&gt;

&lt;p&gt;The mission changes.&lt;/p&gt;

&lt;p&gt;The required evidence changes.&lt;/p&gt;

&lt;p&gt;The expected outputs change.&lt;/p&gt;

&lt;p&gt;But the governed execution model remains consistent.&lt;/p&gt;

&lt;p&gt;This was one of the most important design goals of the project:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;different missions should reuse the same control principles rather than becoming separate hard-coded workflows.&lt;/strong&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  3. Governance Review
&lt;/h3&gt;

&lt;p&gt;The third mission exposed a different problem.&lt;/p&gt;

&lt;p&gt;Some governance questions can be established from Power BI project metadata.&lt;/p&gt;

&lt;p&gt;Others cannot.&lt;/p&gt;

&lt;p&gt;A conventional system may be tempted to collapse missing information into a binary result.&lt;/p&gt;

&lt;p&gt;No evidence might become false.&lt;/p&gt;

&lt;p&gt;Or failed.&lt;/p&gt;

&lt;p&gt;Or even pass.&lt;/p&gt;

&lt;p&gt;BI Guardian Operator deliberately avoids that behavior.&lt;/p&gt;

&lt;p&gt;The system preserves states such as:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;UNKNOWN&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NOT OBSERVABLE&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;when the available source cannot establish the claim.&lt;/p&gt;

&lt;p&gt;That means:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;No evidence is not the same as a pass.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It is also not automatically the same as a failure.&lt;/p&gt;

&lt;p&gt;Sometimes the correct engineering result is simply:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This cannot be established from the evidence currently available.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a governed agent, preserving that uncertainty is a feature, not a weakness.&lt;/p&gt;




&lt;h2&gt;
  
  
  Completion should be an engineering contract
&lt;/h2&gt;

&lt;p&gt;One of the most useful lessons from the project was that agentic systems need a stronger definition of “done.”&lt;/p&gt;

&lt;p&gt;A successful tool call is not completion.&lt;/p&gt;

&lt;p&gt;A model deciding that the task appears finished is not completion either.&lt;/p&gt;

&lt;p&gt;For BI Guardian Operator, a mission has explicit outcome requirements.&lt;/p&gt;

&lt;p&gt;At a conceptual level, those requirements describe what evidence must exist before the mission can legitimately close.&lt;/p&gt;

&lt;p&gt;This changes the execution loop.&lt;/p&gt;

&lt;p&gt;Instead of asking:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Has the model finished?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;the system asks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Does the current evidence satisfy the requirements of this mission?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If the answer is no, Operator can continue.&lt;/p&gt;

&lt;p&gt;If the required evidence cannot be obtained through the available capabilities, the mission should reflect that rather than inventing success.&lt;/p&gt;

&lt;p&gt;This evidence-based notion of completion became one of the most important architectural ideas in the project.&lt;/p&gt;




&lt;h2&gt;
  
  
  Privacy shaped the architecture too
&lt;/h2&gt;

&lt;p&gt;Power BI projects can contain sensitive technical and business metadata.&lt;/p&gt;

&lt;p&gt;We did not want using an AI agent to automatically imply uploading an entire project to a model.&lt;/p&gt;

&lt;p&gt;BI Guardian Operator therefore keeps raw PBIP/TMDL project inspection local to the browser-side analysis boundary.&lt;/p&gt;

&lt;p&gt;The cloud agent works from sanitized operational evidence required for the mission.&lt;/p&gt;

&lt;p&gt;This creates a useful separation:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;local project inspection → structured evidence → cloud orchestration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;rather than:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;raw project → model&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It is not a universal solution to every privacy problem, but it substantially reduces unnecessary exposure in the workflow demonstrated by the project.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Google Cloud agent stack
&lt;/h2&gt;

&lt;p&gt;The production version of BI Guardian Operator uses several Google technologies, each with a distinct responsibility.&lt;/p&gt;

&lt;h3&gt;
  
  
  Google Agent Development Kit
&lt;/h3&gt;

&lt;p&gt;Google ADK provides the agent execution and coordination layer.&lt;/p&gt;

&lt;p&gt;It allows the Operator runtime to expose bounded capabilities rather than giving the model unrestricted control over the underlying engineering tools.&lt;/p&gt;

&lt;h3&gt;
  
  
  Gemini on Vertex AI
&lt;/h3&gt;

&lt;p&gt;Gemini interprets mission context and helps select appropriate next actions from the capabilities available to the agent.&lt;/p&gt;

&lt;p&gt;The important architectural boundary is that Gemini reasons about the evidence but does not replace the deterministic engines that establish Power BI facts.&lt;/p&gt;

&lt;h3&gt;
  
  
  Cloud Run
&lt;/h3&gt;

&lt;p&gt;The Operator backend is deployed on Google Cloud Run.&lt;/p&gt;

&lt;p&gt;This provides the hosted execution environment for the cloud portion of the system.&lt;/p&gt;

&lt;h3&gt;
  
  
  Firestore
&lt;/h3&gt;

&lt;p&gt;Firestore stores sanitized operational mission state required by the agent workflow.&lt;/p&gt;

&lt;p&gt;The raw Power BI project remains outside that cloud persistence boundary.&lt;/p&gt;




&lt;h2&gt;
  
  
  The hardest parts were not the AI calls
&lt;/h2&gt;

&lt;p&gt;The most difficult engineering questions were architectural.&lt;/p&gt;

&lt;h3&gt;
  
  
  What should the model be allowed to decide?
&lt;/h3&gt;

&lt;p&gt;Giving the model access to a tool is easy.&lt;/p&gt;

&lt;p&gt;Defining what authority that tool call should have is harder.&lt;/p&gt;

&lt;p&gt;We wanted the model to choose useful actions without allowing it to redefine deterministic engineering truth.&lt;/p&gt;

&lt;h3&gt;
  
  
  How do you know when a mission is finished?
&lt;/h3&gt;

&lt;p&gt;Agents are good at continuing conversations.&lt;/p&gt;

&lt;p&gt;Engineering systems need something stronger than conversational closure.&lt;/p&gt;

&lt;p&gt;Explicit evidence requirements gave the system a deterministic boundary around mission completion.&lt;/p&gt;

&lt;h3&gt;
  
  
  How should missing information behave?
&lt;/h3&gt;

&lt;p&gt;This became particularly important in governance.&lt;/p&gt;

&lt;p&gt;We had to resist the temptation to force every question into a binary answer.&lt;/p&gt;

&lt;p&gt;Preserving UNKNOWN and NOT OBSERVABLE produced a system that was less absolute, but more trustworthy.&lt;/p&gt;

&lt;h3&gt;
  
  
  How much project information should reach the cloud?
&lt;/h3&gt;

&lt;p&gt;This influenced the local-analysis boundary and the decision to send only sanitized mission evidence into cloud orchestration.&lt;/p&gt;




&lt;h2&gt;
  
  
  An important implementation boundary
&lt;/h2&gt;

&lt;p&gt;BI Guardian Operator builds on pre-existing deterministic Power BI analysis capabilities.&lt;/p&gt;

&lt;p&gt;Those tools already knew how to inspect specialized BI artifacts.&lt;/p&gt;

&lt;p&gt;For this project, the focus was intentionally different:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How can an agent govern and coordinate specialized deterministic capabilities into complete engineering missions?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The hackathon work concentrated on the Operator layer around those capabilities, including mission orchestration, bounded execution, evidence-governed completion, operational state, Google ADK and Gemini integration, Cloud Run deployment, Firestore persistence, and the multi-mission experience demonstrated in the final project.&lt;/p&gt;

&lt;p&gt;That boundary turned out to reinforce the architecture.&lt;/p&gt;

&lt;p&gt;The deterministic engines provide domain knowledge.&lt;/p&gt;

&lt;p&gt;The Operator provides governed coordination.&lt;/p&gt;




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

&lt;p&gt;The biggest lesson was that an AI agent does not need to become the authority for everything it touches.&lt;/p&gt;

&lt;p&gt;In fact, the system became easier to reason about once responsibilities were separated.&lt;/p&gt;

&lt;p&gt;A useful division emerged:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Deterministic systems establish facts.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The agent coordinates work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The model interprets context.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Evidence determines what can legitimately be claimed.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We also learned that uncertainty deserves an explicit representation.&lt;/p&gt;

&lt;p&gt;A system that can say “I cannot establish this from the available evidence” may be more useful in engineering and governance than a system that always produces an answer.&lt;/p&gt;

&lt;p&gt;Finally, completion itself deserves to be designed.&lt;/p&gt;

&lt;p&gt;For multi-step agentic workflows, deciding when there is enough evidence to stop can be just as important as deciding what to do next.&lt;/p&gt;




&lt;h2&gt;
  
  
  Current limitations
&lt;/h2&gt;

&lt;p&gt;BI Guardian Operator is intentionally scoped.&lt;/p&gt;

&lt;p&gt;The current implementation focuses on Power BI engineering artifacts and a bounded set of demonstrated missions.&lt;/p&gt;

&lt;p&gt;It does not attempt to make every possible governance fact observable from PBIP/TMDL metadata.&lt;/p&gt;

&lt;p&gt;It also does not treat generative reasoning as a replacement for deterministic BI analysis.&lt;/p&gt;

&lt;p&gt;Those are deliberate constraints.&lt;/p&gt;

&lt;p&gt;The goal of the current project is not to maximize how many decisions the AI can make.&lt;/p&gt;

&lt;p&gt;It is to explore how much useful engineering work an agent can coordinate &lt;strong&gt;without sacrificing evidence, traceability, and justified completion.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;The next step is to expand the library of engineering capabilities and missions while preserving the same execution principles.&lt;/p&gt;

&lt;p&gt;More capabilities should not require giving the model more authority over engineering truth.&lt;/p&gt;

&lt;p&gt;Instead, the system should become useful by coordinating richer specialized tools while keeping the boundaries explicit.&lt;/p&gt;

&lt;p&gt;That raises a broader question beyond Power BI:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can increasingly capable AI agents perform real engineering work while remaining constrained by evidence, authority, and explicit completion criteria?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;BI Guardian Operator is one experiment toward answering that question.&lt;/p&gt;




&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Demo video:&lt;/strong&gt;&lt;br&gt;
&lt;a href="https://youtu.be/txrXsJ-pdu4" rel="noopener noreferrer"&gt;https://youtu.be/txrXsJ-pdu4&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was created for the purpose of entering BI Guardian Operator in the Google Cloud All Things Agentic Hackathon 2026.&lt;/em&gt;&lt;/p&gt;

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