tawasuyu

tawasuyu/brahman

Rust 483TOML 191Markdown 50JSON 176777 Definitions

⎇ 71a4068d12e81d0be7b08d0717114dd5b10868fe docs/PLAN_MACRO.md Markdown · 362 lines · 18.2 KB History raw

refactor(naming): A1 — ente→arje, vista→revista, pluma→fana b83d40a83 · sergio ·

1# PLAN MACRO — Brahman Ecosystem
2
3**Fecha de cierre del plan input:** 2026-05-19
4**Estado:** plan compilado, pendiente de ejecución.
5
6---
7
8## 0 · Resumen ejecutivo
9
10- **21 módulos** totales: 12 existentes + 9 nuevos planeados + 1 rename pendiente.
11- **6 servicios compartidos** (libraries horizontales) que sostienen a los módulos de dominio.
12- **~60,000-110,000 LOC** de código nuevo proyectado (charka domina con su parser COBOL).
13- **Plazo realista**: 4-8 meses con AI assistance + paralelismo agresivo (charka extiende el cronograma a ~12-18 meses).
14- **Filosofía consolidada**: modularidad horizontal, separabilidad UI, sin daemons supremos, todo a través de Cards.
15
16---
17
18## 1 · Inventario completo
19
20### Infraestructura (capa de soporte)
21
22| módulo | estado | rol |
23|---|---|---|
24| `protocol/` | existe (7,278 LOC) | contratos canónicos + routing |
25| `init/` | existe (4,301 LOC) | PID 1 + encarnación Linux |
26| `runtime/` | existe (3,418 LOC) | bus + cas + wasm + brain |
27| `compat/` | existe (3,435 LOC) | shims D-Bus systemd |
28
29### Servicios compartidos (libraries horizontales)
30
31| servicio | estado | rol | consumidores |
32|---|---|---|---|
33| `sandokan` | nuevo | orquestador library (LocalEngine + DaemonEngine + RemoteEngine + auto()) | shuma, nahual, matilda, ssh-mode admin, todos los binarios que ejecuten Cards |
34| `sandokan-lifecycle` | extraer de shuma | TTL + restart + quota + drain + snapshot | shuma, matilda Ghost, charka-shadow, carmen, yachay |
35| `discovery-dht` | nuevo | DHT library agnóstica sobre brahman-net | minga (código), card-discovery (Cards), ágora (Personas), tinkuy (futuro) |
36| `transport-ssh-multiplex` | nuevo | russh + canales paralelos + reconexión silenciosa | sandokan::RemoteEngine, matilda LinkerSSH |
37| `dime` | nuevo | embeddings multi-backend (cohere/bge/mini/fastembed); daemons coexisten por modelo | chasqui, akashi, charka-semantic, takiy-ai, apu (futuro) |
38| `card-discovery` | nuevo | búsqueda Cards local + DHT (sobre discovery-dht) | nahual-shell (card-browser widget), ágora |
39
40### Módulos de dominio
41
42**Existentes:**
43
44| módulo | estado | LOC aprox | pendientes |
45|---|---|---|---|
46| `chasqui` | rename de akasha | 4,395 | rename mecánico + migrar a dime + tests cluster |
47| `minga` | existe | 5,091 | minga-vfs (FUSE proyección código) + integración discovery-dht |
48| `nahual` | existe | 15,968 | card-browser widget + separabilidad widgets/lib |
49| `pineal` | existe | ~4,000 | 6 stubs (polar, heatmap, treemap, flow, mesh, export) |
50| `nakui` | existe | 7,063 | mantenimiento + docs morfismos |
51| `shuma` | existe | 6,907 | extraer lifecycle + tap a tee(2)/splice |
52| `gioser` | existe | 2,535 | estable |
53| `pluma` | existe | 178 | AST con inline elements |
54| `vista` | existe | 530 | estable |
55| `barra` | existe | 280 | estable |
56| `cosmobiologia` | existe | 21,502 | tests canvas/tree + roadmap GR/FFT/3D/rectificador |
57
58**Nuevos:**
59
60| módulo | rol | LOC aprox proyectada |
61|---|---|---|
62| `carmen` | compositor Wayland (smithay + arje-incarnate sandbox + delegación de regiones) | 8,000-12,000 |
63| `akashi` | notes app con ECS + 4 lentes + gravedad semántica + Susurros | 10,000-15,000 |
64| `charka` | transpilador COBOL→Rust + runtime determinista + shadow validator | 25,000-50,000 |
65| `matilda` | administrador servidores + vhosts + Docker (con Ghost remoto) | 6,000-9,000 |
66| `takiy` | composición musical (fundsp + ort + canvas) | 5,000-8,000 |
67| `dominium` | simulador psicológico campo medio + render isométrico CPU | 3,000-6,000 |
68| `yachay` | notebooks computacionales reproducibles (integración cross-módulos) | 5,000-9,000 |
69| `ágora` | identidad humana federada + attestations + grafo + negociación | 6,000-10,000 |
70
71**Backlog (5 + 4 honorable mentions):**
72
73| nombre | rol breve |
74|---|---|
75| `rimay` | traducción memoria + lenguas indígenas |
76| `yuyay` | spaced repetition + flashcards |
77| `apu` | AI personal soberana (LoRA local sobre datos propios) |
78| `tinkuy` | foros federados semánticos |
79| `nutu` | bóveda historia clínica personal encriptada |
80| `mama-pacha` | citizen-science ambiental |
81| `willay` | mensajería E2E P2P |
82| `inti` | energy management solar |
83| `kawsay` | time tracking semántico |
84
85---
86
87## 2 · Grafo de dependencias críticas
88
89```
90                    ┌─────────────────┐
91                    │   protocol/     │  Cards + handshake + broker + net + sidecar
92                    └────────┬────────┘
93                             │
94        ┌────────────────────┼────────────────────┐
95        ↓                    ↓                    ↓
96   ┌─────────┐         ┌──────────┐         ┌──────────┐
97   │  init/  │         │ runtime/ │         │  compat/ │
98   └────┬────┘         └────┬─────┘         └──────────┘
99        │                   │
100        │ arje-incarnate    │ brain-split: rules, cognitive, audit
101        │ (+ pivot_root,    │ arje-cas, arje-bus, arje-wasm
102        │   overlayfs)      │
103        │                   │
104        └──────────┬────────┘
105                   │
106                   ↓
107            ┌──────────────────┐
108            │   sandokan       │ ← lifecycle (extracted de shuma)
109            │   (orchestrator) │   transport-ssh-multiplex
110            └────────┬─────────┘
111                     │
112        ┌────────────┼───────────────────────────────┐
113        ↓            ↓                               ↓
114   ┌─────────┐  ┌──────────┐                  ┌─────────────┐
115   │ shuma   │  │  carmen  │ (delegación      │ discovery-  │
116   │ matilda │  │  Wayland │  via wl_subsurf) │   dht       │
117   │ charka- │  │          │                  └──────┬──────┘
118   │ shadow  │  └────┬─────┘                         │
119   └─────────┘       │                  ┌────────────┼────────────┐
120                     │                  ↓            ↓            ↓
121                     │            ┌──────────┐ ┌──────────┐  ┌────────┐
122                     │            │  minga   │ │   card-  │  │ ágora  │
123                     │            │ (código) │ │discovery │  │(Pers.) │
124                     │            └──────────┘ └─────┬────┘  └────────┘
125                     │                               │
126              ┌──────┼──────┐               ┌────────┘
127              ↓      ↓      ↓               ↓
128          ┌─────────────────────────────────────────┐
129          │  nahual-shell  (card-browser + launcher)│
130          └─────────────────────────────────────────┘
131
132                            ┌────────────┐
133                            │   dime     │ (multi-backend embeddings)
134                            └─────┬──────┘
135                                  │
136              ┌──────────┬────────┼────────┬──────────┐
137              ↓          ↓        ↓        ↓          ↓
138          ┌─────────┐ ┌────────┐ ┌────────┐ ┌──────┐ ┌──────┐
139          │ chasqui │ │ akashi │ │ charka │ │takiy │ │ apu  │
140          │ migrar  │ │ 384d   │ │1024d   │ │audio │ │futuro│
141          └─────────┘ └────────┘ └────────┘ └──────┘ └──────┘
142
143                              ┌──────────┐
144                              │ yachay   │ embebe todos los demás:
145                              │(integ.)  │ pineal, dominium, takiy,
146                              └──────────┘ charka, akashi, chasqui
147```
148
149---
150
151## 3 · Plan por fases
152
153### Fase A · Foundations cleanup (semanas 1-2)
154
155Pre-requisitos antes de meter código nuevo. La mayoría paralelizable.
156
157| # | item | bloquea | tiempo |
158|---|---|---|---|
159| #24 | Rename akasha → chasqui | claridad de naming downstream | 1 día |
160| #13 | Split brain en brain-rules + brain-cognitive + brain-audit | sandokan, ágora | 3-5 días |
161| #14 | Unificar loader en brahman-cards | reduce duplicación | 1-2 días |
162| #16 | Promover lifecycle a sandokan-lifecycle | sandokan, matilda, charka-shadow, carmen | 4-7 días |
163| #19 | pivot_root + overlayfs en arje-incarnate | carmen, matilda Ghost, sandokan completo | 4-7 días |
164| #20 | transport-ssh-multiplex | sandokan::RemoteEngine, matilda | 3-5 días |
165
166Trabajo paralelo posible: 3-4 tracks. Estimación realista: **2 semanas**.
167
168### Fase B · Core libraries (semanas 2-5)
169
170Servicios compartidos que sostienen aplicaciones.
171
172| # | item | depende de | tiempo |
173|---|---|---|---|
174| #15 | sandokan (LocalEngine + DaemonEngine + RemoteEngine + auto) | Fase A | 1-2 semanas |
175| #22 | dime (4 backends + daemon multi-instancia) | (independiente) | 1-2 semanas |
176| #28 | discovery-dht (library) + card-discovery | brahman-net | 1-2 semanas |
177| protocol | Extender CardKind con Person/Community/Alliance/Institution | (independiente) | 1-2 días |
178
179Paralelizable. Estimación realista: **3 semanas**.
180
181### Fase C · Apps standalone (semanas 4-12, paralelo)
182
183Módulos de dominio que pueden empezar cuando sus deps de Fase B estén estables.
184
185| # | módulo | depende de | LOC | tiempo |
186|---|---|---|---|---|
187| #27 | dominium | (mayormente independiente) | 3-6K | 3-4 semanas |
188| #26 | takiy | dime (instancia ort) | 5-8K | 4-6 semanas |
189| #23 | akashi | dime (instancia 384d), separabilidad UI | 10-15K | 6-10 semanas |
190| #21 | matilda | sandokan-lifecycle, arje-incarnate enhanced, transport-ssh | 6-9K | 5-8 semanas |
191| #29 | carmen | arje-incarnate enhanced, sandokan, arje-logind-compat | 8-12K | 8-12 semanas |
192| #31 | ágora | CardKind extension, discovery-dht, brain-audit | 6-10K | 5-8 semanas |
193
194Paralelizable hasta 4-6 tracks simultáneos. Estimación realista: **10-12 semanas**.
195
196### Fase D · Charka (paralelo, multi-mes)
197
198| # | módulo | tiempo |
199|---|---|---|
200| #17 | charka — parser COBOL completo + IR + semantic + runtime BCD + shadow + codegen | **6-12 meses** |
201
202Outlier por la complejidad del parser COBOL completo (CICS + SQL embedded + dialectos IBM Enterprise). Corre en paralelo con Fase C pero NO bloquea otras cosas.
203
204### Fase E · Yachay e integración cross-módulo (semanas 12-18)
205
206| # | item | depende de | tiempo |
207|---|---|---|---|
208| #30 | yachay — notebooks reproducibles | pineal stubs cerrados, dominium estable, takiy estable, charka mínimo viable, akashi base, chasqui migrado | 4-6 semanas |
209| #25 | Aplicar separabilidad UI retroactiva donde bloquee | (cuando se necesite) | 1-3 semanas |
210
211Yachay es el módulo más integrador; tiene sentido al final cuando todos sus embeds están maduros.
212
213### Fase F · Roadmap previo a estabilizar (paralelo throughout)
214
215Items del ROADMAP.md original (de docs/) que conviven con las fases nuevas:
216
217- Cobertura tests cosmobiologia-canvas/tree (5,145 LOC sin tests)
218- Cobertura tests chasqui-cluster (k-means)
219- Cerrar 6 stubs de pineal (polar/heatmap/treemap/flow/mesh/export)
220- minga-vfs (FUSE proyección de código)
221- TODOs concentrados: brain-* (post-split), handshake fase 4, shuma supervision avanzada
222- Compat avanzado systemd (Inhibit, SetVariable, MachineImage)
223- Cosmobiología roadmap (GR + FFT + 3D + rectificador)
224
225Suma estimada: **4-6 semanas continuas** distribuidas entre Fases A-E.
226
227### Fase G · Backlog (post-Fase E si alcanza)
228
229Los 5 + 4 honorable mentions. Cuando el monorepo esté maduro y haya capacidad sobrante.
230
231---
232
233## 4 · Cronograma agregado
234
235```
236   sem 1-2   sem 2-5    sem 4-12          sem 12-18    sem 18+
237   ├Fase A──►
238            ├Fase B────►
239                       ├Fase C ──parallel─────►
240                                              ├Fase E──►
241                       ├Fase D ──charka (multi-mes)────────────►
242            ├Fase F (cobertura tests + stubs cosmo/pineal)─────►
243                                                       ├Fase G─►
244```
245
246**Tiempo estimado a v1 funcional**:
247- Sin charka: ~4-5 meses
248- Con charka completo: ~6-12 meses (depende del parser COBOL)
249- Con backlog y polish: ~12-18 meses
250
251Con paralelismo agresivo (3-5 tracks simultáneos asistidos por AI): **factor 1.5-2× de aceleración**.
252
253---
254
255## 5 · Critical path (camino crítico)
256
257El camino más largo de dependencias que define el plazo mínimo:
258
259```
260A: rename + brain split + lifecycle + pivot_root  (2 sem)
261    ↓
262B: sandokan + dime + discovery-dht                (3 sem)
263    ↓
264C: carmen + ágora                                  (8-12 sem)
265    ↓
266E: yachay                                         (4-6 sem)
267─────────────────────────────────────
268TOTAL critical path:                              17-23 semanas (4-5.5 meses)
269```
270
271Charka corre EN PARALELO al critical path (no lo extiende) pero su propia trayectoria es ~6-12 meses.
272
273---
274
275## 6 · Paralelismos máximos posibles
276
277Asumiendo que se quiere maximizar throughput con múltiples agentes/personas trabajando:
278
279| momento | tracks paralelos |
280|---|---|
281| Fase A | 4 tracks: rename, brain-split+loader, lifecycle, incarnate+ssh |
282| Fase B | 3 tracks: sandokan, dime, discovery-dht |
283| Fase C | 4-6 tracks: dominium, takiy, akashi, matilda, carmen, ágora |
284| Fase D | 1 track dedicado: charka (multi-mes) |
285| Fase E | 1-2 tracks: yachay + separabilidad retroactiva |
286| Fase F | 1-2 tracks distribuidos en todas las fases (tests cobertura, stubs) |
287
288**Pico simultáneo**: ~6-8 tracks (mitad de Fase C, con charka corriendo aparte).
289
290---
291
292## 7 · Riesgos identificados
293
294| riesgo | severidad | mitigación |
295|---|---|---|
296| Parser COBOL completo es enorme (6-12 meses) | **alta** | Aceptado por usuario. Empezar charka temprano, paralelo. Considerar subset COBOL'85 puro como primer hito antes de CICS+SQL embed. |
297| CRIU sobre Wayland no funciona out-of-box | media | Marcado como futuro en carmen. Documentar limitaciones. |
298| Cross-platform determinism bit-exact (dominium) | alta | Plan ya incluye dep libm + BTreeMap + rand_chacha + serial reductions. CI cross-compile x86+ARM verificando hashes. |
299| ZKP en ágora v2 es complejo (bbs-signatures) | media | v1 sin ZKP, v2 al final. Documentar limitaciones de v1. |
300| Doble (o triple) descarga de modelos AI por falta de daemon dime | media | dime daemon multi-instancia desde Fase B. CAS para blob sharing. |
301| Acoplo UI legacy de nahual widgets a GPUI | media | Separabilidad retroactiva en #25, aplicar solo donde bloquee. |
302| Wayland compositor robusto requiere expertise específico (smithay) | alta | Empezar carmen con Fase 1 minimal (foot/alacritty rendering) antes de ambicionar fractal/delegación. |
303| Sobre-ingeniería del fractal en carmen | media | "Si es forzado no, cuando sea grande sí" — explicit del usuario. NO en v1. |
304
305---
306
307## 8 · Hitos verificables (acceptance criteria)
308
309Para considerar cada fase "cerrada":
310
311**Fase A**:
312- [ ] `cargo check --workspace` verde tras rename a chasqui
313- [ ] brain split: 3 crates separados, brain umbrella opcional, loader unificado
314- [ ] sandokan-lifecycle extraído con tests pasando que cubren shuma's lifecycle existente
315- [ ] arje-incarnate con pivot_root + overlayfs + tests (chroot básico)
316- [ ] transport-ssh-multiplex con tests sobre russh
317
318**Fase B**:
319- [ ] sandokan auto() detecta socket y elige Local/Daemon correctamente
320- [ ] dime con al menos 2 backends operativos (recomendado bge + fastembed) + daemon multi-instancia
321- [ ] discovery-dht: publish + lookup funciona sobre brahman-net libp2p
322
323**Fase C** (por módulo):
324- [ ] dominium: tick deterministic bit-exact cross-platform; 4 lentes funcionan; CI cross-compile pasa
325- [ ] takiy: latencia audio <10ms; persistencia ambos formatos
326- [ ] akashi: 4 lentes implementadas; Susurros activos; storage sqlite-vss funcional
327- [ ] matilda: Inspect/Diff/Apply ciclo cerrado; al menos provider Docker funcional
328- [ ] carmen: arranca compositor; renderea alacritty; sandbox via arje-incarnate
329- [ ] ágora: emite + verifica + revoca attestations; grafo navegable; integrado con CardKind
330
331**Fase D**:
332- [ ] charka: parsea COBOL'85 puro (subset). Hito intermedio. CICS + SQL después.
333
334**Fase E**:
335- [ ] yachay: notebook ejecutable bit-exacto-reproducible; embeds pineal+dominium+takiy probados
336
337---
338
339## 9 · Decisiones de ejecución pendientes
340
341Antes de arrancar Fase A queda por decidir:
342
3431. **Persona dedica tiempo full-time o spaced?** → afecta el cronograma absoluto.
3442. **¿Cuántos tracks paralelos** vas a sostener vos solo + Claude/AI assistants?
3453. **¿Charka prioritario o relegado?** → si lo dejás al final, ahorrás tiempo al critical path; si lo querés temprano, paralelizá desde Fase B.
3464. **¿yachay como integrador o standalone?** → si es integrador (recomendado), va al final; si standalone, puede empezar antes pero pierde el embed de los demás.
347
348---
349
350## 10 · Una vez aprobado este plan
351
352Próximos pasos concretos cuando se dé la señal:
353
3541. Empezar Fase A con rename akasha → chasqui (script reorg.py reusable, ya está en `scripts/`).
3552. Crear branch `phase-a-foundations` para los refactors mecánicos.
3563. Tests cobertura paralelo (Fase F) corre desde día 1.
3574. Cada item completado: commit + push (política `feedback_commit_push.md`).
3585. Actualizar `docs/STATUS.md` al cerrar cada fase.
359
360---
361
362**Plan compilado.** Cuando digas, arrancamos por Fase A.

PLAN_MACRO.md

PLAN MACRO — Brahman Ecosystem

Fecha de cierre del plan input: 2026-05-19 Estado: plan compilado, pendiente de ejecución.


0 · Resumen ejecutivo


1 · Inventario completo

Infraestructura (capa de soporte)

móduloestadorol
protocol/existe (7,278 LOC)contratos canónicos + routing
init/existe (4,301 LOC)PID 1 + encarnación Linux
runtime/existe (3,418 LOC)bus + cas + wasm + brain
compat/existe (3,435 LOC)shims D-Bus systemd

Servicios compartidos (libraries horizontales)

servicioestadorolconsumidores
sandokannuevoorquestador library (LocalEngine + DaemonEngine + RemoteEngine + auto())shuma, nahual, matilda, ssh-mode admin, todos los binarios que ejecuten Cards
sandokan-lifecycleextraer de shumaTTL + restart + quota + drain + snapshotshuma, matilda Ghost, charka-shadow, carmen, yachay
discovery-dhtnuevoDHT library agnóstica sobre brahman-netminga (código), card-discovery (Cards), ágora (Personas), tinkuy (futuro)
transport-ssh-multiplexnuevorussh + canales paralelos + reconexión silenciosasandokan::RemoteEngine, matilda LinkerSSH
dimenuevoembeddings multi-backend (cohere/bge/mini/fastembed); daemons coexisten por modelochasqui, akashi, charka-semantic, takiy-ai, apu (futuro)
card-discoverynuevobúsqueda Cards local + DHT (sobre discovery-dht)nahual-shell (card-browser widget), ágora

Módulos de dominio

Existentes:

móduloestadoLOC aproxpendientes
chasquirename de akasha4,395rename mecánico + migrar a dime + tests cluster
mingaexiste5,091minga-vfs (FUSE proyección código) + integración discovery-dht
nahualexiste15,968card-browser widget + separabilidad widgets/lib
pinealexiste~4,0006 stubs (polar, heatmap, treemap, flow, mesh, export)
nakuiexiste7,063mantenimiento + docs morfismos
shumaexiste6,907extraer lifecycle + tap a tee(2)/splice
gioserexiste2,535estable
plumaexiste178AST con inline elements
vistaexiste530estable
barraexiste280estable
cosmobiologiaexiste21,502tests canvas/tree + roadmap GR/FFT/3D/rectificador

Nuevos:

módulorolLOC aprox proyectada
carmencompositor Wayland (smithay + arje-incarnate sandbox + delegación de regiones)8,000-12,000
akashinotes app con ECS + 4 lentes + gravedad semántica + Susurros10,000-15,000
charkatranspilador COBOL→Rust + runtime determinista + shadow validator25,000-50,000
matildaadministrador servidores + vhosts + Docker (con Ghost remoto)6,000-9,000
takiycomposición musical (fundsp + ort + canvas)5,000-8,000
dominiumsimulador psicológico campo medio + render isométrico CPU3,000-6,000
yachaynotebooks computacionales reproducibles (integración cross-módulos)5,000-9,000
ágoraidentidad humana federada + attestations + grafo + negociación6,000-10,000

Backlog (5 + 4 honorable mentions):

nombrerol breve
rimaytraducción memoria + lenguas indígenas
yuyayspaced repetition + flashcards
apuAI personal soberana (LoRA local sobre datos propios)
tinkuyforos federados semánticos
nutubóveda historia clínica personal encriptada
mama-pachacitizen-science ambiental
willaymensajería E2E P2P
intienergy management solar
kawsaytime tracking semántico

2 · Grafo de dependencias críticas

                    ┌─────────────────┐
                    │   protocol/     │  Cards + handshake + broker + net + sidecar
                    └────────┬────────┘
                             │
        ┌────────────────────┼────────────────────┐
        ↓                    ↓                    ↓
   ┌─────────┐         ┌──────────┐         ┌──────────┐
   │  init/  │         │ runtime/ │         │  compat/ │
   └────┬────┘         └────┬─────┘         └──────────┘
        │                   │
        │ arje-incarnate    │ brain-split: rules, cognitive, audit
        │ (+ pivot_root,    │ arje-cas, arje-bus, arje-wasm
        │   overlayfs)      │
        │                   │
        └──────────┬────────┘
                   │
                   ↓
            ┌──────────────────┐
            │   sandokan       │ ← lifecycle (extracted de shuma)
            │   (orchestrator) │   transport-ssh-multiplex
            └────────┬─────────┘
                     │
        ┌────────────┼───────────────────────────────┐
        ↓            ↓                               ↓
   ┌─────────┐  ┌──────────┐                  ┌─────────────┐
   │ shuma   │  │  carmen  │ (delegación      │ discovery-  │
   │ matilda │  │  Wayland │  via wl_subsurf) │   dht       │
   │ charka- │  │          │                  └──────┬──────┘
   │ shadow  │  └────┬─────┘                         │
   └─────────┘       │                  ┌────────────┼────────────┐
                     │                  ↓            ↓            ↓
                     │            ┌──────────┐ ┌──────────┐  ┌────────┐
                     │            │  minga   │ │   card-  │  │ ágora  │
                     │            │ (código) │ │discovery │  │(Pers.) │
                     │            └──────────┘ └─────┬────┘  └────────┘
                     │                               │
              ┌──────┼──────┐               ┌────────┘
              ↓      ↓      ↓               ↓
          ┌─────────────────────────────────────────┐
          │  nahual-shell  (card-browser + launcher)│
          └─────────────────────────────────────────┘

                            ┌────────────┐
                            │   dime     │ (multi-backend embeddings)
                            └─────┬──────┘
                                  │
              ┌──────────┬────────┼────────┬──────────┐
              ↓          ↓        ↓        ↓          ↓
          ┌─────────┐ ┌────────┐ ┌────────┐ ┌──────┐ ┌──────┐
          │ chasqui │ │ akashi │ │ charka │ │takiy │ │ apu  │
          │ migrar  │ │ 384d   │ │1024d   │ │audio │ │futuro│
          └─────────┘ └────────┘ └────────┘ └──────┘ └──────┘

                              ┌──────────┐
                              │ yachay   │ embebe todos los demás:
                              │(integ.)  │ pineal, dominium, takiy,
                              └──────────┘ charka, akashi, chasqui

3 · Plan por fases

Fase A · Foundations cleanup (semanas 1-2)

Pre-requisitos antes de meter código nuevo. La mayoría paralelizable.

#itembloqueatiempo
#24Rename akasha → chasquiclaridad de naming downstream1 día
#13Split brain en brain-rules + brain-cognitive + brain-auditsandokan, ágora3-5 días
#14Unificar loader en brahman-cardsreduce duplicación1-2 días
#16Promover lifecycle a sandokan-lifecyclesandokan, matilda, charka-shadow, carmen4-7 días
#19pivot_root + overlayfs en arje-incarnatecarmen, matilda Ghost, sandokan completo4-7 días
#20transport-ssh-multiplexsandokan::RemoteEngine, matilda3-5 días

Trabajo paralelo posible: 3-4 tracks. Estimación realista: 2 semanas.

Fase B · Core libraries (semanas 2-5)

Servicios compartidos que sostienen aplicaciones.

#itemdepende detiempo
#15sandokan (LocalEngine + DaemonEngine + RemoteEngine + auto)Fase A1-2 semanas
#22dime (4 backends + daemon multi-instancia)(independiente)1-2 semanas
#28discovery-dht (library) + card-discoverybrahman-net1-2 semanas
protocolExtender CardKind con Person/Community/Alliance/Institution(independiente)1-2 días

Paralelizable. Estimación realista: 3 semanas.

Fase C · Apps standalone (semanas 4-12, paralelo)

Módulos de dominio que pueden empezar cuando sus deps de Fase B estén estables.

#módulodepende deLOCtiempo
#27dominium(mayormente independiente)3-6K3-4 semanas
#26takiydime (instancia ort)5-8K4-6 semanas
#23akashidime (instancia 384d), separabilidad UI10-15K6-10 semanas
#21matildasandokan-lifecycle, arje-incarnate enhanced, transport-ssh6-9K5-8 semanas
#29carmenarje-incarnate enhanced, sandokan, arje-logind-compat8-12K8-12 semanas
#31ágoraCardKind extension, discovery-dht, brain-audit6-10K5-8 semanas

Paralelizable hasta 4-6 tracks simultáneos. Estimación realista: 10-12 semanas.

Fase D · Charka (paralelo, multi-mes)

#módulotiempo
#17charka — parser COBOL completo + IR + semantic + runtime BCD + shadow + codegen6-12 meses

Outlier por la complejidad del parser COBOL completo (CICS + SQL embedded + dialectos IBM Enterprise). Corre en paralelo con Fase C pero NO bloquea otras cosas.

Fase E · Yachay e integración cross-módulo (semanas 12-18)

#itemdepende detiempo
#30yachay — notebooks reproduciblespineal stubs cerrados, dominium estable, takiy estable, charka mínimo viable, akashi base, chasqui migrado4-6 semanas
#25Aplicar separabilidad UI retroactiva donde bloquee(cuando se necesite)1-3 semanas

Yachay es el módulo más integrador; tiene sentido al final cuando todos sus embeds están maduros.

Fase F · Roadmap previo a estabilizar (paralelo throughout)

Items del ROADMAP.md original (de docs/) que conviven con las fases nuevas:

Suma estimada: 4-6 semanas continuas distribuidas entre Fases A-E.

Fase G · Backlog (post-Fase E si alcanza)

Los 5 + 4 honorable mentions. Cuando el monorepo esté maduro y haya capacidad sobrante.


4 · Cronograma agregado

   sem 1-2   sem 2-5    sem 4-12          sem 12-18    sem 18+
   ├Fase A──►
            ├Fase B────►
                       ├Fase C ──parallel─────►
                                              ├Fase E──►
                       ├Fase D ──charka (multi-mes)────────────►
            ├Fase F (cobertura tests + stubs cosmo/pineal)─────►
                                                       ├Fase G─►

Tiempo estimado a v1 funcional:

Con paralelismo agresivo (3-5 tracks simultáneos asistidos por AI): factor 1.5-2× de aceleración.


5 · Critical path (camino crítico)

El camino más largo de dependencias que define el plazo mínimo:

A: rename + brain split + lifecycle + pivot_root  (2 sem)
    ↓
B: sandokan + dime + discovery-dht                (3 sem)
    ↓
C: carmen + ágora                                  (8-12 sem)
    ↓
E: yachay                                         (4-6 sem)
─────────────────────────────────────
TOTAL critical path:                              17-23 semanas (4-5.5 meses)

Charka corre EN PARALELO al critical path (no lo extiende) pero su propia trayectoria es ~6-12 meses.


6 · Paralelismos máximos posibles

Asumiendo que se quiere maximizar throughput con múltiples agentes/personas trabajando:

momentotracks paralelos
Fase A4 tracks: rename, brain-split+loader, lifecycle, incarnate+ssh
Fase B3 tracks: sandokan, dime, discovery-dht
Fase C4-6 tracks: dominium, takiy, akashi, matilda, carmen, ágora
Fase D1 track dedicado: charka (multi-mes)
Fase E1-2 tracks: yachay + separabilidad retroactiva
Fase F1-2 tracks distribuidos en todas las fases (tests cobertura, stubs)

Pico simultáneo: ~6-8 tracks (mitad de Fase C, con charka corriendo aparte).


7 · Riesgos identificados

riesgoseveridadmitigación
Parser COBOL completo es enorme (6-12 meses)altaAceptado por usuario. Empezar charka temprano, paralelo. Considerar subset COBOL'85 puro como primer hito antes de CICS+SQL embed.
CRIU sobre Wayland no funciona out-of-boxmediaMarcado como futuro en carmen. Documentar limitaciones.
Cross-platform determinism bit-exact (dominium)altaPlan ya incluye dep libm + BTreeMap + rand_chacha + serial reductions. CI cross-compile x86+ARM verificando hashes.
ZKP en ágora v2 es complejo (bbs-signatures)mediav1 sin ZKP, v2 al final. Documentar limitaciones de v1.
Doble (o triple) descarga de modelos AI por falta de daemon dimemediadime daemon multi-instancia desde Fase B. CAS para blob sharing.
Acoplo UI legacy de nahual widgets a GPUImediaSeparabilidad retroactiva en #25, aplicar solo donde bloquee.
Wayland compositor robusto requiere expertise específico (smithay)altaEmpezar carmen con Fase 1 minimal (foot/alacritty rendering) antes de ambicionar fractal/delegación.
Sobre-ingeniería del fractal en carmenmedia"Si es forzado no, cuando sea grande sí" — explicit del usuario. NO en v1.

8 · Hitos verificables (acceptance criteria)

Para considerar cada fase "cerrada":

Fase A:

Fase B:

Fase C (por módulo):

Fase D:

Fase E:


9 · Decisiones de ejecución pendientes

Antes de arrancar Fase A queda por decidir:

  1. Persona dedica tiempo full-time o spaced? → afecta el cronograma absoluto.
  2. ¿Cuántos tracks paralelos vas a sostener vos solo + Claude/AI assistants?
  3. ¿Charka prioritario o relegado? → si lo dejás al final, ahorrás tiempo al critical path; si lo querés temprano, paralelizá desde Fase B.
  4. ¿yachay como integrador o standalone? → si es integrador (recomendado), va al final; si standalone, puede empezar antes pero pierde el embed de los demás.

10 · Una vez aprobado este plan

Próximos pasos concretos cuando se dé la señal:

  1. Empezar Fase A con rename akasha → chasqui (script reorg.py reusable, ya está en scripts/).
  2. Crear branch phase-a-foundations para los refactors mecánicos.
  3. Tests cobertura paralelo (Fase F) corre desde día 1.
  4. Cada item completado: commit + push (política feedback_commit_push.md).
  5. Actualizar docs/STATUS.md al cerrar cada fase.

Plan compilado. Cuando digas, arrancamos por Fase A.