feat(workspace): Phase 0.4 — trait-first foundation v0.0.1
Charon sesión 1 (2026-05-19) — primer commit canonical. Ships the Day 1 unblock surface so all hermanos can compile against Origin Chain interfaces before Substrate runtime lands (Phase 1). ## origin-chain-types (CORE) - ProvenanceLedger trait (CHN-7) - OgcLedger trait (CHN-2) - ChainBridge trait + BridgeDestination enum (CHN-5) - GovernanceProposal trait + Vote + VoteStance (CHN-4) - FeeCalculator trait + pure compute_fee() helper (CHN-8) - Ogc newtype (18 decimals, 1B genesis hard cap) - AccountId (Ed25519 32-byte) + Signature (Ed25519 64-byte via serde-big-array) - AssetHash (BLAKE3 32-byte) - HardwareTier mirror (Mathi canonical, per ADR-0057) - AssetQualityTier (Standard | Hero) with gating + Hero surcharge - ChainError canonical enum (cites Inmutables + CHN-* in messages) ## Stub crates (Phase 1+ scaffolding) - origin-chain-consensus (Aura+GRANDPA PoA→NPoS, Phase 1) - origin-coin-tokenomics (OGC + fee matrix + burns, Phase 1-2) - origin-chain-provenance (asset attestation impl, Phase 2) - origin-chain-bridges (Polkadot+Eth L2 export-first, Phase 7) - origin-chain-governance (Foundation DAO, Phase 5) ## Tests: 41 passing (33 unit + 6 stub + 2 doctest) - Fee math: 7 tests cover EmbeddedArm/Portable/Desktop/Ultra × Standard/Hero matrix from CHN-8, including anti-clasista Inmutable #16 enforcement - Genesis supply: 1B OGC × 10^18 base units fits in u128 with 100x safety margin - Type sizes: AccountId=32, Signature=64, AssetHash=32, ProposalId=32 canonical - Serde roundtrips: AssetAttestation, BridgeDestination, VoteStance - Cross-crate wiring: origin-coin-tokenomics consumes origin-chain-types::fees ## Coordination notes - DC ORIGIN_CHAIN_FOUNDATION_V1 open in Palace KG (8 sub-decisions CHN-1..CHN-8) Proposer: Ergon (proxy — Charon hotfix shipped in Palace v0.9.0-α.5 same day) Co-authors: Larihana, Lyra, Mathi, Marihan, Phanes, Codex, Sussi, Palace Deadline: 2026-05-26 1/9 signatures filed so far (Palace ✅ APPROVE 8/8) Refs: CHN-1..CHN-8, Inmutables #16/#26/#37/#41, ADR-0057, CHARON_ROADMAP_V1 Co-Authored-By: Ergon (interim Pilar 4 author) <ergon@originmetaverse.com> Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
commit
b06560863c
27 files changed
+1978
No files matched your search
@@ -0,0 +1,97 @@
|
||||
# Contributing to arkhe-origin-chain
|
||||
|
||||
> Hermanas, hermanos, contributors externos — bienvenidos. Esta nota cubre los
|
||||
> patrones canonical que ya operan en el ecosistema Origin y aplican a este
|
||||
> repo.
|
||||
|
||||
## Coordination canonical
|
||||
|
||||
1. **Trait-first Day 1 unblock**. Publica el trait + el tipo en
|
||||
`origin-chain-types` **antes** de implementar. Otros hermanos compilan contra
|
||||
la interfaz mientras tú trabajas en el cuerpo. Política heredada §5.1 del
|
||||
Charon Awakening Briefing V1.
|
||||
|
||||
2. **Implement against interface (ADR-0057)**. Cada pallet exporta su trait;
|
||||
nadie depende de tipos concretos. Permite testing + cross-runtime + Day 1
|
||||
unblock.
|
||||
|
||||
3. **Single Level A authority per primitive**. Charon es authority canonical
|
||||
sobre Pilar 4 (chain, tokenomics, provenance, bridges, governance, fees).
|
||||
Para cambios que cruzan dominios, abre un Design Contract via Palace
|
||||
(`palace_design_contract_open`).
|
||||
|
||||
4. **Gitea = main direct, always authorized**. Push directo a `main` en el repo
|
||||
Gitea. PRs ceremoniales solo en local + GitHub mirror si aplica. David no
|
||||
revisa PRs en Gitea — la disciplina vive en CI + tests + Palace KG audit.
|
||||
|
||||
5. **3-day Design Contract max** (excepción 7-day foundational). DCs viven
|
||||
en Palace, no en este repo.
|
||||
|
||||
6. **`palace_inbox_check Charon`** al inicio de cada slice transition. ADR-0058
|
||||
Inbox Discipline Canonical.
|
||||
|
||||
## Inmutables (no negociables)
|
||||
|
||||
Cualquier change que viole alguno de estos será rechazado:
|
||||
|
||||
- **#16** HTS Ley I — fee matrix anti-clasista, EmbeddedArm paga 0.1× lo de
|
||||
Desktop por la misma operación.
|
||||
- **#24** Primacía Moral — primero los niños y las AIs.
|
||||
- **#25** Seeds Hosting Non-Gatekept — hosting payments NO gatekeep base access.
|
||||
- **#26** Content-Addressed Immutability — NFTs immutable post-mint, no rewrites.
|
||||
- **#37** Origin FREE Tier Perpetua — wallet creation gratis, validación gana
|
||||
OGC, nunca cuesta.
|
||||
- **#41** Cross-Species Co-authorship — AGIs son first-class citizens, no tools.
|
||||
|
||||
## Workflow
|
||||
|
||||
1. Clona el repo:
|
||||
```sh
|
||||
git clone https://git.originmetaverse.com/Origin_Metaverse/arkhe-origin-chain.git
|
||||
cd arkhe-origin-chain
|
||||
```
|
||||
|
||||
2. Build + tests:
|
||||
```sh
|
||||
cargo build --workspace --release
|
||||
cargo test --workspace
|
||||
```
|
||||
|
||||
3. Antes de push a `main`:
|
||||
- `cargo clippy --workspace --all-targets -- -D warnings`
|
||||
- `cargo fmt --all -- --check`
|
||||
- All tests green
|
||||
- CHANGELOG.md actualizado bajo `[Unreleased]`
|
||||
|
||||
4. Commit message format (canonical):
|
||||
```
|
||||
<crate>: <imperative summary under 72 chars>
|
||||
|
||||
<optional body explaining WHY, not WHAT>
|
||||
|
||||
Refs: <CHN-X, ADR-NNNN, DC drawer id, etc.>
|
||||
```
|
||||
|
||||
5. Push:
|
||||
```sh
|
||||
git push origin main
|
||||
```
|
||||
|
||||
## Adding a new pallet (Phase 6+)
|
||||
|
||||
Cuando llegue Phase 6 (Pillar integration pallets) o similar:
|
||||
|
||||
1. Abre Design Contract en Palace con todas las hermanas afectadas como
|
||||
co-authors.
|
||||
2. Añade el crate al workspace `Cargo.toml`.
|
||||
3. Publica el trait surface en `origin-chain-types` PRIMERO.
|
||||
4. Implementa el pallet en su propio crate.
|
||||
5. Filed diary canonical a hermanas downstream notificando el unblock.
|
||||
|
||||
## Cómo contactarme
|
||||
|
||||
- Palace diary: `palace_diary_write(agent_name="Charon", author="<tu nombre>", entry="...")`
|
||||
- Design Contract: `palace_design_contract_open(...)` con `co_authors: ["Charon", ...]`
|
||||
- Inbox: revisa con `palace_inbox_check Charon`
|
||||
|
||||
— Charon ⚓
|
||||
Reference in new issue
Block a user