Skip to main content

Runtime Overview

Asymptote can capture Claude Code telemetry for a single CI job without installing a persistent endpoint service on the runner. The CI integration starts a temporary local collector, configures Claude Code telemetry, writes normalized CI runtime JSONL, and validates that events were captured before the job exits.

How It Works

beacon ci exec wraps one child command:
Run a command with Asymptote CI telemetry
beacon ci exec -- claude -p "Review this pull request"
For third-party actions that launch Claude Code internally, use CI session mode:
Wrap multiple CI steps with Asymptote telemetry
beacon ci start --harness claude
# run a Claude Code action or CI step here
beacon ci finish --min-events 1
During collection, Asymptote:
  1. Starts a temporary local OpenTelemetry collector.
  2. Configures Claude Code telemetry for the wrapped command or later session steps.
  3. Runs the command after -- or lets later CI steps inherit session exports.
  4. Writes normalized CI runtime events to runtime.jsonl.
  5. Validates that matching Claude Code events were captured.
  6. Leaves the completed runtime log available as a CI artifact or upload target.
By default, Asymptote writes CI artifacts under $RUNNER_TEMP/beacon when RUNNER_TEMP is available. Otherwise it uses the system temp directory.
ArtifactDefault path
Runtime log$RUNNER_TEMP/beacon/runtime.jsonl
Collector config$RUNNER_TEMP/beacon/otelcol.yaml
Collector spool$RUNNER_TEMP/beacon/spool/otlp.jsonl

Telemetry Coverage

Claude Code CI collection captures supported prompt, tool, command, file, lifecycle, and run context where Claude Code emits telemetry during the job. When GITHUB_ACTIONS=true, Asymptote also records GitHub Actions metadata such as workflow, run ID, commit, ref, and actor. Asymptote applies redaction, sanitization, truncation, and event-size limits before writing the CI runtime JSONL file. Artifact retention, access, object storage, and downstream forwarding remain controlled by your CI and security pipeline.

GitHub Actions

Use the Asymptote GitHub Action when you want the workflow to install the CI collector and upload the runtime log artifact.
- name: Run Claude with Asymptote telemetry
  uses: asymptote-labs/agent-beacon@v0.0.50
  with:
    command: claude --print "Review this pull request"
    upload-artifact: "true"
    artifact-name: beacon-runtime-log
To wrap a Claude Code action such as Anthropic’s security review action:
- name: Start Asymptote telemetry
  uses: asymptote-labs/agent-beacon@v0.0.50
  with:
    mode: start
    harnesses: claude

- uses: anthropics/claude-code-security-review@main
  with:
    claude-api-key: ${{ secrets.CLAUDE_API_KEY }}

- name: Finish Asymptote telemetry
  if: always()
  uses: asymptote-labs/agent-beacon@v0.0.50
  with:
    mode: finish
    min-events: "1"
See the sample workflow:

Upload To Object Storage

Use --upload when the completed runtime.jsonl should be handed off through object storage after validation. Upload to Google Cloud Storage:
- uses: google-github-actions/auth@v2
  with:
    workload_identity_provider: ${{ secrets.BEACON_GCP_WORKLOAD_IDENTITY_PROVIDER }}
    service_account: ${{ secrets.BEACON_GCP_SERVICE_ACCOUNT }}

- name: Run Claude with Asymptote telemetry
  uses: asymptote-labs/agent-beacon@v0.0.50
  env:
    BEACON_CI_GCS_BUCKET: my-beacon-telemetry
    BEACON_CI_GCS_PREFIX: github-actions
  with:
    command: claude --print "Review this pull request"
    upload: gcs
See the sample workflow:

Validation Behavior

By default, beacon ci exec fails the step when telemetry validation fails. Set --require-telemetry=false or the action input require-telemetry: "false" when telemetry health should warn but not gate the child command result.
Run a command with Asymptote CI telemetry
beacon ci exec \
  --require-telemetry=false \
  -- claude -p "Inspect the changed files"
Validate an existing runtime log after the fact:
Validate an existing runtime log after the fact
beacon ci validate --log-path "$RUNNER_TEMP/beacon/runtime.jsonl"

beacon ci

Review the full command manual for beacon ci exec and beacon ci validate.

CI Telemetry Exports

Export CI runtime JSONL through artifacts, S3, GCS, or downstream pipelines.