● Reporte técnico — Monorepo Brahman Estado al 2026-05-19 · 126 crates · ~78,000 LOC · cargo check --workspace verde --- 0 · Panorama Sistema operativo fractal en Rust: cada cómputo se modela como Card, los módulos se acoplan sólo vía contratos serializables (brahman-card), el aislamiento es uniforme (ente-incarnate), y el routing es un service-locator de tipos (brahman-broker). El monorepo se reorganizó hoy en 6 capas físicas: crates/ ├── protocol/ 9 crates · contratos + routing ├── init/ 5 crates · PID 1 + encarnación Linux ├── runtime/ 5 crates · bus + cas + wasm + brain ├── compat/ 14 crates · shims D-Bus systemd ├── modules/ 62 crates · funcionalidad de dominio └── apps/ 23 crates · binarios finales --- 1 · Capa protocol/ — 6,260 LOC · ★★★★☆ ┌─────────────────┬──────┬──────┬──────┬──────────────────────────────────┐ │ crate │ LOC │ test │ TODO │ rol │ │ │ │ s │ s │ │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ brahman-card │ 1,29 │ sí │ 5 │ Card { soma, payload, flow, │ │ │ 0 │ │ │ permissions, ... } │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ brahman-card-wi │ 165 │ sí │ 0 │ Extracción WIT desde componentes │ │ t │ │ │ │ WASM │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ brahman-cards │ 643 │ sí │ 2 │ Templates Nickel + helpers │ │ │ │ │ │ consumer/producer/broker │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ brahman-handsha │ 2,94 │ sí │ 10 │ Init↔módulo: Hello/Ping/ListSess │ │ ke │ 2 │ │ │ ions/ListMatches │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ brahman-broker │ 995 │ sí │ 2 │ Matching híbrido (Exact + │ │ │ │ │ │ Structural) │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ brahman-admin │ 225 │ no │ 0 │ Socket admin para snapshots │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ brahman-sidecar │ 565 │ sí │ 0 │ spawn(card) para apps │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ brahman-net │ 423 │ no │ 0 │ libp2p │ │ │ │ │ │ (TCP+noise+yamux+kad+identify) │ ├─────────────────┼──────┼──────┼──────┼──────────────────────────────────┤ │ ente-card │ — │ — │ — │ Alias legacy (re-export) │ └─────────────────┴──────┴──────┴──────┴──────────────────────────────────┘ Hecho. Handshake fase 1–3 (libp2p stream → DHT discovery → trust Ed25519). Broker emparejando con dos estrategias. Sidecar reusable por todas las apps. Allowlist/denylist con hot reload <250ms. Pendiente. Fase 4 trust: capabilities revocables, beyond-peer (delegación), métricas exportables. Tests faltan en brahman-admin (lo único sin cobertura). --- 2 · Capa init/ — ~3,600 LOC · ★★★★☆ ┌────────────────┬──────┬────────────────────────────────────────────────────┐ │ crate │ tipo │ rol │ ├────────────────┼──────┼────────────────────────────────────────────────────┤ │ ente-zero │ bin │ PID 1: reap loop + bus + handshake server + │ │ │ │ brahman-net opc. │ ├────────────────┼──────┼────────────────────────────────────────────────────┤ │ ente-kernel │ lib │ bootstrap_kernel_surface, subreaper, │ │ │ │ SIGCHLD/uevent streams │ ├────────────────┼──────┼────────────────────────────────────────────────────┤ │ ente-soma │ lib │ Wrapper ~30 LOC sobre ente-incarnate (compat API │ │ │ │ histórica) │ ├────────────────┼──────┼────────────────────────────────────────────────────┤ │ ente-incarnate │ lib │ clone(2) + namespaces + cgroup + rlimits + cpu + │ │ │ │ child_pre_exec │ ├────────────────┼──────┼────────────────────────────────────────────────────┤ │ ente-snapshot │ lib │ FractalSnapshot JSON (v1–v4 con forward-compat) │ └────────────────┴──────┴────────────────────────────────────────────────────┘ Hecho. Bootea bare metal + QEMU + initramfs (documentado en docs/arje-boot.md). ente-incarnate con builder pattern, ChildStdio + ChildPreExec declarativo, async-signal-safe. Snapshot v4 con replay buffer persistido + live pipelines. Pendiente. Cobertura de tests sobre snapshot restore con stale fds. Validación de re-encarnación tras restore. --- 3 · Capa runtime/ — ~3,400 LOC · ★★★☆☆ ┌────────────┬───────────────────────────────────────────────────────┬───────┐ │ crate │ rol │ TODOs │ ├────────────┼───────────────────────────────────────────────────────┼───────┤ │ ente-bus │ Unix SOCK_STREAM + postcard. │ 1 │ │ │ Announce/Invoke/ListEntes │ │ ├────────────┼───────────────────────────────────────────────────────┼───────┤ │ ente-cas │ SHA-256 content-addressed: blobs Wasm + audit log │ 0 │ ├────────────┼───────────────────────────────────────────────────────┼───────┤ │ ente-wasm │ Encarna Payload::Wasm vía wasmi en thread dedicado │ 1 │ ├────────────┼───────────────────────────────────────────────────────┼───────┤ │ ente-brain │ Rule engine + observer estadístico + audit chain │ 11 │ ├────────────┼───────────────────────────────────────────────────────┼───────┤ │ ente-echo │ Ente prueba — Capability::Endpoint(echo) │ 1 │ └────────────┴───────────────────────────────────────────────────────┴───────┘ Hecho. Bus + CAS + wasm operativos. SO_PEERCRED para identidad. Audit chain hashea cada evento del bus al CAS. Pendiente crítico. ente-brain concentra el 78% de la deuda técnica de esta capa: el rule engine declarativo está parcialmente implementado, falta el evaluador completo de policies + observer cross-ente. --- 4 · Capa compat/ — ~5,000 LOC · ★★★☆☆ 14 shims D-Bus operativos como binarios standalone. Suficiente para que desktop-file-utils, xdg-open, gnome-session, login managers y CLIs systemd-aware no rompan al arrancar sobre ente-zero. Hecho. Cada shim reclama un well-known name (org.freedesktop.X1), implementa la interfaz mínima del ecosistema, loggea al audit de ente-brain. Pendiente. Métodos avanzados — Inhibit/Sleep hooks en logind, SetVariable en localed, MachineImage operations en machined. Necesarios para correr GNOME Shell end-to-end sin parches. --- 5 · modules/semantic_dht/ (minga) — 5,091 LOC · ★★★★☆ ┌─────────────┬───────┬──────────────────────────────────────────────┐ │ crate │ LOC │ rol │ ├─────────────┼───────┼──────────────────────────────────────────────┤ │ minga-core │ 3,085 │ Parser tree-sitter + α-hashing (5 lenguajes) │ ├─────────────┼───────┼──────────────────────────────────────────────┤ │ minga-p2p │ 1,105 │ libp2p kad + bootstrap + provider records │ ├─────────────┼───────┼──────────────────────────────────────────────┤ │ minga-store │ 425 │ Sled backend para índice local │ ├─────────────┼───────┼──────────────────────────────────────────────┤ │ minga-cli │ 474 │ CLI: index, search, peers, bootstrap │ ├─────────────┼───────┼──────────────────────────────────────────────┤ │ minga-vfs │ 2 │ STUB — Mount FUSE de mónadas remotas │ └─────────────┴───────┴──────────────────────────────────────────────┘ Hecho. α-hashing cubre Rust (let-else, if-let, or-patterns, let-chains), Python, TypeScript, JavaScript, Go. Indexa repos reales. DHT publica + descubre via kad. 15 TODOs en core (más patterns para edge cases). Bloqueante para uso end-to-end. minga-vfs es stub de 2 LOC. Sin él no hay forma de montar las mónadas indexadas como filesystem navegable. --- 6 · modules/nahual/ (ex-yahweh) — 15,968 LOC · ★★★★★ Framework GPUI backbone del monorepo. Libs (núcleo, 8 crates): core, theme, launcher, bus, meta-schema, meta-runtime, providers/{fs,sqlite}. Tema persistente entre runs, MetaUi declarativa, providers de datos. Widgets (12 crates): tree, container_core, splitter, tabs, tiled, text_input, meta-form, banner, card, stat-card, app-header, theme-switcher. Cada uno <500 LOC, reusable individualmente. Hecho. Tests E2E con gpui::TestAppContext. nahual-shell define el patrón estándar de explorer (sidebar+main+status+hot-reload). Consumido por 5 explorers + cosmobiologia. Pendiente. Mantenimiento. Documentar el patrón "explorer estándar" como guía de extensión. --- 7 · modules/pineal/ (ex-lapaloma) — ~3,900 LOC · ★★★☆☆ 13 crates de data-viz con backends pluggables (CPU+GPUI, GPU stub, SVG export). Funcionales (5 charts): core (878), render (386), cartesian (1397), financial (688), stream (231), phosphor (312), export. Stubs (<50 LOC c/u): polar, heatmap, treemap, flow, mesh. Hecho. Trait Canvas agnóstico, RenderPlan con RenderCmd variants, backend GPUI completo. Cartesian con axes + viewport + series. Financial con candlestick + OHLC. Streaming a 60Hz con phosphor trail (alpha decay). Pendiente. Cerrar los 5 stubs en orden polar → heatmap → treemap → flow → mesh. --- 8 · modules/nakui/ — 7,063 LOC · ★★★★☆ ERP categórico: entidades = objetos, morfismos = operaciones de negocio. Hecho. Schema declarativo Nickel (migrado de KCL). Event log con replay al startup. Snapshot/compaction automático. Validación FieldKind cross-field. 6 módulos ERP estándar incluidos como ejemplos. CRUD completo + Action::Morphism wired al pipeline. Pendiente. Documentar el patrón de morfismos en Nickel como guía para extender el ERP a dominios nuevos. --- 9 · modules/akasha/ (ex-nouser) — 4,395 LOC · ★★★☆☆ ┌──────────────────┬───────┬────────────────────────────────────────────────┐ │ crate │ LOC │ rol │ ├──────────────────┼───────┼────────────────────────────────────────────────┤ │ akasha-core │ 2,215 │ Daemon: scanner FS + DB sled + cluster k-means │ ├──────────────────┼───────┼────────────────────────────────────────────────┤ │ akasha-card │ 709 │ Card del daemon + capabilities │ ├──────────────────┼───────┼────────────────────────────────────────────────┤ │ akasha-nous │ (lib) │ Protocolo Nous (JSON line-delimited) │ ├──────────────────┼───────┼────────────────────────────────────────────────┤ │ akasha-nous-mock │ (bin) │ Embeddings deterministas (testing) │ ├──────────────────┼───────┼────────────────────────────────────────────────┤ │ akasha-nous-real │ 642 │ Embeddings con fastembed + ort │ └──────────────────┴───────┴────────────────────────────────────────────────┘ Hecho. Pipeline scan+embed+cluster funcional. notify watcher con debounce + re-publish al broker. Hidratación vía sled + path_hint. Centroid model versionado. Cache de embeddings con write-through al CAS de arje. Pendiente crítico. Tests sobre cluster.rs (k-means actual es naive). Manejo de drift de embeddings cuando cambia el modelo subyacente. --- 10 · modules/shuma/ (ex-shipote) — 6,907 LOC · ★★★★☆ ┌────────────────┬───────┬───────────────────────────────────────────────────┐ │ crate │ LOC │ rol │ ├────────────────┼───────┼───────────────────────────────────────────────────┤ │ shuma-core │ 3,518 │ WorkspaceManager + pipeline + persist + │ │ │ │ flow_channel │ ├────────────────┼───────┼───────────────────────────────────────────────────┤ │ shuma-card │ 655 │ WorkspaceSpec + PipelineSpec + ExitPolicy + │ │ │ │ DiscernPolicy │ ├────────────────┼───────┼───────────────────────────────────────────────────┤ │ shuma-protocol │ 444 │ Wire postcard length-prefixed │ ├────────────────┼───────┼───────────────────────────────────────────────────┤ │ shuma-discern │ 307 │ DiscernPipeline + MagicBytes/Card/Json/Toml/Utf8 │ │ │ │ probes │ └────────────────┴───────┴───────────────────────────────────────────────────┘ Hecho. 20 fases completadas (A→S, ver docs/changelog/shuma.md): - A: 9 crates iniciales + smoke E2E - B: pipelines con discern enrichment - C: pipeline aislado con O_CLOEXEC + TTL + persistencia - D: snapshot v2 + saved pipelines + log capture - E: stderr separado + fan-out 1→N + tap→broker - F: data plane vivo (FlowChannel con accept loop) - G: replay buffer + templating + child_pre_exec declarativo - H: stats memory+CPU + stop graceful + replay configurable - I: memory.peak + pipeline stop selectivo + sparkline shell - J: CPU% multi-core + pipeline --tail + replay por bytes - K: cpu_cores + quota report + restart-on-failure - L: quota enforcement + cgroup memory.max + pipeline restart - M: backoff exponencial + quota breaches card + logs --follow - N: drain shutdown + snapshot v3 live_pipelines + batched query - O: collision detection sockets + stats history server-side - P: throughput metering + stats history persistido + auth SO_PEERCRED - Q: throughput card + rate-limit token-bucket + snapshot incremental - R: health endpoint + audit log tracing + token bucket real - S: audit log persistente + HTTP/JSON gateway Pendiente. Auth en gateway (token, mTLS). Rotación de audit.log con N backups. WIT contracts reales. shipote-shell click handler. Métricas Prometheus. --- 11 · modules/gioser/ — 2,535 LOC · ★★★★★ 5 crates agnósticos (geom, physics, palette, shaders, canvas-web) + cdylib apps/gioser-web. Landing personal con chacana 3D + tilt físico al mouse + 4 tips elementales en Markdown. Hecho. Operativa. Build pipeline scripts/build-gioser-web.sh. Tests sobre geom/physics/palette puros. 0 TODOs. --- 12 · modules/pluma/ — 178 LOC · ★★★☆☆ ┌──────────────────┬─────┬───────────────────────────────────────┐ │ crate │ LOC │ rol │ ├──────────────────┼─────┼───────────────────────────────────────┤ │ pluma-md │ 90 │ Wrapper pulldown-cmark con AST simple │ ├──────────────────┼─────┼───────────────────────────────────────┤ │ pluma-reader-web │ 88 │ Reader DOM: fetch + inject + theming │ └──────────────────┴─────┴───────────────────────────────────────┘ Pendiente. AST con inline elements (links, emphasis) accesibles desde Rust. Sin tests (todavía). --- 13 · modules/vista/ — 530 LOC · ★★★★☆ (NUEVO HOY) ┌────────────┬─────┬───────┬────────────────────────────────────────────┐ │ crate │ LOC │ tests │ rol │ ├────────────┼─────┼───────┼────────────────────────────────────────────┤ │ vista-core │ 175 │ 5/5 │ DeckState agnóstico + snap + drag decision │ ├────────────┼─────┼───────┼────────────────────────────────────────────┤ │ vista-web │ 355 │ — │ Binding DOM (PointerEvent → DeckState) │ └────────────┴─────┴───────┴────────────────────────────────────────────┘ Hecho hoy. Lógica de snap (umbral 8px + bias 1.3) y máquina de estados (pointer_down/move/end → DragOutcome) extraída a core agnóstico. vista-web pasa a binding fino. Reusable en backends no-web. --- 14 · modules/barra/ — 280 LOC · ★★★★☆ (NUEVO HOY) ┌────────────┬─────┬───────┬─────────────────────────────────────────────┐ │ crate │ LOC │ tests │ rol │ ├────────────┼─────┼───────┼─────────────────────────────────────────────┤ │ barra-core │ 90 │ 5/5 │ Task + render_html + sanitize + escape │ ├────────────┼─────┼───────┼─────────────────────────────────────────────┤ │ barra-web │ 190 │ — │ Mount sobre