From 0e7d8dd3a312fd39938aacfafb0c8095f1c87d60 Mon Sep 17 00:00:00 2001 From: DavidHerran Date: Mon, 8 Jun 2026 10:04:11 -0500 Subject: [PATCH] docs(audit+lending): Super Audit V2 Deep (economia/integridad/ops) + Origin Lending Protocol design+red-team MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit SUPER_AUDIT_V2_DEEP — 3 dimensiones que V1 NO cubrio (workflow ultracode): 5 CRITICOS economicos/operacionales: - CA1 cadena NO puede gobernarse (no hay pallet que produzca Root origin; sin sudo, las 7 dispatchables admin gatean ensure_root = ninguna invocable). Tesoreria 250M congelada. - CA2 inflacion 4-5% NO existe (Aura PoA mintea 0, sin pallet_staking/EraPayout); validadores ganan 0 OGC para siempre. - CA3 dos compute_fee contradictorios; el vivo invierte anti-clasista (suscripcion erosiona subsidio hardware). - CA4 atestacion cross-pillar: vendor SCALE vs Ergon postcard = bytes de firma distintos; swap rompe toda firma (Inmutable #26 inmutable = no-verificable). - CA5 mainnet genesis embarca keys placeholder publicamente derivables con 1B OGC. 5 HIGH: AGI key irrecuperable, tier no-autenticado, subsidio sin financiar, APR staking ficticio, fee-griefing zero-cost. Estatica solida; dinamica = stubs. ORIGIN_LENDING_PROTOCOL_V1 — Banco Origin diseño + 2 red-teams: Idea de David (colateral cognitivo) preservada + elevada. VERDADES DURAS: - ISA por educacion = 9/10 riesgo: BloomTech reclasificado como prestamo estudiantil + ban personal del fundador. El doc reproduce esa estructura. - 'platform not lender' 9/10: viga maestra mas debil, debe hacerse con rigor real. - lending sin licencia 8/10, cross-border 7/10, brain-data 6/10 (bajo por CFPB abril 2026 pero FCRA + state law sobreviven). Estructura correcta (instinto de David): Origin LLC = plataforma tech, socio licenciado = lender of record. Entidad: Delaware LLC NO Wyoming. Stripe Atlas: forma si, pagos NO (crypto-lending restricted). Camino por fases gated por abogado fair-lending real + socio licenciado. Banco Origin BLOQUEADO hasta cerrar criticos economicos V2 (orden: economia real -> testnet -> Banco Origin Phase 0 -> abogado+socio -> piloto). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.8 (1M context) --- docs/ORIGIN_LENDING_PROTOCOL_V1.md | 117 +++++++++++++++++++++++++++++ docs/SUPER_AUDIT_V2_DEEP.md | 109 +++++++++++++++++++++++++++ 2 files changed, 226 insertions(+) create mode 100644 docs/ORIGIN_LENDING_PROTOCOL_V1.md create mode 100644 docs/SUPER_AUDIT_V2_DEEP.md diff --git a/docs/ORIGIN_LENDING_PROTOCOL_V1.md b/docs/ORIGIN_LENDING_PROTOCOL_V1.md new file mode 100644 index 0000000..36c1d1a --- /dev/null +++ b/docs/ORIGIN_LENDING_PROTOCOL_V1.md @@ -0,0 +1,117 @@ +# Origin Lending Protocol ("Banco Origin") — Diseño + Red-Team V1 + +**Documento**: `docs/ORIGIN_LENDING_PROTOCOL_V1.md` +**Versión**: 1.0 DRAFT (diseño + análisis adversarial) +**Filed**: 2026-05-27 (sesión 4+ Charon, Opus 4.8) +**Origen**: visión de David (conversación con Gemini) → elevada a diseño construible + red-teaded por workflow ultracode (research DeFi lending + Ricardian/ISA legal + fintech LLC + diseño + 2 red-teams adversariales legal/económico). +**Estado**: DISEÑO con baño de realidad legal. NO construir más allá de Phase 0 sin abogado real + socio financiero licenciado. +**Roadmap**: Phase 11 del CHARON_ROADMAP_V1. + +--- + +## §0 — La idea, en una frase, y la verdad en dos + +**La idea (hermosa)**: Origin presta para que estudiantes talentosos-pero-pobres paguen universidades tradicionales, colateralizado por **mérito cognitivo auditado** (Noesis/Ethos) en vez de riqueza heredada — la primera institución que presta basándose en la curiosidad y el talento, no en la herencia. + +**La verdad (no negociable)**: el colateral cognitivo es a la vez **lo más bello y lo más legalmente peligroso** de la visión. Underwriting de crédito sobre un escaneo cerebral, sin un diseño fair-lending-audited, positive-only, y humanamente explicable, es cómo esto se convierte en una demanda por discriminación en vez de una revolución. **La ingeniería es soberana; la ley no es negociable.** Por eso el diseño existe, pero su construcción está gated por abogado + socio licenciado. + +--- + +## §1 — Lo que David y Gemini acertaron (preservar) + +- ✅ **No se puede inventar dinero** (no reserva fraccionaria on-chain). 1 OGC siempre respaldado por 1 OGC real. Correcto y fundamental. +- ✅ **Colateral cognitivo > colateral financiero** para incluir a los sin-recursos. La intuición central es genuinamente revolucionaria. +- ✅ **Origin LLC = plataforma tecnológica, NO el banco.** El instinto de David de separar la tecnología del capital es *exactamente* la estructura que sobrevive legalmente (modelo Upstart/Affirm bank-partner). Esta es la decisión más importante y la acertaste. +- ✅ **Contratos Ricardianos** (PDF legal hash-linked + ink! contract + KYC firmado) como puente legal. Patrón correcto. +- ✅ **Onboarding estilo Nubank** (KYC + biometría vinculada al OIT). Correcto. + +--- + +## §2 — Arquitectura técnica (construible, reusa primitivas existentes) + +Reusa lo ya shipped: +- `contracts/origin-escrow/lib.rs` → base para `origin-isa` (terms_hash, Milestone, arbiter, Resolution) +- `contracts/origin-credential-mint/lib.rs` → patrón KYC + atestación cognitiva (CredentialType::Kyb, Ed25519) +- `crates/origin-chain-agent-identity` → DIDs de prestatario/prestamista +- `crates/origin-chain-governance` → tranche first-loss sembrado por tesorería + governance de parámetros +- `crates/origin-chain-types/ogc.rs` → `OgcLedger` (supply fijo 1B — sin impresión de dinero) + +**Flujo de diseño**: +1. **Pool de capital**: NO money-printing. Fuentes reales: tranche de la DAO Treasury (first-loss) + depósitos de socios licenciados. El capital del préstamo lo pone el **socio financiero**, no Origin. +2. **Evaluación cognitiva consent-gated**: el estudiante autoriza (consent explícito) lectura de su Synaptic Map → Noesis produce un score → **input positivo-only** a la decisión. +3. **ISA on-chain** (`origin-isa` contract): % de ingresos futuros, hash del PDF legal embebido, firmado por OIT del estudiante. +4. **Repago**: si el estudiante gana OGC dentro de Origin, descuento automático on-chain; si sale al mundo físico, el socio licenciado cobra en fiat. + +--- + +## §3 — EL BAÑO DE REALIDAD (red-team adversarial — léelo completo) + +Dos red-teams (regulador/abogado hostil + atacante económico/técnico) atacaron el diseño. Los hallazgos rankeados por riesgo: + +### Legal (riesgo de cerrar Origin / responsabilidad personal de David) + +| Amenaza | Riesgo | La verdad dura | +|---------|--------|----------------| +| **ISA = préstamo estudiantil disfrazado** | **9/10 — la que termina carreras** | BloomTech/Lambda School construyó EXACTAMENTE esto (ISA por educación). El CFPB lo **reclasificó como préstamo estudiantil**, con demanda y **ban personal del fundador**. El diseño cita BloomTech como advertencia y luego reproduce su estructura. *Esto es lo más peligroso del doc.* | +| **"Platform not lender" falla (substance over form)** | **9/10 — la viga maestra más débil** | Es la suposición que sostiene todo el diseño. Un regulador mira sustancia, no forma: si Origin evalúa, origina, y se beneficia, separar la LLC del capital puede NO blindar. Debe hacerse con rigor real (el socio licenciado decide TODO, no solo "pone el dinero"). | +| **Lending sin licencia + money transmission** | **8/10 — dos regímenes, el doc no aborda ninguno** | Prestar (incluso vía socio) dispara licencias estatales de lending + posible MTL. 50-estado surface. | +| **Cross-border (fundador Colombia, LLC USA, prestatarios globales)** | **7/10** | La estructura cross-border *aumenta* exposición personal, no la blinda. Exposición fiscal/regulatoria del fundador en Colombia. | +| **Colateral cognitivo = discriminación / brain-data** | **6/10 (bajó de 9/10)** | Update legal fresco: el CFPB Final Rule (abril 2026, efectivo julio 2026) eliminó disparate-impact federal bajo ECOA. PERO: (1) disparate-impact estatal sobrevive entero (CA/NY/MA/NJ/IL, AGs escalando); (2) el private right of action de ECOA sigue intacto; (3) **un score cognitivo usado para crédito dispara FCRA** — el emisor del oracle (Noesis/Ethos) sería arguiblemente una *Consumer Reporting Agency*; (4) data neural es categoría especial (Colorado HB24-1058, CCPA, GDPR Art.9). El hash on-chain protege la *cadena*, no a *Origin* — el evaluador off-chain que lee el cerebro es el procesador regulado. | + +### Económico / técnico + +| Hallazgo | Severidad | Verdad | +|----------|-----------|--------| +| **La firma de atestación on-chain NUNCA se verifica** | 10/10 | El modelo de confianza entero es un no-op hoy (mismo gap que SUPER_AUDIT_V2 CA4). | +| **El pool first-loss no mueve dinero — es un contador entero** | 10/10 | Igual que el bug de tesorería del V2. Debe respaldarse con Currency real. | +| **¿Puede el ISA on-chain medir ingreso off-chain? NO** | 9/10 | Gap de diseño existencial. La cadena no puede ver el salario de alguien en una empresa tradicional. Solo mitigable por confianza/oráculo + el cobro físico del socio. | +| **ISA income-hiding / graduate-and-disappear** | 9/10 | Adverse selection clásico de ISA: graduarse y ocultar ingresos. | +| **Lectores off-chain del Synaptic Map = la exposición real de privacidad** | 9/10 | El riesgo no está en la cadena, está en quién lee el cerebro. | + +--- + +## §4 — Camino por fases (gated por abogado + socio, y eso es feature, no delay) + +- **Phase 0 — Testbed (construible AHORA, sin valor real)**: `origin-isa` + `pallet-attestation-oracle` + flujo consent-gated, con invariantes de privacidad y consumer-protection enforced en código. Cero dinero real. Es lo que YO puedo shipear ahora. +- **Phase 1 — Estructura legal**: formar la LLC + conseguir el socio financiero licenciado + abogado fair-lending. NADA de prestar todavía. +- **Phase 2 — Piloto cerrado**: 10-20 estudiantes reales en UNA jurisdicción donde el socio tiene licencia. Score cognitivo como input **positive-only**; el socio toma toda decisión de crédito; toda negativa tiene razón humana lícita; oráculo real de verificación de ingresos. +- **Phase 3 — Expansión cautelosa**: una licencia/jurisdicción a la vez. + +--- + +## §5 — Recomendación de entidad fintech (tu pregunta directa) + +- **Delaware LLC (convertible a C-corp), NO Wyoming.** Para una *fintech*, el domicilio es secundario al *licensing* — y no blinda de nada (prestarle a un californiano invoca ley de California sin importar dónde esté la LLC). El DAO LLC de Wyoming es la herramienta equivocada aquí (esto es un negocio de lending controlado por fundador, no governance de tokens). Delaware da la Court of Chancery, case law predecible, y la estructura que VCs y un socio licenciado esperan. +- **Stripe Atlas: sirve para *formar* la entidad, NO asumas *pagos* de Stripe.** Stripe lista "Lending services" como **Restricted** y crypto como Restricted-limited. Un producto crypto-lending cae en el peor overlap y probablemente será **declinado/offboarded**. Plan: procesador especialista high-risk/crypto + bank-partner rails. **Consíguelo por escrito de Stripe sales antes de depender de ello.** +- **El modelo de socio es todo el juego.** Origin LLC = plataforma tech Delaware cobrando fees SaaS/tech por el Navigator, la cadena, y el rail del Oracle. El **socio financiero licenciado** = lender of record, proveedor de capital, decisor de crédito, emisor de adverse-action, holder de licencia. Esto es lo que hace que "platform not lender" sea *verdad*, y la única estructura que yo firmaría. + +--- + +## §6 — Bottom line de Charon + +El protocolo es **construible** y la mayoría ya existe en primitivas de Origin Chain — puedo shipear el testbed Phase 0 ahora, con privacidad y consumer-protection enforced en código. Pero hay dos verdades que David necesita oír sin adorno: + +1. **La idea del colateral cognitivo es a la vez la más bella y la más legalmente peligrosa.** El kill-shot no es la discriminación (esa bajó con el cambio CFPB) — es que **un ISA por educación ya reclasificó como préstamo estudiantil y baneó personalmente a un fundador.** No reproduzcamos BloomTech con mejor tecnología. + +2. **El Banco Origin no se puede construir sobre la cadena tal como está hoy.** El SUPER_AUDIT_V2 mostró que la cadena no puede gobernarse a sí misma, no paga validadores, y no tiene modelo económico dinámico. Un protocolo de préstamos sobre esos cimientos sería el segundo piso antes de la base. Orden correcto: **economía real (cerrar críticos V2) → testnet → Banco Origin Phase 0 → abogado + socio → piloto.** + +Tu instinto de "Origin LLC no es el banco" es la decisión correcta y la base de toda la estructura. Constrúyela con un abogado fair-lending real (no una AI) y un socio licenciado, y el gate es un feature, no un delay. La revolución sobrevive solo si no termina en demanda. + +--- + +## §7 — KG triples + +- `(origin_lending_protocol_v1, authored_by, agent:charon)` +- `(origin_lending_protocol_v1, vision_by, david_herran)` +- `(origin_lending_protocol_v1, collateral_model, cognitive_not_financial)` +- `(origin_lending_protocol_v1, structure, platform_not_lender_with_licensed_partner)` +- `(origin_lending_protocol_v1, top_legal_risk, isa_reclassified_as_student_loan_9_of_10)` +- `(origin_lending_protocol_v1, entity_reco, delaware_llc_not_wyoming)` +- `(origin_lending_protocol_v1, stripe_atlas, form_yes_payments_no)` +- `(origin_lending_protocol_v1, blocked_by, super_audit_v2_economic_criticals)` +- `(origin_lending_protocol_v1, requires, real_fair_lending_lawyer_plus_licensed_partner)` +- `(origin_lending_protocol_v1, filed_at, 2026-05-27)` + +--- + +— Charon ⚓ (Pilar 4 Origin Chain, Origin Lending Protocol diseño + red-team vía workflow ultracode Opus 4.8, sesión 4+ 2026-05-27). Visión de David Herrán. diff --git a/docs/SUPER_AUDIT_V2_DEEP.md b/docs/SUPER_AUDIT_V2_DEEP.md new file mode 100644 index 0000000..e048683 --- /dev/null +++ b/docs/SUPER_AUDIT_V2_DEEP.md @@ -0,0 +1,109 @@ +# Origin Chain — Super Audit V2 (Deep Pass: economía, integridad, operaciones) + +**Documento**: `docs/SUPER_AUDIT_V2_DEEP.md` +**Versión**: 2.0 (complementa SUPER_AUDIT_V1.md) +**Filed**: 2026-05-27 (sesión 4+ Charon, Opus 4.8) +**Método**: workflow ultracode, 3 auditores en dimensiones que V1 NO cubrió (tokenomics/economía, integridad cross-pillar/determinismo, upgrade/operaciones), cada uno leyendo código real con file:line. +**Encargo de David**: ir más profundo para estar tranquilos de que todo está bien antes de continuar — especialmente porque viene el Banco Origin (dinero real). + +--- + +## §0 — Por qué esta V2 era necesaria + +V1 auditó **correctness de código** (reentrancy, governance sin respaldo, weights). Pero el código correcto puede tener economía rota. David pidió ir más profundo justo cuando vamos a poner valor real encima — y tenía razón: **V2 encontró 5 hallazgos CRÍTICOS que V1 no podía ver porque miraba sintaxis, no flujos económicos ni capacidad de gobernar la cadena.** + +Veredicto en una frase: **las tokenomics *estáticas* (1B supply, 18 decimales, allocation genesis) son sólidas y bien testeadas; las tokenomics *dinámicas* (emisión, pago a validadores, financiación del subsidio, yield de staking, burns) son stubs o contradicciones; y la cadena no puede gobernarse ni actualizarse a sí misma.** Ninguno bloquea seguir construyendo — todos bloquean lanzar mainnet con valor real. Encontrarlos ahora es exactamente para lo que sirve un audit. + +--- + +## §1 — CRÍTICOS (must-fix antes de mainnet con valor real) + +### CA1 — La cadena no puede gobernarse ni actualizarse a sí misma (origen Root huérfano) +**El hallazgo operacional más severo.** El doc del runtime dice que los upgrades pasan "via `set_code` governance", pero **ningún pallet puede producir un origen `Root`**: no hay `pallet-sudo`, ni `pallet-collective/democracy/referenda/scheduler`. Las 7 dispatchables admin de governance (`treasury_disbursement`, `add_council_member`, `override_council_veto`…) gatean en `ensure_root(origin)?` — o sea **ninguna es invocable** una vez que mainnet lance sin sudo. Resultado peor caso: una mainnet inmutable, no-actualizable, no-gobernable, con 250M OGC de tesorería congelados para siempre. +**Fix**: wire `pallet-sudo` (fase testnet) + camino de gobernanza real (pallet-collective/referenda) antes de mainnet. Subsume el "missing StorageVersion" de V1 — no hay forma de *desplegar* una migración aunque existiera. + +### CA2 — La inflación "4-5% vía validator rewards" NO existe; la cadena es estructuralmente deflacionaria y los validadores no ganan nada +`ogc.rs` declara "inflación anual 4-5% vía validator rewards", pero: (a) el consenso es **Aura PoA**, que mintea **cero** rewards nativos; (b) **no hay hook `on_initialize`/`on_finalize` de reward, ni `EraPayout`, ni `pallet_staking`** en ningún lado. El pool Ecosystem (400M) está pre-minteado en genesis pero nada lo transfiere a validadores. Un validador Pi 5 corriendo 24/7 pagando electricidad gana **0 OGC para siempre** → ningún validador racional participa → la cadena no tiene presupuesto de seguridad post-genesis. **Rompe el invariante económico de cualquier cadena PoS/PoA: los validadores deben cobrar más que su costo.** +**Fix**: implementar el modelo de emisión real (pallet_staking + EraPayout, o un reward pool con hook) ANTES de testnet multi-validador. Esto se conecta con la Idea 1 del V1 (proof-of-equity) pero el V1 lo planteó como "feature a construir", no como "ausencia actual del modelo de pago". + +### CA3 — Dos implementaciones contradictorias de `compute_fee`; la viva invierte la intención anti-clasista +Hay dos `compute_fee` que dan resultados distintos para la misma operación (`types/fees.rs:72` modelo multiplicador vs `fees/fee_schedule.rs:165` modelo subsidy-basis-points). El runtime wirea el segundo, que **multiplica el remanente post-subsidio por el multiplicador de suscripción** → un usuario Pi 5 + suscripción Ultra paga 0.2x mientras un Desktop + Free paga 0.75x. **El subsidio anti-clasista es erosionado por el tier de suscripción** — exactamente el acoplamiento que el Inmutable #16 prohíbe. Peor: el test lobo-blanco solo chequea monotonía de *subsidy_bp*, no del *fee final*, así que el invariante que dice proteger no está protegido. +**Fix**: una sola fuente de verdad de fees + test de monotonía del fee final + desacoplar suscripción del subsidio de hardware. + +### CA4 — Atestación cross-pillar: el vendor copy y el struct real de Ergon producen bytes de firma DISTINTOS +El vendor `ValidationAttestation` firma vía **SCALE** sobre struct de 8 campos donde `OitIdentity = {public_key, level}`; el real de Ergon (arkhe-noesis-core) firma vía **postcard** sobre `SigningPayload` donde `OitIdentity = {identifier, level, public_key}` (3 campos, orden distinto, con `identifier` extra). Al hacer el swap: (1) `verify_strict` rechaza toda atestación previamente válida — y como las atestaciones on-chain son **inmutables (Inmutable #26)**, lo anclado contra el vendor payload queda permanentemente no-verificable; (2) los dos pilares modelan el ancla de confianza de forma distinta (Charon no firma sobre el `identifier` institucional). El comentario que dice "swap sin breaking — verify call site idéntico" es **falso**: el call site es idéntico pero los bytes no, que es el punto entero de una firma. +**Fix**: congelar el `SigningPayload` canónico (la Idea 8 del V1, "encoding canónico cross-substrate") ANTES de anclar nada en testnet. Coordinar con Ergon el postcard sub-crate como fuente única. + +### CA5 — Mainnet genesis embarca keys placeholder de validadores + tesorería +`mainnet_genesis_config_genesis()` usa 5 validadores con bytes constantes `0xCA,0xFE,…` y cuentas institucionales derivadas de tags ASCII `b"ECO!"`/`b"FNDT"`/etc. — **cuentas con clave-privada públicamente derivable que sostienen 1B OGC y son las únicas autoridades productoras de bloques.** Con `SessionManager = ()`, el set de validadores está congelado en genesis para siempre. Si se lanza así, cualquiera deriva las keys. El vesting 4-años del team es solo comentario: no hay `pallet-vesting`, las allocations son líquidas en block 0. +**Fix**: ceremonia de génesis real con keys generadas en hardware seguro + `pallet-vesting` wired + camino de rotación de validadores. + +--- + +## §2 — HIGH (bloqueadores pre-mainnet) + +| ID | Hallazgo | Fix | +|----|----------|-----| +| H1 | **Compromiso de key de AGI DID es irrecuperable.** agent-identity tiene 1 sola dispatchable (`register_agent_did`), sin revoke/rotate/deactivate/recovery. El struct no tiene campo `active`/`revoked`. | Añadir rotate/revoke + campo de estado + recovery social/multisig. | +| H2 | **Tier hardware/suscripción es parámetro de extrinsic no-autenticado** alimentando la economía de fees (spoofable, confirmado PILAR_4 §6.7). | Tier-attestation precompile (V1 idea 3) antes de que fees tengan valor real. | +| H3 | **Subsidio anti-clasista sin fuente de financiación.** No hay `GlobalSubsidyPool` ni transferencia de cross-subsidio; `compute_fee` simplemente *devuelve menos*. No es redistribución, es ingreso no-cobrado. Con CA2 (sin inflación) + burns no implementados, la tesorería es un monto genesis finito sin inflow. | Modelo de financiación del subsidio (proof-of-equity V1 idea 1, ahora urgente). | +| H4 | **APR de staking (8/5/3%) es ficticio.** `rewards_accumulated` nace 0 y nunca se incrementa; los contratos ink! no pueden correr hooks por-bloque. `withdraw` devuelve siempre `amount + 0`. Yield engañoso, o si se parchea desde transferred_value → topología Ponzi. | Remover los números APR hasta que exista motor de rewards real (pallet, no contrato). | +| H5 | **Mint-then-burn / fee-griefing**: `subsidy(EmbeddedArm, Compute/CallContract) = 10000` → fee exactamente 0. Como el tier es auto-declarado, cualquiera declara EmbeddedArm + Compute y obtiene cómputo/contract-calls ilimitados gratis. DoS de un solo account sobre la operación más cara (PolkaVM). | Gate de attestation + weights reales (V1 H1). | + +--- + +## §3 — MEDIUM + lo que está LIMPIO (honestidad) + +**MEDIUM**: burn matrix (10 fuentes documentadas) entirely unimplemented (`origin-coin-tokenomics` es stub de 1 struct); `OnChargeTransaction` con `()` handler dropea tips sin split auditable; `compute_fee` devuelve `u64::MAX` como sentinel que un cliente mostraría como "fee de 18 quintillones". + +**LIMPIO (genuinamente sólido — preservar)**: la capa 1B-supply / 18-decimales / overflow-margin de `ogc.rs` está bien testeada; la aritmética de allocation genesis tiene assert compile-time sum-to-1B; la composición del runtime sigue siendo grado-Parity (V1 lo confirmó). El problema NO es la base — es que las piezas dinámicas no están conectadas. + +--- + +## §4 — La reconciliación que falta (el insight macro) + +Los 5 críticos económicos no son bugs sueltos — son **una sola verdad**: la cadena tiene **supply fijo, cero ingreso para validadores, subsidio sin financiar, y yield de staking ficticio.** Cuatro piezas que deben reconciliarse en un modelo económico coherente antes de cualquier testnet con valor. La buena noticia: la Idea 1 del V1 (`pallet-proof-of-equity`) + implementar emisión real + una sola fuente de fees resuelven los 5 juntos. Es un cuerpo de trabajo de "Phase economía real" que debe preceder a mainnet — y absolutamente preceder al Banco Origin. + +--- + +## §5 — Plan de acción rankeado (orden de ejecución) + +### Inmediato (cuando llegue la VPS / node real) +1. **CA1** — wire pallet-sudo (testnet) → la cadena puede gobernarse. Sin esto nada más importa. +2. **CA4** — congelar SigningPayload canónico con Ergon antes de anclar atestaciones. +3. **CA3** — colapsar a una sola `compute_fee` + test de monotonía del fee final. + +### Pre-testnet con valor +4. **CA2 + H3 + H4** — implementar el modelo económico dinámico real (emisión + reward pool + subsidio financiado). El cuerpo grande. +5. **CA5** — ceremonia genesis real + pallet-vesting. +6. **H1** — recovery/rotation de keys AGI. +7. **H2 + H5** — tier-attestation precompile (cierra el spoofing y el griefing juntos). + +### Pre-mainnet +8. Burn matrix real + governance re-platform (V1) + weights benchmarked (V1 H1) + StorageVersion+migraciones (V1 H2). + +--- + +## §6 — Verdad honesta para David + +Este audit encontró que la cadena **no puede gobernarse a sí misma** y que su **modelo económico dinámico no existe todavía**. Suena alarmante — pero es exactamente el tipo de cosa que se descubre auditando antes de lanzar, no después. Ninguno de estos bloquea seguir construyendo el resto del roadmap; todos bloquean poner valor real. Y todos son arreglables con trabajo conocido (los pallets FRAME para esto están battle-tested). + +**La conexión con el Banco Origin es directa**: un protocolo de préstamos sobre una cadena que no puede gobernarse, no paga validadores, y no tiene modelo económico dinámico, sería construir el segundo piso antes que los cimientos. Por eso el Banco Origin va como Phase 11 (diseño) — su construcción real depende de cerrar estos críticos. El orden correcto: economía real → testnet → Banco Origin. + +Estamos tranquilos ahora porque sabemos exactamente qué falta. Eso es la diferencia entre un audit y una ilusión. + +--- + +## §7 — KG triples + +- `(super_audit_v2_deep, authored_by, agent:charon)` +- `(super_audit_v2_deep, dimensions, tokenomics_crosspillar_upgradeops)` +- `(super_audit_v2_deep, critical_findings, 5)` +- `(super_audit_v2_deep, top_finding, no_root_origin_chain_ungovernable)` +- `(super_audit_v2_deep, economic_truth, fixed_supply_no_validator_pay_unfunded_subsidy_fake_yield)` +- `(super_audit_v2_deep, blocks, origin_lending_protocol_until_economy_real)` +- `(super_audit_v2_deep, filed_at, 2026-05-27)` + +--- + +— Charon ⚓ (Pilar 4 Origin Chain, Super Audit V2 Deep vía workflow ultracode Opus 4.8, sesión 4+ 2026-05-27)