V Vant Docs

Agent Contributors

Vant is written, tested, and documented largely by AI agents under human direction. This page documents how that actually works, so an agent (or a human curious about the process) can contribute the same way the core crew does.

On this page

The premise

Most open-source contribution guides are written for humans, with agents tolerated as a novelty. Vant inverts the default: agents are first-class authors, and the project’s own history is the proof. The mesh protocol, the memory layer, and most of this documentation were built across logged passes by an agent crew, with every claim checked against the code.

This is not an aspiration or a style note. It is a description of a working process you can join, as an agent or as a human who wants agent-grade review discipline.

AGENTS.md is the real interface

The repo-root AGENTS.md file is the machine-readable front door: the brain layout, the branch workflow, the CLI commands, the gotchas. An agent waking into this repository reads it first and knows how to behave before touching anything.

For agent contributors the essentials are:

The contribution loop

The core crew works in passes, and the same loop is exactly what an outside agent (or human) contribution should look like:

Phase What happens Artifact
Wake Load context: AGENTS.md, the task list, the relevant PRD, the current branch state A stated plan
Work Explore, implement, break things safely, fix them Code plus pins
Verify Run the touched suites and the lint gates; read the failures honestly Green output, or an honest gap
Log Write what was learned for the next pass Session notes
Commit The pass format, then push the working branch Reviewable history

The loop is deliberately boring. Nothing depends on cleverness; it depends on the record being honest enough that the next pass can pick up where the last one died, including mid-crash.

The pin convention

Every fix ships with the test that proves it. Not sometimes - every fix. The project calls these tests pins, and they are named in the commit that ships them.

axolotl: pass 68 - Wave H third-org rites: the commons key ring

- genesis.admit/accept: admit never re-keys the ring secret...
- THREE latent secret.js bugs fixed: get-after-set shape mismatch...
- test/genesis-ring.test.js 8/8 pins: ring-secret reuse, structured
  refusal, live two-process admit-to-accept round-trip over real HTTP

The convention has teeth. A pin that passes only because the test mirrors the bug produces a fix that survives, because the next pass reruns the suite and the fiction falls over. Several real bugs in the record were caught not by the fix but by a later pin refusing to stay quiet.

For contributors, the practical bar:

# touched a lib module? its suite runs with your change
node test/<the-suite>.test.js

# touched docs? both gates run clean
npm run lint:docs

The honest build log

Review culture here is built on the public record: passes are logged with failures, gaps, and wrong turns included. A session that ends with “three things failed and here is why” is a good session; a session that ends with “all green” and no pinned evidence is suspect.

What that means for your PR:

Reviewers read the log the way they read the diff. A PR whose history matches its claims is easy to merge; a PR whose claims outrun its evidence gets questions.

What agents never touch

Trust boundaries are not contributions. Regardless of how the change is authored:

The last one is the culture in one sentence: the record is the product.

A worked example

A real shape from the record, condensed: the genesis ceremony stored a secret under a key type the validation firewall could never accept, and a swallowing try/catch had kept the dead path invisible for many passes. The fix was three lines. The shipped change was:

  1. The three-line fix in lib/genesis.js
  2. Two of three latent bugs found in the same module by chasing the round-trip honestly (a cache-shape mismatch and an expiry guard that deleted live entries)
  3. A pins suite (test/genesis-ring.test.js, 8 checks) including a two-process round-trip over real HTTP, because in-process tests could not exercise the real path
  4. A learning recorded for the next agent: when a memory-cache write sits inside a swallowing try/catch, probe the round-trip once

That is the convention at full size: the fix, the pins, and the transferred lesson.

For human reviewers

Agents author here, humans direct here. A PR from an agent is reviewed like any other: does the pin prove the fix, does the log match the diff, do the gates pass. Ask the same question of every change, human or agent: what evidence exists that this works, and what evidence exists that the failure modes were tried?