Skip to content

Commit 866d147

Browse files
authored
Create ONBOARDING.md
1 parent 45570c1 commit 866d147

File tree

1 file changed

+207
-0
lines changed

1 file changed

+207
-0
lines changed

ONBOARDING.md

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
# ONBOARDING — Protocol-Commons
2+
3+
Welcome to **CommandLayer Protocol-Commons** — the canonical verb + schema layer.
4+
5+
This repo defines the **semantic contract** for autonomous agents:
6+
- What actions exist (verbs)
7+
- How requests and receipts are structured (schemas)
8+
- How they bind into x402 envelopes and trace primitives
9+
10+
If you break this, you break everyone’s agents. Treat it as core infra.
11+
12+
---
13+
14+
## 1. Who This Repo Is For
15+
16+
You’re in the right place if you are:
17+
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
22+
23+
If you want to work with identity metadata or ENS discovery, see **agent-cards** instead.
24+
25+
---
26+
27+
## 2. Mental Model
28+
29+
Protocol-Commons is the **bottom layer**:
30+
31+
```text
32+
[ Execution ] x402 runtimes, agents, payments
33+
[ Identity ] Agent-Cards (ENS discovery, x402 entrypoints)
34+
[ Semantics ] ← Protocol-Commons (canonical verbs + schemas)
35+
This repo answers exactly one question:
36+
37+
“What is this agent trying to do, and what does that message look like on the wire?”
38+
39+
No business logic. No pricing. No proprietary behavior.
40+
41+
## 3. Repo Layout
42+
43+
44+
schemas/
45+
v1.0.0/
46+
_shared/
47+
x402.schema.json
48+
trace.schema.json
49+
receipt.base.schema.json
50+
commons/
51+
analyze/
52+
requests/analyze.request.schema.json
53+
receipts/analyze.receipt.schema.json
54+
classify/
55+
clean/
56+
convert/
57+
describe/
58+
explain/
59+
fetch/
60+
format/
61+
parse/
62+
summarize/
63+
64+
examples/
65+
v1.0.0/
66+
commons/
67+
<verb>/
68+
valid/*.json
69+
invalid/*.json
70+
71+
checksums.txt
72+
manifest.json
73+
74+
SPEC.md
75+
POLICY.md
76+
GOVERNANCE.md
77+
SECURITY.md
78+
SECURITY_PROVENANCE.md
79+
RESOLUTION.md
80+
81+
82+
Authoritative documents:
83+
84+
SPEC.md — normative protocol rules (NORMATIVE, ENFORCEABLE)
85+
86+
POLICY.md — how verbs + schemas are allowed to evolve
87+
88+
GOVERNANCE.md — who can approve changes and how
89+
90+
SECURITY*.md — disclosure, CIDs, and immutability guarantees
91+
92+
RESOLUTION.md — why any verb/schema changed
93+
94+
If a change is not consistent with these files, it is non-compliant, even if CI passes.
95+
96+
4. How To Propose a Change
97+
98+
Never just “fix a schema” in a drive-by PR.
99+
100+
For any change (new verb, bugfix, tightening, etc.):
101+
102+
Open an Issue
103+
104+
Describe the problem / use case.
105+
106+
Specify which verb(s) and version(s) are affected.
107+
108+
Describe expected behavior vs current behavior.
109+
110+
Design the Change
111+
112+
Decide if this is breaking (shape or semantics) or additive.
113+
114+
Map it onto versioning rules in POLICY.md and SPEC.md.
115+
116+
For new verbs, justify why it belongs in Commons (not Commercial).
117+
118+
Implement
119+
120+
Modify or add schemas under schemas/vX.Y.Z/...
121+
122+
Update examples under examples/vX.Y.Z/...
123+
124+
Run local validation:
125+
126+
npm install
127+
npm run validate
128+
npm run validate:examples
129+
130+
131+
Update Provenance
132+
133+
Append entries to RESOLUTION.md (what changed and why).
134+
135+
Prepare new checksums and manifest updates (if version changes).
136+
137+
Ensure new CIDs are ready to be pinned (IPFS).
138+
139+
Submit PR
140+
141+
Link the Issue in the PR description.
142+
143+
Include validation output (or CI link).
144+
145+
Call out whether this is MAJOR/MINOR/PATCH in semantic-version terms.
146+
147+
Governance Review
148+
149+
Maintainers check:
150+
151+
No silent breaking changes
152+
153+
Versioning rules respected
154+
155+
ENS TXT responsibility unchanged or correctly updated
156+
157+
Once merged, a new tag and CID are produced and recorded in SECURITY_PROVENANCE.md.
158+
159+
5. Local Dev / Validation
160+
161+
Standard workflow:
162+
163+
git clone https://github.com/commandlayer/protocol-commons.git
164+
cd protocol-commons
165+
166+
npm install
167+
168+
# Validate schemas + examples
169+
npm run validate
170+
npm run validate:examples
171+
172+
173+
If validation fails, do not paper over it — fix the schemas or examples so they align with SPEC.md.
174+
175+
6. What “Good” Looks Like
176+
177+
A good contribution:
178+
179+
Does one thing clearly (e.g., “add stream as a new verb”, not “rewrite half the repo”).
180+
181+
Comes with:
182+
183+
Updated schemas
184+
185+
Valid + invalid examples
186+
187+
Updated docs where normative behavior changed
188+
189+
A RESOLUTION.md entry explaining the change
190+
191+
Respects immutability:
192+
193+
No edits to existing v1.0.0/ files
194+
195+
New version directories for any real change
196+
197+
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.
198+
199+
7. Support
200+
201+
Governance / security contact: dev@commandlayer.org
202+
203+
PGP fingerprint: 5016 D496 9F38 22B2 C5A2 FA40 99A2 6950 197D AB0A
204+
205+
If your use case doesn’t fit the existing verbs or schemas, open an Issue before forking semantics.
206+
207+
Protocol-Commons is meant to be a shared, neutral layer — not anyone’s private fork.

0 commit comments

Comments
 (0)