Glossary
Amount — an integer count of base units of an asset. Never a float. → Money
Asset — the token contributors are paid in: symbol, decimals, chain, and an optional contract address. Omitting the contract means the chain’s native coin.
Attribution — turning merge history into integer contribution weights. Does not know money exists. → Attribution
Base unit — the smallest indivisible quantity of an asset: wei, satoshi,
USDC micro-units. decimals says how many make one display unit.
Basis point (bps) — one hundredth of a percent. 10,000 bps = 100%. Used instead of percentages so a share is always an integer.
Claim — a contributor taking their share out of a deposited round, proving membership against the round’s Merkle root and paying their own gas.
Claim window — 180 days, fixed. After it closes, the depositor may sweep what was never claimed. Fixed rather than configurable because a depositor who could choose it could choose a window nobody could claim within.
Content-addressed — identified by a hash of its own contents, so the name changes if the thing changes. Plans and ledger entries both are.
Co-authored-by — a git commit trailer naming additional authors. Splits a
commit’s score when split_with_co_authors is on.
Dry-run — the default settlement backend. Computes and verifies everything a real settlement would, and moves nothing.
EIP-55 — the Ethereum address checksum, encoded in the capitalisation of the hex letters. Digits carry no checksum, so an address’s protection depends on how many letters it has. → How strong is the checksum
Engine — the type tying a repository, its config and its ledger together. The shortest path through all four pipeline stages.
Exhaustive — a verification method: every value in a complete finite domain was tried, so no counterexample exists in that domain. Stronger than property. → Verification
Fee schedule — protocol_bps and treasury_bps. Taken off the top of every
round, in that order, rounding down.
Gross — the full size of a round, before any cut.
Handle — the label a contributor appears under. Usually a GitHub username; nothing checks that, and it is not part of the plan id.
Identity — the mapping from one or more git emails to one wallet, under one handle. The only part of a round a human types in.
Largest-remainder method — how an amount is split across weights: floor each share, then hand out the leftover base units one at a time to the largest fractional remainders. Guarantees the shares sum to exactly the input.
Ledger — the hash-chained record in .dedalo/. Each entry names its parent
and hashes over it. → The ledger
Merge event — one merge commit on the tracked branch, with the commits it introduced, their authors and trailers, and its diff against its first parent. The unit Dedalo pays for.
Merkle root — the root of the tree of (address, amount) claims for a
round. Deposited on chain; contributors prove against it.
Milli-point — the unit of attribution scores. 1 point = 1,000 milli-points,
stored as u128, so scoring is integer arithmetic on every machine.
Payout plan — the auditable artifact between git history and a transaction. Pure data, content-addressed. → Payout plans
Plan id — a plan’s content hash, prefixed ded1. Excludes created_at,
handle, score and unresolved — see what is in it.
Property test — generated inputs, thousands of samples. Not a proof: a rare counterexample can survive one, and one did.
Protocol fee — the share of every round routed to the network’s own Open Collective. What makes the network self-funding rather than grant-dependent.
Pull model — a round is deposited once against a Merkle root and each contributor claims. The alternative, push, sends N transfers and has a half-finished state. → Funding from a multisig
Refusal — one of the ways the vault says no. Each has a distinct sentence, and a test asserts no two share one. The enum is the vault’s specification.
Round — one funding cycle: a range of merges, an amount, a plan, and a settlement.
Settlement — the fourth stage, and the only one with side effects. → Settlement
Stylus — Arbitrum’s WebAssembly smart-contract environment. What the deployable compiles to, under a hard 24 KiB compressed limit.
Treasury — the project’s own reserve, funded by treasury_bps of every
round.
Undistributed — the part of the contributor pool that reached nobody, because whoever earned it has no wallet on file. Stated in the plan, never absorbed. Under the pull model it means “not claimed yet”, not “lost”.
Unresolved — the list of contributors who earned a share and could not be
paid, with a reason: no-wallet, excluded or ignored.
Vault — the rules a deployed contract enforces, written as pure Rust in
src/chain/vault. The deployable in src/chain/contract is a thin binding
around it.
Verification manifest — verification.toml, which records how every module
is verified, and the gate that fails the build when a module is unaccounted
for. → Verification