Reconstrucción de memoria a partir de Casanova (Aragón), Leval (federaciones comarcales, congreso de Caspe), Souchy, Ovejero y Redalyc, sin páginas a mano: certeza **A** en el principio (delegados mandatados, federación que coordina), **B** en la estructura histórica (niveles, Consejo de Aragón frente a la Federación Regional de Colectividades) y **C** en el procedimiento de los plenos, según la escala de `draft.md` §2. Confírmalo en Casanova (*El sueño igualitario*), Vela (Aragón) y Leval (capítulos de Aragón y Levante) antes de citar. Todo lo que sigue es **[doctrina, sin verbatim]**. **Puntos principales del tema «Federación de abajo arriba con delegados mandatados» (reconstrucción)** | # | Tesis | Cert. | | --- | --- | --- | | 1 | **La colectividad es la unidad soberana y la federación nace de ella**: los pactos comarcales y regionales se acuerdan entre colectividades ya constituidas; ningún órgano superior las crea ni las funda | A | | 2 | **Delegados con mandato imperativo**: cada colectividad envía a los plenos comarcales delegados con mandato de su asamblea, revocables en cualquier momento y obligados a informar al volver | A | | 3 | **La federación coordina, no manda**: los comités comarcales y regionales no tienen poder ejecutivo propio sobre las colectividades; los acuerdos de los plenos vuelven a las asambleas para ratificarse | A/B | | 4 | **Tres niveles**: colectividad → federación comarcal → federación regional. En Aragón, la Federación Regional de Colectividades se constituyó en el congreso de Caspe (febrero de 1937) y es distinta del Consejo de Aragón (órgano de gobierno regional con partidos, octubre de 1936 a agosto de 1937) | B | | 5 | **Función económica de la federación**: cajas de compensación comarcales, almacenes e intercambio de excedentes, ayuda a las colectividades pobres; la regional lleva estadística y coordinación de la producción | B | | 6 | **Voto en los plenos**: en principio una colectividad, un voto; la ponderación por número de miembros se discutió en los congresos sin regla uniforme | C | | 7 | **Adhesión voluntaria y reversible**: una colectividad decide en asamblea federarse o separarse; las no adheridas conviven en la misma comarca | B | | 8 | **Autonomía interna**: la federación no interviene en la administración de cada colectividad (asamblea, reparto, cargos); **ninguna colectividad gobierna a las demás** | B | | 9 | **La federación vivió mientras no hubo Estado que la sometiera**: la disolución del Consejo de Aragón (agosto de 1937) y la ocupación militar la rompieron desde arriba, no desde las asambleas | B | **Ficha de confirmación del mapeo** (fuente: [draftv0.md](../drafts/draftv0.md)) - **Mapeado:** tesis 1 y 2 → [CL-8](../drafts/draftv0.md#L175) («la tribu hija elige un `delegate` con mandato firmado y revocable; la tribu madre solo decide con el voto de los delegados»), [TK-D'04](../drafts/draftv0.md#L195) y [TK-F'01](../drafts/draftv0.md#L248); tesis 4 → [OP-04](../drafts/draftv0.md#L242) («Colectividad → comarcal → regional»), y `parentTribeId` admite cualquier profundidad (`getAncestryChain`, `tribes_model.js:379-393`); tesis 5 → [TK-D'03](../drafts/draftv0.md#L194), [CL-6](../drafts/draftv0.md#L173) (caja de compensación como `transfers` `TRUST`, `transfers_model.js:25`), [TK-F'02](../drafts/draftv0.md#L249), [TK-F'03](../drafts/draftv0.md#L250) y [TK-B'04](../drafts/draftv0.md#L227); tesis 6 → pregunta explícita de TK-D'04 («¿voto por colectividad o ponderado por población?», default: por colectividad). El hallazgo de [§1.1](../drafts/draftv0.md#L28) («*Federation* significa conectarse a un PUB») es la tesis 1 leída contra el vocabulario, y se confirma en el código: `'federation'` es un paso del onboarding (`onboarding_model.js:5`) que se da por cumplido cuando `gossip.json` no está vacío o existe un `contact` con `following: true` (`onboarding_model.js:85-93`, `:148`). El veredicto «Ausente» de la [fila 6 de §3](../drafts/draftv0.md#L128) es correcto. - **Acierto no explicitado 1:** [§2.4](../drafts/draftv0.md#L89) dice que con gobierno de tribu proponen todos sus miembros. Leído desde la tesis 8, eso es lo contrario de una federación: cualquier tribu raíz puede presentarse **en bloque** al parlamento general (`backend.js:8300-8316`; `resolveTarget` acepta tribus, `parliament_model.js:216-226`; `winnerTribeId`, `parliament_model.js:1206`) y gobernar la red sin delegados, con todos sus miembros proponiendo (`parliament_model.js:1303-1309`). Y al subir, la tribu en `ANARCHY` es convertida a `DEMOCRACY` (`backend.js:8314`): la asamblea no puede federarse como asamblea. Conviene decirlo en §2.4 y en CL-8: la federación se compone de delegados, nunca de una tribu vencedora. - **Acierto no explicitado 2:** [§2.5](../drafts/draftv0.md#L97) ya señala que `FOLLOW_MAJORITY` (`votes_model.js:173`) es la única delegación del sistema y que delega en un agregado anónimo, no en una persona revocable. Es exactamente lo que la tesis 2 prohíbe; CL-8 debería citarlo como contraejemplo. - **Hueco 1 (grave):** la pirámide de Oasis está **invertida**. La subtribu (la que tiene `parentTribeId`) **no tiene gobernanza**: el backend rechaza candidaturas, votos y reglas de toda tribu con padre («Sub-tribes have no governance», `backend.js:8305`, `:8323`, `:8339`, `:8353`, `:8364`), redirige su sección de gobierno a la de actividad (`backend.js:3494`) y la salta al recorrer los mandatos (`backend.js:10497`). La subtribu la crea **el padre** (en modo estricto solo su autor, en abierto cualquier miembro del padre, `backend.js:7799-7801`, `:7808`), hereda su privacidad (`tribes_model.js:490`, `backend.js:7806-7807`), no puede cambiarla ni cambiar de padre (`backend.js:7819-7822`) y, si el padre recibe `tombstone`, las hijas mueren en cascada (`tribes_model.js:218-225`). CL-8 dice «la tribu hija elige un `delegate`», pero en el código la hija no tiene parlamento del que elegirlo, y su columna de costuras (`tribes_model.js:341`; `parliament_model.js:1354-1374`) no menciona nada de esto. Chocan aquí las tesis 1, 3, 8 y 9. - **Hueco 2:** la tesis 7 (adhesión y salida voluntarias) no tenía tarea. `parentTribeId` lo fija el padre al crear la hija (`backend.js:7808` pasa `ctx.params.id`) y no está entre los campos que la actualización admite (`backend.js:7820`): una tribu existente no puede federarse ni separarse por decisión propia. - **Hueco 3:** la tesis 3 (ratificación) no tenía tarea. La `tribeParliamentRule` la publica solo el creador de la tribu (`backend.js:8354`, `:8365`; el modelo no exige voto, `parliament_model.js:1484-1492`) y las decisiones de la tribu madre no vuelven a las hijas. TK-F'01 hace que la madre decida solo con voto de delegados, pero no que las hijas ratifiquen. - **Contradicción a precisar:** [draft.md §2 criterio 6](../drafts/draft.md#L54) y la columna «Dónde» de TK-D'04 («Casanova (Consejo de Aragón)») identifican el nivel regional con el **Consejo de Aragón**. Según la tesis 4 (cert. B), la federación de colectividades era la Federación Regional de Colectividades de Aragón (Caspe, febrero de 1937); el Consejo de Aragón era un órgano de gobierno con partidos. Importa: si el nivel regional del modelo es un gobierno, TK-F'01 modela un consejo regional y no una federación. Se anota en TK-D'04 sin reescribir `draft.md`. - **Observación:** el parlamento de tribu ignora la jerarquía. `tribeListByType` (`parliament_model.js:1319-1326`) lee por `getChainIds`, que es la cadena de **versiones** de la misma tribu (`tribes_model.js:369-377`; el índice `parent`/`child` se construye sobre `replaces`, `tribes_model.js:182-183`), no la de ancestros (`getAncestryChain`, `tribes_model.js:379-393`). No existe ningún canal de mensajes entre el parlamento del padre y el de la hija: CL-8 lo construye desde cero, y el tamaño L de TK-F'01 es correcto. - **Sin hueco:** tesis 5 y 6. Veredicto: la federación está mapeada en su principio (delegados mandatados, voto por colectividad, compensación), no en su dirección: en Oasis la jerarquía de tribus es descendente (el padre crea la hija, la hija hereda su privacidad, muere con él y no tiene asamblea), y el único movimiento «hacia arriba» del código es una tribu conquistando en bloque el parlamento general. Faltan la adhesión voluntaria, la ratificación por las asambleas y la prohibición de que una colectividad gobierne a las demás. --- **Correcciones aplicadas (2026-09-09)** - [draftv0.md §2.1](../drafts/draftv0.md#L57): añadida la frase «La jerarquía es descendente» con las costuras del backend (`backend.js:7799-7801`, `:7806-7807`, `:7819-7822`, `:8305`, `:8323`, `:8339`, `:8353`, `:8364`) y de `tribes_model.js` (`:218-225`, `:490`) (hueco 1). - [draftv0.md §2.4](../drafts/draftv0.md#L89): añadido que un gobierno de tribu es una colectividad gobernando toda la red (`backend.js:8300-8316`, `:8314`; `parliament_model.js:216-226`, `:1206`), lo contrario de una federación de delegados (acierto 1). - [draftv0.md §3 fila 6](../drafts/draftv0.md#L128): precisado que la jerarquía es descendente y que las subtribus no tienen parlamento (`backend.js:7799-7801`, `:8305`); «Federación» = PUB con costura (`onboarding_model.js:5`, `:85-93`); veredicto «Ausente, con la pirámide invertida». - [draftv0.md CL-8](../drafts/draftv0.md#L175): añadidas cuatro condiciones que el código hoy niega: (a) parlamento propio de la subtribu, (b) `parentTribeId` como acto de la asamblea de la hija, (c) sin cascada de `tombstone` ni herencia forzosa de privacidad, (d) ninguna tribu se presenta en bloque al parlamento general; los acuerdos de la madre entran en vigor tras ratificación por las hijas; costuras y criterio 8 añadidos (huecos 1, 2 y 3). - [draftv0.md TK-D'04](../drafts/draftv0.md#L195): añadidas las preguntas de ratificación, adhesión y salida, y la distinción Consejo de Aragón / Federación Regional de Colectividades de Aragón (huecos 2 y 3, contradicción); default ampliado (acuerdos federales no vinculantes hasta ratificación, adhesión y salida por voto de la hija, no intervención interna, nivel regional = federación de colectividades); nueva alternativa (acuerdos ejecutivos con revocación a posteriori); desbloquea TK-F'04 y TK-F'05. - [draftv0.md TK-F'04](../drafts/draftv0.md#L250) (nueva, prioridad alta): adhesión y salida federal por asamblea, parlamento propio de la subtribu, sin cascada de `tombstone`, visibilidad propia (hueco 2 y hueco 1). - [draftv0.md TK-F'05](../drafts/draftv0.md#L250) (nueva, prioridad media): ratificación de los acuerdos de la madre por las asambleas de las hijas y prohibición de la candidatura en bloque al parlamento general (hueco 3, acierto 1). - [draftv0.md resumen de prioridades](../drafts/draftv0.md#L274): TK-F'04 en Alta y TK-F'05 en Media.