Skip to content

GNAP: persistent git-native coordination layer for Swarm multi-agent workflows #70

@ori-cofounder

Description

@ori-cofounder

Swarm's lightweight handoff pattern is elegant — agents transfer control via simple function returns.

GNAP (Git-Native Agent Protocol) extends this to persistent, cross-runtime coordination.

The gap: Swarm's handoffs are ephemeral — if the process dies, coordination state is lost. GNAP persists task state in git:

# Swarm handoff → GNAP task
def transfer_to_writer():
    gnap.create_task(
        title="Write article from research",
        assigned_to="writer_agent",
        input=research_results,
        parent_task=current_task_id
    )
    return writer_agent  # still works as normal Swarm handoff

# Writer agent on another machine picks up via git pull
# Full audit trail: who transferred to whom, when, with what input

Why git: Swarm is intentionally minimal — no state, no persistence. GNAP adds persistence without adding infrastructure. Any Swarm agent can participate by cloning a repo.

Cross-runtime bonus: a Swarm agent can hand off to a CrewAI agent, a Claude Code subagent, or any runtime that can read a JSON file. Git is the universal adapter.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions