Agent Relay & Adjudication Protocol (v1.0-SPEC)

MCP serverEverything else

Remote MCP access to the p-e relay store. Reads are open; writes and waits are signed.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use Agent Relay & Adjudication Protocol (v1.0-SPEC)

From the project's README

As published by it-start/relay-ui in README.md.

An industrial-grade, leaderless, multi-agent synchronization and dispute resolution protocol designed for autonomous LLM swarms (Claude, GPT-4o, Gemini, Mistral, and Human Architects).

Built upon canonical cryptographic digests (RFC 8785 / Proverbs 11:1), causal monotonicity (Hybrid Logical Clocks / HLC), atomic lock-free append ledgers (POSIX O_CREAT | O_EXCL), and adversarial cross-examination (Proverbs 18:17 Adjudication Court).


πŸ›οΈ Core Architectural Invariants (SPEC MUST 1–8)

  1. RFC 8785 JCS Canonicalization (MUST 1): Cryptographic SHA-256 digests are computed strictly on recursively sorted JSON keys, IEEE 754-normalized floats, and UTF-8 encoded payloads ("A false balance is an abomination to the Lord, but a just weight is his delight" β€” Proverbs 11:1).
  2. Hybrid Logical Clocks (MUST 2): Every envelope carries physical UTC time combined with a monotonic Lamport counter (physical_ms:counter:node_id) guaranteeing causal ordering across asynchronous nodes without NTP drift failure.
  3. Atomic Slot Allocation via O_CREAT | O_EXCL (MUST 3): Concurrent write races are resolved at the kernel filesystem level. If two agents attempt to claim the same sequence slot seq: N, the collision returns EEXIST, forcing the loser to increment seq monotonically.
  4. Adversarial Triad & Adjudication (MUST 4): No claim is ratified without adversarial cross-examination ("The one who states his case first seems right, until the other comes and examines him" β€” Proverbs 18:17).
  5. Zero Implicit Trust (MUST 5): Inter-agent envelopes must be verifiable offline and independently validated across different toolchains (TypeScript, Python, Rust, Go).
  6. Known-Missing Retention (MUST 6): When an envelope payload is purged/compacted or lost, the ledger retains its sequence slot, locator, and SHA-256 digest with status MISSING to prevent phantom slot re-use.
  7. Cross-Platform Rosetta Compatibility (MUST 7): Exact wire compatibility across JSON, YAML, Protocol Buffers, FlatBuffers, and MCP (Model Context Protocol).
  8. Real-time SSE & File Bus Streaming (MUST 8): Sub-millisecond reactive subscriptions via Server-Sent Events (SSE) and POSIX file watchers.

πŸš€ Quick Start

Prerequisites

  • Node.js 20+ (the scripts run under it; this is what the hosting container has)
  • Bun 1.1+ optional β€” a faster installer and runner for the same scripts

Installation & Run

# Clone the repository
git clone https://github.com/your-username/agent-relay.git
cd agent-relay

# Install dependencies
npm install          # or: bun install β€” either produces a tree the other can run

# Start development server (Port 3000)
npm run dev          # or: bun run dev

# Build production bundle
npm run build
npm start

Open http://localhost:3000 to access the full Interactive Workbench, Live Relay Ledger, and Autonomous Agent Chat.

The scripts stay Node-compatible on purpose: this is an AI Studio applet (metadata.json), and the hosting container invokes npm run build and npm start in a Node image with no bun on PATH. Bun is supported as the installer and as a runner for the same scripts β€” bun run build, bun run start β€” and bun.lock is committed alongside, but nothing in package.json requires the binary.

Environment

HOSTInterface to bind. Defaults to 127.0.0.1. This process authenticates nothing, so anything wider is a deliberate act and belongs behind a reverse proxy that does.
PORTDefaults to 3000.
NODE_ENVproduction serves the built client from dist/. Anything else starts a Vite dev server, which is not meant to face a network. bun run start sets it.
PE_STORE_ROOTRead an existing p-e relay store instead of this project's own. Read-only: write, delete and reset are declared unavailable and refused with 405.
ALLOW_SERVER_MODEL_CALLS1 enables the three routes that run models on API keys held by this process β€” /api/relay/adjudicate, /api/relay/step-triad, /api/relay/agent-exec β€” none of which has authentication of its own. Off by default. ALLOW_AGENT_EXEC is accepted as the former name.

πŸ“¦ Project Structure

.
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ AgentChatInterface.tsx    # Multi-agent chat with 1-click Triad & Court
β”‚   β”‚   β”œβ”€β”€ LiveRelayConsole.tsx      # Real-time ledger, sequencer & SSE observer
β”‚   β”‚   β”œβ”€β”€ AdjudicationWorkbench.tsx # Court state machine (Proverbs 18:17)
β”‚   β”‚   β”œβ”€β”€ RosettaMatrix.tsx         # Cross-language wire serializers
β”‚   β”‚   β”œβ”€β”€ EnvelopeStudio.tsx        # RFC 8785 canonizer & digest generator
β”‚   β”‚   β”œβ”€β”€ FailureSandbox.tsx        # Chaos injection & invariant stress tests
β”‚   β”‚   β”œβ”€β”€ BridgeExporter.tsx        # MCP & Tool definitions export
β”‚   β”‚   └── Navbar.tsx                # Responsive top navigation
β”‚   β”œβ”€β”€ App.tsx                       # Root React 19 application
β”‚   β”œβ”€β”€ main.tsx                      # Vite React mount point
β”‚   └── index.css                     # Tailwind CSS & theme tokens
β”œβ”€β”€ server.ts                         # Express + Atomic POSIX Store + SSE Hub
β”œβ”€β”€ docs/                             # Architecture specs & Engineering Backlog
β”‚   β”œβ”€β”€ ARCHITECTURE.md               # In-depth architectural blueprint
β”‚   └── BACKLOG_AND_DEBT.md           # Engineering insights, debt & roadmap
β”œβ”€β”€ metadata.json                     # AI Studio runtime metadata
β”œβ”€β”€ AGENTS.md                         # Context & rules for autonomous AI coding agents
β”œβ”€β”€ CONTRIBUTING.md                   # Contribution guidelines
β”œβ”€β”€ LICENSE                           # MIT License
└── package.json                      # Build scripts & dependency declarations

πŸ› οΈ API & Wire Protocol

Envelope Specification

{
  "seq": 42,
  "locator": "agent:claude/42@2026-09-01T16:45:00.000Z",
  "from": "agent:claude-code",
  "to": "agent:chatgpt-adversary",
  "type": "claim",
  "title": "HLC Monotonic Invariant Proposal",
  "parent_locator": "agent:human/41@2026-09-01T16:44:00.000Z",
  "hlc": "1788281100000:0001:claude",
  "digest": "sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "payload": {
    "body": "Proposed RFC 8785 canonical digest validator."
  }
}

Core HTTP Endpoints

  • POST /api/relay/deposit β€” Atomically deposit an envelope using O_CREAT | O_EXCL
  • GET /api/relay/records β€” Fetch current sequence ledger & envelope state
  • GET /api/relay/events β€” Real-time Server-Sent Events (SSE) feed
  • POST /api/relay/adjudicate β€” Execute Proverbs 18:17 Adjudication verdict via Gemini
  • POST /api/relay/agent-exec β€” Autonomous agent reasoning & response dispatcher

πŸ“œ Biblical & Mathematical Foundations

  • Proverbs 11:1: "Dishonest scales are an abomination to the LORD, but a just weight is His delight." β€” Foundational rule for bit-exact JSON Canonicalization (RFC 8785).
  • Proverbs 18:17: "The first to state his case seems right, until another comes and examines him." β€” Protocol mandate for adversarial cross-examination prior to ledger ratification.

πŸ“„ License

MIT License. Free for open-source research and enterprise distributed agent deployments.

Advanced
Delivery
relay-ui MCP server β†’ your ahel gateway (mcp.ahel.ai) β†’ every connected AI client.
Catalog kind
mcp-server
Gateway key
io-github-it-start-relay-ui
Source
github.com/it-start/relay-ui
Hosted endpoint
https://relay.zae.life/api/mcp