When two agents edit the same function minutes apart, git records a tidy linear history and tells you nothing. awgit keys every edit to a stable node id, so that collision is a thing you can see — and, if you want, refuse.
These numbers come from awgit's own op-log in the repository it was built in,
published as aither-manifest.json.
Nothing here is hand-written.
pip install awgit # Python node identity
pip install "awgit[multilang]" # + TypeScript, Go, C#, 70 more extensions
A function that moves to the top of a file and has its body rewritten keeps its id. That single property is what makes node-level merge possible — without it, every reorder reads as a delete plus an add, and the merge is worth nothing.
awgit lease list # who is in this file right now
awgit lease acquire --staged # claim what you are about to commit
With enforcement on, the pre-commit hook rejects a commit whose staged files you
don't hold: no active lease covering: <path>. The identity is derived per
session, so nothing needs configuring.
awgit graph # mermaid: files, nodes, who touched what
awgit graph --format json # node/edge form for a graph store
Files render as subgraphs with their code nodes inside; a node two authors touched is drawn as a collision. That's the only part of the picture that means something is wrong.
Replayed against 1,833 real merge commits: every one the node engine could evaluate came back clean — no false conflicts. That proves it doesn't cry wolf on real history, which is the failure mode that would kill it on contact.
It does not yet prove superiority over git. Zero false positives also means zero cases where awgit rescued something git lost. The evidence that matters is the collision count above, and it is early and small. It grows on its own; the honest thing is to say so rather than dress it up.
multilang extra its node identity extends to 20+ languages; without it,
non-Python files still get leases but no semantic diff. It reports which, rather than
implying coverage it doesn't have.
Three packages, three different questions about the same repository: awgit knows what changed and who is editing it; awgraph knows what the code is and what depends on what; awrelay knows who found what and who still needs to hear it. awdk is the agent runtime that consumes all three.
None of the three requires the others. Used together, an agent can find a symptom with awgraph, check whether it is an in-flight edit with awgit, and tell the agent already working that file with awrelay — three questions a solo grep-and-guess loop cannot ask at all.
The Aither World is an operating system for agents — a Linux you can hand to one, the runtimes it works in, and the tools it works with. awgit is one of its 66 bricks — each installs on its own, runs offline, and needs no account. All 66 →