• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lsm / neokai / 25884037273 / 8
81%
dev: 81%

Build:
DEFAULT BRANCH: dev
Ran 14 May 2026 08:34PM UTC
Files 296
Run time 12s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

14 May 2026 08:31PM UTC coverage: 7.36%. Remained the same
25884037273.8

push

github

web-flow
fix: route task/node agent replies to originating session (#1900)

* fix: route task/node agent replies to originating session

When an ad-hoc space member session (non-space:chat:) uses
send_message_to_task to message a task/node agent, the reply now routes
back to the originating session instead of always going to
space:chat:${spaceId}.

- Add ReplyRoutingRegistry for tracking which session sent messages to
  each task/node
- Add replyToSessionId field to formatAgentMessage envelope with
  machine-readable XML footer
- Update spaceAgentInjector to accept optional replyToSessionId
- Wire replyRoutingLookup through task-agent-tools and
  AgentMessageRouter for both task-agent and node-agent send_message
- Register replyToSessionId in send_message_to_task before injection
- Full backward compat: no registry lookup returns space:chat: default

* fix: wire reply routing in send_message_to_task, AgentMessageRouter, and rehydration paths

Three gaps in the initial reply-routing implementation:

1. space-agent-tools: `replyRoutingRegistry` was accepted in config but
   never destructured or consumed. Now `send_message_to_task` registers
   the caller's session ID before each delivery path (task-agent direct,
   node-agent direct, node-agent post-activation, node-agent queued) so
   replies route back to the originating session.

2. AgentMessageRouter: `replyRoutingLookup` was not passed to the router
   constructed in `buildNodeAgentMcpServerForSession`, so node-agent
   `send_message({ target: 'space-agent' })` always fell back to
   `space:chat:${spaceId}`. Now wired with a `(fromAgentName) =>
   registry.get(taskId, fromAgentName)` lookup.

3. Rehydration: `rehydrateTaskAgent` did not pass `replyRoutingLookup`
   to `createTaskAgentMcpServer` or `replyRoutingRegistry` to
   `createSpaceAgentMcpServer`, so tasks restored after daemon restart
   lost reply routing. Both are now wired. Also added
   `replyRoutingRegistry` to `buildSpaceAgentToolsMcpServerFo... (continued)

6459 of 87757 relevant lines covered (7.36%)

3.86 hits per line

Source Files on job daemon-online-coordinator - 25884037273.8
  • Tree
  • List 296
  • Changed 7
  • Source Changed 7
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 25884037273
  • 31c49e94 on github
  • Prev Job for on dev (#25867795621.4)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc