Files
openyield/x
cloudinit-bot 74248dfbc1 docs(milestone): complete OpenYield v0.2 (The Mesh)
---ci---
project: oy
phase: 5
milestone: v0.2
status: complete
phase_role: final
requirements:
  covered: [REQ-009, REQ-011, REQ-015, REQ-016, REQ-017, REQ-018, REQ-020, REQ-021, REQ-012]
  partial: []
---/ci---

Milestone v0.2 (The Mesh) complete. Skeleton+tests layer for 9 new modules + 1 extension:
x/window (REQ-015, fullest), x/stand (REQ-016, 9 types), x/guild (REQ-017, HandPass 0%),
x/pact (REQ-020, 6 types + Mission Lock), x/partner (REQ-018, 4-tier), x/council (REQ-011,
3 councils + Mission Lock const), x/forex (Forex v1, Bread/Asset pairs), x/bond (REQ-021,
8% cap Clamp), x/satellite (REQ-009, 5-chain L2 + ICS-20 v1), x/bearers EXTENDED (OY-LR/Beacon).

303 tests total (53 v0.1 baseline + 250 new). Coverage >=95.9% on all new/extended
packages (8 at 100%). Lexicon firewall (REQ-012) project-wide + per-module. G-003
by-ID-string import invariant. 5 phases: P0 (v0.1.0) + P1-P4 (v0.1.1..v0.1.4) + P5 final
(v0.1.5 = this milestone release). Per run.md patch-line model: no separate minor tag.

14 clarification decisions (D-020..D-033), 15 research assumptions (A-201..A-215),
31 tasks across 5 phases, 10 grill binding decisions (G-001..G-010) all applied.

Next milestone: v0.3 (The Bearers) per ROADMAP Phase 3.
2026-08-17 21:41:28 +00:00
..

Component 1: OY Chain & Mirror — Phase 1 Skeleton

Status

v0.0.1 — skeleton with type definitions and locked-constant tests

Vision References

  • §7: Architecture — Three Layers and the Mirror
  • §3: Still/Stir (pause/resume)

Modules

x/watcher — Watcher Bond & Attestation Quorum

  • types.Watcher — bonded Watcher (§7: 100,000 Bread minimum bond)
  • types.Attestation — daily reserve snapshot signed by a Watcher
  • types.ReserveSnapshot — off-chain reserve state (off-chain total, on-chain Bread, basket breakdown)
  • types.QuorumStatus — QuorumMet / QuorumLost / StaleEpoch
  • types.SlashReason — InsufficientBond / StaleAttestation / GeographicCollusion / Forgery

Locked constants (§7):

  • MinBond = 100000 (100,000 Bread)
  • Quorum = 6 (6-of-9)
  • MaxWatchers = 9
  • AttestationEpochHours = 24 (daily)

x/mirror — Reserve Ratio Publication

  • types.NavPerBread — Net Asset Value per Bread (§4.2)
  • types.ReserveRatio — real-time published ratio with quorum flag

x/still — Pause/Resume (Still/Stir)

  • types.StillState — StirActive / StillPaused (§3)
  • types.StillReason — CouncilVote / QuorumLost / SecurityAlert
  • types.StillRecord — tracks pause events
  • Auto-still on quorum lost (§4.2: Forge/Fold blocked until quorum restored)

Tests

12 tests, all passing:

  • Watcher: MinBond, Quorum, MaxWatchers, AttestationEpoch, DefaultParams (5)
  • Still: DefaultStillState, AutoStillOnQuorumLost, StillStates (3)
  • Mirror: DefaultPublishInterval, ModuleName, NavPerBreadStruct, ReserveRatioQuorum (4)

What's NOT in this skeleton (deferred to P1 completion)

  • Cosmos SDK app.go full integration (requires SDK v0.50+ dependency resolution)
  • Keeper implementations (BondWatcher, SubmitAttestation, VerifyQuorum, SlashWatcher)
  • CLI commands (oyd tx watcher bond, oyd query watcher quorum)
  • Proto definitions (Buf-generated types)
  • CometBFT consensus setup
  • Genesis import/export

Next Steps (P1 continuation)

  1. Resolve Cosmos SDK v0.50 dependency tree
  2. Implement keeper logic with store operations
  3. Add proto definitions and code generation
  4. Wire modules into app.go
  5. Build oyd daemon
  6. Integration test: 9 Watchers bond, submit attestations, verify quorum