- nexus_create_task: Fassade → bridge.CreateTaskAsync() - nexus_create_child_task: Fassade → bridge.CreateChildTaskAsync() - nexus_update_status: Enum-validiert via NexusMcpTaskState (0-4) MCP SDK lehnt ungültige Integer-Werte vor Tool-Aufruf ab ToStateString() hat exhaustiven Switch + InvalidEnumArgumentException-Fallback Bridge erzwingt CanChangeState-Autorisierung (nur iris/bao/nexus-system) - nexus_append_activity: Fassade → bridge.AppendActivityAsync() - nexus_handoff: Fassade → bridge.HandoffAsync() Neue NexusMcpTaskStateHelper.IsDefined() für testbare State-Validierung. Alle 5 Tools via [McpServerTool] auf McpServerToolType-Klasse registriert. Keine Businesslogik-Duplizierung — volle Delegation an ITaskBridgeService. Build: 0w 0e.
Implementation verified (originally in aaec3eb): - nexus_get_board: pure facade → bridge.GetBoardAsync() - nexus_agent_overview: pure facade → bridge.GetAgentOverviewAsync() - nexus_get_task: pure facade → bridge.GetTaskAsync() + ToResponse() - nexus_get_children: pure facade → bridge.GetChildTasksAsync() - nexus_get_activity: pure facade → bridge.GetTaskActivityAsync() + DTO map All 5 tools register via [McpServerTool] attribute on McpServerToolType class. No business logic duplication — every tool delegates directly to ITaskBridgeService. Build: 0w 0e. MCP tests: 44/44 passed.
aaec3eb