Start here
Four tools,
one pipeline.
CorvidLabs builds a small, composable toolchain for shipping software you can trust, whether a human or an agent wrote it. A change flows through four layers: a contract you can check, a lifecycle that runs the checks, a risk read on the diff, and a signed trust record. This page wires all four together in about ten minutes.
The pipeline
Each tool is a layer the next one builds on. You can adopt them one at a time, left to right.
spec-sync
Write what a module does in a *.spec.md file. spec-sync proves the code still matches it (in both directions) and fails CI on drift.
$ specsync check 02 The lifecycle fledge
One CLI runs your whole loop: build, test, spec-check, release. fledge lanes run verify is the single gate every CorvidLabs repo shares.
$ fledge lanes run verify 03 The risk read augur
Every diff gets a deterministic verdict (proceed, review, or block) with no API key and no LLM. Gate humans and agents on the same number.
$ augur gate --threshold block 04 The trust record attest
Record who (or what) reviewed a commit and at what confidence, signed and stored in git notes. attest verify turns that record into a CI gate.
$ attest verify --commit HEAD Then atlas maps it
The four tools gate every change. atlas reads the result and renders it: living coverage badges, an interactive map of specs against code, and a trust ledger that rolls up every repo. The gate enforces; the map makes it visible, to a teammate or an agent, at a glance.
Four steps to a gated repo
From an empty machine to a change that's checked, risk-scored, and recorded.
Install the toolchain
Everything ships through the Homebrew tap. fledge and spec-sync are the substrate; augur and attest layer on top.
$ brew tap CorvidLabs/tap
$ brew install fledge spec-sync augur attest
Check your machine
fledge doctor is the first command a new contributor runs. It validates the toolchain, the config, and surfaces anything missing.
✓ toolchain healthy
✓ fledge.toml valid · 4 tasks, 1 lane
Run the single gate
fledge composes your tasks into a verify lane, including spec-sync's drift check. This is what CI runs on every PR.
✓ fmt-check 120ms
✓ test 18.1s
✓ spec-check 240ms
→ verify passed
Score the change, record the trust
augur reads the diff and returns a verdict; pipe it into attest to write a signed, commit-keyed provenance record. CI (or an agent) can then gate on it.
$ augur check --range main..HEAD --json \
| attest sign --commit HEAD --reviewer agent:ci --from-augur -
✓ recorded agent:ci on 9f2a1c4e · verdict proceed
Put it in CI
Trust 1 composes lifecycle, contracts, risk, and provenance from one committed policy and one GitHub Action.
steps:
- uses: actions/checkout@v7
with: { fetch-depth: 0 }
- uses: CorvidLabs/trust@v1 # lifecycle + contract + risk + provenance
Why it's shaped this way
Deterministic by default
spec-sync and augur reach a verdict with no model call. Same input, same answer: reproducible in CI and in review.
Built for agents and humans
The same gates that fail a human's PR give an autonomous agent a stop condition, and attest leaves an audit trail of what decided what.
Portable, no lock-in
Single binaries, plain files: `*.spec.md`, `fledge.toml`, `.augur.toml`, `.attest.json`, git notes. Nothing to host; it travels with the repo.