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.mdsource 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:
- SPI Verification: Tracing execution paths to ensure determinism.
- Debugging: Visualizing distributed agent interactions.
- 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:
,SpanTrace - Relationships:
,PARENT_OFNEXT_SIBLING - Properties:
,start_time
,end_time
(JSON)attributes
Commands
: Start a trace for an agent.trace-agent <agent_id>
: Dump traces to JSON.export-traces