82ae6cf5a2
Milestone v0.3 complete. Feature type, tags v0.2.x. Two work-streams shipped under one feature milestone: (A) Bearers skeleton + tests (D-020 pattern, 7 x/* packages, zero ext deps): - x/bridge (NEW): BridgeStatus enum (4), BridgeRoute by-ID-string refs - x/exit (NEW): ExitStatus enum (5), ExitRoute, DEXSwap (opaque venue) - x/bearers (EXT): OYSATLink surveillance-resistant LOCKED, OYQRCode idempotent - x/partner (EXT): AnchorCredential (custody-provider-id empty in skeleton) - x/hub (NEW): HubService enum (3), LendingCouponCapBps=800 LOCAL const (A-304) - x/services (NEW): ServiceKind enum (4), window-id by-ID-string ref (A-307) - x/bond (EXT): GrowthBond, ClampGrowth G-012 underflow guard, secondary market All packages >=93.3% coverage. Both lexicon firewalls green. G-003 intact. (B) Documentation deliverable (REQ-027 complete, 26-page MkDocs Material site): - README.md + mkdocs.yml + docs/index.md - docs/shared/ (7 pages): Six Principles, Bread Scale, Storage Pools, Watchers/Mirror, Lexicon, Vision - docs/nomads/ (8 pages): Reach, Stash, Bearers, Maps-Pay, Pacts, Standing, Window - docs/freeholders/ (8 pages): Signals, Standing, Stands-Guilds, Councils-Voice, Bonds, Partner Spectrum, Anchor Preview - docs/reference/ (2 pages): Architecture, Components - REQ-028: lexicon firewall extended to docs/ + README.md (lexicon_meta_docs_test.go, 5 tests incl G-013 walk-coverage + G-014 shared self-test) Phases: P0 -> v0.2.0, P1 -> v0.2.1, P2 -> v0.2.2, P3 -> v0.2.3, P4 -> v0.2.4, P5 -> v0.2.5, P6 -> v0.2.6 (milestone release). Requirements covered: REQ-010, REQ-022, REQ-023, REQ-024, REQ-025, REQ-026 (skeleton), REQ-027, REQ-028 (complete). IDEATE-01..08 ratified and delivered. ---ci--- project: oy phase: 6 milestone: v0.3 status: complete tag_base: v0.2.x phase_role: final milestone_complete: true requirements: covered: [REQ-010, REQ-022, REQ-023, REQ-024, REQ-025, REQ-026, REQ-027, REQ-028] partial: [] ---/ci---
49 lines
2.5 KiB
Markdown
49 lines
2.5 KiB
Markdown
# Bayesian Standing
|
|
|
|
**Standing** (REQ-006) is a Holder's measured history on the mesh — the
|
|
anti-gaming metric that gates [Freeholder](index.md) participation and weighs
|
|
[Voice](councils-voice.md) in the [Councils](councils-voice.md). 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](stands-guilds.md), and many [bearers](../nomads/bearers.md) 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](../nomads/standing.md) 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](signals.md),
|
|
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](../shared/storage-pools.md) for why the mesh says "Stash"
|
|
rather than the legacy custodial words, and [Councils & Voice](councils-voice.md)
|
|
for how Standing weights a Freeholder's vote. |