Asi otel-tracing

OpenTelemetry tracing for agent observations and SPI verification

install
source · Clone the upstream repo
git clone https://github.com/plurigrid/asi
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/otel-tracing" ~/.claude/skills/plurigrid-asi-otel-tracing && rm -rf "$T"
manifest: skills/otel-tracing/SKILL.md
source content

OpenTelemetry Tracing Skill

Trit: -1 (VALIDATOR) Bundle: infrastructure Role: Verification of execution traces and distributed contexts.

Overview

This skill provides a standard interface for emitting OpenTelemetry spans from agent actions. It is crucial for:

  1. SPI Verification: Tracing execution paths to ensure determinism.
  2. Debugging: Visualizing distributed agent interactions.
  3. Performance: Measuring latency in ACSet bridge operations.

Integration

Python

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import ConsoleSpanExporter, SimpleSpanProcessor

def init_tracer(service_name="agent-skill"):
    provider = TracerProvider()
    processor = SimpleSpanProcessor(ConsoleSpanExporter())
    provider.add_span_processor(processor)
    trace.set_tracer_provider(provider)
    return trace.get_tracer(service_name)

tracer = init_tracer()

with tracer.start_as_current_span("agent_action") as span:
    span.set_attribute("agent.trit", -1)
    span.set_attribute("agent.id", "minus_validator")
    # ... perform action ...

SPI Verification Pattern

To verify Strong Parallelism Invariance (SPI), traces must be deterministic given a seed.

def verify_spi_trace(seed, trace_id):
    expected_hash = compute_spi_hash(seed)
    actual_hash = hash(trace_id)
    assert expected_hash == actual_hash

Neo4j Mapping

  • Nodes:
    Span
    ,
    Trace
  • Relationships:
    PARENT_OF
    ,
    NEXT_SIBLING
  • Properties:
    start_time
    ,
    end_time
    ,
    attributes
    (JSON)

Commands

  • trace-agent <agent_id>
    : Start a trace for an agent.
  • export-traces
    : Dump traces to JSON.