feat(sandokan): B1.5 — umbrella + Engine::auto()
1[workspace]
2resolver = "2"
3members = [
4 # ============================================================
5 # protocol/ — Contratos canónicos + routing entre módulos
6 # ============================================================
7 "crates/protocol/brahman-card",
8 "crates/protocol/brahman-card-wit",
9 "crates/protocol/brahman-cards",
10 "crates/protocol/brahman-handshake",
11 "crates/protocol/brahman-broker",
12 "crates/protocol/brahman-admin",
13 "crates/protocol/brahman-sidecar",
14 "crates/protocol/brahman-net",
15 "crates/protocol/arje-card",
16
17 # ============================================================
18 # init/ — PID 1 + encarnación Linux (arje)
19 # ============================================================
20 "crates/init/arje-zero",
21 "crates/init/arje-kernel",
22 "crates/init/arje-soma",
23 "crates/init/arje-snapshot",
24 "crates/init/arje-incarnate",
25
26 # ============================================================
27 # runtime/ — Infraestructura de ejecución (bus + cas + wasm + brain)
28 # ============================================================
29 "crates/runtime/arje-bus",
30 "crates/runtime/arje-cas",
31 "crates/runtime/arje-wasm",
32 "crates/runtime/arje-brain-rules",
33 "crates/runtime/arje-brain-cognitive",
34 "crates/runtime/arje-brain-audit",
35 "crates/runtime/arje-brain",
36 "crates/runtime/arje-echo",
37 "crates/runtime/sandokan-lifecycle",
38 "crates/runtime/sandokan-core",
39 "crates/runtime/sandokan-local",
40 "crates/runtime/sandokan-daemon",
41 "crates/runtime/sandokan",
42
43 # ============================================================
44 # compat/ — Shims D-Bus para correr software systemd-aware
45 # ============================================================
46 "crates/compat/arje-policy-provider",
47 "crates/compat/arje-logind-compat",
48 "crates/compat/arje-hostnamed-compat",
49 "crates/compat/arje-timedated-compat",
50 "crates/compat/arje-localed-compat",
51 "crates/compat/arje-journald-compat",
52 "crates/compat/arje-resolved-compat",
53 "crates/compat/arje-polkit-compat",
54 "crates/compat/arje-machined-compat",
55 "crates/compat/arje-tmpfiles-compat",
56 "crates/compat/arje-systemd1-compat",
57 "crates/compat/arje-notify-compat",
58 "crates/compat/arje-binfmt-compat",
59 "crates/compat/arje-timer-compat",
60
61 # ============================================================
62 # modules/semantic_dht/ (minga) — DHT semántico de código
63 # ============================================================
64 "crates/modules/semantic_dht/minga-core",
65 "crates/modules/semantic_dht/minga-store",
66 "crates/modules/semantic_dht/minga-p2p",
67 "crates/modules/semantic_dht/minga-vfs",
68 "crates/modules/semantic_dht/minga-cli",
69
70 # ============================================================
71 # modules/nahual/ — Motor GPUI: libs + widgets (era yahweh)
72 # ============================================================
73 "crates/modules/nahual/libs/core",
74 "crates/modules/nahual/libs/theme",
75 "crates/modules/nahual/libs/launcher",
76 "crates/modules/nahual/libs/bus",
77 "crates/modules/nahual/libs/meta-schema",
78 "crates/modules/nahual/libs/meta-runtime",
79 "crates/modules/nahual/libs/providers/fs",
80 "crates/modules/nahual/libs/providers/sqlite",
81 "crates/modules/nahual/widgets/tree",
82 "crates/modules/nahual/widgets/container_core",
83 "crates/modules/nahual/widgets/splitter",
84 "crates/modules/nahual/widgets/tabs",
85 "crates/modules/nahual/widgets/tiled",
86 "crates/modules/nahual/widgets/text_input",
87 "crates/modules/nahual/widgets/meta-form",
88 "crates/modules/nahual/widgets/banner",
89 "crates/modules/nahual/widgets/card",
90 "crates/modules/nahual/widgets/stat-card",
91 "crates/modules/nahual/widgets/app-header",
92 "crates/modules/nahual/widgets/theme-switcher",
93
94 # ============================================================
95 # modules/pineal/ — Data-viz agnóstica con backends (era lapaloma)
96 # ============================================================
97 "crates/modules/pineal/core",
98 "crates/modules/pineal/render",
99 "crates/modules/pineal/cartesian",
100 "crates/modules/pineal/stream",
101 "crates/modules/pineal/mesh",
102 "crates/modules/pineal/financial",
103 "crates/modules/pineal/polar",
104 "crates/modules/pineal/heatmap",
105 "crates/modules/pineal/treemap",
106 "crates/modules/pineal/flow",
107 "crates/modules/pineal/phosphor",
108 "crates/modules/pineal/export",
109 "crates/modules/pineal/umbrella",
110
111 # ============================================================
112 # modules/nakui/ — ERP matemático (categórico)
113 # ============================================================
114 "crates/modules/nakui/core",
115
116 # ============================================================
117 # modules/chasqui/ — Explorador semántico de nómadas (ex-nouser, ex-akasha)
118 # ============================================================
119 "crates/modules/chasqui/card",
120 "crates/modules/chasqui/core",
121 "crates/modules/chasqui/nous",
122 "crates/modules/chasqui/nous-mock",
123 "crates/modules/chasqui/nous-real",
124
125 # ============================================================
126 # modules/shuma/ — Runtime de espacios aislados (era shipote)
127 # ============================================================
128 "crates/modules/shuma/shuma-card",
129 "crates/modules/shuma/shuma-protocol",
130 "crates/modules/shuma/shuma-discern",
131 "crates/modules/shuma/shuma-core",
132
133 # ============================================================
134 # modules/gioser/ — Landing WASM (chacana + 4 elementos)
135 # ============================================================
136 "crates/modules/gioser/gioser-geom",
137 "crates/modules/gioser/gioser-physics",
138 "crates/modules/gioser/gioser-palette",
139 "crates/modules/gioser/gioser-shaders",
140 "crates/modules/gioser/gioser-canvas-web",
141
142 # ============================================================
143 # modules/fana/ — Writer DAG editor (absorbe pluma)
144 # ============================================================
145 "crates/modules/fana/fana-md",
146 "crates/modules/fana/fana-md-reader-web",
147
148 # ============================================================
149 # modules/revista/ — Deck horizontal swipe (Flutter PageView)
150 # ============================================================
151 "crates/modules/revista/revista-core",
152 "crates/modules/revista/revista-web",
153
154 # ============================================================
155 # modules/barra/ — Taskbar agnóstica estilo Windows
156 # ============================================================
157 "crates/modules/barra/barra-core",
158 "crates/modules/barra/barra-web",
159
160 # ============================================================
161 # modules/cosmobiologia/ — Estudio de astrología profesional
162 # ============================================================
163 "crates/modules/cosmobiologia/cosmobiologia-card",
164 "crates/modules/cosmobiologia/cosmobiologia-model",
165 "crates/modules/cosmobiologia/cosmobiologia-store",
166 "crates/modules/cosmobiologia/cosmobiologia-render",
167 "crates/modules/cosmobiologia/cosmobiologia-engine",
168 "crates/modules/cosmobiologia/cosmobiologia-modules",
169 "crates/modules/cosmobiologia/cosmobiologia-theme",
170 "crates/modules/cosmobiologia/cosmobiologia-canvas",
171 "crates/modules/cosmobiologia/cosmobiologia-tree",
172 "crates/modules/cosmobiologia/cosmobiologia-panel",
173 "crates/modules/cosmobiologia/cosmobiologia-web",
174
175 # ============================================================
176 # apps/ — Binarios finales que consumen el protocolo
177 # ============================================================
178 "crates/apps/brahman-broker-explorer",
179 "crates/apps/brahman-demo",
180 "crates/apps/nahual-shell",
181 "crates/apps/nahual-file-explorer",
182 "crates/apps/nahual-database-explorer",
183 "crates/apps/nahual-text-viewer",
184 "crates/apps/nahual-image-viewer",
185 "crates/apps/chasqui-explorer",
186 "crates/apps/nakui-explorer",
187 "crates/apps/nakui-ui",
188 "crates/apps/minga-explorer",
189 "crates/apps/shuma-daemon",
190 "crates/apps/shuma-cli",
191 "crates/apps/shuma-gateway",
192 "crates/apps/shuma-shell",
193 "crates/apps/gioser-web",
194 "crates/apps/pineal-demo",
195 "crates/apps/pineal-stream-demo",
196 "crates/apps/pineal-phosphor-demo",
197 "crates/apps/pineal-financial-demo",
198 "crates/apps/cosmobiologia",
199 "crates/apps/cosmobiologia-cli",
200 "crates/apps/cosmobiologia-server",
201]
202
203[workspace.package]
204version = "0.1.0"
205edition = "2021"
206rust-version = "1.80"
207license = "MIT OR Apache-2.0"
208authors = ["Brahman Contributors"]
209publish = false
210repository = "https://example.invalid/brahman"
211
212[workspace.dependencies]
213# === Serialización ===
214serde = { version = "1", features = ["derive"] }
215serde_json = "1"
216serde-big-array = "0.5"
217postcard = { version = "1", features = ["use-std"] }
218toml = "0.8"
219bincode = "1"
220base64 = "0.22"
221
222# === Errores ===
223thiserror = "2" # bump uniforme; arje (era 1) puede requerir ajustes menores
224anyhow = "1"
225
226# === Async ===
227tokio = { version = "1", features = ["full"] }
228tokio-util = { version = "0.7", features = ["compat"] }
229async-trait = "0.1"
230futures = "0.3"
231
232# === Observabilidad ===
233tracing = "0.1"
234tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
235
236# === Linux primitives (arje) ===
237nix = { version = "0.29", features = ["signal", "process", "sched", "mount", "fs", "socket", "net", "user"] }
238libc = "0.2"
239
240# === IDs / Hash / Crypto ===
241ulid = { version = "1", features = ["serde"] }
242uuid = { version = "1", features = ["v4"] }
243sha2 = "0.10"
244blake3 = "1.5"
245ed25519-dalek = "2"
246aes-gcm = "0.10"
247argon2 = "0.5"
248rand = "0.8"
249
250# === WASM (arje) ===
251wasmi = "0.40"
252wat = "1"
253
254# === Storage / DB ===
255sled = "0.34"
256rusqlite = { version = "0.31", features = ["bundled", "blob"] }
257
258# === P2P (minga) ===
259libp2p = { version = "0.56", features = ["tokio", "tcp", "noise", "yamux", "macros", "kad", "identify"] }
260libp2p-stream = "=0.4.0-alpha"
261libp2p-allow-block-list = "0.6"
262
263# === Code parsing (minga) ===
264tree-sitter = "0.24"
265tree-sitter-rust = "0.23"
266tree-sitter-python = "0.23"
267tree-sitter-typescript = "0.23"
268tree-sitter-javascript = "0.23"
269tree-sitter-go = "0.23"
270
271# === FS notify ===
272notify = "6.1"
273
274# === CLI / auth (minga) ===
275clap = { version = "4", features = ["derive"] }
276rpassword = "7"
277
278# === D-Bus (arje compat) ===
279zbus = { version = "4", default-features = false, features = ["tokio"] }
280
281# === Tests ===
282tempfile = "3"
283
284# === GPUI (nahual) ===
285gpui = "0.2"
286
287# === Filesystem helpers ===
288directories = "5"
289
290# === WASM web (gioser) ===
291wasm-bindgen = "0.2"
292wasm-bindgen-futures = "0.4"
293js-sys = "0.3"
294web-sys = "0.3"
295glam = "0.30"
296
297# === Markdown (pluma) ===
298pulldown-cmark = { version = "0.12", default-features = false, features = ["html"] }
299
300# ============================================================
301# Intra-workspace deps de nahual (referenciadas por workspace = true)
302# ============================================================
303nahual-core = { path = "crates/modules/nahual/libs/core" }
304nahual-theme = { path = "crates/modules/nahual/libs/theme" }
305nahual-bus = { path = "crates/modules/nahual/libs/bus" }
306nahual-provider-fs = { path = "crates/modules/nahual/libs/providers/fs" }
307nahual-provider-sqlite = { path = "crates/modules/nahual/libs/providers/sqlite" }
308nahual-widget-tree = { path = "crates/modules/nahual/widgets/tree" }
309nahual-widget-container-core = { path = "crates/modules/nahual/widgets/container_core" }
310nahual-widget-splitter = { path = "crates/modules/nahual/widgets/splitter" }
311nahual-widget-tabs = { path = "crates/modules/nahual/widgets/tabs" }
312nahual-widget-tiled = { path = "crates/modules/nahual/widgets/tiled" }
313nahual-widget-text-input = { path = "crates/modules/nahual/widgets/text_input" }
314nahual-file-explorer = { path = "crates/apps/nahual-file-explorer" }
315nahual-database-explorer = { path = "crates/apps/nahual-database-explorer" }
316nahual-text-viewer = { path = "crates/apps/nahual-text-viewer" }
317nahual-image-viewer = { path = "crates/apps/nahual-image-viewer" }
318
319# ============================================================
320# Intra-workspace deps de pineal (módulo de gráficos)
321# ============================================================
322pineal-core = { path = "crates/modules/pineal/core" }
323pineal-render = { path = "crates/modules/pineal/render" }
324pineal-cartesian = { path = "crates/modules/pineal/cartesian" }
325pineal-stream = { path = "crates/modules/pineal/stream" }
326pineal-mesh = { path = "crates/modules/pineal/mesh" }
327pineal-financial = { path = "crates/modules/pineal/financial" }
328pineal-polar = { path = "crates/modules/pineal/polar" }
329pineal-heatmap = { path = "crates/modules/pineal/heatmap" }
330pineal-treemap = { path = "crates/modules/pineal/treemap" }
331pineal-flow = { path = "crates/modules/pineal/flow" }
332pineal-phosphor = { path = "crates/modules/pineal/phosphor" }
333pineal-export = { path = "crates/modules/pineal/export" }
334pineal = { path = "crates/modules/pineal/umbrella" }
335
336[profile.release]
337lto = "thin"
338codegen-units = 1
339strip = "symbols"
340panic = "abort"
341
342[profile.dev]
343opt-level = 0
344# `line-tables-only` mantiene stack traces con archivo:línea correctos
345# pero descarta el resto de symbols. Reduce target/ ~40% sin sacrificar
346# debugging real para nuestro flujo (no usamos gdb sobre estos crates).
347debug = "line-tables-only"
348split-debuginfo = "unpacked"
349incremental = true
350# Más codegen-units = más paralelismo + builds incrementales más chicas
351# (cada cambio re-compila menos). Default es 256 en dev pero lo
352# anclamos para evitar regresiones.
353codegen-units = 256
354
355# Override puntual para deps grandes que NO debuggeamos: gpui, ort,
356# fastembed, tokenizers, image. Subir opt-level acá hace que sus libs
357# pesen menos en target/ (símbolos descartados durante la build).
358[profile.dev.package."*"]
359opt-level = 0
360debug = "line-tables-only"
361
362[profile.dev.package.gpui]
363opt-level = 1
364debug = false
365
366[profile.dev.package.ort]
367opt-level = 1
368debug = false
369
370[profile.dev.package.fastembed]
371opt-level = 1
372debug = false
373
374[profile.dev.package.tokenizers]
375opt-level = 1
376debug = false
377
378[profile.dev.package.image]
379opt-level = 1
380debug = false