05-federacion ficha

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)

  • Mapeado: tesis 1 y 2 → CL-8 («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 y TK-F'01; tesis 4 → OP-04 («Colectividad → comarcal → regional»), y parentTribeId admite cualquier profundidad (getAncestryChain, tribes_model.js:379-393); tesis 5 → TK-D'03, CL-6 (caja de compensación como transfers TRUST, transfers_model.js:25), TK-F'02, TK-F'03 y TK-B'04; tesis 6 → pregunta explícita de TK-D'04 («¿voto por colectividad o ponderado por población?», default: por colectividad). El hallazgo de §1.1Federation 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 es correcto.
  • Acierto no explicitado 1: §2.4 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 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 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: 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: 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: 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: 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: 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 (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 (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: TK-F'04 en Alta y TK-F'05 en Media.