# Archetype: integration-sdk (SDK/Client)
<!-- SPDX-License-Identifier: CC-BY-SA-4.0 -->

**Applies to**: SDKs, API clients, integration adapters

## Common Proofs

### SDK-1: API contract compliance

**Target**: `verification/proofs/idris2/APIContract.idr`
**Prover**: Idris2
**Priority**: P0

**Statement**: Client requests match server contract (OpenAPI/protobuf/GraphQL).

**Obligations**:
- [ ] Model server schema
- [ ] Prove client respects schema

---

### SDK-2: Auth credential handling

**Target**: `verification/proofs/idris2/AuthHandling.idr`
**Prover**: Idris2
**Priority**: P0

**Statement**: Credentials never leak via errors or logs.

**Obligations**:
- [ ] Define Credential opaque type
- [ ] Prove no serialisation path

---

### SDK-3: Retry idempotence

**Target**: `verification/proofs/idris2/RetryIdem.idr`
**Prover**: Idris2
**Priority**: P1

**Statement**: Retries on same request are safe (no double-submission).

**Obligations**:
- [ ] Model request + idempotency key
- [ ] Prove retry safe

---

### SDK-4: Type safety at boundary

**Target**: `verification/proofs/idris2/TypeBoundary.idr`
**Prover**: Idris2
**Priority**: P1

**Statement**: Serialisation/deserialisation preserves types.

**Obligations**:
- [ ] Model type roundtrip
- [ ] Prove losslessness

---

## Plus: Mandatory ABI proofs

ABI-1 through ABI-5.

## Repos using this archetype

v-graphql, v-grpc, v-rest, elixir-mcp-server, universal-language-server-plugin, universal-chat-extractor, universal-project-manager, universal-extension-format, unified-dataset-vocab, polyglot-i18n, polyglot-formalisms-elixir, polyglot-formalisms-gleam, social-media-tools, zotero-tools, wordpress-tools, homebrew-tap, thunderbird-template-reloaded, pandoc-a2ml, pandoc-k9, extensions
