SuperAPI AI Directory

contract-freeze

Coding & development

View repository

Updated 11-05 16:18

About this skill

contract-freeze — Boundary Partitioning & Interface Contract Locking

Domain Rubric

1. Bounded Context Isolation

Isolate domain boundaries so each context exclusively owns its datastore and internal state. Forbid direct cross-database queries or foreign entity mutations; require all cross-boundary interactions to traverse explicit Public Interfaces, Domain Events, or Anti-Corruption Layers (ACL).

2. Contract Specifications & Consumer Fixtures

Define cross-module contracts using strict typed declarations (TypeScript types, Protocol Buffers, JSONSchema, OpenAPI, or Go interfaces). Every contract must declare protocol, direction, typed command/event payloads, error models, and mock provider fixtures so downstream consumers can build independently without upstream readiness.

3. State

  • STAGED: Bounded contexts mapped, public interfaces frozen, and mock fixtures reviewable.
  • UNRESOLVED: Domain boundary ambiguity or conflicting data ownership prevents clean separation.

Canonical Output Contract

# Contract Freeze: <System / Domain Slug> · <STAGED | UNRESOLVED>

Basis:

1. Bounded Context Topology

  • Context: <ContextName> | Data Ownership: <Tables / Entities> | Public Port: <InterfaceName>
  • Boundary Rules:

2. Frozen Interface Specifications

[CONTRACT: <UpstreamContext> -> <DownstreamContext>]
Protocol: <In-process Interface | REST | gRPC | Domain Event>
Direction: <Sync Call | Async Event>
Payload:
  - Input / Command: <Typed structure or schema reference>
  - Output / Event: <Typed structure or schema reference>
Invariants:
  - Idempotency: <Required / Optional / N/A>
  - Error Model: <Deterministic error codes and retry semantics>

3. Harness Stubs & Consumer Fixtures

  • Mock Provider:
  • Verification Target:

Summary: contexts defined, cross-boundary contracts frozen. (omit if clean) Gap:


### Routing

- Greenfield plumbing verification across frozen contracts → (via /spike-skeleton).
- Large-scale refactor with frozen contracts → (via /seam-plan).
- Single-module feature with frozen contracts ready for file impact planning → (via /changeset).
- Domain boundary or schema ambiguities unresolved → (via /clarify).

## Execution Protocol

1. Partition domain boundaries into isolated Bounded Contexts with single data ownership.
2. Define typed interface specifications, error models, and mock stubs for all cross-boundary traffic.
3. Output the staged contract specification as `STAGED` (or report `UNRESOLVED` on conflicting ownership).