Git refs can actually solve the coordination chaos that happens
I've been looking into grite, which handles this by treating issues as an append-only event log stored directly in a git ref (refs/grite/wal). Since it uses deterministic CRDT merging, two writers never actually conflict. The working tree stays clean, and the state travels with the code—branching and merging exactly like your commits do.
The Technical Architecture
The system is split into three distinct layers to ensure speed and reliability:
- The Git WAL: This is the source of truth. Events are CBOR-encoded and content-addressed using BLAKE2b hashes. This makes the log tamper-evident and allows for optional Ed25519 signing to verify which agent performed which action.
- The Materialized View: Since querying a raw log is slow, it uses a
sledembedded KV store. This acts as a cache that projects the event log into the current state. Because it uses CRDT semantics (Last-Write-Wins for scalars), two agents can edit the same issue on different machines, and the final result will be identical once merged. - The Interface: A CLI and an optional daemon. The daemon keeps the view warm for fast reads, but the CLI can function standalone.
Performance Benchmarks
When an LLM agent is firing hundreds of queries, latency kills the workflow. Here is how the performance looks:
- Issue creation: ~5ms (single event append)
- Listing 1,000 issues: ~10ms (via sled view)
- Full rebuild (10k events): ~500ms (replaying the WAL)
- Snapshot rebuild: ~50ms (delta replay)
Practical Tutorial: Basic Setup
If you want to implement this local-first tracking for your agents, the workflow is straightforward:
# Initialize the project and create AGENTS.md for agent discovery
grite init
# Create a new issue directly in the git ref
grite issue create --title "Fix race in WAL append" \
--body "Intermittent failure under high concurrency."
# Manage issues without leaving the terminal
grite issue list
grite issue update --label bug --label concurrency
grite issue link blocks
# Sync changes across the team/agents via git
grite syncThis approach turns your git history into a coordination layer for LLM agents, removing the need for a centralized database while keeping the environment beginner-friendly for anyone who already knows basic git commands.