Skip to main content

Execution Viewer

AxonFlow captures every step of both MAP plan executions and WCP workflow executions for debugging, auditing, and compliance. Whether your workflow is orchestrated by AxonFlow's Multi-Agent Planning engine or governed via the Workflow Control Plane (LangGraph, CrewAI, Temporal), every step gate check, policy decision, and completion event is recorded.

The Execution Viewer provides two primary interfaces:

  • an embedded web UI at /ui/executions/
  • the axonctl executions CLI for list, get, replay, and export flows

There is also a real-time execution status stream on the unified execution API that teams can use for dashboards, operator tooling, and long-running workflow monitors.

Choosing The Right Interface

Use the execution viewer UI when you want to inspect a run visually, hand a trace to another engineer, or walk through policy behavior with platform and security teams.

Use axonctl when you need scripted exports, repeatable operator workflows, or quick replay from a terminal during an incident.

Use the unified execution stream when you are building your own dashboards, approval tooling, or long-running monitors around AxonFlow workflows.

Feature Overview

The Execution Viewer gives operators full visibility into every workflow execution:

FeatureDescription
TimelineStep-by-step visualization of execution flow with timing data
Step DetailsExpand any step to see LLM provider, model, prompt, and response
Policy DecisionsView which policies were evaluated and their allow/block decisions
Token UsagePer-step and aggregate token counts (prompt + completion)
Cost TrackingEstimated cost per step based on provider pricing
ExportDownload execution data as JSON for compliance review
ReplayRe-walk through an execution step-by-step through the replay APIs and CLI

CLI: axonctl executions

Setup

Build the CLI from the enterprise repository:

cd platform/cmd/axonctl
go build -o axonctl .

Configure authentication:

export AXONFLOW_ENDPOINT="http://localhost:8080"
export AXONFLOW_CLIENT_ID="your-client-id"
export AXONFLOW_CLIENT_SECRET="your-secret"
export AXONFLOW_TENANT_ID="your-tenant"

List Executions

axonctl executions list
axonctl executions list --status completed --limit 50
axonctl executions list --workflow-id my-workflow --format json

Output columns: ID, Workflow, Status, Steps, Duration, Cost.

Get Execution Details

axonctl executions get <execution-id>

Shows the execution summary, all steps with timing and LLM provider details, and triggered policy events.

Replay Execution

axonctl executions replay <execution-id>
axonctl executions replay <execution-id> --show-io

Interactive step-by-step replay in the terminal. Press Enter to advance through each step, q to quit. Steps are color-coded by status.

Export Execution

axonctl executions export <execution-id>
axonctl executions export <execution-id> --output report.json --include-io

Exports execution data as JSON for compliance review and audit trails.

Embedded Web UI

AxonFlow includes a lightweight execution viewer at /ui/executions/, accessible through the agent.

Access

http://localhost:8080/ui/executions/

The agent proxies UI requests to the orchestrator, which serves the static files. This follows the single-entry-point architecture where all user traffic goes through the agent.

List View

The main page shows all executions in a filterable, paginated table. Filter by status (completed, failed, running, pending) and workflow name.

Detail View

Click any execution to see:

  • Summary card with execution ID, workflow, status, duration, token count, and cost
  • Step timeline with expandable cards showing LLM details, policy events, and full input/output
  • Export button to download the execution as JSON

Architecture

The UI uses vanilla JavaScript with Tailwind CSS (CDN). Static files are embedded in the Go binary via embed.FS, requiring no additional services or build steps.

API Reference

Both the CLI and UI use the same REST API:

EndpointDescription
GET /api/v1/executionsList execution records with filters and pagination
GET /api/v1/executions/{id}Get one execution with its stored step records
GET /api/v1/executions/{id}/stepsGet the execution steps
GET /api/v1/executions/{id}/timelineGet the timeline projection
GET /api/v1/executions/{id}/exportExport the execution as JSON
GET /api/v1/unified/executions/{id}Read unified execution status across MAP and WCP
GET /api/v1/unified/executions/{id}/streamStream live execution status updates

See the SDK documentation for programmatic access to these endpoints.

Usage

  1. Open http://localhost:8080/ui/executions/ in your browser.
  2. Use the Status dropdown to filter executions (completed, failed, running, pending).
  3. Click any row to open the Detail View.
  4. In the detail view, click a step card to expand it and see LLM details, policy events, and full input/output.
  5. Use the Export button to download the execution as a JSON file.
# List recent executions
axonctl executions list --limit 20

# View a specific execution
axonctl executions get exec_abc123

# Replay interactively (press Enter to step through)
axonctl executions replay exec_abc123 --show-io

SSE Real-Time Streaming

Active executions can be streamed in real time via Server-Sent Events (SSE) on the unified execution API. This is useful for building dashboards or monitoring tools that show live execution progress.

# Stream execution status updates
curl -N http://localhost:8080/api/v1/unified/executions/{execution_id}/stream \
-H "Authorization: Basic $(echo -n 'client-id:client-secret' | base64)" \
-H "Accept: text/event-stream"

The stream endpoint is:

EndpointDescription
GET /api/v1/unified/executions/{id}/streamLive execution status updates

The stream emits status changes until the execution reaches a terminal state. This is especially useful when you need to watch approvals, resumptions, retries, or long-running multi-step executions in near real time.

The execution_id can resolve to a MAP execution, a WCP workflow execution, or a unified execution record depending on the flow you are tracking.


Troubleshooting

Execution Viewer Returns Empty List

  1. Verify that executions exist: curl http://localhost:8080/api/v1/executions
  2. Check the time range -- the UI defaults to the last 1 hour.
  3. Confirm the orchestrator is connected to the database: docker compose logs orchestrator | grep database

Steps Show "No Data" for LLM Details

  1. Ensure the LLM provider is configured and returning usage metadata.
  2. Some providers (e.g., Ollama) may not report token counts. Check provider documentation.

Export Fails or Produces Empty File

  1. Verify the execution ID is valid: axonctl executions get <id>
  2. Check browser console for network errors if using the web UI.
  3. Ensure the orchestrator has read access to the executions table.

CLI Cannot Connect

  1. Verify environment variables are set:
    echo $AXONFLOW_ENDPOINT    # Should be http://localhost:8080
    echo $AXONFLOW_CLIENT_ID
    echo $AXONFLOW_CLIENT_SECRET
    echo $AXONFLOW_TENANT_ID
  2. Check that the Agent service is running: docker compose ps agent