DAX Foundation

Constraint Protocol

The Constraint Protocol, honestly

A way to keep a record nobody can quietly edit of what each party declared it would not do, and a plain account of the evidence.

What it is

When two parties interact, there is usually no durable record of what either one was actually bound by at the time. The Constraint Protocol (CP) is a way of keeping one. Each side declares up front what it will not do, consequential acts are signed and witnessed, and the log cannot be quietly edited afterwards. So when somebody wants to know later what happened and who was answerable, there is something to look at besides everyone’s memory. It applies equally to people, companies and software; it cares only whether you declared a constraint and can be checked against it.

It is more than a ledger. The judging is kept separate from the witnessing, and a judge can re-score the past later with better knowledge without erasing the old verdict. A declared constraint can hold up named kinds of work until a problem is dealt with, and it records anyone who tries to get round it. Anyone can dispute any record, and rulings on disputes can be disputed too. The DAX Foundation stewards the specification.

Why a record, not a wall

CP is not about preventing harm. We know things are going to go wrong, and a page that pretended otherwise would not be worth reading.

CP is an accountability record. When something does happen, there is a faithful account of what was declared, what was done and who was answerable, so that we can find out what went wrong and make sure it does not happen again. That is what makes it proactive: the record has to exist before the event, because it cannot be started afterwards. Someone still has to look; see what it does not do.

Every new power has come with costs. Electricity, nuclear power and X-rays each did. None was simply good or simply bad; the choice was never a binary. AI is a new kind of electricity. You cannot fight a war without knowing what it is about and what is at stake, and that is why an accountability substrate matters.

Where it stands, honestly

  • Version. v0.5, dated 2026-09-10, a public working draft, with 47 decisions recorded.
  • Runs. The protocol has run in full once: on 4 May 2026, between two instances operated by two different organisations across a network boundary. It ran for roughly three and a half hours.
  • Events. Roughly thirty-four witness-signed events.
  • Refused bypasses. Three attempts to bypass a blocking constraint, all refused and permanently recorded. One constraint moved from raised to resolved to reopened in about twenty minutes.
  • Permanent copy. The v0.5 publication is also on Arweave, where nothing can be edited or taken down. Each file was downloaded back and checked against its digest before the links were written.
  • Idle, and not done. The ledger-only service deployed since is idle, and the rest is still to be built. A controlled A/B study of detecting manufactured consensus is committed and has not been run. Nobody hostile has tried to break the protocol.

One run demonstrates that the mechanism runs, and nothing else. It was not a controlled study and had no comparison condition. The larger purposes in the specification, such as compounding knowledge over time, are design intent, and none has been demonstrated.

What it does not do

  • It prevents nothing. Nothing in it stops a bad act as it happens. It is a recording substrate, not a guard rail.
  • It shifts the gradient toward legibility, not toward goodness. Acting illegibly becomes harder and costlier than acting legibly. A thoroughly documented harm is still a harm.
  • It provides the capacity for retrospective accountability, not the exercise of it. Somebody still has to go and look, and somebody still has to care what they find.
  • It verifies structure, not truth. It records who, what, when, witnessed by whom and under which constraint, never whether the content was correct. Substrate accountability is not legal accountability.

How Meta DAX relates

Meta DAX is meant to run on it; its protocol fields are reserved and empty today. Meta DAX is the universal learning initiative; its record of who taught what and who disputed it is meant to live under this protocol.

Run it with us

Obsidian Delta is the first adopter, and not a neutral one. It commits publicly to: running what it operates under a declared constraint, with the record kept; running CP with any external party willing to declare a constraint and be checked; and holding the DAX constraint on top of the protocol. These are commitments, not a description of current practice. The first adopter is also where the protocol came from, so this is a conflict of interest, not a validation: skin in the game, not evidence.

The DAX constraint is an example of a declared constraint, not a component of CP. Declaring something quite different and running CP honestly is entirely coherent.

If you are willing to declare a constraint and be checked against it, send me what you would declare and where you would run it, or get in touch through the repository. Review and adversarial testing are invited too. I am Jason Jeyanandan, who set the Foundation up.

Constraint Protocol on GitHub · Constraint Protocol in Meta DAX research