Contract Rules
Status: Canonical
Last updated: 2026-07-05
Principles
- One primary
*PlatformContractper platform — consumers import contracts package only - Methods return DTOs — never Eloquent models across boundaries
- Versioned packages —
contracts@Nsemver; breaking changes require ADR - Registry ownership — metadata in zaixos-registry, not duplicated in consumers
Consumer pattern
mermaid
sequenceDiagram
participant M as Product Module
participant C as PlatformContract
participant A as Platform Adapter
M->>C: invoke(DTO)
C->>A: delegate
A-->>M: ResponseDTOProduct contracts
Products may expose product contracts for federation (e.g. Agent Operations export). These live in product or packages/contracts and are indexed in REFERENCE/contracts-index.md.
Related
Breadcrumbs: Home → Engineering → Contract Rules