Skip to content

mpi

Scope: Minimal public interface (MPI).
Audience: External users and contributors.
Guarantees: Entry points and contracts are fixed.
Non-Goals: Full API inventory.
Why: This doc exists to record its single responsibility for review.

Overview

This doc lists the MPI entry points.
MPI scope aligns with Core.
Usage context lives in Golden Path.

Contracts

Entry point: CLI. Input is CLI arguments. Output is exit status and workspace artifacts.
Entry point: RunManager. Input is a run directory and config. Output is a run result mapping.
Entry point: PathwayExecutor.step. Input is a list of SignalPayload. Output is a list of SignalPayload.
Entry point: ProteinAgent.apply_signal. Input is a SignalPayload plus ProteinConstraints and ProteinState. Output is a ProteinState.
Entry point: SignalPayload. Input is typed fields (source_id, targets, signal_type via SignalType, magnitude). Output is a validated payload instance.
Intentionally inaccessible: runtime control, execution runtime, and registry internals.

Invariants

MPI size is capped by Surface Area.
MPI meaning aligns with Core Concepts.
MPI changes require Invariants.

Failure Modes

MPI expansion breaks Surface Area.
Hidden entry points break Core.
Unlinked usage breaks Docs Style.

Extension Points

Extension rules live in Experimental.
Playground usage is described in Sandbox.
Review rules align with Triage.

Exit Criteria

This doc is obsolete when MPI is generated.
The replacement is Surface Area.
Obsolete docs are removed.

Code refs: src/agentic_proteins/core/surface_area.py.