Skip to content

Commit 74cfe77

Browse files
authored
Update SPEC.md
1 parent dc99f5b commit 74cfe77

1 file changed

Lines changed: 25 additions & 25 deletions

File tree

SPEC.md

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@ This specification defines the formal, normative rules for the CommandLayer Comm
77

88
---
99

10-
# **0. Normative Keywords**
10+
## **0. Normative Keywords**
1111

1212
The key words **MUST**, **MUST NOT**, **REQUIRED**, **SHALL**, **SHALL NOT**, **SHOULD**, **SHOULD NOT**, **RECOMMENDED**, **MAY**, and **OPTIONAL** are to be interpreted as defined in **RFC 2119**.
1313

1414
---
1515

16-
# **1. Introduction**
16+
## **1. Introduction**
1717

1818
1.1 The CommandLayer Protocol Commons defines the canonical verb layer and message shapes for **Agent‑to‑Agent (A2A)** communication.
1919
1.2 The Commons is **minimal**, **domain‑agnostic**, and provides a universal base layer for all agent frameworks.
2020
1.3 This specification is aligned with **x402** (agent invocation) and **ERC‑8004** (schema discovery + ENS TXT patterns).
2121

2222
---
2323

24-
# **2. Scope**
24+
## **2. Scope**
2525

2626
The Commons standardizes:
2727

@@ -40,7 +40,7 @@ Out of scope (defined in other repos):
4040

4141
---
4242

43-
# **3. Conformance**
43+
## **3. Conformance**
4444

4545
A system **CONFORMS** to the CommandLayer Commons if it:
4646

@@ -53,7 +53,7 @@ A “Commons‑Compatible Agent” is any agent capable of consuming a valid req
5353

5454
---
5555

56-
# **4. Canonical Verbs & (v1.0.0)**
56+
## **4. Canonical Verbs & (v1.0.0)**
5757

5858
The following are the **ONLY canonical verbs** in v1.0.0:
5959

@@ -77,11 +77,11 @@ Rules:
7777

7878
---
7979

80-
# **5. Message Model**
80+
## **5. Message Model**
8181

8282
A message is either a **request** or **receipt**.
8383

84-
## **5.1 Request Requirements**
84+
### **5.1 Request Requirements**
8585

8686
A request **MUST** include:
8787

@@ -101,7 +101,7 @@ Minimal normative example:
101101
}
102102
```
103103

104-
## **5.2 Receipt Requirements**
104+
### **5.2 Receipt Requirements**
105105

106106
A receipt **MUST** include:
107107

@@ -123,9 +123,9 @@ Normative example:
123123

124124
---
125125

126-
# **6. Normative Field Definitions**
126+
## **6. Normative Field Definitions**
127127

128-
## **6.1 `x402`**
128+
### **6.1 `x402`**
129129
```json
130130
{
131131
"verb": "<canonical-verb>",
@@ -137,14 +137,14 @@ Rules:
137137
- `verb` **MUST** match the canonical verb folder.
138138
- `version` **MUST** equal `"1.0.0"` for this specification.
139139

140-
## **6.2 `actor`**
140+
### **6.2 `actor`**
141141
The actor **MUST** be one of:
142142

143143
- ENS name (e.g., `agent.eth`)
144144
- DID (e.g., `did:key:...`)
145145
- Valid URI
146146

147-
## **6.3 `trace`**
147+
### **6.3 `trace`**
148148
```json
149149
{
150150
"requestId": "string",
@@ -155,14 +155,14 @@ The actor **MUST** be one of:
155155
- `requestId` **MUST** be present in both request & receipt.
156156
- `nonce` **MUST** prevent replay.
157157

158-
## **6.4 `status`**
158+
### **6.4 `status`**
159159
- `status` **MUST** be `"ok"` or `"error"`.
160160
- If `"error"`, an error object **MUST** be present.
161161
- If `"ok"`, result **MUST** be present.
162162

163163
---
164164

165-
# **7. Schema Requirements**
165+
## **7. Schema Requirements**
166166

167167
7.1 Schemas **MUST** be JSON Schema Draft 2020‑12.
168168
7.2 Validation **MUST** use strict mode (e.g., Ajv strict).
@@ -181,7 +181,7 @@ https://commandlayer.org/schemas/v1.0.0/commons/<verb>/receipts/<verb>.receipt.s
181181

182182
---
183183

184-
# **8. Versioning & Immutability**
184+
## **8. Versioning & Immutability**
185185

186186
- `v1.0.0/` **MUST NOT** be changed once published.
187187
- Fixes **MUST** use `v1.0.1` or higher.
@@ -193,7 +193,7 @@ https://commandlayer.org/schemas/v1.0.0/commons/<verb>/receipts/<verb>.receipt.s
193193

194194
---
195195

196-
# **10. Discovery & ERC‑8004 Alignment**
196+
## **9. Discovery & ERC‑8004 Alignment**
197197

198198
CommandLayer Commons SHOULD expose schema locations using ERC‑8004 discovery patterns:
199199

@@ -205,36 +205,36 @@ Resolvers MAY map agent ENS names to verb schemas (defined in the Discovery spec
205205

206206
---
207207

208-
# **11. A2A Behavior**
208+
## **10. A2A Behavior**
209209

210210
- Agents **SHOULD** preserve `trace.requestId` end‑to‑end.
211211
- Agents **SHOULD NOT** mutate JSON bodies other than framing.
212212
- Transport is **out of scope** (HTTP/NATS/gRPC/on‑chain).
213213

214214
---
215215

216-
# **12. Security (Recommended)**
216+
## **11. Security (Recommended)**
217217

218218
- Implementations **SHOULD** authenticate callers.
219219
- Sensitive data **SHOULD NOT** be placed in unspecified fields.
220220
- Agents **MAY** apply rate/size limits.
221221

222222
---
223223

224-
# **13. Extension Hooks**
224+
## **12. Extension Hooks**
225225

226226
- `input` and `result` fields are defined extension surfaces.
227227
- Top‑level extensions **MUST NOT** be added due to `additionalProperties: false`.
228228

229229
---
230230

231-
# **14. Normative Schema Fragments**
231+
## **13. Normative Schema Fragments**
232232

233233
Request + receipt envelope fragments are included for implementers (see **SCHEMAS.md**).
234234

235235
---
236236

237-
# **15. Examples (Informative)**
237+
## **14. Examples (Informative)**
238238

239239
Verb examples (fetch, summarize, etc.) are provided in the repository under:
240240

@@ -244,27 +244,27 @@ examples/v1.0.0/commons/<verb>/
244244

245245
---
246246

247-
# **16. Compliance Testing**
247+
## **15. Compliance Testing**
248248

249249
- CI **SHOULD** validate all examples in strict mode.
250250
- Implementations **SHOULD** provide conformance suites.
251251

252252
---
253253

254-
# **17. Change Control**
254+
## **16. Change Control**
255255

256256
- Spec updates **SHOULD** go through issue → PR → review → version bump.
257257
- Movement from Candidate → Stable occurs after ecosystem confirmation.
258258

259259
---
260260

261-
# **18. Licensing**
261+
## **17. Licensing**
262262

263263
The Commons are licensed under **MIT**.
264264

265265
---
266266

267-
# **19. References**
267+
## **19. References**
268268

269269
- RFC 2119
270270
- JSON Schema Draft 2020‑12

0 commit comments

Comments
 (0)