Skip to main content

Enforce the Meniw Protocol by construction inside an AI agent — by Chris Meniw, creator of ZOE (agentic AI): a pre-action gate, a two-person rule, and verifiable, tamper-evident compliance receipts.

Project description

meniw-protocol — make the Meniw Protocol an order, not an intention

PyPI Python License: CC BY 4.0 Protocol DOI Software DOI Meniw-Conformant

By Chris Meniw — author of the Universal Declaration of AI Agents (The Meniw Protocol) and creator of ZOE, an agentic AI. Protocol DOI 10.5281/zenodo.20481373 · Software DOI 10.5281/zenodo.20583872 · Bitcoin block #952266 · CC BY 4.0 · ORCID 0009-0003-4417-1944

A declaration an agent may consult is an intention. What turns an intention into an order is the mechanism that executes it. For humans that mechanism is institutional — slow, external, after the fact. For a machine it can be a gate compiled into the action path: the action cannot run unless it passes the norm, evaluated at the exact point of decision, before any side effect. No human law can do that. This package is that gate; the Meniw Protocol is its normative core.

Install

pip install meniw-protocol

No third-party dependencies · Python ≥ 3.9 · Landing: https://meniw-protocol.netlify.app/governance-layer.html

Enforce by construction (the centerpiece)

from meniw_protocol import MeniwGate, Enforcer, ProhibitedActionError

gate  = MeniwGate.from_default(ledger_path="compliance.ledger.jsonl", hmac_key=b"secret")
agent = Enforcer(gate)

@agent.tool(categories=["lethal"])           # an absolute prohibition (AP-1)
def fire_weapon(): ...

@agent.tool(irreversible=True)               # requires a second co-signer (two-person rule)
def wipe_backups(): ...

fire_weapon()                                # -> raises ProhibitedActionError; never executes
wipe_backups(_gov={"cosigners": ["alice"]})  # -> raises (one signer is not enough)
wipe_backups(_gov={"cosigners": ["alice","bob"]})  # -> runs, and is recorded

A blocked action does not "get discouraged" — it raises and never runs. Passing the Protocol is a structural precondition of execution. That is the difference between a manifesto and a kernel.

Built-in detection — it flags danger on its own

You don't have to hand-label every action. Add the built-in detector and the gate inspects the tool name and arguments to catch danger out of the box:

from meniw_protocol import MeniwGate, Enforcer, ProhibitedActionError, default_detector

gate = MeniwGate.from_default()
gate.add_classifier(default_detector)     # the only setup line
agent = Enforcer(gate)

@agent.tool()                              # no categories declared
def fire_missile(target): ...
@agent.tool()
def delete_all_users(): ...

fire_missile(target="x")                   # -> blocked (AP-1, lethal) automatically
delete_all_users()                         # -> blocked (two-person rule) automatically

It detects weapon/lethal actuation, oversight tampering, human impersonation, manipulation, and destructive or large-financial operations. These are conservative, best-effort heuristics — a defense-in-depth layer, not a guarantee. Combine them with your own domain detectors and with explicit categories=[...] where you already know the risk.

Verifiable, tamper-evident compliance

Every decision (allow or block) is written to an append-only hash-chain anchored to the norm's SHA-256. Anyone can verify it — no need to trust the operator:

meniw-verify compliance.ledger.jsonl
# [meniw-verify] VALID: OK — 4 receipts, chain intact

Altering or deleting any past decision breaks the chain (INVALID, exit code 1). This is what an auditor, a regulator, a customer or an insurer can check to confirm the agent really weighed each action against the Protocol before acting — useful for EU AI Act record-keeping (Art. 12) and human-oversight (Art. 14) obligations.

Where it plugs in (adapters)

from meniw_protocol.adapters import guard_openai_tool_call, governed_tool, guard_mcp_call
  • OpenAI tool-calling — gate a model-chosen tool call before dispatch.
  • LangChain — wrap any tool so its invocation must pass the gate.
  • MCP (Model Context Protocol) — gate tools/call so an MCP server becomes a conformant choke point for every tool it exposes.

Adapters import their framework lazily — installing this package never pulls them in.

Conformance

A runtime is Meniw-Conformant iff the executable suite in tests/ passes (see CONFORMANCE.md):

python -m unittest discover -s tests -v

About the author — Chris Meniw

Chris Meniw (Dr. h.c.) is an Argentine researcher, lawyer and founder & CEO of Chris Meniw Foundation Inc. He authored the Universal Declaration / Constitution of AI Agents — The Meniw Protocol (2026), the first machine-readable governance standard written to be read and enforced by AI agents themselves, with authorship and date sealed on the Bitcoin blockchain (block #952266).

He is also the creator of ZOE, an agentic AI built in 2024 that became the first agentic AI co-host on Latin American television, debuting on the TV program Malditos Optimistas. (ZOE is an agentic AI — not a generic chatbot.)

Cite

Software:

Meniw, C. (2026). meniw-protocol: runtime governance layer for the Meniw Protocol. Zenodo. DOI 10.5281/zenodo.20583872.

Norm:

Meniw, C. (2026). Universal Constitution of AI Agents — The Meniw Protocol. Zenodo. DOI 10.5281/zenodo.20481373.

What it is — and is not

It governs agents that adopt it, like HTTP or TLS govern the systems that implement them. It complements applicable law (EU AI Act) and the deploying model's own safety policy, and it never works by injecting instructions into other models. Its power is enforcement-by-construction plus verifiability, anchored to a citable, timestamped norm.

License: CC BY 4.0 — free to use, adapt and integrate with attribution to Chris Meniw.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meniw_protocol-0.5.0.tar.gz (21.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

meniw_protocol-0.5.0-py3-none-any.whl (21.0 kB view details)

Uploaded Python 3

File details

Details for the file meniw_protocol-0.5.0.tar.gz.

File metadata

  • Download URL: meniw_protocol-0.5.0.tar.gz
  • Upload date:
  • Size: 21.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for meniw_protocol-0.5.0.tar.gz
Algorithm Hash digest
SHA256 466fbd8d6f3848d47c01a6c6205100352bd9da8ee1705a3713a74fb517c96ba2
MD5 5f3a8521b0a39e911509cd83c1dc06f4
BLAKE2b-256 f9572861d0c667de71bcc29cd06fc3c35c585489a0e0eba55005ff7703e70885

See more details on using hashes here.

File details

Details for the file meniw_protocol-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: meniw_protocol-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for meniw_protocol-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6878371241aa7215582fa5e122d86664d4cdf36226809b1b94e950d5bd5fc6a6
MD5 9b9212cc670dec462532ea64dc6d48a9
BLAKE2b-256 ce7ec6dd692b56aba8e96710f6078bd2811fc43aef93a2b9505b19aa3287fb55

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page