[P1] Synchronous command dispatch to all agents #116
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent Epic
#100
Problem
Commands (log levels, tracing, taps, start/stop/resume/suspend) currently fire-and-forget to a single agent. They should broadcast to all live agents for an application and collect responses with a timeout. Only replay should remain per-instance.
Proposed Solution
{ success, responses: [{ agentId, status, error? }], timedOut: string[] }Acceptance Criteria
Implemented in
027e45a(backend) andc3b4f70(frontend).Backend:
AgentRegistryService.addGroupCommandWithReplies()— sends command to all LIVE agents, returnsMap<agentId, CompletableFuture<CommandReply>>AgentCommandController.sendGroupCommand()— now waits for all agent responses with a shared 10-second deadline, returnsCommandGroupResponsewith per-agent statusApplicationConfigController.updateConfig()— now returnsConfigUpdateResponsewrapping the config +CommandGroupResponsefrom the synchronous pushCommandGroupResponse,ConfigUpdateResponseFrontend:
CommandGroupResponseandConfigUpdateResponsetypes addeduseSendRouteCommand()anduseSendGroupCommand()returnCommandGroupResponseuseUpdateApplicationConfig()returnsConfigUpdateResponse, consumers updated to accessresult.config.versionResponse shape: