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---
42 lines
2.2 KiB
Markdown
42 lines
2.2 KiB
Markdown
# Partner Spectrum
|
|
|
|
OpenYield defines a four-tier **Partner Spectrum** (REQ-018, vision §13):
|
|
**Op**, **Master Op**, **Pier**, and **Anchor**. Partners are the external
|
|
actors a [Freeholder](index.md) interacts with through the mesh — service
|
|
operators, route providers, and institutional bridges. The four tiers are
|
|
locked as the `PartnerTier` enum in `x/partner` (exactly 4, regression-tested).
|
|
|
|
## The four tiers
|
|
|
|
- **Op** — a service operator. Runs a service a Holder uses through a
|
|
[Window](../nomads/window.md) (e.g., a Maps provider). The lightest tier.
|
|
- **Master Op** — a senior operator. Coordinates multiple Ops or runs a
|
|
higher-trust service. "Op" is the safe short form; the full word is not
|
|
used as a standalone term.
|
|
- **Pier** — a routing Partner. Connects the mesh to external venues (e.g.,
|
|
a DEX or an off-mesh service) and sources [Forex](../reference/components.md)
|
|
rates. Piers route; they do not custody Holder value.
|
|
- **Anchor** — the first institutional Partner tier. Carries a credential
|
|
(jurisdiction, custody provider, attestations). See
|
|
[Anchor Preview](anchor-preview.md) for what is coming in v0.3 P4.
|
|
|
|
## How Freeholders relate to Partners
|
|
|
|
A Freeholder authorizes a Partner to act on their behalf through a scoped,
|
|
time-limited, revocable [Window](../nomads/window.md) — never by handing over
|
|
custody. The Partner holds a credential, not the Holder's [Stash](../nomads/stash.md).
|
|
A Partner's [Standing](standing.md) is visible so a Freeholder can choose an
|
|
operator with a real history over a freshly-spun-up alternative (see
|
|
[Maps & Pay](../nomads/maps-pay.md)).
|
|
|
|
## Partner status
|
|
|
|
Each Partner has a status (locked `PartnerStatus` enum in `x/partner`):
|
|
Pending → Active, with Suspended and Revoked as the governance paths. The
|
|
[Mesh Council](councils-voice.md) can suspend or revoke a Partner. The four
|
|
tiers and the status enum are unchanged by v0.3 — v0.3 only *extends*
|
|
`x/partner` with the Anchor credential shape (REQ-023), not a new tier.
|
|
|
|
See [Storage Pools](../shared/storage-pools.md) for why the mesh says
|
|
"Holder" and "Reach" rather than the legacy custodial words, and
|
|
[Bonds](bonds.md) for the coupon market a Partner may route to. |