Standalone TypeScript verifier for SprintLoop lane action chains. Re-verify a lane on your own hardware, with no dependency on any SprintLoop server.
A lane is an append-only sequence of agent actions that record the work done on a unit of software. Each action carries a 32-byte BLAKE3 hash of its payload and a 64-byte Ed25519 signature over that hash, plus a pointer to the previous action's hash. The chain is hash-linked the same way a Git commit graph is hash-linked, but every link is also signed.
Given the public chain of a lane (action hashes, previous-hash pointers, signatures, and signer public keys), this library proves two things:
- Chain integrity — every action's
prev_action_hashmatches the previous action'spayload_hash, with no gaps and no tampering. - Authorship — every signature is a valid Ed25519 signature over the action's payload hash, from the claimed signer's public key.
If both hold, the lane is authentic and unaltered since each action was appended. No SprintLoop server is consulted; the math runs locally.
npm install @sprintloop/lane-verifyimport { verifyChain } from '@sprintloop/lane-verify';
const result = await verifyChain(actions); // actions: LaneAction[]
console.log(result.verified, result.chainHead);actions is an ordered array of { id, kind, at, payloadHash, prevActionHash, signature, signerPubkey } records (hex strings, no 0x prefix). The
result includes a per-action verdict, a chain head hash, and a list of
failure reasons if any check fails.
For a single action against a known previous hash and public key, use
verifyAction(action, prevHash, publicKey).
Full lane format spec and integration guides: https://docs.sprintloop.ai/lanes/verification.
Apache 2.0. See LICENSE.
