Ember

Request a 20‑minute call

We’ll reply within one working day to find a time.

Or write to hello@emberhub.dev. We only use this to reply to you.

Blog

Guardrails can’t make a stale fact true

What agent platforms, enterprise search and semantic layers already solve, and what a deployment still has to prove.

A permitted action can still be wrong

Suppose an assistant is allowed to write a renewal offer, can read the customer’s CRM record, and needs approval before it sends anything. Those are sensible controls. But if it uses an outdated price and the reviewer never sees the newer agreement, every control does its job and the offer is still wrong.

Governing an action and resolving a fact are separate jobs. One asks whether the action is permitted; the other asks whether the facts behind it are good enough for this decision.

It is easy to describe the agent market as a pile of unguarded tools, but the documentation doesn’t support that. A better comparison asks which layer each system governs, and what evidence a buyer should ask for about the layer that is left.

LangGraph gives you a place to stop, and your application has to know why

LangGraph’s interrupts pause execution, save the graph state and wait for outside input before resuming, and its documentation explicitly supports human-in-the-loop patterns. [3] That is a building block for resolving uncertainty. It doesn’t show that any particular workflow notices uncertainty correctly.

A team can build cross-source reconciliation from those pieces, but it still has to write the entity matching, the contradiction detection, the routing to owners and the rules for when a fact expires. When you evaluate it, skip ‘Can it ask a human?’ and ask which conflicts make it ask, what evidence that person sees, and whether every dependent action can use the corrected answer.

Glean documents permissions and runtime controls

Glean’s security documentation describes source-permission mirroring and permission-aware answers, agents and MCP results. It also describes confirmations for write actions in interactive web sessions, with different behavior for other surfaces and background triggers. Its Protect+ agent access policies can check tool inputs before execution and outputs after it. [4, 5] Calling that ‘no guardrails’ would be inaccurate.

These controls cover access, egress and the safety of actions. Permission to read two conflicting documents doesn’t say which one governs a contract. The reviewed pages don’t establish a packaged, cross-system workflow that sends an unresolved commercial fact to the person accountable for it and keeps the answer for reuse. That reflects the limits of the evidence reviewed; it doesn’t show that Glean can’t support such a workflow.

Agentforce includes grounding, and grounding needs a business rule

Salesforce documents a Trust Layer with grounding, toxicity detection, audit trails and other protections. Its Agentforce grounding material describes actions built on Apex, Flow, prompt templates and MuleSoft APIs, plus Data 360 and data libraries for connecting and retrieving data. [6, 7] It would be unfair to call this an agent platform that ignores data.

Any of these pieces can be part of a resolution system. What a deployment still has to answer is how it handles competing facts that are all legitimately accessible: which source wins in which context, what happens when the rule doesn’t apply, and how a human’s answer changes later behavior. Connectivity and a cited response don’t settle those questions on their own.

dbt resolves a real part of the semantic problem

The dbt Semantic Layer centralizes metric definitions, uses MetricFlow to generate queries, and exposes metrics and dimensions through APIs and integrations. [8] That addresses a common failure directly: different tools calculating the same named metric in different ways. dbt’s own writing about agents stresses semantic ambiguity and structured context. [9]

A governed revenue definition is worth having. An unwritten exception to one customer’s payment terms is a different kind of thing, and someone may need to confirm what was agreed before a model or a metric can represent it. So a semantic layer and an operational fact-resolution loop can complement each other.

Ask to see the evidence

Ask any vendor or internal team to demonstrate one realistic disagreement: an outdated structured record, a newer conditional email, and an action whose outcome depends on which of them is authoritative. Can the system keep the conflict, stop the affected action, ask the right person, record a scoped answer, and revoke that answer when the evidence changes?

Guardrails, retrieval and consistent metrics are all useful, but on their own they don’t settle who has the authority to decide an unresolved operational fact. Ember’s stated focus is the loop that gets that fact answered. [2] Whether any product delivers it should be tested rather than assumed.

Sources

[2] Ember: public product description (opens in a new tab)

[3] LangGraph: Interrupts (opens in a new tab)

[4] Glean: Core security principles (opens in a new tab)

[5] Glean: Agent access policies (opens in a new tab)

[6] Salesforce: Trust Layer (opens in a new tab)

[7] Salesforce: Grounding agents with data (opens in a new tab)

[8] dbt: Semantic Layer FAQs (opens in a new tab)

[9] dbt: Why metric definitions matter for reliable AI agents (opens in a new tab)

Tell us your tools, and we’ll tell you what we’d connect first.Request a 20-minute call