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.Mediator
Coordinate interactions through an intermediary.
participant_interaction_coordinationRECORD STATUSCandidate · v0.1.0UML class view
The proposed contract drawn as participant roles, received calls, and numbered dependencies.
Object interactions
The same roles and calls as a class collaboration and a numbered message sequence.
Pointcut
Where the mechanism applies. All four dimensions belong to the proposed match, not just its vocabulary.
- 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.
Protected contract
The obligation that clients, operators, and auditors should be able to rely on.
- 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.
Variation & lifecycle
The hot spot is admitted only where the protected semantics survive.
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 + code design
An illustrative prompt and a small design sketch for the proposed contract. Names and APIs are invented; this is not a repository excerpt.
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 responseIllustrative 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.
Detection & matching
The frozen rule that retrieves this record, the canonical source exemplar, and the control that should stay unmatched.
- 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/autogen
python/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 ↗
Repository files
Up to five public files retrieved by the frozen cue and pinned to the audited commit. A match is a place to inspect, not a confirmed implementation.
python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat_manager.py:25CANONICAL SOURCE02aaif-goose/goosedocumentation/blog/2025-12-04-mcp-sampling/index.md:72RETRIEVAL CUE03continuedev/continuedocs/docs/languages/vb.net.md:42RETRIEVAL CUE04pydantic/pydantic-aitests/graph/builder/test_graph_execution.py:397RETRIEVAL CUE05QwenLM/qwen-codedocs/design/2026-05-27-daemon-workspace-service-design.md:266RETRIEVAL CUEEvidence & provenance
Each layer answers a different question. Do not substitute retrieval for review.
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.
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 / 41d07c667a3239python/packages/autogen-agentchat/src/autogen_agentchat/teams/_group_chat/_base_group_chat_manager.py:25python/packages/autogen-agentchat/tests/test_group_chat.py:1Group chat manager mediates participant messages.
Exploratory retrieval cue Regex / v0.1.0
(?i)\b(?:mediator|message[_-]?mediator|coordination[_-]?interface)\bThis expression is a discovery instrument only. A match is a retrieval cue—not a confirmed implementation, pointcut match, or contract proof.