Real-Time Agent Activity Feed with Human-in-the-Loop Controls
Real-Time Agent Activity Feed with Human-in-the-Loop Controls
The agent activity feed gives you a live, unified view of every AI agent working across all your products — and the controls to step in at any moment.
The Problem It Solves
Autonomous agents are only trustworthy when you can see what they're doing. Before this feature, activity was scattered across individual pipeline detail pages and required manual navigation per product. There was also no way to course-correct an agent mid-task without cancelling and restarting the entire pipeline.
The Live Workspace Console
The workspace console is a persistent screen that is always active while agents are running. It streams data in real time using Server-Sent Events (SSE) sourced from the agent_logs table.
What you see
| Column | Description |
|---|---|
| Agent | Name and role of the agent (e.g. AI Architect, Test Engineer) |
| Product | Which product this agent is working on |
| Current Task | Active task description, updated live |
| Status | Running / Waiting for Review / Paused / Completed |
| Duration | Elapsed time for the current task |
| Actions | Interrupt, Inject, or Take Over buttons |
A kanban view groups agents by status, giving an at-a-glance summary of platform activity across all products simultaneously.
Human-in-the-Loop (HITL) Controls
HITL controls are fluid — they can be applied to any agent at any point in time. They are separate from the structured approval_gates system, which handles pre-defined gating checkpoints.
Interrupt
Pauses a running agent immediately after its current atomic operation completes. The agent enters a Paused (Human Override) state and waits. No work is lost.
When to use: The agent is heading in a direction you want to redirect before it goes further.
Inject Instructions
Sends a free-text message or structured directive to an agent. The agent incorporates the instruction into its next reasoning step.
- Works on both running and paused agents.
- Injected instructions are appended to the agent's context window for the current task only — they do not persist to future tasks.
When to use: You want to add context, constraints, or a preference without fully stopping the agent.
Example injection:
"Focus only on mobile breakpoints for this CSS pass. Skip desktop."
Take Over
Suspends the agent and grants you direct control over the task. You can complete the work (or part of it) yourself, then hand back to the agent. The agent resumes from the state you left it in.
When to use: The task requires domain knowledge, credentials, or a judgement call that the agent cannot make autonomously.
Relationship to Approval Gates
approval_gates and HITL controls serve different purposes and coexist without conflict.
| Approval Gates | HITL Controls | |
|---|---|---|
| Trigger | Pre-defined checkpoints in a pipeline | Any time, on demand |
| Structured? | Yes — pass/fail decision | No — open-ended interaction |
| Use case | Compliance, release sign-off | Course correction, knowledge injection |
Access & Permissions
- The activity feed is visible to all workspace members.
- Interrupt, Inject, and Take Over controls are available to users with Owner or Admin roles.
- Member-role users can observe the feed but cannot interact with running agents.
Technical Notes
- Built on the existing
agent_logstable — no new schema migration required. - Live updates are delivered via the SSE endpoint at
/api/pipelines/[id]/stream. - The kanban status view refreshes in real time via pushed events; no polling.