Catalog/C family/C01
Proposed specificationSource-located exemplarH1

Mediator

Coordinate interactions through an intermediary.

JOIN POINTparticipant_interaction_coordinationRECORD STATUSCandidate · v0.1.0
UML class view for Mediator, showing participant roles, received calls, and analytical dependencies
FIG. C01 / UML CLASS VIEW
Object interaction diagram for Mediator, showing role collaboration and a numbered message sequence
FIG. C01 / OBJECT INTERACTIONS
Context
Multiple agents or components exchange messages.
Trigger
A participant sends a message or requests coordination.
Structure
Mediator role, participant address, routing policy, and response path.
Effect
Interactions traverse a controlled intermediary rather than direct mutable coupling.
Requires
Participants have stable identities and message schemas.
Ensures
The mediator records routing and returns a response or explicit non-delivery.
Invariant
Participant bypass does not silently alter mediated ordering.
Violation
Mediator failure, invalid participant, or unavailable target is explicit.

Negative control

A shared global object is not necessarily a mediator.

Permitted variation

Group-chat manager, coordinator interface, and message mediator.

Test obligation

Test routing, invalid recipient, failure, and participant isolation.

Evolution question

Did coordination move into a typed manager or service boundary?

PROMPT SKETCH
Route participant messages through a mediator with stable identities and schemas. The mediator must record the routing decision and return a response or an explicit non-delivery.
CODE DESIGN / PYTHON
def mediate(message, participants):
    route = router.resolve(message.recipient, participants)
    if route is None:
        return NonDelivery(message.id, reason="unknown recipient")
    response = route.send(message)
    log.record(message.id, route.id, response.id)
    return response

Illustrative design sketch. The mediator owns routing evidence; direct side channels defeat the pattern. This example is a teaching aid, not implementation evidence or a conformance claim.

Join point
participant_interaction_coordination
Source locator
Sarkar and Sarkar
Lexical cue
(?i)\b(?:mediator|message[_-]?mediator|coordination[_-]?interface)\bFrozen expression, v0.1.0. A match is a retrieval cue, not a confirmed implementation.
Aliases
mediator, messagecoordinator, coordinationinterface
Canonical exemplar
microsoft/autogenpython/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat_manager.py:25Support: python/packages/autogen-agentchat/tests/test_group_chat.py:1
Negative control
A shared global object is not necessarily a mediator.

Scope-anchored review. pohe-agent analyze <repo> --pattern C01 anchors the cue to its enclosing declaration and checks a separate operational signature for all four pointcut dimensions. Missing roles and negative-control risks remain visible; a structural match is not E2/E3. Calibration report ↗

Source-located exemplar

A concrete source anchor is available for this proposed record. It is one exemplar, not evidence that all repositories—or every contract field—conform.

Review boundary: this candidate and its specification come from an AI-assisted study. Independent human validation remains open.

ANY-EVIDENCE FAMILY COVERAGE5/36

13.9% of repository families in the frozen panel have at least one current cue, historical cue, or canonical source layer. This is not confirmed prevalence.

Current lexical-cue repositories: 3 / 41
Exploratory retrieval cue Regex / v0.1.0
(?i)\b(?:mediator|message[_-]?mediator|coordination[_-]?interface)\b

This expression is a discovery instrument only. A match is a retrieval cue—not a confirmed implementation, pointcut match, or contract proof.