Knowledge your agents can trust - and you can take with you.
Weave is signed Markdown: every fact your agents rely on carries provenance, a hash of the code it describes, and an Ed25519 signature anyone can verify offline. When the code moves on, the fact flags itself stale.
This is a Weave file
Frontmatter carries the trust machinery; the body is ordinary Markdown any agent - or human - can read.
surfil verify architecture.weave.md → VALID · works fully offline, no account required.Six properties, one trustworthy fact
Together they answer the question agents can't answer alone: is this still true, and says who?
Signed Markdown
A Weave fact is a plain .md file with frontmatter - readable by you, by any agent, and by anything that parses Markdown. No proprietary binary blob.
Provenance
Every fact names its source: repo@commit. You always know where a piece of knowledge came from and when it was true.
code_hash
Each fact carries a hash of the code it describes. When the code changes underneath it, the mismatch is detected automatically.
STALE auto-flag
A code_hash mismatch flips the fact's status to STALE - agents stop trusting it and re-verify instead of acting on outdated knowledge.
Ed25519 signature
Facts are signed with epoch-versioned keys. Verification runs offline against the public key - no account, no API call.
Open format
The format is documented so other tools can read, write and verify Weave files. Your knowledge isn't hostage to Surfil.
Facts that know when they've expired
The failure mode of every knowledge base is silent rot. Weave makes rot loud.
Yours to keep - .surfilpkg export
Weave is designed to outlive your subscription. Export everything, verify it forever.
Portable
surfil export packages your whole Weave - facts, receipts, signatures - as one .surfilpkg. It works after you cancel.
Verifiable forever
Signatures verify offline against published epoch keys. An exported receipt is proof for as long as you keep the file.
Open
The format is documented so other tools can build on it. Knowledge in Weave is never locked in.
See a Weave file from your own repo
Install Core - it bootstraps Weave on your first run. Export a sample anytime with surfil export.