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---
48 lines
2.3 KiB
Markdown
48 lines
2.3 KiB
Markdown
# Storage Pools
|
|
|
|
OpenYield has three Storage Pools (REQ-014). Each is a layer of custody
|
|
responsibility, and none of them is a custodial position — the protocol holds
|
|
the canonical state that records who owns what; the Holder, the Stand, and
|
|
the mesh treasury each hold their own pool.
|
|
|
|
| Pool | Level | Held by | Purpose |
|
|
|---|---|---|---|
|
|
| **Stash** | Holder | a single Holder | the personal storage pool; the unit of self-service |
|
|
| **Vault** | Stand | a Stand (a governed group) | the Stand-level pool; the unit of shared ownership |
|
|
| **Root-Pool** | Mesh | the mesh treasury | the canonical treasury; the unit of the public good |
|
|
|
|
## The Stash
|
|
|
|
The Stash is the Holder-level storage pool. A Holder needs only a Reach (an
|
|
identity) and a Stash to begin. The Stash is the unit of self-service: the
|
|
Holder owns it, controls it, and can delegate a scoped, time-limited,
|
|
revocable Window to a partner or a service without giving up custody. See
|
|
[Watchers & Mirror](watchers-mirror.md) for the attestation layer that
|
|
records Stash state.
|
|
|
|
## The Vault
|
|
|
|
The Vault is the Stand-level storage pool. A Stand is a governed group
|
|
(one of the nine Stand types: Household, Crew, Entity, Co-op, Circle,
|
|
Trust, Foundation, Confederation, Shadow) that holds a Vault in common. The
|
|
Stand's decision policy (threshold or weighted, mirroring the Cosmos SDK
|
|
`x/group` shape) governs how the Vault is used. See the Freeholders section
|
|
for Stands & Guilds.
|
|
|
|
## The Root-Pool
|
|
|
|
The Root-Pool is the mesh treasury. It holds the canonical state of the
|
|
Bread unit, the Watcher bonds, and the Root Basket. The Root-Pool is the
|
|
unit of the public good: the Watchers attest to its state daily, and the
|
|
Mirror mirrors it to the bearers so a Holder can verify the mesh's real
|
|
return without trusting a single custodian.
|
|
|
|
## Custody, not custody
|
|
|
|
The three pools are storage layers, not custodial positions. The protocol
|
|
does not custody user value; it holds the canonical state that records who
|
|
owns what. A Holder's Stash is theirs; a Stand's Vault is the Stand's; the
|
|
Root-Pool is the mesh's. The Window primitive lets a Holder delegate a
|
|
capability without delegating custody. See the [Lexicon](lexicon.md) for
|
|
why the docs say "Stash", "Vault", and "Root-Pool" rather than the words a
|
|
legacy financial institution would use. |