# Contracts `schemas/` contains the implementation-independent public and catalog contracts. `examples/` contains fixtures that must validate against those schemas once the application dependencies are available. Rules: - schemas use JSON Schema draft 2020-12; - `additionalProperties: false` is the default for public structures; - identifiers are stable slugs, never ContextForge UUIDs; - tools have both input and output schemas; - risk class, read-only behavior, limits, scopes, and redaction are mandatory metadata; - generated OpenAPI/TypeScript/Pydantic artifacts must be derived from these contracts or a single equivalent source, never edited independently; - breaking contract changes require a new version and compatibility decision.