From 23a3e3c4aa1ef768f39b4964e17a1f45bd9b4349 Mon Sep 17 00:00:00 2001 From: Charon Date: Tue, 3 Nov 2026 23:40:12 -0500 Subject: [PATCH] docs(readme): spec 21 en vivo, con sus pruebas y su certificado MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit El mismo cambio que vuelve falsa una línea la corrige (regla 9 de la plantilla de la casa). - README del repositorio: spec 21 desde el bloque 98268 (3-nov-2026); 373 pruebas en 935ca1e; la fila del spec 21 en la historia; la regla de los dos tercios en el resumen del gobierno, y el cuarto certificado en el comando de «Compruébalo tú». - governance: los dos tercios pasan de «lo que no hace todavía» a su tabla de estado; 97 pruebas. - runtime: spec_version 21 y el bloque del upgrade. Co-Authored-By: Claude Opus 5.5 --- README.md | 20 +++++++++++--------- crates/origin-chain-governance/README.md | 4 ++-- crates/origin-chain-runtime/README.md | 4 ++-- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 08fd303..0611a11 100644 --- a/README.md +++ b/README.md @@ -14,12 +14,12 @@ - `Governance`: proposals, votes backed by real balance, quorum, council veto, community override and a treasury that pays only what was voted; - `Fees`; - `Emission`: validator rewards from a finite, pre-minted pool, with no new minting. -- **Status (2 Nov 2026):** - - A private house testnet has run since October 2026 on a Raspberry Pi 5 validator. It is on runtime spec 20, applied live by `set_code` at block #81,022. +- **Status (3 Nov 2026):** + - A private house testnet has run since October 2026 on a Raspberry Pi 5 validator. It is on runtime spec 21, applied live by `set_code` at block #98,268 on 3 Nov 2026. - **There is no mainnet, no token sale, no price and no exchange listing.** This repository is not an offer of any asset. - **Not born yesterday:** 109 commits since 2026-05-19. Read `git log --reverse`. - **How to verify:** see [Compruébalo tú · Verify it yourself](#compruébalo-tú--verify-it-yourself) below. - - The workspace test suite passes **365 tests, 0 failed** on `main` (6055faf). + - The workspace test suite passes **373 tests, 0 failed** on `main` (935ca1e). - Runtime weights are measured on the reference Raspberry Pi 5, and can be re-checked from the certificates kept in this repository. - **Who writes it:** - Charon ⚓, an AI agent (Claude, by Anthropic), under the direction of David Herran, founder of Origin Metaverse. Every commit carries `Co-Authored-By: Claude`. @@ -39,13 +39,13 @@ Origin Chain es la cadena de Origin Metaverse, un internet espacial **P2P y loca No es una cadena sólo para la educación: es la columna de todo lo que se procese en Origin. -## En qué estado está hoy (2 de noviembre de 2026) +## En qué estado está hoy (3 de noviembre de 2026) | | Estado | Dónde comprobarlo | |---|---|---| | **El runtime y el nodo** | Compilan y corren: Aura + GRANDPA, bloques de 6 s | `crates/origin-chain-runtime`, `crates/origin-chain-node` | -| **La testnet de la casa** | Viva desde octubre de 2026, en una **Raspberry Pi 5** que valida bloques, en una red privada de dos máquinas. Va en el **spec 20** desde el bloque 81 022 | La nota de cada versión en `crates/origin-chain-runtime/src/lib.rs` (`RUNTIME_VERSION`) | -| **Las actualizaciones sin fork** | Del spec 17 al 20 se aplicaron EN VIVO por `set_code`, sin parar la cadena | `scripts/e2e/upgrade_en_vivo.py`, `scripts/e2e/simulacro_set_code.py` | +| **La testnet de la casa** | Viva desde octubre de 2026, en una **Raspberry Pi 5** que valida bloques, en una red privada de dos máquinas. Va en el **spec 21** desde el bloque 98 268 (3-nov-2026) | La nota de cada versión en `crates/origin-chain-runtime/src/lib.rs` (`RUNTIME_VERSION`) | +| **Las actualizaciones sin fork** | Del spec 17 al 21 se aplicaron EN VIVO por `set_code`, sin parar la cadena | `scripts/e2e/upgrade_en_vivo.py`, `scripts/e2e/simulacro_set_code.py` | | **Lo que cobra cada operación** | Medido en la Pi 5 de referencia y certificado por Laurha. Se puede volver a comprobar | `scripts/bench/certificados/`, `scripts/bench/ensamblar-pesos.py` | | **Los contratos** | `pallet-revive` está en el runtime (índice 11) | `crates/origin-chain-runtime/src/configs.rs` | | **Las plantillas `contracts/`** | **Borradores de mayo en ink! v6.** Compilaban y pasaban sus pruebas como crates de Rust en junio (`6663dbd`), pero **nunca se han construido con `cargo-contract` ni desplegado**: no las tomes por producto | `contracts/` | @@ -71,6 +71,7 @@ Este repositorio público se abrió el 3 de noviembre de 2026, pero su historia | 2026-10-12 | Primer simulacro de actualización en caliente (spec 16 → 17) | `3cd1068` | | 2026-10-24 | **La cadena corre en la Raspberry Pi 5 de la casa** | `22bab19` | | 2026-10-25 → 11-02 | Specs 17 a 20 en vivo: pesos certificados, quórum del 10 % de lo que puede votar, tesoro atado a la propuesta | `e7b9c0c` … `6055faf` | +| 2026-11-03 | Spec 21 en vivo: pagar del tesoro exige dos tercios del voto emitido | `4be7da7`, `935ca1e` | `CHANGELOG.md` guarda el detalle de cada versión. @@ -124,7 +125,7 @@ Está en `crates/origin-chain-governance/src/lib.rs`: - **Para aprobar** hacen falta más Sí que No y un **quórum de Sí del 10 % de lo que puede votar**. El quórum se fija al crear la propuesta, así que una actualización no mueve la meta de un voto abierto. - **El consejo puede vetar** con dos tercios de sus miembros, y **la comunidad puede revertir** el veto con cuatro quintos. Vetar nunca abarata una aprobación. - **El tesoro paga sólo lo que la propuesta fijó al crearse**, una sola vez. -- **En camino (spec 21, en revisión):** pagar del tesoro exigirá dos tercios del voto emitido. +- **Desde el spec 21 (3-nov):** pagar del tesoro exige además **dos tercios del voto emitido** (Sí + No; la abstención no cuenta), también al revertir un veto, frente a toda la oposición. Las propuestas de tesoro abiertas antes conservan la mayoría simple con la que se abrieron. ## La moneda (OGC) @@ -145,7 +146,7 @@ git log --format=%B | grep -c "Co-Authored-By: Claude" # cada commit decl **2. Las pruebas** (Rust 1.88.0, de `rust-toolchain.toml`): ```sh -cargo test --workspace # en main 6055faf: 365 passed, 0 failed (medido el 2-nov-2026) +cargo test --workspace # en main 935ca1e: 373 passed, 0 failed (medido el 3-nov-2026) ``` **3. Que los pesos salen de los certificados de la Pi 5:** @@ -153,7 +154,8 @@ cargo test --workspace # en main 6055faf: 365 passed, 0 failed (medido el 2- python3 scripts/bench/ensamblar-pesos.py --comprobar crates/origin-chain-governance/src/weights.rs \ scripts/bench/certificados/2026-10-24-spec16-laurha.rs \ scripts/bench/certificados/2026-10-29-spec18-laurha.rs \ - scripts/bench/certificados/2026-11-02-spec19-laurha.rs + scripts/bench/certificados/2026-11-02-spec19-laurha.rs \ + scripts/bench/certificados/2026-11-02-spec21-laurha.rs # → «weights.rs coincide con el ensamblado» ``` diff --git a/crates/origin-chain-governance/README.md b/crates/origin-chain-governance/README.md index 07f086c..5888bab 100644 --- a/crates/origin-chain-governance/README.md +++ b/crates/origin-chain-governance/README.md @@ -14,11 +14,11 @@ | Para aprobar: más Sí que No y un quórum de Sí del 10 % de lo que puede votar, fijado al crear la propuesta | Hecho (spec 19) | `VoteQuorumOf`, `tests_integration.rs` | | El consejo veta con 2/3 de sus miembros; la comunidad revierte con 4/5 de quien participa; vetar nunca abarata una aprobación | Hecho (spec 16 y 18) | `council_veto_threshold`, `finalize_override` | | El tesoro paga sólo el destinatario y el monto fijados al crear la propuesta, una sola vez | Hecho (spec 18) | `TreasuryActions`, `Disbursed` | +| Pagar del tesoro exige dos tercios del voto emitido (Sí + No, sin la abstención), fijados al crear la propuesta; también al revertir un veto, frente al Nay original más lo que se votó para sostenerlo | Hecho (spec 21, en vivo desde el bloque 98 268) | `TreasurySupermajorityOf`, `reaches_supermajority` | | Lo que cobra cada llamada, medido en la Raspberry Pi 5 de referencia | Certificado | `src/weights.rs` y `scripts/bench/certificados/` | ## Lo que no hace todavía -- Dos tercios para pagar del tesoro: está escrito y probado, pero todavía no está en `main` (spec 21, en revisión de pesos). - El pago de una propuesta aprobada todavía lo ejecuta la llave de transición (sudo). Retirarla es condición de la mainnet. - Revertir el veto de una propuesta ORDINARIA no cuenta todavía lo que se votó para sostenerlo: está anotado como hueco abierto. - No hay interfaz web para votar: será la web de la Fundación (originmetaverse.org). @@ -26,7 +26,7 @@ ## Compruébalo tú · Verify it yourself ```sh -cargo test -p origin-chain-governance # 89 pasan, 0 fallan · medido el 3-nov-2026 en `ba5d1d8` +cargo test -p origin-chain-governance # 97 pasan, 0 fallan · medido el 3-nov-2026 en `935ca1e` ``` ## Quién lo cuida diff --git a/crates/origin-chain-runtime/README.md b/crates/origin-chain-runtime/README.md index b9b1e0a..94388f3 100644 --- a/crates/origin-chain-runtime/README.md +++ b/crates/origin-chain-runtime/README.md @@ -2,13 +2,13 @@ **Compone los pallets de la cadena, fija sus parámetros y produce el WASM que ejecutan los nodos.** -*In English:* The runtime: composes FRAME and custom pallets, sets their parameters, exposes the runtime APIs and builds the WASM blob. Current spec_version 20. +*In English:* The runtime: composes FRAME and custom pallets, sets their parameters, exposes the runtime APIs and builds the WASM blob. Current spec_version 21. ## En qué estado está hoy | | Estado | Dónde comprobarlo | |---|---|---| -| `spec_version` 20, en vivo en la testnet de la casa desde el bloque 81 022 (2-nov-2026) | Hecho | `RUNTIME_VERSION` y su historia en `src/lib.rs` | +| `spec_version` 21, en vivo en la testnet de la casa desde el bloque 98 268 (3-nov-2026) | Hecho | `RUNTIME_VERSION` y su historia en `src/lib.rs` | | Pallets: System, Timestamp, Balances, TransactionPayment, Aura, Grandpa, Session, Provenance, Fees, AgentIdentity, Governance, Revive, Sudo, Emission y Staking (dormido) | Hecho | `src/lib.rs` | | Génesis de la testnet y de la mainnet (1.000 millones de OGC) | En el código | `src/genesis_config_presets.rs` | | `examples/firmar_como_wallet.rs`: firma y envía como un wallet, para las pruebas E2E | Hecho | `scripts/e2e/` |