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---
62 lines
3.3 KiB
Markdown
62 lines
3.3 KiB
Markdown
# Component Map
|
|
|
|
This is the `x/` module map for OpenYield. Each module is a Cosmos-SDK-style
|
|
`x/<name>/types/` package, zero external Go deps (G-006), referenced by
|
|
ID-string across modules (G-003 — no struct imports). The map covers v0.1,
|
|
v0.2, and v0.3 (skeleton + tests depth, D-020/D-035).
|
|
|
|
## v0.1 baseline (pre-MVP skeleton)
|
|
|
|
| Module | Vision § | REQ | Purpose |
|
|
|---|---|---|---|
|
|
| `x/mesh` | §7 | REQ-008 | OY Chain (Layer 1) shell |
|
|
| `x/mirror` | §7 | REQ-004 | Mirror of canonical state to bearers |
|
|
| `x/bread` | §4, §6 | REQ-013 | Bread unit + 11-tier scale |
|
|
| `x/bloom` | §6 | REQ-003 | Bloom Engine (real production only) |
|
|
| `x/forge` | §4.2 | REQ-003 | Forge/Fold minting against Root Basket |
|
|
| `x/rootpool` | §5 | REQ-014 | Root-Pool (mesh treasury) |
|
|
| `x/stash` | §5 | REQ-014 | Stash (Holder-level storage pool) |
|
|
| `x/vault` | §5 | REQ-014 | Vault (Stand-level storage pool) |
|
|
| `x/identity` | §8 | REQ-005 | Reach identity (Holder, no KYC) |
|
|
| `x/standing` | §9.2 | REQ-006 | Bayesian Standing |
|
|
| `x/processing` | §15 | REQ-007 | FCFS processing mesh |
|
|
| `x/watcher` | §7 | REQ-004 | 9 Watchers, 6-of-9 quorum |
|
|
| `x/feecovenant` | §18 | REQ-002 | Fee ceiling/floor/minimum |
|
|
| `x/still` | §3 | — | Still/Stir pause/resume state |
|
|
| `x/bearers` | §14 | REQ-019 | Unified Bearer Layer (6 bearers) |
|
|
|
|
## v0.2 (The Mesh — skeleton + tests)
|
|
|
|
| Module | Vision § | REQ | Purpose |
|
|
|---|---|---|---|
|
|
| `x/window` | §10 | REQ-015 | Window primitive (scope, rate-limit, revoke) |
|
|
| `x/stand` | §11 | REQ-016 | Nine Stand types |
|
|
| `x/guild` | §12 | REQ-017 | Guilds + Hand-Passes at 0% protocol fee |
|
|
| `x/pact` | §16 | REQ-020 | Six Pacts (Pause, Ground, Stance, Cover, Stand Registry, Hub API) |
|
|
| `x/partner` | §13 | REQ-018 | Four-tier Partner Spectrum (Op, Master Op, Pier, Anchor) |
|
|
| `x/council` | §19 | REQ-011 | Three Councils + Mission Lock (non-amendable) |
|
|
| `x/forex` | §13 | Forex v1 | Forex Engine v1 (pair type + oracle interface) |
|
|
| `x/bond` | §17 | REQ-021 | Mesh Bond Market (8% cap / 0% floor clamp) |
|
|
| `x/satellite` | §7 | REQ-009 | L2 IBC Satellite (Polygon active + 4 stubs) |
|
|
|
|
## v0.3 (Bearers & Documentation — in progress)
|
|
|
|
| Module | Vision § | REQ | Status | Purpose |
|
|
|---|---|---|---|---|
|
|
| `x/bridge` | §7 | REQ-010 | P4 (pending) | L2↔L1 bridge routes |
|
|
| `x/exit` | §7 | REQ-010 | P4 (pending) | Exit routes + DEX swaps |
|
|
| `x/bearers` (ext) | §14 | REQ-022 | P4 (pending) | OY-SAT + OY-QR transport stubs |
|
|
| `x/partner` (ext) | §13 | REQ-023 | P4 (pending) | AnchorCredential (Anchor tier) |
|
|
| `x/hub` | §13, §16 | REQ-024 | P5 (pending) | Hub API (Custody, Lending, Compliance) |
|
|
| `x/services` | §13 | REQ-025 | P5 (pending) | Services (Care, SIM, Vault, Mail) |
|
|
| `x/bond` (ext) | §17 | REQ-026 | P5 (pending) | Growth Bonds + secondary market |
|
|
|
|
## Notes
|
|
|
|
- Every module follows the same pattern: `types/types.go` + `types/types_test.go`
|
|
(package `types`), zero external deps, by-ID-string inter-module refs (G-003).
|
|
- Each new/extended test file includes a lexicon assertion (REQ-012); the
|
|
project-wide meta-test (`lexicon_meta_test.go`) scans all `x/**/*.go`.
|
|
- The docs firewall (`lexicon_meta_docs_test.go`) scans `README.md` + all
|
|
`docs/**/*.md`. See the [architecture index](architecture.md) for the
|
|
14-component view and the 6 cross-component interfaces. |