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---
45 lines
2.1 KiB
Markdown
45 lines
2.1 KiB
Markdown
# The Four Freeholder Signals
|
|
|
|
The four **Freeholder signals** (REQ-005) are the gate to Freeholder
|
|
participation. A [Holder](../nomads/reach.md) who earns all four becomes a
|
|
[Freeholder](index.md) — eligible to join [Stands & Guilds](stands-guilds.md),
|
|
vote in the [Councils](councils-voice.md), and issue [Bonds](bonds.md). The
|
|
signals are deliberately heterogeneous: no single input can be pumped, so the
|
|
path resists gaming.
|
|
|
|
## 1. The 90-day Stash
|
|
|
|
A Holder must hold a [Stash](../nomads/stash.md) continuously for 90 days
|
|
(REQ-014). The signal is about **continuity, not size** — a small Stash held
|
|
steadily counts. This filters out transient actors who spin up a position to
|
|
game a vote and then leave. See [Storage Pools](../shared/storage-pools.md)
|
|
for the three-pool model.
|
|
|
|
## 2. Standing of 4.5★ or higher in 3 categories
|
|
|
|
A Holder must earn a [Standing](standing.md) of 4.5★ or higher in **three
|
|
distinct categories** (REQ-006). The diversity requirement is the anti-gaming
|
|
core: a Holder cannot reach Freeholder by repeating the same action with the
|
|
same counterparty. Three categories force breadth.
|
|
|
|
## 3. Capital
|
|
|
|
The Capital signal requires a Holder to hold a meaningful amount of
|
|
[Bread](../shared/bread-scale.md) in their Stash. The threshold is set by the
|
|
mesh [Councils](councils-voice.md) and is a stake, not a fee: the Holder keeps
|
|
the Bread. Capital aligns the Freeholder's stake with the mesh.
|
|
|
|
## 4. Vouch
|
|
|
|
The Vouch signal requires another Freeholder to vouch for the Holder. A
|
|
vouch from a high-[Standing](standing.md) Freeholder carries more weight
|
|
(voucher-weighting), so a single colluding vouch cannot carry a Holder over
|
|
the gate. Vouch is the social signal that ties the other three together.
|
|
|
|
## Why four, not one
|
|
|
|
Each signal covers a different attack surface: continuity (90-day Stash),
|
|
breadth (3-category Standing), stake (Capital), and social trust (Vouch).
|
|
Earning all four is the proof a Holder is a participant, not a transient
|
|
gamer. See [Standing](standing.md) for the anti-gaming math, and
|
|
[Bonds](bonds.md) for what a Freeholder can do once the signals are earned. |