Skip to the content.

Task 45 — Fan-out / fan-in

Phase: 4 Initiative: 18 Status: done Owner: — Slug: fan-out-in

Goal

Запрос уходит нескольким применимым агентам под строгим concurrency и budget. Ответы schema-validated, выбираются детерминированно, голосованием или опциональным judge.

Acceptance criteria

Sub-tasks

Implementation notes

2026-08-13

src/agent/Mesh/Router/FanOutOptions.cs — configuration:

src/agent/Mesh/Router/IFanOutOrchestrator.cs — interface:

src/agent/Mesh/Router/FanOutOrchestrator.cs — full implementation:

src/agent/Mesh/Aggregation/AggregationResult.cs — result model:

src/agent/Mesh/Aggregation/ResponseAggregator.cs — aggregation engine:

Config/AppConfig.cs — MeshConfig.FanOut { get; set; } = new().

MeshServiceExtensions.cs — DI: FanOutOptions, ResponseAggregator, IFanOutOrchestrator → FanOutOrchestrator.

tests/Phase4Tests/FanOutTests.cs — 29 unit tests:

Validation:

Scope / Likely files

src/agent/Mesh/Router/FanOut.cs, src/agent/Mesh/Aggregation/

Dependencies

Risks / Rollback

Стоимость fan-out; строгие per-request лимиты.