Contribute
WCP belongs to whoever needs it. The spec is open. Contributions are welcome.
Contributing to the specification
The WCP specification lives in WCP_SPEC.md in the workerclassprotocol/wcp repository. Contributions to the spec happen through GitHub.
Process
- Open an issue at github.com/workerclassprotocol/wcp/issues to describe the change you want to make
- Discuss the change in the issue thread. This is where scope and rationale are established.
- Submit a pull request with your edits to
WCP_SPEC.md - Review and merge — changes must not break existing conformant implementations
What belongs in the spec
- Normative definitions of RouteInput, RouteDecision, and registry record fields
- Capability namespace rules and taxonomy governance
- Policy profile definitions and risk tier semantics
- Attestation and evidence requirements
- Compliance level definitions (WCP-Basic, WCP-Standard, WCP-Full)
What doesn't belong in the spec
- Transport-level concerns (that's MCP/A2A)
- Implementation-specific behavior (that goes in SDK docs)
- UI/UX decisions (that's up to each implementation)
- Vendor-specific extensions (use the
x.*ororg.*namespaces)
Building a conformant implementation
A WCP-conformant implementation at the WCP-Basic level must:
- Accept
RouteInputwith all required fields (§4.1) - Produce
RouteDecisionwith one of the three outcomes: DISPATCH, DENY, STEWARD_HOLD (§4.2) - Implement fail-closed behavior: unknown capabilities are always denied (§5.1)
- Produce deterministic routing decisions given identical inputs (§5.2)
WCP-Full additionally requires:
- Controls enforcement and declaration verification (§5.3)
- Mandatory telemetry — three events per dispatch (§5.4)
- Dry-run mode (§5.5)
- Discovery API endpoints (§5.6)
- Evidence receipts with SHA-256 payload hash (§5.7)
- Human-in-loop routing with supervisor levels (§5.8)
- Signatory tenant validation in production (§5.9)
- Worker code attestation in production (§5.10)
Extending the capability catalog
The WCP catalog (capability IDs, worker species, controls, policies, profiles) is maintained in the workerclassprotocol/wcp repository. Community additions are welcome via pull request.
Requirements for a new catalog entry:
- Capability ID follows the format rules in §3.2 (lowercase, dot-separated, 2–4 segments, max 64 chars)
- A corresponding worker species ID in
wrk.* - A working implementation in at least one language
- Clear description of what the capability does and what it doesn't do
Use x.* for experimental capabilities. Once a capability is stable and has a working implementation, open a PR to promote it to the reserved cap.* namespace.