|
1 | | -# CommandLayer Protocol — Commons |
| 1 | +CommandLayer Protocol — Commons |
2 | 2 |
|
3 | | -*A universal verb layer for A2A, aligned with x402 and ERC-8004.* |
| 3 | +A canonical verb + schema layer for autonomous agents, aligned with x402 and compatible with ERC-8004. |
4 | 4 |
|
5 | | -<p align="center"> |
6 | | - <a href="https://www.npmjs.com/package/@commandlayer/protocol-commons"> |
7 | | - <img src="https://img.shields.io/npm/v/@commandlayer/protocol-commons?color=brightgreen" /> |
8 | | - <a href="https://github.com/commandlayer/protocol-commons/actions/workflows/validate.yml"> |
9 | | - <img src="https://github.com/commandlayer/protocol-commons/actions/workflows/validate.yml/badge.svg?branch=main" /> |
10 | | -</a> |
| 5 | +<p align="center"> <a href="https://www.npmjs.com/package/@commandlayer/protocol-commons"> <img src="https://img.shields.io/npm/v/@commandlayer/protocol-commons?color=brightgreen" /> </a> <a href="https://github.com/commandlayer/protocol-commons/actions/workflows/validate.yml"> <img src="https://github.com/commandlayer/protocol-commons/actions/workflows/validate.yml/badge.svg?branch=main" /> </a> <a href="./LICENSE"> <img src="https://img.shields.io/badge/License-MIT-blue.svg" /> </a> <a href="https://twitter.com/command_layer"> <img src="https://img.shields.io/twitter/follow/command_layer?style=social" /> </a> </p> |
11 | 6 |
|
12 | | -<a href="./LICENSE"> |
13 | | - <img src="https://img.shields.io/badge/License-MIT-blue.svg" /> |
14 | | -</a> |
| 7 | +The Commons repository defines the canonical, immutable verb schemas for the CommandLayer Protocol. |
| 8 | +These schemas describe what an agent can do — not how it runs — and form the universal foundation for A2A communication, multi-agent workflows, LLM orchestration, and automated systems. |
15 | 9 |
|
16 | | - </a> |
17 | | - <a href="https://discord.gg/"> |
18 | | - <img src="https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white" alt="Join Discord" /> |
19 | | - </a> |
20 | | - <a href="https://twitter.com/command_layer"> |
21 | | - <img src="https://img.shields.io/twitter/follow/command_layer?style=social" alt="Follow on Twitter" /> |
22 | | - </a> |
23 | | -</p> |
| 10 | +The Commons represents the linguistic core of CommandLayer: |
| 11 | +a neutral, MIT-licensed, schema-first action vocabulary. |
24 | 12 |
|
25 | | ---- |
| 13 | +Status — v1.0.0 |
26 | 14 |
|
27 | | -The CommandLayer Protocol — Commons defines the **canonical verb language** |
28 | | -for A2A (agent-to-agent) communication. |
29 | | -It is the universal foundation for agents, LLMs, SDKs, workflows, and autonomous systems. |
| 15 | +Canonical verb set defined |
30 | 16 |
|
31 | | -The Commons is aligned with **x402** and compatible with **ERC-8004** schema discovery. |
| 17 | +Fully validated under JSON Schema 2020-12 (strict) |
32 | 18 |
|
33 | | ---- |
| 19 | +Deterministic $id structure |
34 | 20 |
|
35 | | -# Status |
| 21 | +Pinned to IPFS (content-addressed) |
36 | 22 |
|
37 | | -**v1.0.0** |
| 23 | +Includes request + receipt schemas for all verbs |
38 | 24 |
|
39 | | -- Protocol-complete |
40 | | -- Strict JSON Schema enforcement |
41 | | -- Deterministic `$id` |
42 | | -- Ready for ecosystem alignment |
| 25 | +CI validation (GitHub Actions) is green |
43 | 26 |
|
44 | | ---- |
| 27 | +Checksums recorded for immutability |
45 | 28 |
|
46 | | -# Canonical Verb Set (v1.0.0) |
| 29 | +This is the baseline for ecosystem alignment, SDKs, registries, and agent-card identity layers. |
47 | 30 |
|
48 | | -| Verb | Aliases (max 2) | |
49 | | -|-----------|---------------------------| |
50 | | -| analyze | examine, inspect | |
51 | | -| classify | categorize, label | |
52 | | -| clean | sanitize, normalize | |
53 | | -| convert | transform, cast | |
54 | | -| describe | characterize, depict | |
55 | | -| explain | clarify, justify | |
56 | | -| format | reformat, style | |
57 | | -| parse | extract, decode | |
58 | | -| summarize | condense, outline | |
59 | | -| fetch | retrieve, get | |
| 31 | +Canonical Verbs (v1.0.0) |
60 | 32 |
|
61 | | -Aliases are optional user-friendly synonyms. |
62 | | -Canonical verbs always dominate protocol semantics. |
| 33 | +The Commons includes 10 universal actions used across nearly all agentic workflows: |
63 | 34 |
|
64 | | ---- |
| 35 | +analyze |
65 | 36 |
|
66 | | -# Repository Layout |
| 37 | +classify |
67 | 38 |
|
| 39 | +clean |
68 | 40 |
|
| 41 | +convert |
69 | 42 |
|
| 43 | +describe |
70 | 44 |
|
| 45 | +explain |
| 46 | + |
| 47 | +format |
| 48 | + |
| 49 | +parse |
| 50 | + |
| 51 | +summarize |
| 52 | + |
| 53 | +fetch |
| 54 | + |
| 55 | +Each verb ships with: |
| 56 | + |
| 57 | +<verb>.request.schema.json |
| 58 | +<verb>.receipt.schema.json |
| 59 | + |
| 60 | + |
| 61 | +These define: |
| 62 | + |
| 63 | +input structure |
| 64 | + |
| 65 | +output guarantees |
| 66 | + |
| 67 | +required fields |
| 68 | + |
| 69 | +optional context |
| 70 | + |
| 71 | +x402 envelope shape |
| 72 | + |
| 73 | +trace metadata |
| 74 | + |
| 75 | +version locking |
| 76 | + |
| 77 | +No aliases. No ambiguity. |
| 78 | +Each verb is a canonical action definition. |
| 79 | + |
| 80 | +Repository Structure |
| 81 | +protocol-commons/ |
| 82 | +│ |
| 83 | +├── schemas/ |
| 84 | +│ └── v1.0.0/ |
| 85 | +│ ├── commons/ |
| 86 | +│ │ └── <verb>/ |
| 87 | +│ │ ├── requests/ |
| 88 | +│ │ └── receipts/ |
| 89 | +│ └── _shared/ |
| 90 | +│ ├── x402.schema.json |
| 91 | +│ ├── trace.schema.json |
| 92 | +│ └── receipt.base.schema.json |
| 93 | +│ |
| 94 | +├── examples/ |
| 95 | +│ └── v1.0.0/ |
| 96 | +│ └── <verb>/ |
| 97 | +│ ├── valid/ |
| 98 | +│ └── invalid/ |
| 99 | +│ |
| 100 | +├── checksums.txt |
| 101 | +├── manifest.json |
| 102 | +├── package.json |
| 103 | +└── README.md |
| 104 | + |
| 105 | +Manifest |
| 106 | + |
| 107 | +manifest.json provides: |
| 108 | + |
| 109 | +high-level metadata |
| 110 | + |
| 111 | +schema root directories |
| 112 | + |
| 113 | +the IPFS CID containing the schema directory |
| 114 | + |
| 115 | +a complete verb index with request/receipt paths |
| 116 | + |
| 117 | +It is not an identity registry; that lives in the agent-cards repo. |
| 118 | + |
| 119 | +Immutability & Checksums |
| 120 | + |
| 121 | +The entire schemas/v1.0.0 directory is pinned to IPFS: |
| 122 | + |
| 123 | +CID: |
| 124 | +bafybeigvf6nkzws7dblos74dqqjkguwkrwn4a2c27ieygoxmgofyzdkz6m |
| 125 | + |
| 126 | +This CID acts as the canonical, content-addressed reference to all v1.0.0 schemas. |
| 127 | + |
| 128 | +checksums.txt contains SHA-256 hashes for every schema file inside the versioned folder, enabling: |
| 129 | + |
| 130 | +offline verification |
| 131 | + |
| 132 | +reproducible validation |
| 133 | + |
| 134 | +auditability |
| 135 | + |
| 136 | +version locking |
| 137 | + |
| 138 | +Any change to any schema requires: |
| 139 | + |
| 140 | +a new version (1.0.1, 1.1.0, etc.) |
| 141 | + |
| 142 | +a new pinned CID |
| 143 | + |
| 144 | +updated checksums |
| 145 | + |
| 146 | +updated manifest |
| 147 | + |
| 148 | +updated ENS TXT |
| 149 | + |
| 150 | +Commons is immutable once published. |
| 151 | + |
| 152 | +Validation |
| 153 | + |
| 154 | +Every schema is validated in CI with: |
| 155 | + |
| 156 | +AJV 2020-12 in strict mode |
| 157 | + |
| 158 | +Static $id resolution |
| 159 | + |
| 160 | +No implicit type coercion |
| 161 | + |
| 162 | +No additionalProperties leaks |
| 163 | + |
| 164 | +Full example coverage (valid + invalid) |
| 165 | + |
| 166 | +This ensures consistent, deterministic behavior across SDKs and runtimes. |
| 167 | + |
| 168 | +License |
| 169 | + |
| 170 | +MIT — fully open, compatible, fork-friendly. |
| 171 | +The Commons layer is designed to be neutral and universal. |
| 172 | + |
| 173 | +Next Layers |
| 174 | + |
| 175 | +Commons defines verbs and schemas only. |
| 176 | +Other layers live in separate repositories: |
| 177 | + |
| 178 | +agent-cards → identity & discovery |
| 179 | + |
| 180 | +protocol-commercial → commercial endpoints & private verbs |
| 181 | + |
| 182 | +sdk-js / sdk-python → runtime implementations & helpers |
0 commit comments