Skip to content

attractor: emit AssistantMessage turns for API session events#58

Open
brianfeucht wants to merge 2 commits intodanshapiro:mainfrom
brianfeucht:fix/cxdb-assistant-message-mapping
Open

attractor: emit AssistantMessage turns for API session events#58
brianfeucht wants to merge 2 commits intodanshapiro:mainfrom
brianfeucht:fix/cxdb-assistant-message-mapping

Conversation

@brianfeucht
Copy link

Summary

This fixes missing assistant-role turns in CXDB for API-backed codergen runs.

Root Cause

emitCXDBToolTurns mapped tool lifecycle events to CXDB (ToolCall, ToolResult) but did not map assistant text completion events, so assistant output existed in session events but was not persisted as AssistantMessage.

Changes

  • Handle EventAssistantTextEnd in internal/attractor/engine/codergen_router.go.
  • Append com.kilroy.attractor.AssistantMessage turns with run/node metadata, model/token fields, and timestamp.
  • Add fallback text ([tool_use]) when assistant text is empty (tool-only turns), preserving assistant observability.

Validation

  • go test ./internal/attractor/engine

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant