Files
brahman/crates/modules/shuma/SDD.md
T
sergio 37ea535cb7 feat(shuma): shuma-infer — motor de inferencia de intenciones
Detecta patrones de comandos repetidos en el historial: ventana
deslizante sobre las firmas de binarios (sólo ventanas 100%
exitosas), abstracción de argumentos variables (cd /a vs cd /b →
cd <…>), patrones maximales, puntaje por largo × frecuencia.
10 tests, agnóstico y determinista.

El shell lo corre tras cada comando terminado y promueve el patrón
más fuerte a un grupo « ...» en el panel [RUN] — la rehidratación
que convierte la repetición orgánica en una receta de un clic.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 19:12:47 +00:00

3.0 KiB

modules/shuma/ — Runtime de espacios aislados (era shipote)

Propósito. Cada Workspace = un proceso aislado (namespaces + cgroups + capabilities filtradas) que expone un wire protocol tipado. El daemon es dueño de los workspaces; los clientes (cli/shell/gateway) hablan postcard sobre Unix socket.

Crates

crate tipo rol
shuma-card lib Card del daemon + spec del Workspace
shuma-protocol lib Wire types: requests/responses + framing
shuma-discern lib Lookup de daemon vía broker brahman
shuma-core lib Pipeline: parse spec → encarnar → supervisar → persist
shuma-intent lib Intenciones, grafo de sesión y libro de macros
shuma-line lib Análisis de la línea de comandos: lexer bash, clasificación, pipeline, autocompletado, LineState editable — agnóstico (GUI/TUI)
shuma-session lib WorkSession: cwd (= identificador de aislamiento), historial de comandos y grupos reutilizables
shuma-exec lib Ejecución de comandos con salida en streaming (stdout/stderr línea a línea por canal) + kill
shuma-infer lib Motor de inferencia: detecta patrones de comandos repetidos en el historial y abstrae sus argumentos variables
shuma-sysmon lib Muestreo de CPU/memoria con historial para los monitores
shuma-shell-render lib Layout del lienzo de intenciones (legado del grafo)

App: apps/shuma-shell — el shell GPUI: input inteligente (shuma-line), ejecución real con streams (shuma-exec) volcada al panel central, sesión de trabajo con cwd/aislamiento (shuma-session), monitores con curva (shuma-sysmon) y divisores arrastrables. Los crates son agnósticos → un futuro shuma-shell-tui los reusaría sin cambios.

sandokan vs. shuma-exec

sandokan orquesta Cards de brahman (entidades aisladas y supervisadas) y es poll-based por diseño. El shell ejecuta líneas de shell ad-hoc y necesita ver la salida fluir → eso es shuma-exec. Dos capas distintas, a propósito; un comando que lance un módulo brahman podría enrutarse por sandokan más adelante.

Dependencias

  • shuma-coreinit/ente-incarnate (encarnación real).
  • shuma-protocolprotocol/brahman-card.
  • Apps: shuma-daemon (dueño), shuma-cli, shuma-shell (GUI), shuma-gateway (HTTP/JSON ↔ postcard).

Docs

Documentación completa en crates/modules/shuma/docs/:

  • ARCHITECTURE.md — diseño + flow
  • CLI.md — referencia del cli
  • DEVELOPMENT.md — guía de contribución
  • RECIPES.md — specs ejemplo de Workspace

Estado

LOC 6,907. Backend completo (daemon + cli funcionales). Tests sobre discern + protocol. 14 TODOs en core (supervisión avanzada). Ver docs/changelog/shuma.md.