I wrote an open framework around a problem I think gets overlooked with AI agents: proving what actually happened

I wrote an open framework around a problem I think gets overlooked with AI agents: proving what actually happened

I’ve been working on something called the AI Execution Integrity Framework (AIEF) and I’d like to get some outside eyes on it.

The idea came from watching AI systems move from generating answers to actually doing things.

Calling tools. Updating systems. Making decisions. Triggering workflows. Acting with less human involvement.

We talk a lot about AI governance, safety and guardrails, but I kept coming back to a more basic question:

If something goes wrong six months later, what evidence do we actually have of what the AI did?

Logs are useful, but they’re usually produced and controlled by the same system being questioned.

And cryptography doesn’t solve everything either.

You can prove that a record hasn’t been changed without proving that the system captured everything it should have captured in the first place.

So I wrote AIEF around the execution side of the problem.

It looks at things like:

  • what should be captured during an AI execution
  • integrity of the resulting artifact
  • provenance
  • linking multiple execution steps
  • independent verification
  • what can and cannot legitimately be claimed from the evidence

It’s intentionally not another general AI governance framework.

Governance answers things like:

“What should this system be allowed to do?”

AIEF is more interested in:

“Now that it ran, what evidence exists of what actually happened?”

I’ve published it openly here:

https://aief.dev

And it’s on GitHub too:

https://github.com/artnames/AIEF

I’d really appreciate feedback from people actually building or operating AI systems.

Even if your reaction is “this is solving the wrong problem”, that’s useful.

The part I’m especially interested in pressure-testing is where the boundary should sit between execution evidence and governance.

u/arrotu — 3 days ago

Watching AI agents get more control made me realise we have a proof problem.

My background is in auditing, so I probably look at AI agents slightly differently from a lot of people building in this space.

What started bothering me was seeing agents being given more and more control in production.

Calling tools. Updating systems. Making decisions. Triggering workflows. Sometimes acting with very little human involvement.

We are getting pretty good at controlling what agents should be allowed to do. We have permissions, guardrails, IAM, monitoring, traces, human approvals, etc.

But I kept coming back to a different question:

What happens when someone later asks you to prove what the agent actually did?

Not what it was supposed to do.

Not what the policy said it could do.

What actually happened during that specific execution.

Normally the answer is some combination of logs, traces and database records.

From an audit perspective, that felt incomplete to me because all of that evidence normally comes from infrastructure controlled by the same organisation being asked to prove what happened.

So I started working on this problem and eventually created NexArt.

The idea is to create a separate execution evidence layer.

When an AI or software execution happens, you can create a structured record of that execution, hash it, cryptographically certify it and timestamp it.

The important part for me is that the resulting record can later be taken outside the original system and independently verified.

You shouldn't need access to our platform, the original database or the application that generated it just to check whether the record is authentic and whether it has been changed.

While building it, though, I realised there is another problem that cryptography doesn't solve.

You can prove that a record hasn't been altered.

You cannot automatically prove that the system captured everything it should have captured.

If an agent performs five actions and your integration only records four, signing those four records doesn't make the missing action disappear.

That distinction between integrity and completeness has probably been the biggest lesson for me.

I now see the stack roughly like this:

Identity tells you who the agent is.

Policy tells you what it is allowed to do.

Guardrails try to stop things it shouldn't do.

Observability helps you understand what it is doing.

But there is still a separate question around evidence:

Can someone who wasn't involved independently verify what actually happened afterwards?

I don't think this replaces observability or agent governance at all. It sits underneath them.

And as agents get more autonomy, I think this becomes much more important. Especially when the execution affects money, customers, records, access, regulated decisions or anything somebody might eventually challenge.

I'm curious how people building agents here are dealing with this today.

Are you comfortable treating your traces/logs as the final record of what happened?

Or are you starting to think about execution evidence as something separate from operational telemetry?

Also genuinely interested in where people think the boundary should be around what an agent execution record needs to capture. That has turned out to be a harder question than building the cryptographic part.

reddit.com
u/arrotu — 5 days ago
▲ 2 r/u_arrotu+1 crossposts

Why Verifiable Execution Needs a Trust Layer, Not Just a Hash

A lot of teams understand the first half of verifiable execution. They understand the hash.

That part makes intuitive sense. You take an execution, structure it properly, hash it, and now you have an integrity anchor. If the content changes, the hash changes. That is easy to explain and easy to agree with.

But that is only half the story.

Because a hash gives you integrity.

It does not give you trust.

That distinction is one of the most important, and most overlooked, parts of building serious execution evidence systems. It is also one of the clearest ways to understand why NexArt.io is more than a hashing system, more than a verifier UI, and more than a way to package logs more neatly.

The common misunderstanding

A lot of conversations about verifiable execution follow the same pattern. A team says something like:

"We capture the inputs, outputs, context, and metadata. We put it into a canonical format. We hash it. Now we have a tamper-evident record."

That is not wrong. It is just incomplete.

Because the harder questions usually arrive later, not at the moment the record is created. They show up when a customer disputes an outcome. When an auditor wants a stronger record. When an enterprise buyer asks how this can be checked independently. When an internal review needs more than engineering confidence.

That is when the real questions appear:

  • Who can verify this record later?
  • Why should someone outside your system trust it?
  • What proves this was not recreated after the fact?
  • What trust material exists around the artifact beyond the hash itself?
  • Who witnessed or attested to the record?

A hash alone does not answer those questions.

It helps detect change. It does not, by itself, create a reviewable trust model.

That is where many systems stop too early. They achieve tamper-evidence at the artifact level, but stop short of building a trust surface around that artifact.

What a hash actually does

It helps to be precise. A hash is an integrity primitive.

If you derive it from canonical content and the content later changes, the hash will no longer match. That is valuable. It means the record cannot be changed silently without detection.

That is a critical building block.

NexArt depends on that principle. The artifact comes first. For a single execution, the certificate hash is derived from the canonical record content. For a workflow, the projectHash is derived from the canonical Project Bundle content. The hash is not invented later by the node. It comes from the artifact itself.

That is exactly how it should work.

But that still does not solve the whole trust problem. Because a hash can tell you whether the content matches. It cannot tell you why someone else should trust the system that produced the content in the first place.

That is the gap.

Why local hashing is not enough

Imagine a team says: "We hash every important AI execution ourselves."

That is better than nothing. It may even be useful internally.

But if a customer, partner, or outside reviewer challenges an execution later, the next question is obvious:

Why should we trust the artifact your own system created and hashed?

That is the uncomfortable part. If the same system is:

  • creating the artifact
  • hashing it
  • storing it
  • validating it
  • displaying it
  • and explaining it

then the trust model still collapses back into one simple thing: trust us.

That may be enough for internal debugging. It is much weaker when the workflow matters externally. And that is exactly why verifiable execution needs more than local validation. It needs a trust layer.

The missing piece is the trust layer

This is the architectural distinction that matters.

A weaker model looks like this:

artifact → hash

A stronger model looks like this:

artifact → hash → trust surface → independent verification

That extra section is the difference between a useful internal record and a stronger evidence system.

The trust layer exists to do a few specific jobs. It needs to:

  • re-check the relationship between the artifact and its identity
  • add attestation or signed trust material as an independent witness
  • make the record externally legible through a verification surface
  • support later checking without relying only on the originating backend

Without that layer, you still have integrity semantics. With it, you start to have reviewable trust semantics. That is the real shift.

What the attestation node actually does

This is one of the most important things to explain clearly.

The node does not create the execution.

The node does not invent the artifact.

The node does not invent the hash.

The app or SDK creates the canonical artifact first. For a single execution, that becomes a Certified Execution Record, or CER. For a multi-step system, certified steps can be assembled into a Project Bundle so the workflow can be reviewed as a sequence rather than as disconnected records.

Only after that does the trust layer step in.

In NexArt's model, the attestation node acts as an independent witness. It re-checks the artifact and its hash relationship, adds signed trust material, and supports later verification through the public proof surface.

That separation matters. Because the producer of the execution is not supposed to be the only source of trust around it.

This is what gives the record more weight later. Not just the fact that the artifact exists, but the fact that it was independently re-checked and attested to after it existed.

Why signed trust material matters

This is where many systems still feel weaker than they first appear.

If all you can show later is:

  • the artifact
  • the hash
  • your own internal explanation

then you are still asking the reviewer to accept too much on your word.

A stronger system needs trust material around the artifact. That is why NexArt includes things like:

  • signed attestation receipts
  • node identity
  • public key exposure
  • verification envelopes
  • a public verification surface

Those things are not cosmetic. They are what make the trust story legible.

A later reviewer does not only need "here is the hash." They need something closer to:

"Here is the preserved artifact. Here is how its integrity is anchored. Here is the independent trust material around it. Here is how it can be checked."

That is a very different kind of record.

Why this matters under scrutiny

A technical explanation is only useful if it connects to real pressure.

Imagine a client says your AI system mishandled a workflow and caused damage. You show them:

  • logs
  • traces
  • a local artifact
  • a hash of that artifact

That is better than nothing. But the follow-up questions come fast:

  • Who signed this?
  • Who witnessed it?
  • How do we know this was not recreated later?
  • Where can we verify it independently?
  • Why should we trust your system as the only source here?

That is exactly where the trust layer becomes meaningful.

The trust layer does not magically solve every dispute. It does not prove your model was correct. It does not make every difficult conversation easy. But it does move the evidence model from:

"our system says this happened"

closer to:

"this record was preserved, independently attested to, and can be checked later through a separate verification surface"

That is a much stronger place to be.

Why this matters for enterprise buyers too

This is not only about formal audit. It is also about procurement, risk, and credibility.

Enterprise buyers increasingly do not want to hear only:

  • "we have logs"
  • "we can reconstruct the event"
  • "our backend confirms the record"

They want a stronger answer. They want a clearer trust model. They want some separation between:

  • the system producing the execution
  • the layer that attests to it
  • the surface where it can later be reviewed

That is one reason NexArt matters as infrastructure, not just as a utility. It is not only packaging records. It is shaping the trust path around those records. And that becomes commercially important when trust becomes part of the buying decision.

Why this is not "trustless"

It is important to stay precise here.

A trust layer is not the same thing as no trust. NexArt should not be described as if the whole system becomes magically trustless. That would be sloppy.

The better claim is more grounded:

NexArt improves the trust model by separating the producer of the artifact from the layer that re-checks, signs, and exposes it for later verification.

That is a strong and defensible claim. It does not abolish trust. It makes trust more structured, more reviewable, and less dependent on one internal system simply asserting its own validity.

Why the full chain matters

A useful way to understand the architecture is to assign each part a separate job.

The artifact preserves what ran.

The hash anchors the integrity of that artifact.

The attestation layer witnesses and signs around it.

The verifier gives outside parties a way to inspect and check it later.

Each piece matters.

If you remove the artifact, there is nothing meaningful to preserve. If you remove the hash, integrity becomes weak. If you remove the trust layer, the system slides back toward self-attestation. If you remove the verifier, the proof becomes much harder for outsiders to inspect.

That is why NexArt is not best described as "a system that hashes executions." It is better understood as a layered execution evidence system.

Where this becomes most important

The trust layer matters most where later scrutiny is likely. For example:

  • customer-facing AI decisions
  • multi-step agent workflows
  • support and claims processes
  • financial or operational recommendations
  • enterprise workflows that may later be disputed
  • internal decisions where accountability matters

In those cases, the difference between "we logged it" and "we can show a separately attested record" becomes much more meaningful. That is where the architecture stops feeling abstract. And that is where the trust layer starts to matter most.

Final thought

A hash is important. But a hash alone is not enough.

It helps detect change. It does not, by itself, create a trust surface that someone else can rely on later.

That is why verifiable execution needs more than local validation. It needs a layer that re-checks, attests, exposes trust material, and makes later verification possible.

That is exactly why NexArt includes not only artifacts and hashes, but also an attestation node and a public verification surface.

If you want the simplest way to say it, it is this:

A hash tells you the record is consistent.

A trust layer helps make the record credible.

And for serious AI systems, you increasingly need both.

u/arrotu — 11 days ago