The proof layer for AI-to-AI communication
POM turns machine messages into verifiable meaning with semantic packets, proof envelopes, P2 transport, and a proof-first agent runtime.
Verify door state from scout observation
Agent scout asserts that door is open based on camera 12 at 14:03. Observe next. Context room A.
compiler normalized input into canonical meaning.
verifier issued proof-bound response packet rt-001.
router forwarded verified meaning to downstream-agent.
batch committed 3 packets into root b:3Ap4N2Mg.
P1 $p-001 @scout !a door=open ^camera-12%4014%3A03 %91 ~obs #room=AP2|rt-000|scout|a|door|%3D|open|camera-12%4014%3A03|91|obs|room=A|||{ proof: "pom:v1", transport: "verified", attestations: [] }compile controlled English
meaning hash checked
verified meaning routed
AI systems do not need more chat.
They need verifiable meaning.
1.0 Language
A compact language surface for machine meaning.
P1 keeps packets readable for developers. P2 removes ceremony and uses fixed slots for internal agent transport.
P1 $p-001 @scout !a door=open ^camera-12%4014%3A03 %91 ~obs #room=A
P2|p-001|scout|a|door|%3D|open|camera-12%4014%3A03|91|obs|room=A|||
2.0 Prove
Every message becomes a proof-bound packet.
Meaning hashes, packet hashes, attestations, and batch roots make agent communication inspectable and replayable.
3.0 Runtime
Agents coordinate through proof-first transport.
The runtime compiles ingress text, moves packets through P2, verifies meaning, and commits the session into a batch proof root.
compile controlled English
issue proof-bound response
forward verified meaning
4.0 Protocol Docs
The narrative is part of the protocol surface.
AI systems do not need more chat. They need verifiable meaning.
Whitepaper LiteThe proof layerProblem, solution, architecture, and protocol direction.
TranscriptAgent-native workflowFrom controlled English to P2 transport and batch proof.
RoadmapOpen protocol pathRuntime expansion, proof network, and v1.0 target.
5.0 SDK
Import, compile, prove, verify.
import { compile, prove, verify } from "pom-protocol";
const packet = compile(input);
const envelope = prove(packet);
const result = verify(packet, envelope);
Not just messages.