P3 complete. 8 docs/freeholders/ pages (signals, standing, stands-guilds, councils-voice, bonds, partner-spectrum, anchor-preview, index) + 2 docs/reference/ pages (architecture, components). Docs firewall green across all 26 docs pages. Full docs deliverable (README + mkdocs.yml + 26-page site) complete — REQ-027 complete. ---ci--- project: oy phase: 3 milestone: v0.3 status: complete tag_base: v0.2.x phase_role: execution requirements: covered: [REQ-027] partial: [] ---/ci---
2.5 KiB
Bayesian Standing
Standing (REQ-006) is a Holder's measured history on the mesh — the anti-gaming metric that gates Freeholder participation and weighs Voice in the Councils. Standing is not a count of transactions and not a reputation score you can farm. It is a Bayesian score that resists the obvious attacks: volume spam, self-dealing, fake vouches.
The formula, at conceptual depth
Standing combines four signals and a penalty:
- Bayesian prior + updates. The mesh starts with a prior for each Holder and updates it from each observed action. A burst of activity cannot inflate Standing because the prior anchors it.
- Time-decay. Old evidence decays, so a Holder cannot rest on a burst from years ago. Standing reflects recent, sustained real production.
- Diversity weighting. A Holder who acts across many services, many Stands, and many bearers accrues more Standing than one who repeats the same action with the same counterparty. Diversity is the anti-collusion lever.
- Voucher-weighting. A vouch from a high-Standing Freeholder counts for more than a vouch from a low-Standing one. This makes fake vouches expensive: the voucher must themselves have Standing to lose.
- Minus slashes. Bad behavior (failed attestations, broken Pacts) removes Standing. Slashes are the penalty that bounds the upside of gaming.
The full sub-tables (priors, decay rates, diversity categories, slash conditions) are deferred per PROJECT.md Q2. This page gives the conceptual depth; the nomads Standing page gives the plain- language version.
Why it cannot be gamed
There is no single input a Holder can pump. Volume is bounded by the Bayesian prior; recency is bounded by time-decay; breadth is bounded by diversity; social trust is bounded by voucher-weighting; and any attempt that misfires costs Standing via slashes. The four signals (the 90-day Stash, 3-category threshold, Capital, Vouch) sit on top of this metric, so the Freeholder gate inherits the same anti-gaming property.
What Standing is not
Standing is not a custodial position, a tier you buy, or legacy history. It is a measured, decayed, diversified Bayesian score. See Storage Pools for why the mesh says "Stash" rather than the legacy custodial words, and Councils & Voice for how Standing weights a Freeholder's vote.