a780884379
P1 complete. Docs lexicon firewall (lexicon_meta_docs_test.go, 5 tests incl. G-013 walk-coverage + G-014 shared self-test). MkDocs Material scaffold with 26-page nav (G-011). README.md + docs/index.md + 7 docs/shared/ pages. Both firewalls green, go test ./... 22 packages green, no regression. ---ci--- project: oy phase: 1 milestone: v0.3 status: complete tag_base: v0.2.x phase_role: execution requirements: covered: [REQ-028] partial: [REQ-027] ---/ci---
83 lines
3.4 KiB
Markdown
83 lines
3.4 KiB
Markdown
# OpenYield
|
|
|
|
OpenYield is a jurisdiction-light, public-good mesh for **real production** — a
|
|
protocol organized around Holders, Stands, and the Six Principles, designed to
|
|
hold real value without the words or the shapes that invite capture. The mesh
|
|
runs on OY Chain (Layer 1), a canonical state layer for the Bread unit, the
|
|
Storage Pools (Stash, Vault, Root-Pool), Standing, Watcher attestations, and
|
|
the Pact / Council / Partner surface. It is anti-greed by construction: Mission
|
|
Lock fixes the Six Principles and fee covenant so no council can amend them,
|
|
and the 8% coupon cap on bonds is a mission-locked ceiling, not a parameter.
|
|
|
|
## The Six Principles
|
|
|
|
1. **Real value** — the mesh holds real production, not speculation.
|
|
2. **Sustainability** — fees are floored and capped; the protocol cannot drain its users.
|
|
3. **Mission-lock** — the Six Principles and fee covenant are immutable; no council can amend them.
|
|
4. **Openness** — anyone may join; the mesh is a public good.
|
|
5. **Ownership** — Holders own their Stash and their Reach; custody is theirs.
|
|
6. **Self-service** — a Holder can act without a custodian; the mesh is jurisdiction-light.
|
|
|
|
## Bread unit & scale
|
|
|
|
The unit of value is **Bread**, scaled in 11 tiers: **Grain → Crumb → Bread →
|
|
Loaf → Batch → Cake → Bakery → Granary → Mill → Harvest → Earth.**
|
|
|
|
## Status
|
|
|
|
**v0.3 (Bearers & Documentation) — in progress.** The codebase is a skeleton +
|
|
tests layer (Go types + keeper stubs + invariant tests, zero external Go deps)
|
|
matching the v0.1/v0.2 pre-MVP pattern. See `.ciagent/oy/ROADMAP.md` for the
|
|
phase plan and `.ciagent/oy/PROJECT.md` for governance.
|
|
|
|
## Build & test
|
|
|
|
OpenYield is pure Go with **zero external dependencies** (`go.mod` has no
|
|
`require` lines; `go 1.22`). From the repo root:
|
|
|
|
```sh
|
|
go build ./...
|
|
go test ./...
|
|
```
|
|
|
|
## Docs
|
|
|
|
The docs site is [MkDocs Material](https://squidfunk.github.io/mkdocs-material/)
|
|
(a build-only Python dep; **not** a Go dep — `go.mod` is unchanged). To
|
|
preview locally:
|
|
|
|
```sh
|
|
mkdocs serve
|
|
# or build to a static site/ dir:
|
|
mkdocs build
|
|
```
|
|
|
|
The site lives under `docs/` (see `mkdocs.yml` for the nav). Publishing CI is
|
|
deferred to v0.4 (D-046); v0.3 ships the source.
|
|
|
|
## Lexicon firewall
|
|
|
|
OpenYield bans 10 financial terms as standalone words (REQ-012) across all Go
|
|
source (`x/**/*.go`) and all docs (`README.md` + `docs/**/*.md`). The banned
|
|
terms are the words you would expect a legacy financial institution to use;
|
|
this README and the docs describe them only by their **safe replacements**, so
|
|
the firewall itself never trips. The firewall is enforced in code by two
|
|
sibling Go tests:
|
|
|
|
- `lexicon_meta_test.go` (v0.2) — scans `x/**/*.go`.
|
|
- `lexicon_meta_docs/lexicon_meta_docs_test.go` (v0.3) — scans `README.md` +
|
|
`docs/**/*.md`.
|
|
|
|
Both use `lexicon.FindBannedTerm` (word-boundary, case-insensitive), so
|
|
"OpenYield" is safe (word-boundary does not match the banned term inside an
|
|
identifier) but the standalone banned term is not — docs say **"real
|
|
production"** / **"real return"**, and a Holder's identity is **Holder** /
|
|
**Reach**, never the banned word for a custodial position. See
|
|
`docs/shared/lexicon.md` for the glossary of safe replacements.
|
|
|
|
## Governance
|
|
|
|
- `.ciagent/oy/PROJECT.md` — full vision, decisions (D-0xx), assumptions.
|
|
- `.ciagent/oy/PLANS.md` — phase plans (v0.1, v0.2, v0.3).
|
|
- `.ciagent/oy/REQUIREMENTS.md` — REQ coverage matrix.
|
|
- `.ciagent/oy/ROADMAP.md` — release roadmap. |