Logo
NeoArc Studio

Contract Registry

A schema-registry-inspired system for tracking versioned architectural contracts with content snapshots, consumer bindings, backward compatibility classification, and approval workflows.

What Is a Contract?

A contract is any architectural construct that crosses project boundaries - a projection that another team consumes, a schema that multiple services share, or an API that external systems call. When an artefact containing one of these constructs is imported into the hub, the contract registry automatically creates or updates a contract entry.

Contract Data Model

Contract Identity
Unique ID, name, type (projection, schema, REST API, async API, etc.), and the name of the producer project.
Ordered Versions
Each version stores a full content snapshot, content hash, import timestamp, artefact source, and approval status. Versions are ordered chronologically.
Consumer Bindings
Which projects consume which version, whether migration is required, and which version they should migrate to.
Compatibility Classification
Each version is classified as backward-compatible or breaking relative to its predecessor. Breaking changes trigger impact analysis and migration task generation.

Version Coexistence

Multiple versions of a contract can be active simultaneously. When a producer publishes a new version, consumers do not need to migrate immediately. The registry tracks which consumers are on which version, and the mesh view shows version drift with health indicators (green for current, amber for behind). This supports gradual, phased migration rather than big-bang upgrades.

Approval Workflow

Every contract version passes through an approval workflow. New versions arrive with a pending status. The estate architect reviews the changes - comparing content snapshots between versions, checking compatibility classification, and assessing consumer impact. Versions can be approved for distribution or rejected with a reason. The approval decision, timestamp, and approver name are recorded as an audit trail.

Content Snapshots and Diffing

Every version stores a full content snapshot - the complete JSON content of the contract at that point in time. This makes it possible to diff any two versions without needing access to the original workspace. The contract detail view shows a version timeline with the ability to compare adjacent versions and see exactly what changed.

Contract Types

TypeDescription
ProjectionA baselined data projection that other projects consume as a data contract
SchemaA shared schema definition used across project boundaries
REST APIA RESTful API contract with endpoint specifications
Async APIAn event-driven API contract with channel and message specs
Webhook APIA webhook callback contract with delivery configuration
GraphQL APIA GraphQL schema contract
gRPC APIA gRPC service contract with protobuf definitions