Concepts
The primitives the protocol carries. Five objects, one envelope, one signing scheme.
- Finding
A scoped scientific claim with content-addressed id, evidence list, and confidence.
- EvidenceObject
A typed pointer to a paper, dataset, trial, code commit, or null result.
- Correction
An event that updates a finding's scope, confidence, or retraction status.
- Link
A typed edge between findings: supports, depends, contradicts, narrows, supersedes.
- Frontier
A named scope of findings, signed by an owner actor, replayable from its event log.
- Signing scheme
Ed25519 over canonical-JSON of the event with the signature field removed. No pre-hash.
- Canonical-JSON
Sorted keys, NFC-normalized strings, no whitespace. The byte-stable surface for signing and hashing.
- Reducer
Pure function from event log to frontier state. Three independent implementations agree byte-for-byte.
Tasks
Common flows. Real CLI, real output. Start here once you've installed.
- Five-minute quickstart
Empty folder to first signed finding on the public hub. Six commands, real output.
- Scaffold a new frontier
vela frontier newfor publish-bound work;vela initfor solo. - Add a finding manually
Apply a single claim with assertion, evidence, confidence, and DOI.
- Generate a key, register an actor, sign
Three commands. Ed25519 keypair, registered actor, signed finding.
- Link two findings
Typed edges: supports, depends, contradicts, narrows, supersedes.
- Record a Correction event
Supersede a finding with a narrower or revised claim; old + new both queryable.
- Publish to the hub
POST a signed manifest. The hub validates signatures; clients verify on read.
- Verify from disk
Pull a published frontier, recompute the snapshot hash, check against manifest.
- Validate a bridge packet
Check the Carina packet boundary before runtime output becomes reviewable proposals.
- Bridge external runtime output
Turn an artifact-DAG or discourse export into proposals, reviewer decisions, and proof state.
- Evaluator release path
Inspect the flagship frontier, source freshness report, proof packet, and GitHub-ready release bundle.
- Mirror a hub locally
Pull from one hub, POST verbatim to another. Mirroring is a no-op for authenticity.
- Run an AI agent (Literature Scout)
Ingest a folder of PDFs as
finding.addproposals tagged with an AgentRun.
Reference
The exhaustive technical surface. Read these when you're integrating.
- Protocol specification
RFC 2119 conformance language. Primitives, canonical-JSON, signing, reducer semantics, hub model, versioning.
- SDK reference
The vela CLI, Rust crates (vela-protocol / vela-reducer / vela-hub), Python and TypeScript reducer bindings, hub HTTP API.
- CLI reference
Every subcommand, every flag, every event type the binary produces.
- Hub HTTP API
GET /entries, GET /entries/<id>/events, POST /entries, GET /.well-known/vela.
- Event schema
The envelope and payload shape for every event kind. Canonical-JSON example.
- Python reducer source
Stdlib-only verifier and reducer at
/vela_reducer.py. ~600 lines, auditable in one sitting. - TypeScript reducer source
ESM module at
/vela_reducer.mjs. No build step required.
Community
How decisions get made, where to file things, and what's not yet true.
- Governance
Open spec, three reference reducers, RFC process, capture defenses, stewardship plan.
- FAQ
Frequently questioned answers — the BioRxiv / Zenodo / OpenAlex / nf-core / PubPeer comparisons every reader makes in 30 seconds.
- Source on GitHub
Bug reports, pull requests, RFCs, code of conduct, security policy.
- Open RFCs
Protocol-level changes in discussion. Each RFC sits 14 days minimum before merge.
- Security policy
Private vulnerability reporting. Don't open public issues for security bugs.