CLAS is an open schema and specification repository for interoperable machine actions.
CLAS accepts:
- action schemas
- manifests
- request examples
- response examples
- receipt examples
- verification rules
- documentation
CLAS does not accept:
- runtime-specific business logic
- chain-specific lock-in
- proprietary transport assumptions
- closed discovery systems
All CLAS actions should:
- be network-agnostic
- emit verifiable receipts
- support canonical JSON hashing
- support independent verification
- separate transport from trust
- prefer stable action naming
Every action verb folder should include:
<verb>.request.schema.json<verb>.receipt.schema.jsonexamples/valid.request.jsonvalid.receipt.jsontampered.receipt.jsoninvalid.receipt.json
Select verbs may additionally include:
<verb>.openapi.yaml<verb>.mcp.tool.schema.json
Each family has a manifest.json at its root. See docs/family-manifests.md for the manifest format.
Current CLAS verification defaults:
- canonicalization: json.sorted_keys.v1
- hash: SHA-256
- signature algorithm: Ed25519
- receipt schema: cl.receipt.v1
CLAS uses semantic versioning.
Examples:
- clas.verify.v1
- clas.verify.v1.1
- CLAS v1.0.0
Action names should:
- be stable
- be implementation-neutral
- describe machine behavior clearly
- avoid vendor branding
- avoid unnecessary synonyms
Contributors should:
- keep schemas minimal
- provide examples
- document verification behavior
- avoid introducing network dependencies