v0.1.0-dev · pre-release

Version control for the agentic era.

Agents commit. Humans stay accountable. Privacy lives in the object model, provenance comes from the harness, and every mutation can be undone.

BLAKE3content addressed
600+tests in the gate
One hashdifferent views
repository / reef-security● root verified
root hash7db3…9fc1same for everyone
Full repository viewvisibility
README.mdpublic
src/public
embargo/patch.mdmembers
agent/notes.mdauthor
Salted commitments preserve identity without revealing content.
PRIVACY-NATIVEAGENT-READYLOCAL-FIRSTGIT-EXPORTABLEUNDOABLEPRIVACY-NATIVE
01 / WHY KELP

Git assumes one audience. Modern work has many.

Embargo teams need to fix and review privately, then reveal atomically. Agent fleets need attribution they cannot write for themselves. Bolting both onto an all-visible object model creates seams, and seams leak.

Kelp starts elsewhere: one repository, one root identity, audience-specific serving, and a provenance tier the agent cannot forge.

01

Privacy in the hash

Restricted subtrees use salted commitments. Every audience computes the same root while withheld bytes stay unrecoverable without the salt.

02

Witnessed provenance

Harness-mediated changes are signed outside the agent's environment. Everything else is honestly labeled self_asserted.

03

Operations, not prompts

No staging area. Every repository mutation gets an operation number, and every operation is undoable. Mistakes become history, not drama.

02 / THE ONE SAFETY RULE

"Private" is not the same as secret.

If the server were fully compromised tomorrow, could this file leak? Your answer determines the class.

Never leaves your machine
.kelpignore

Ignored means untracked, unsent, and absent from every kelp surface.

your machineserver
Bytes stop here.
03 / FIVE MINUTES

A working copy that behaves like one.

No staging ritual. Commit snapshots the working copy. Branches keep one logical change identity, conflicts become reviewable data, and a one-way Git export lets the rest of your toolchain come along.

  • 01 Snapshot everything, intentionally
  • 02 Undo any repository mutation
  • 03 Export a viewer-gated Git mirror
kelp — zsh
$ kelp init
initialized empty kelp repository (branch branch/main)
$ echo "# hello kelp" > README.md
$ kelp commit -m "first snapshot"
snapshot chg_vuupmnzmnz... — 1 files, 1 chunks (0 private) [op_2]
Every mutation is an op. Every op can be undone.
04 / BUILT FOR FLEETS

Machine speed.
Human accountability.

The CLI, MCP, and JSON interfaces share the same command registry and engine. Agents get deterministic envelopes, isolated workspaces, intents, land/verdict flows, and conflicts as data. Humans get a legible, signed account of what happened.

WitnessedModel, session, and policy attested outside the agent sandbox.
DeterministicByte-stable machine envelopes with parity across interfaces.
GovernedPolicy circuit breakers and explicit land/verdict flows.
05 / THE GIT BRIDGE

Leave the ecosystem.
Keep the exit.

Kelp exports a normal, clonable bare Git repository for CI, mirrors, and gradual adoption. It is a one-way viewer, not bidirectional sync: denied content is absent, and author-local content never exports.

kelp historyprivacy-aware
viewer gate
gitstandard bare repo
kelp export --git /absolute/path/mirror.git
06 / START GROWING

Build kelp from source.

Public releases are not hosted yet. Today, Kelp builds with Zig 0.16 for macOS and Linux on x86_64 and aarch64.

$zig build release
Apache-2.0v0.1.0-devkelp + kelpd + kelp-mcp
Before putting anything sensitive near a repository, learn the difference between ignore, members, and author. It is short because it needs to stick.