mismagent-seam-in-process

Implements in-process boundaries as code interfaces with consumer-driven contract tests.

Updated Jun 12, 2026
One-click install
npx skills add https://github.com/lucolucus/mismagent --skill mismagent-seam-in-process-lucolucus
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mismagent-seam-in-process
Source: https://github.com/lucolucus/mismagent/tree/main/codex/skills/mismagent-seam-in-process
Command: npx skills add https://github.com/lucolucus/mismagent --skill mismagent-seam-in-process-lucolucus

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? When a consumer and supplier live on the same deployable side, teams often either over-engineer the boundary with HTTP projections and generated types, or skip the boundary entirely and couple directly to the supplier's domain types. This Skill defines the light variant of a boundary: a code interface plus a contract test, nothing else. ## Core Features & Use Cases - Code-interface Port: Keeps the Port as a plain code interface that the consumer depends on and the Adapter implements, with no HTTP/OpenAPI projection. - In-process contract testing: Instantiates the consumer-driven abstract test class twice — once on a fake for green-on-its-own (D1), once on the real Adapter for boundary welding (D2). - Published Language typing: Pins boundary types to primitives or shared-kernel types instead of the supplier's domain types, preventing coupling even within one process. - Use Case: When a building-block manifest marks boundary.projection = in-process, load this Skill alongside realize-port and realize-adapter to implement the seam without cross-deploy ceremony. ## Quick Start Ask the agent to implement the in-process boundary for a building block whose manifest sets boundary.projection to in-process, using a code interface and a consumer-driven contract test.

Frequently Asked Questions about mismagent-seam-in-process

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I implement an in-process boundary between two modules?

Define the Port as a plain code interface that the consumer depends on, and have the Adapter implement it on the supplier side. Then write a consumer-driven abstract contract test and run it against both a fake and the real Adapter.

What is a consumer-driven contract test in a single process?

It is an abstract test class owned by the consumer that specifies the Port's expected behavior. You instantiate it twice: once on a fake so the consumer is green on its own, and once on the real Adapter to verify the boundary welding.

When should I use an in-process seam instead of a cross-deploy one?

Use the in-process variant when consumer and supplier live on the same deployable side, meaning the boundary never crosses a process or network boundary. If the manifest sets boundary.projection to cross-deploy, use the cross-deploy skill with HTTP/OpenAPI projection instead.

Why not reuse the supplier's domain types at the boundary?

Pinning the supplier's domain types at the boundary recreates coupling, even within one process. The boundary type stays a Published Language primitive or shared-kernel type, while the strong domain type lives inside the supplier's context.

Does an in-process boundary need generated types or CDC publish/verify?

No. Because everything compiles and runs in the same process, the boundary is just code plus tests. There are no generated types and no consumer-driven-contract publish or verify steps.