kaitrace turns source trees, proposals, reviews, local CI, artifacts, and branch
advances into signed, content-addressed evidence. Build on one machine. Verify the
entire trace on another. Trust the evidence, not the host.
Code, decisions, build, and artifact: one verifiable trace that any client can re-check.
SOURCE→PROPOSE→REVIEW→BUILD→ARTIFACT→ANCHOR
01 / THE PROOF
Start with the build. Carry the proof forward.
Decentralized CI is the core. The same signed-evidence model then extends through
proposal, review, and branch advance. This is the current kai workflow; the
IDs and path below are illustrative values printed by the preceding commands.
~/project · kai
# 1 — create a signing identity and the repo rulebook$ kai keygengenerated key k:4bb3…c891 at .kaitrace/key.ed25519$ kai repo-init \--require-approvals 1 \--min-isolation container-nonetpolicy: 1 approval(s), attestation >= container-nonet# 2 — sign the exact source state, then build it locally$ kai propose --description "add cache proof" \--actor claude-fable-5 --session task-42proposal a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4 logged at [2]$ kai buildbuilt: invocation 9f8e7d6c attested (container-nonet)attestation: .kaitrace/attestations/9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c.cbor# 3 — attach review evidence; evaluate it against policy$ kai review a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4 --approve --comment "lgtm"$ kai check a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4MERGE LEGITIMATE — rulebook satisfied$ kai anchor a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4a1b2c3d4branch main anchored to tree 7cf1…3a92 at log[5]# 4 — verify offline, or re-run the build independently$ kai verify .kaitrace/attestations/9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c.cborsignature : OK (key k:4bb3…c891)inputs match : YESoutputs present: YES$ kai confirm .kaitrace/attestations/9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c9f8e7d6c.cborRESULT: MATCH — build independently reproduced
Assumes a build is declared in kaitrace.toml and a container runtime is
available, as documented by the CLI guide.
01
The builder signs the claim.
keygen creates the signing identity. The attestation ties that key to the
declared inputs, environment, and artifact hashes. The claim is never
stronger than its signer, and it does not pretend to be.
02
CI runs where the work is.
build runs locally in a network-off container, hashes inputs and outputs,
and signs an attestation that can travel with the source and artifacts.
03
Verification travels too.
verify checks the signature and local inputs offline. confirm
re-executes independently and compares output hashes. The forge then carries that
evidence into check and anchor.
02 / THE TRUST MODEL
One trust model. The whole lifecycle.
Decentralized CI is where the idea started. The same signed-object
model follows code through review, build, artifact, policy, and branch history.
01
The code has an identity
Source trees are content-addressed. Signed proposals name an exact tree, and every
review binds to that same source state instead of a floating branch.
tree · proposal · bound review02
The build carries its proof
kai build runs locally in a network-off container and signs the source,
invocation, and artifact hashes. kai verify checks the local bytes offline.
local CI · attestation · artifact03
Every decision stays checkable
The rulebook evaluates signed reviews and build evidence. kai anchor
advances the branch only when the rules pass; kai confirm can independently
reproduce the artifact.
rulebook · check · confirm · anchor04
The host is just transport
Replicate through a socket peer or a read-only static host. Clients verify signatures,
hashes, repository identity, and pinned history themselves.
peer · static mirror · client check
03 / WHY NOW
Agents raise the throughput. Evidence has to keep up.
When machines can produce changes continuously, trust has to be machine-verifiable. A
kaitrace proposal can record the accountable principal, the acting agent, and an opaque
session reference. The change then faces the same review and build rules as
human-authored work.
No hosted account or merge service is the source of truth. The signed claim and your
repo’s rulebook are what the client evaluates.
PROPOSAL / AUTHORsigned_object
principal
k:4bb3…c891
accountable party
actor
claude-fable-5
acting agent
session
task-42
opaque context ref
BUILDINGkaiIN DEV
EARLY SIGNAL
Every step leaves proof.
kaitrace is in development. If verifiable code, collaboration, builds, and artifacts
belong in your workflow, ask for an early look.