Loading...
Loading...
Partition system boundaries into isolated bounded contexts and freeze explicit cross-module interface contracts before changeset planning or implementation.
npx skill4agent add venhdev/skills contract-freezeSTAGEDUNRESOLVED# Contract Freeze: <System / Domain Slug> · <STAGED | UNRESOLVED>
Basis: <Architectural direction or domain specifications reference>
## 1. Bounded Context Topology
- Context: `<ContextName>` | Data Ownership: `<Tables / Entities>` | Public Port: `<InterfaceName>`
- Boundary Rules: <Encapsulation constraints and ACL mapping>
## 2. Frozen Interface Specifications
```text
[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>
### Routing
- Greenfield plumbing verification across frozen contracts → (via /skeleton-spike).
- 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).