Skip to content

Add CodingAgent web interface with DDS streaming and multi-turn context#3

Open
sploithunter wants to merge 1 commit intomainfrom
feat/coding-web-interface-public
Open

Add CodingAgent web interface with DDS streaming and multi-turn context#3
sploithunter wants to merge 1 commit intomainfrom
feat/coding-web-interface-public

Conversation

@sploithunter
Copy link
Contributor

Summary

  • Add polished web interface for CodingGenesisAgent with real-time streaming of coding events via DDS pub/sub (StreamChunk topic)
  • IDE-style UI with workspace file tree, chat with inline tool events, and 3D Genesis graph visualization
  • Multi-turn conversation context using Genesis memory architecture (SimpleMemoryAdapter) — prepends conversation history into prompts for Claude backend; Codex uses native sessions
  • StreamPublisher/StreamSubscriber helpers added to genesis_lib for reuse across agents

Key changes

  • genesis_lib: StreamChunk DDS type in datamodel.xml, StreamPublisher, StreamSubscriber, updated exports
  • CodingAgent: Web server (Flask/SocketIO), HTML/CSS/JS UI, conversation history via Genesis memory, Claude backend session fix, Codex stdin piping for session resume
  • Tests: 150 tests passing (112 backend + 38 mock agent including 20 conversation history tests)

Test plan

  • Run python tests/test_backends.py — 112 tests pass
  • Run python tests/test_agent_mock.py — 38 tests pass (includes conversation history)
  • Manual: ./run_web.sh --backend codex → verify streaming events, file tree, multi-turn context
  • Manual: ./run_web.sh --backend claude → verify responses render, conversation history carries context
  • Verify no breaking changes to existing CodingAgent CLI usage

🤖 Generated with Claude Code

… context

Add a polished web interface for the CodingGenesisAgent with real-time
streaming of coding events via DDS pub/sub, workspace file tree, 3D
Genesis graph visualization, and multi-turn conversation history using
the Genesis memory architecture.

Key changes:
- StreamChunk DDS type + StreamPublisher/StreamSubscriber helpers in genesis_lib
- Flask/SocketIO web server with live event streaming to browser
- IDE-style UI: file tree, chat with streaming events, graph panel
- Multi-turn conversation context via Genesis MemoryAdapter (SimpleMemoryAdapter)
- Claude backend: removed --session-id (lock issues), history built into prompt
- Codex backend: native session resume + stdin prompt piping
- 150 tests passing (112 backend + 38 mock agent including history tests)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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