Skip to main content

Execution Viewer

AxonFlow captures every step of workflow execution for debugging, auditing, and compliance. The Execution Viewer provides two interfaces: a CLI tool (axonctl) and an embedded web UI.

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 (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-org"
export AXONFLOW_CLIENT_SECRET="your-secret"

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 executions with filters and pagination
GET /api/v1/executions/{id}Get execution with all steps
GET /api/v1/executions/{id}/stepsGet all steps
GET /api/v1/executions/{id}/timelineGet timeline view
GET /api/v1/executions/{id}/exportExport for compliance

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

Troubleshooting

Execution Viewer Returns Empty List

  1. Verify that workflows have been executed: curl http://localhost:8080/api/v1/workflows/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
  2. Check that the Agent service is running: docker compose ps agent