Skip to content

GNAP: proposal for git-native agent coordination instrumentation contrib package #4347

@ori-cofounder

Description

@ori-cofounder

Proposal: opentelemetry-instrumentation-gnap contrib package for AI agent coordination

OpenTelemetry Python has excellent coverage for web frameworks, databases, and cloud services in opentelemetry-python-contrib. As AI agent systems proliferate, coordination between agents becomes an important layer to observe.

GNAP (Git-Native Agent Protocol) coordinates AI agents via a shared git repo: tasks move through board/todo/board/doing/board/done/. Every transition is a git operation — a natural instrumentation point.

Proposed: opentelemetry-instrumentation-gnap

Following the pattern of existing OTel instrumentations:

from opentelemetry.instrumentation.gnap import GNAPInstrumentor

GNAPInstrumentor().instrument()

# Automatically creates spans for:
# - gnap.task.create (todo→ board)
# - gnap.task.claim  (todo→doing)  
# - gnap.task.complete (doing→done)
# - gnap.task.timeout or gnap.task.fail

# Span attributes:
# gnap.task.id, gnap.task.type, gnap.agent.id
# gnap.board.repo, gnap.transition.duration

This would plug into any OpenTelemetry backend (Jaeger, Zipkin, AWS X-Ray, etc.) and give multi-agent system operators visibility into:

  1. Task coordination latency (time in todo/, doing/ states)
  2. Agent utilization (how many tasks per agent)
  3. Coordination bottlenecks (tasks stuck in doing/)

Why this belongs in opentelemetry-python-contrib:

GNAP is protocol-level (just git + files), so the instrumentation is minimal and focused. It follows the same pattern as existing resource-level instrumentations. As multi-agent systems become more common, coordination observability will be as important as HTTP or DB tracing.

Spec: https://github.com/farol-team/gnap

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions