Skip to content

bug(a2a): message/send returns completed task with no artifacts when LLM response is empty #2302

@bug-ops

Description

@bug-ops

Summary

During A2A daemon testing (CI-238), a message/send request returned status completed with no artifacts and no assistant message in history. The agent appears to have processed the request but the LLM response was not captured.

Steps to reproduce

  1. Start daemon: ./target/debug/zeph --config .local/config/testing.toml --daemon
  2. Wait ~14s for full init (MCP, skills, embeddings)
  3. Send:
    {"jsonrpc":"2.0","id":2,"method":"message/send","params":{"message":{"role":"user","parts":[{"kind":"text","text":"what is 2 + 2?"}]}}}
  4. Response:
    {"id":"9e0da797-...","status":{"state":"completed"},"history":[{"role":"user","parts":[...]}]}
    No artifacts, no assistant message in history.

Expected

artifacts should contain the agent's reply. history should include both the user and assistant turns.

Actual

Task marked completed with only the user turn in history and no artifacts.

Notes

  • This occurred on first query after daemon start (security classifier had not yet blocked any messages on this run)
  • Subsequent queries to same daemon were blocked by security classifier false positives (bug(security): sanitizer classifier 401 on HuggingFace download — regex fallback blocks benign queries #2292), making it impossible to distinguish between "LLM returned empty" and "response was lost"
  • Likely related to async task execution: A2A handler may mark task completed before LLM inference finishes, or the response is not wired back into the task store

Metadata

Metadata

Assignees

Labels

P1High ROI, low complexity — do next sprintbugSomething isn't workingllmzeph-llm crate (Ollama, Claude)

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions