feat(minga): minga-vfs — proyecta el repo como filesystem FUSE

minga-vfs deja de ser un stub: monta el repositorio direccionado por
contenido como un filesystem FUSE de sólo lectura. roots/<hash> da el
código fuente reconstruido (formato normalizado) de cada raíz del MST;
cas/<hash> resuelve cualquier hash bajo demanda como S-expression.

Capas separadas: render (SemanticNode→texto, puro) + source (contrato
NodeSource, backends sled/memoria) + fs (único módulo con fuser).
Nuevo subcomando `minga mount <punto>`. Dep fuser 0.15 sin libfuse-dev
(default-features = false). 14 tests nuevos, sin regresión en minga-cli.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-22 13:23:44 +00:00
parent 762bf95dfd
commit e77a32f4d6
15 changed files with 1094 additions and 14 deletions
@@ -4,7 +4,7 @@ version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
description = "CLI de Minga: init, status, ingest, listen, sync."
description = "CLI de Minga: init, status, ingest, listen, sync, watch, mount."
[[bin]]
name = "minga"
@@ -14,6 +14,7 @@ path = "src/main.rs"
minga-core = { path = "../minga-core" }
minga-p2p = { path = "../minga-p2p" }
minga-store = { path = "../minga-store" }
minga-vfs = { path = "../minga-vfs" }
clap = { workspace = true }
rpassword = { workspace = true }
tokio = { workspace = true }