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 fafolab/wcp repository. Contributions to the spec happen through GitHub.
Process
- Open an issue at github.com/fafolab/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 (PyHall passes as the reference test)
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)
The PyHall Python implementation is the reference — its 133 tests define conformant behavior. If your implementation produces the same RouteDecisions for the same inputs, it's conformant.
Extending the capability catalog
The WCP catalog (capability IDs, worker classes, controls, policies, profiles) is maintained in the fafolab/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.
NIST comment period
WCP v0.1 is being submitted as input to NIST's AI governance framework. The public comment period closes March 9, 2026.
To submit a formal comment:
- Open an issue on GitHub with the label
nist-comment - Or email directly — contact address is in the spec header
Comments should be specific: cite the section number, describe the issue precisely, and propose the fix. Vague objections without proposed text are unlikely to result in changes.