Files
openyield/docs/freeholders/stands-guilds.md
T
cloudinit-bot 82ae6cf5a2 docs(milestone): complete OpenYield v0.3 (Bearers & Documentation)
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---
2026-08-17 22:35:36 +00:00

2.1 KiB

Stands & Guilds

A Stand is a governed group of Holders that holds a Vault in common (REQ-016). A Guild is a looser association of Holders that can pass value among its members for free (REQ-017). Both are the organizational layer a Freeholder joins after earning the four signals.

The nine Stand types

OpenYield defines exactly nine Stand types (REQ-016, vision §11), locked as a const in x/stand:

  1. Household — a family-scale group.
  2. Crew — a working team.
  3. Entity — a single legal actor.
  4. Co-op — a cooperative.
  5. Circle — an affinity group.
  6. Trust — a trust arrangement.
  7. Foundation — a purpose-bound entity.
  8. Confederation — a federation of Stands.
  9. Shadow — a privacy-preserving Stand.

A Stand's decision policy (threshold or weighted, mirroring the Cosmos SDK x/group shape) governs how its Vault is used. A Stand can also issue Bonds — the bond issuer is a Stand, referenced by stand-id.

Guilds and Hand-Passes

A Guild is a looser association: it may affiliate with a Stand or stand alone. Inside a Guild, a Hand-Pass moves Bread between members at a 0% protocol fee (REQ-017, locked HandPassFeeBps = 0 in x/guild). The 0% fee is mission-locked: the mesh does not tax the social transfer of value among a self-organized group. See the Fee Covenant for the broader fee shape.

How a Freeholder joins

A Freeholder joins a Stand by becoming a member (the Stand's policy admits them) or forms a Guild as a founder. Membership is recorded in x/stand and x/guild respectively, by stand-id / guild-id and the member's Reach. From a Stand a Freeholder gains Vault access and the ability to issue Bonds; from a Guild a Freeholder gains free Hand-Passes with other members.

See Councils & Voice for how Stands and Guilds each get a Council, and Storage Pools for the Vault layer.