11# ONBOARDING — Protocol-Commons
22
3- Welcome to ** CommandLayer Protocol-Commons** — the canonical verb + schema layer.
3+ Welcome to ** Protocol-Commons** — the canonical verb + schema layer for autonomous agents .
44
5- This repo defines the ** semantic contract** for autonomous agents:
6- - What actions exist (verbs)
7- - How requests and receipts are structured (schemas)
5+ This repo defines the ** semantic contract** :
6+
7+ - What actions exist (canonical verbs)
8+ - How requests and receipts are structured (typed schemas)
89- How they bind into x402 envelopes and trace primitives
910
10- If you break this, you break everyone’s agents. Treat it as core infra .
11+ Stable semantics here protect the entire agent ecosystem .
1112
1213---
1314
1415## 1. Who This Repo Is For
1516
1617You’re in the right place if you are:
1718
18- - A ** protocol / infra engineer** defining or consuming canonical verbs
19- - An ** agent runtime / router implementer** mapping verbs → handlers
20- - A ** schema / validation engineer** integrating strict JSON Schema flows
21- - An ** ecosystem contributor ** helping extend the canonical verb set
19+ - Protocol / infra engineer defining canonical verbs
20+ - Agent runtime / router implementer mapping verbs → handlers
21+ - Validator engineer enforcing JSON Schema standards
22+ - Contributor extending neutral A2A semantics
2223
23- If you want to work with identity metadata or ENS discovery, see ** agent-cards** instead .
24+ For identity metadata + ENS discovery → see ** agent-cards** .
2425
2526---
2627
2728## 2. Mental Model
2829
29- Protocol-Commons is the ** bottom layer** :
30+ Protocol-Commons is the bottom layer:
3031
3132``` text
32- [ Execution ] x402 runtimes, agents, payments
33- [ Identity ] Agent-Cards (ENS discovery, x402 entrypoints )
34- [ Semantics ] ← Protocol-Commons (canonical verbs + schemas)
33+ [ Execution ] x402 runtimes (invocation + receipts)
34+ [ Identity ] Agent-Cards (discovery + ownership )
35+ [ Semantics ] Protocol-Commons (verbs + schemas)
3536```
36- This repo answers exactly one question:
37-
38- “What is this agent trying to do, and what does that message look like on the wire?”
39-
40- No business logic. No pricing. No proprietary behavior.
37+ It answers:
4138
42- ## 3. Repo Layout
39+ “What is this agent trying to do — and what must this message look like?”
4340
41+ 3 . Repo Layout
4442```
4543schemas/
4644 v1.0.0/
@@ -50,8 +48,6 @@ schemas/
5048 receipt.base.schema.json
5149 commons/
5250 analyze/
53- requests/analyze.request.schema.json
54- receipts/analyze.receipt.schema.json
5551 classify/
5652 clean/
5753 convert/
@@ -61,14 +57,8 @@ schemas/
6157 format/
6258 parse/
6359 summarize/
64-
6560examples/
66- v1.0.0/
67- commons/
68- <verb>/
69- valid/*.json
70- invalid/*.json
71-
61+ v1.0.0/commons/<verb>/valid|invalid/*.json
7262checksums.txt
7363manifest.json
7464
@@ -80,109 +70,51 @@ SECURITY_PROVENANCE.md
8070RESOLUTION.md
8171```
8272
83- Authoritative documents:
84-
85- SPEC.md — normative protocol rules (NORMATIVE, ENFORCEABLE)
86-
87- POLICY.md — how verbs + schemas are allowed to evolve
88-
89- GOVERNANCE.md — who can approve changes and how
90-
91- SECURITY* .md — disclosure, CIDs, and immutability guarantees
92-
93- RESOLUTION.md — why any verb/schema changed
94-
95- If a change is not consistent with these files, it is non-compliant, even if CI passes.
96-
97-
98- ## 4. How To Propose a Change
99-
100- ** Never** just “fix a schema” in a drive-by PR.
101-
102- For any change (new verb, bugfix, tightening, etc.):
103-
104- ### 1. Open an Issue
105-
106- - Describe the problem / use case.
107- - Specify which verb(s) and version(s) are affected.
108- - Describe expected behavior vs current behavior.
109-
110- ### 2. Design the Change
111-
112- - Decide if this is breaking (shape or semantics) or additive.
113- - Map it onto versioning rules in POLICY.md and SPEC.md.
114- - For new verbs, justify why it belongs in Commons (not Commercial).
115-
116- ### 3. Implement
117-
118- - Modify or add schemas under schemas/vX.Y.Z/..
119- - Update examples under examples/vX.Y.Z/...
120- - Run local validation:
121- ```
122- npm install
123- npm run validate
124- npm run validate:examples
125- ```
126-
127- ### 4. Update Provenance
128-
129- - Append entries to RESOLUTION.md (what changed and why).
130- - Prepare new checksums and manifest updates (if version changes).
131- - Ensure new CIDs are ready to be pinned (IPFS).
73+ Authoritative docs:
13274
133- ### 5. Submit PR
75+ SPEC.md — NORMATIVE rules
13476
135- - Link the Issue in the PR description.
136- - Include validation output (or CI link).
137- - Call out whether this is MAJOR/MINOR/PATCH in semantic-version terms.
77+ - ` POLICY.md ` — versioning and extension governance
78+ - ` GOVERNANCE.md ` — approval of normative changes
79+ - ` SECURITY*.md ` — provenance + integrity guarantees
80+ - ` RESOLUTION.md ` — canonical lifecycle log
13881
139- ### 6. Governance Review
82+ If a change is not reflected here → ** not canonical. **
14083
141- - Maintainers check:
142- - No silent breaking changes
143- - Versioning rules respected
144- - ENS TXT responsibility unchanged or correctly updated
145- - Once merged, a new tag and CID are produced and recorded in SECURITY_PROVENANCE.md.
84+ ** ENS TXT Summary**
85+ Protocol-Commons governs TXT keys that resolve schema semantics.
86+ Canonical definitions → ` SPEC.md. `
14687
147- ## 5. Local Dev / Validation
88+ ## 4. Contribution Flow
89+ 1 . Open an Issue describing context + verb(s)
90+ 2 . Design change per POLICY.md
91+ 3 . Update schemas + examples
92+ 4 . Validate:
14893
149- Standard workflow:
15094```
151- git clone https://github.com/commandlayer/protocol-commons.git
152- cd protocol-commons
153-
15495npm install
155-
156- # Validate schemas + examples
15796npm run validate
15897npm run validate:examples
15998```
99+ 5 . Update ` RESOLUTION.md ` , provenance
100+ 6 . Submit PR with version class (MAJOR/MINOR/PATCH)
160101
161- If validation fails, ** do not ** paper over it — fix the schemas or examples so they align with SPEC.md .
102+ Once approved → tagged + pinned .
162103
163- ## 6 . What “Good” Looks Like
104+ ## 5 . What “Good” Looks Like
164105
165- A good contribution:
106+ - Clear, single-purpose PR
107+ - Schema + example alignment
108+ - No edits to existing version folders
109+ - Fully traceable governance + checksums
110+ - Deterministic $id + HTTP resolution
166111
167- - ** Does one thing clearly** (e.g., “add stream as a new verb”, not “rewrite half the repo”).
168- - Comes with:
169- - Updated schemas
170- - Valid + invalid examples
171- - Updated docs where normative behavior changed
172- - A RESOLUTION.md entry explaining the change
112+ Default assumption: ** new version** for any semantic change.
173113
174- -Respects immutability:
175- - No edits to existing v1.0.0/ files
176- - New version directories for any real change
177-
178- If you’re not sure whether a change is allowed for a given version, assume it requires a new version directory and ask via an Issue.
179-
180- ## 7. Support
181-
182- Governance / security contact: dev@commandlayer.org
114+ ## 6. Support
183115
116+ Governance contact: dev@commandlayer.org
184117PGP fingerprint: 5016 D496 9F38 22B2 C5A2 FA40 99A2 6950 197D AB0A
185118
186- If your use case doesn’t fit the existing verbs or schemas, open an Issue before forking semantics.
187-
188- Protocol-Commons is meant to be a shared, neutral layer — not anyone’s private fork.
119+ Protocol-Commons is a ** neutral shared layer.**
120+ Precision here preserves interoperability everywhere else.
0 commit comments