A comprehensive collection of canonical specification conformance tables and the cdd-conformance Rust verification engine, pre-commit hook suite, and Model Context Protocol (MCP) server designed to ensure Compiler Driven Development (CDD) integrations (Client SDKs, Server Generators, CLIs, etc.) are 100% compliant with their respective specifications.
When building API or protocol tooling (such as client SDK generators, server stubs, CLIs, or MCP servers), it is critical to know which parts of a specification your tool supports, ignores, or drops. While you could feed the raw specification markdown or JSON schema directly to an LLM to check compliance, raw specifications are dense and unoptimized for systematic verification and progress tracking.
This repository solves that problem in two ways:
- Canonical Conformance Checklists: Structured, easy-to-parse Markdown checklists for OpenAPI (3.0.0, 3.1.0, 3.1.1, 3.2.0), Swagger 2.0, Arazzo 1.1.0, Model Context Protocol (
mcp-1.0.0&mcp-2026-07-28), and Mock Server Plans, specifically designed to be LLM-friendly and human-readable. cdd-conformanceVerification Engine & MCP Server: A fast, zero-panic Rust CLI, library, pre-commit hook runner, and stdio MCP server that audits language repositories against embedded canonical tables, cross-checksCOMPLIANCE.mdclaims, shallow-parses source code & doc comments across 13+ languages, and orchestrates cross-language runtime equivalence and roundtrip verification.
The table below provides direct access to all supported specifications, their original reference documents or schemas, and their respective integration checklists:
| Specification & Version | Reference Spec / Schema | Client SDK (client-sdk.md) |
CLI Tooling (client-sdk-cli.md) |
Server Generator (servers.md) |
|---|---|---|---|---|
| OpenAPI 3.2.0 | openapi-3.2.0.md |
Client SDK | CLI | Servers |
| OpenAPI 3.1.1 | openapi-3.1.1.md |
Client SDK | CLI | Servers |
| OpenAPI 3.1.0 | openapi-3.1.0.md |
Client SDK | CLI | Servers |
| OpenAPI 3.0.0 | openapi-3.0.0.md |
Client SDK | CLI | Servers |
| Swagger 2.0 | swagger-2.0.md |
Client SDK | CLI | Servers |
| Arazzo 1.1.0 | arazzo-1.1.0.md |
Client SDK | CLI | Servers |
| MCP 2026-07-28 | mcp-2026-07-28.md & schema |
Client SDK | CLI | Servers |
| MCP 1.0.0 | schema-2024-11-05.json |
Client SDK | CLI | Servers |
The table below tracks live specification compliance across all 13 core language repositories in the CDD ecosystem (cdd-c, cdd-cpp, cdd-csharp, cdd-go, cdd-java, cdd-kotlin, cdd-php, cdd-python-all, cdd-ruby, cdd-rust, cdd-sh, cdd-swift, cdd-ts):
| Language | Specification | Profile | Implemented Features | Overall Score |
|---|---|---|---|---|
| c (cdd-c) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| c (cdd-c) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| c (cdd-c) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| c (cdd-c) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| c (cdd-c) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| c (cdd-c) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| c (cdd-c) | mock-server | mock-server-plan | 250/250 | 100.0% |
| c (cdd-c) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| c (cdd-c) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| c (cdd-c) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| c (cdd-c) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| c (cdd-c) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| c (cdd-c) | swagger-2.0 | servers | 426/426 | 100.0% |
| cpp (cdd-cpp) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| cpp (cdd-cpp) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| cpp (cdd-cpp) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| cpp (cdd-cpp) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| cpp (cdd-cpp) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| cpp (cdd-cpp) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| cpp (cdd-cpp) | mock-server | mock-server-plan | 250/250 | 100.0% |
| cpp (cdd-cpp) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| cpp (cdd-cpp) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| cpp (cdd-cpp) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| cpp (cdd-cpp) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| cpp (cdd-cpp) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| cpp (cdd-cpp) | swagger-2.0 | servers | 426/426 | 100.0% |
| csharp (cdd-csharp) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| csharp (cdd-csharp) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| csharp (cdd-csharp) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| csharp (cdd-csharp) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| csharp (cdd-csharp) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| csharp (cdd-csharp) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| csharp (cdd-csharp) | mock-server | mock-server-plan | 250/250 | 100.0% |
| csharp (cdd-csharp) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| csharp (cdd-csharp) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| csharp (cdd-csharp) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| csharp (cdd-csharp) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| csharp (cdd-csharp) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| csharp (cdd-csharp) | swagger-2.0 | servers | 426/426 | 100.0% |
| go (cdd-go) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| go (cdd-go) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| go (cdd-go) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| go (cdd-go) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| go (cdd-go) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| go (cdd-go) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| go (cdd-go) | mock-server | mock-server-plan | 250/250 | 100.0% |
| go (cdd-go) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| go (cdd-go) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| go (cdd-go) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| go (cdd-go) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| go (cdd-go) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| go (cdd-go) | swagger-2.0 | servers | 426/426 | 100.0% |
| java (cdd-java) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| java (cdd-java) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| java (cdd-java) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| java (cdd-java) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| java (cdd-java) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| java (cdd-java) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| java (cdd-java) | mock-server | mock-server-plan | 250/250 | 100.0% |
| java (cdd-java) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| java (cdd-java) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| java (cdd-java) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| java (cdd-java) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| java (cdd-java) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| java (cdd-java) | swagger-2.0 | servers | 426/426 | 100.0% |
| kotlin (cdd-kotlin) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| kotlin (cdd-kotlin) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| kotlin (cdd-kotlin) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| kotlin (cdd-kotlin) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| kotlin (cdd-kotlin) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| kotlin (cdd-kotlin) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| kotlin (cdd-kotlin) | mock-server | mock-server-plan | 250/250 | 100.0% |
| kotlin (cdd-kotlin) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| kotlin (cdd-kotlin) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| kotlin (cdd-kotlin) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| kotlin (cdd-kotlin) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| kotlin (cdd-kotlin) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| kotlin (cdd-kotlin) | swagger-2.0 | servers | 426/426 | 100.0% |
| php (cdd-php) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| php (cdd-php) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| php (cdd-php) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| php (cdd-php) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| php (cdd-php) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| php (cdd-php) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| php (cdd-php) | mock-server | mock-server-plan | 250/250 | 100.0% |
| php (cdd-php) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| php (cdd-php) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| php (cdd-php) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| php (cdd-php) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| php (cdd-php) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| php (cdd-php) | swagger-2.0 | servers | 426/426 | 100.0% |
| python-all (cdd-python-all) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| python-all (cdd-python-all) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| python-all (cdd-python-all) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| python-all (cdd-python-all) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| python-all (cdd-python-all) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| python-all (cdd-python-all) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| python-all (cdd-python-all) | mock-server | mock-server-plan | 250/250 | 100.0% |
| python-all (cdd-python-all) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| python-all (cdd-python-all) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| python-all (cdd-python-all) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| python-all (cdd-python-all) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| python-all (cdd-python-all) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| python-all (cdd-python-all) | swagger-2.0 | servers | 426/426 | 100.0% |
| ruby (cdd-ruby) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| ruby (cdd-ruby) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| ruby (cdd-ruby) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| ruby (cdd-ruby) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| ruby (cdd-ruby) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| ruby (cdd-ruby) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| ruby (cdd-ruby) | mock-server | mock-server-plan | 250/250 | 100.0% |
| ruby (cdd-ruby) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| ruby (cdd-ruby) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| ruby (cdd-ruby) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| ruby (cdd-ruby) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| ruby (cdd-ruby) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| ruby (cdd-ruby) | swagger-2.0 | servers | 426/426 | 100.0% |
| rust (cdd-rust) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| rust (cdd-rust) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| rust (cdd-rust) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| rust (cdd-rust) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| rust (cdd-rust) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| rust (cdd-rust) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| rust (cdd-rust) | mock-server | mock-server-plan | 250/250 | 100.0% |
| rust (cdd-rust) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| rust (cdd-rust) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| rust (cdd-rust) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| rust (cdd-rust) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| rust (cdd-rust) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| rust (cdd-rust) | swagger-2.0 | servers | 426/426 | 100.0% |
| sh (cdd-sh) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| sh (cdd-sh) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| sh (cdd-sh) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| sh (cdd-sh) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| sh (cdd-sh) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| sh (cdd-sh) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| sh (cdd-sh) | mock-server | mock-server-plan | 250/250 | 100.0% |
| sh (cdd-sh) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| sh (cdd-sh) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| sh (cdd-sh) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| sh (cdd-sh) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| sh (cdd-sh) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| sh (cdd-sh) | swagger-2.0 | servers | 426/426 | 100.0% |
| swift (cdd-swift) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| swift (cdd-swift) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| swift (cdd-swift) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| swift (cdd-swift) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| swift (cdd-swift) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| swift (cdd-swift) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| swift (cdd-swift) | mock-server | mock-server-plan | 250/250 | 100.0% |
| swift (cdd-swift) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| swift (cdd-swift) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| swift (cdd-swift) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| swift (cdd-swift) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| swift (cdd-swift) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| swift (cdd-swift) | swagger-2.0 | servers | 426/426 | 100.0% |
| ts (cdd-ts) | arazzo-1.1.0 | client-sdk | 220/220 | 100.0% |
| ts (cdd-ts) | arazzo-1.1.0 | client-sdk-cli | 220/220 | 100.0% |
| ts (cdd-ts) | arazzo-1.1.0 | servers | 220/220 | 100.0% |
| ts (cdd-ts) | mcp-1.0.0 | client-sdk | 712/712 | 100.0% |
| ts (cdd-ts) | mcp-1.0.0 | client-sdk-cli | 712/712 | 100.0% |
| ts (cdd-ts) | mcp-1.0.0 | servers | 712/712 | 100.0% |
| ts (cdd-ts) | mock-server | mock-server-plan | 250/250 | 100.0% |
| ts (cdd-ts) | openapi-3.2.0 | client-sdk | 410/410 | 100.0% |
| ts (cdd-ts) | openapi-3.2.0 | client-sdk-cli | 410/410 | 100.0% |
| ts (cdd-ts) | openapi-3.2.0 | servers | 410/410 | 100.0% |
| ts (cdd-ts) | swagger-2.0 | client-sdk | 426/426 | 100.0% |
| ts (cdd-ts) | swagger-2.0 | client-sdk-cli | 426/426 | 100.0% |
| ts (cdd-ts) | swagger-2.0 | servers | 426/426 | 100.0% |
Each specification directory contains standardized checklists focused on specific boundaries of code generation and extraction:
- Client SDK (
client-sdk.md): Tracks integration for HTTP and protocol clients, strongly typed request builders, response deserialization, polymorphic type discriminators, mock clients, and unit tests. - CLI Tooling (
client-sdk-cli.md): Tracks integration for generated CLI wrapper tools, command namespaces, subcommands, argument/flag parsing, environment variable bindings, output formatting (JSON, YAML, tabular), and help text generation. - Server Scaffolding (
servers.md): Tracks integration for server stubs, route handlers, middleware dispatchers, request validation, response serialization, mock endpoints, and test harness generation. - Reference Specs & Schemas: The canonical specification markdown or JSON schema file is co-located in each version directory for immediate cross-referencing.
mock-server/mock-server-plan.md: An exhaustive, language-agnostic implementation checklist for building an orthogonal, multi-tiered CDD Server. This mandate covers everything from scaffolding Stub DAOs and Concrete ORM interactions to ephemeral database provisioning, fake data seeding, and advanced mock capabilities with 100% test and documentation coverage mandates.
The checklists track conformance bidirectionally:
To(Code → Specification): Extracting or generating the specification document from strongly typed source code, annotations, or route definitions.From(Specification → Code): Generating strongly typed code, client libraries, CLI handlers, or server routes from the specification document.- Presence
[To, From]: The object or feature is successfully parsed, validated, utilized, or generated. - Absence
[To, From]: The object or feature is currently unsupported, dropped, or falls back to generic/dynamic types. - Skipped
[To, From]: Intentionally ignored because it is irrelevant or unsupported by the integration architecture.
Each checklist contains Markdown checkboxes ([ ]). Mark [x] as conformance is achieved and documented.
Install or build the cdd-conformance binary with Cargo:
cargo install --path .-
cdd-conformance check: Audits a repository against embedded canonical checklists and verifiesCOMPLIANCE.mdclaims.cdd-conformance check --path ../cdd-rust --strict --min-coverage 100.0 --diff cdd-conformance check --path ../cdd-python-all --spec openapi-3.2.0 cdd-conformance check --path ../cdd-go --claims-only
-
cdd-conformance report: Outputs a directional (To/From) conformance report in terminal table, Markdown (--markdown), or JSON (--json) format.cdd-conformance report --path ../cdd-rust --markdown cdd-conformance report --path ../cdd-ts --json
-
cdd-conformance matrix: Scans allcdd-*language repositories and generates the ecosystem compliance matrix (or updatesREADME.mdin-place).cdd-conformance matrix --repos-dir .. --readme README.md
-
cdd-conformance sync: Scaffolds missing canonical checklists or synchronizes existing checklists with upstream canonical updates while preserving checked statuses and notes.cdd-conformance sync --path ../cdd-c --spec openapi-3.2.0 --dry-run
-
cdd-conformance init: Scaffolds an initial.cdd-conformance.yamlconfiguration file in a target repository.cdd-conformance init --path ../cdd-kotlin
-
cdd-conformance inspect-source: Shallow-parses source files or directories across all 13 core CDD languages (c,cpp,csharp,go,java,kotlin,php,python,ruby,rust,sh,swift,ts) plus custom extension languages (zig,cobol,fortran, etc.), extracting structs/classes, fields, functions/methods, arguments, and doc comments.cdd-conformance inspect-source --path src --lang rust --require-docs cdd-conformance inspect-source --path ../cdd-go --openapi-spec openapi.json cdd-conformance inspect-source --path ../cdd-rust --require-docs --arazzo-spec workflow.arazzo.yaml
-
cdd-conformance verify-clients: Verifies all 13+ language Client SDKs, Client CLIs, and frontends against the../cdd-rustreference backend.cdd-conformance verify-clients --repos-dir .. --reference-backend-path ../cdd-rust
-
cdd-conformance verify-backends: Verifies the$N \times N$ cross-language server equivalence and compatibility matrix (and optional--roundtrip).cdd-conformance verify-backends --repos-dir .. --roundtrip
-
cdd-conformance verify-roundtrip: Executes the$N$ -language transitive OpenAPI or Arazzo 1.1.0 and source-signature roundtrip verification chain (Code -> Spec -> Code).cdd-conformance verify-roundtrip --repos-dir .. --spec openapi-3.2.0 cdd-conformance verify-roundtrip --repos-dir .. --spec arazzo-1.1.0
-
cdd-conformance mcp: Runs the Model Context Protocol (MCP) server over standard I/O (stdin/stdout). Runningcdd-conformancewith no subcommand also defaults to launching the MCP server.
cdd-conformance includes a built-in MCP server conforming to both mcp-1.0.0 (2024-11-05) and mcp-2026-07-28 (self-conformance tracked in conformance/mcp-1.0.0/servers.md and conformance/mcp-2026-07-28/servers.md).
-
check_conformance— Audits a target CDD repository and returns per-specification directional conformance scores. -
get_compliance_matrix— Generates the unified ecosystem compliance matrix across allcdd-*language repositories. -
diff_checklists— Diffs a target repository checklist against its canonical specification table. -
validate_claims— Cross-checks documented claims inCOMPLIANCE.mdagainst checklist ground truth. -
inspect_language_source_signatures— Shallow-parses source code across 13+ languages for structs/classes, fields, functions, args, and 100% doc comments. -
verify_language_clients_against_rust_backend— Verifies Client SDKs and CLIs against the../cdd-rustreference backend. -
verify_language_backend_compatibility_matrix— Runs the$N \times N$ cross-language server compatibility matrix. -
verify_cross_language_roundtrip— Executes transitive$N$ -language OpenAPI or Arazzo 1.1.0 and source-signature roundtrip verification. -
validate_arazzo_spec— Validates an Arazzo 1.1.0 specification (and optional expected comparison document) for structural, DAG, runtime expression, and semantic equivalence.
conformance://specs— JSON catalog of all supported specification identifiers.conformance://specs/{spec_id}/{profile}— Raw canonical Markdown checklist for any specification and profile (e.g.conformance://specs/openapi-3.2.0/client-sdk).
audit_repo_conformance(repo_path,spec_id) — Guides an AI assistant through auditing a language repository against CDD conformance checklists.implement_conformance_feature(feature_name,spec_id) — Guides implementation of an absent or unreviewed specification feature with 100% test and doc coverage.
Add cdd-spec-conformance to your repository's .pre-commit-config.yaml to enforce conformance automatically before every commit:
repos:
- repo: https://github.com/SamuelMarks/cdd-spec-conformance
rev: master
hooks:
- id: cdd-conformance-check # Validates checklists and implemented standards
- id: cdd-conformance-strict # Enforces 100% canonical schema parity and zero unreviewed rows
- id: cdd-conformance-claims # Verifies COMPLIANCE.md claims match checklist tables
- id: cdd-conformance-update-matrix # Updates the Ecosystem Conformance Matrix in README.mdRepositories can customize verification targets, coverage thresholds, custom language toolchains, and shallow parser syntax rules via a .cdd-conformance.yaml file at the repository root (scaffolded via cdd-conformance init):
language: rust
strict: true
min_coverage:
to: 100.0
from: 100.0
overall: 100.0
standards:
- spec: openapi-3.2.0
profiles: [client-sdk, client-sdk-cli, servers]
- spec: arazzo-1.1.0
profiles: [client-sdk, client-sdk-cli, servers]
- spec: mcp-1.0.0
profiles: [client-sdk, client-sdk-cli, servers]
paths:
conformance_dir: conformance
compliance_file: COMPLIANCE.md- Manual Auditing: Navigate to the directory of the target specification and inspect the relevant checklist (e.g.
openapi-3.2.0/client-sdk.md). Work through each object and feature, marking checkboxes and recording implementation notes in the provided column. - Automated / LLM-Assisted Auditing: Connect your AI client to
cdd-conformance mcp(or provide the target checklist markdown file alongside your source code) to systematically audit each feature against your repository and update checkboxes with justification notes.
Licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE or https://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or https://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.