Generated client policy
Templiqx publishes one OpenAPI 3.1 contract
(openapi/templiqx-operations-v1.yaml).
Language SDKs are generated from that document; they must not re-implement
Templiqx validation, diagnostics, fingerprints, CAS, or runtime policy.
The SDK compatibility matrix is the canonical record for the OpenAPI digest, engine compatibility, contract format, and SDK versions.
First-wave languages
| Language | Status in repo | Notes |
|---|---|---|
| TypeScript | Pilot SDK in sdk/typescript/ |
Generated DTOs with a hand-written transport-only façade and live conformance test. |
| .NET | Pilot SDK in sdk/dotnet/ |
Generated DTOs (openapi-generator models-only) with a hand-written HttpClient façade. |
| Python | Pilot SDK in sdk/python/ |
Generated Pydantic v2 DTOs with a hand-written synchronous httpx façade. |
| Go | Pilot SDK in sdk/go/ |
Generated DTOs (oapi-codegen types-only) with a hand-written net/http façade. |
| Rust | Pilot SDK in sdk/rust/ |
Typify-generated DTOs with a hand-written async reqwest façade. |
| C++ | Consumer-driven only | No speculative generator work. |
Repository policy
- Single source of truth — OpenAPI under
openapi/is normative for HTTP wire shape. Router handlers and integration tests must not drift from it. - Deterministic checked-in DTOs — Pilot SDKs check in generated model files only when their generator and drift check are pinned. Client façades remain small, hand-written transport adapters.
- Transport-only SDKs — Generated methods map 1:1 to HTTP operations and
deserialize
OperationEnveloperesponses. Business logic stays inTempliqxServiceon the server. - Version pinning — Host SDK releases track
/operations/v1until a new base path is published. Product contract evolution remains visible through envelopeapi_version.
Commands
npm run openapi:validate
npm run openapi:compat
npm run openapi:bump-check
just openapi-validate
just verify-sdk-typescript # checked-in TS DTO drift + typecheck + build + unit tests
just verify-sdk # all pilot SDKs (skips missing toolchains unless VERIFY_SDK_STRICT=1)
just openapi-typescript-proof # ephemeral codegen proof under target/ (optional extra)
Validation checks OpenAPI 3.1 structure, internal refs, versioned paths, required
operation ids, idempotency metadata on mutations, and core envelope schemas.
just verify and hosted CI always run OpenAPI validate/compat/bump, router drift
(templiqx-http openapi_drift tests), and just verify-sdk-typescript.
Drift JSON lands under artifacts/openapi/ and is uploaded as the
openapi-drift-reports CI artifact. Full multi-language just verify-sdk stays
local-first when Go / .NET / Python / Rust toolchains are present.
Publishing gate
Do not publish package-registry SDKs from this repository until:
- Two opco pilots have exercised the same
/operations/v1contract against host-owned transports. - CI runs
openapi:validate, compat/bump, router drift, andjust verify-sdk-typescripton every PR (already wired injust verify). - Breaking HTTP changes ship only through a new
/operations/vNbase path.