Goal
Make a running coding-agent conversation appear in the existing Sessions console while the agent is still working.
A session is one conversation from Claude Code, Codex, Cursor, or another supported coding agent.
What already exists
PR #38 shipped the Sessions console in src/Capacitor.Web:
- session list and search
- Overview
- Transcript
- Events
- Trace
- Evaluation
- Details
Imported sessions can already be persisted to Postgres and viewed there. The Kurrent reference UI is captured in reference/SURFACE.md and reference/ui-assets/; the current six-tab console intentionally follows that surface.
The CLI also already knows how to watch a transcript and connects to:
What is missing is the compatible server-side live-ingestion path. Today we can view session history, but we cannot point kcap watch at our server and watch that same session update live in the Sessions console.
Scope of this issue
- Implement the server-side SignalR endpoint at
/hubs/sessions using the contract kcap watch already expects.
- Point
kcap at our server and stream a real coding-agent conversation into it.
- Persist those live updates into the same session data used by the existing Sessions console.
- Verify that the session is readable and updates in the console while the conversation is running.
- Verify that the completed session remains readable afterward.
Starting from an imported session is acceptable only if watch then appends live updates to that same session. A manual re-import after the conversation finishes does not satisfy this issue.
Acceptance criteria
This issue is done when all of the following are true:
kcap watch connects successfully to our server at /hubs/sessions.
- A real Claude Code, Codex, Cursor, or equivalent coding-agent conversation streams into our backend while it is running.
- The same session appears in the existing Sessions console without Kurrent in the loop.
- New transcript/session data becomes readable from the console without a manual re-import.
- The session remains readable after the live connection ends.
Explicitly out of scope
Do not revive or merge the old implementation paths just to get this working:
Useful work from those branches was already incorporated into #38. The implementation should extend what is currently on main, not reconstruct the abandoned wave.
Also do not build placeholder pages for the currently disabled Agents / Insights / Flows / Work items navigation. Those are disabled because the backing APIs do not exist yet.
Follow-up work after live streaming
Once live ingestion works end to end:
- Expose the existing analytics/evaluation data over HTTP.
- Add product slices as their APIs land: login, machines/daemons, memory, PR review.
- Add the extra console surfaces only when those APIs exist.
- Kurrent-style semantic search waits for an embedding provider.
Optional documentation cleanup: merge #39 (reference/REPLICATION-MAP-LANDED.md). It is not required for this issue.
Goal
Make a running coding-agent conversation appear in the existing Sessions console while the agent is still working.
A session is one conversation from Claude Code, Codex, Cursor, or another supported coding agent.
What already exists
PR #38 shipped the Sessions console in
src/Capacitor.Web:Imported sessions can already be persisted to Postgres and viewed there. The Kurrent reference UI is captured in
reference/SURFACE.mdandreference/ui-assets/; the current six-tab console intentionally follows that surface.The CLI also already knows how to watch a transcript and connects to:
What is missing is the compatible server-side live-ingestion path. Today we can view session history, but we cannot point
kcap watchat our server and watch that same session update live in the Sessions console.Scope of this issue
/hubs/sessionsusing the contractkcap watchalready expects.kcapat our server and stream a real coding-agent conversation into it.Starting from an imported session is acceptable only if
watchthen appends live updates to that same session. A manual re-import after the conversation finishes does not satisfy this issue.Acceptance criteria
This issue is done when all of the following are true:
kcap watchconnects successfully to our server at/hubs/sessions.Explicitly out of scope
Do not revive or merge the old implementation paths just to get this working:
/hub/capacitorsocketUseful work from those branches was already incorporated into #38. The implementation should extend what is currently on
main, not reconstruct the abandoned wave.Also do not build placeholder pages for the currently disabled Agents / Insights / Flows / Work items navigation. Those are disabled because the backing APIs do not exist yet.
Follow-up work after live streaming
Once live ingestion works end to end:
Optional documentation cleanup: merge #39 (
reference/REPLICATION-MAP-LANDED.md). It is not required for this issue.