Files
Sergio 1984148415 chore: refresco desde el monorepo (pin tawasuyu.git v0.2.0)
Regenerado con scripts/actualizar-standalone.py: código del dominio al día,
git-deps repineadas a v0.2.0 y doble-fuente resuelta con [patch] al source git.
cargo check --workspace verde.
2026-07-25 21:10:36 +00:00
..

minga

minga (Quechua: voluntary community labor). Collaboration between nodes.

Peer-to-peer network for the monorepo. DHT + P2P + distributed VFS. Any node can contribute storage or compute; protocols guarantee that the bytes' identity (BLAKE3) is truth, not the path. Compatible with wawa's ingestion and with agora's gossip.

Install

cargo run --release -p minga-cli
cargo run --release -p minga-explorer-llimphi

Compatibility

  • Linux / macOS / Windows / Wawa — native Rust + tokio for I/O.

Crates

Crate Role
minga-core Core: semantic AST, content addressing, Merkle Search Tree, per-language α-hashing. Pure logic, no IO.
minga-store Persistent storage over sled: nodes, attestations, MST.
minga-dht Typed discovery (DhtKey: Code/Card/Persona/Service) over the Kademlia shared via card-net.
minga-p2p Sync protocol between repos + MingaPeer over libp2p (card-net: relay + DCUtR + AutoNAT inherited).
minga-vfs Projects the content-addressed repo as a read-only FUSE filesystem.
minga-cli CLI: init, ingest, log/show/diff/blame, sign, verify, prune, sync, listen, mount, bundles.
minga-explorer-llimphi Llimphi dashboard of the repo (stat cards over sled).
card-discovery Card search: local index + directory scan + P2P discovery over minga-dht.
minga-object The working tree's material: the blob/tree storage layer under the semantic one.
minga-commit History as a graph of signed commits — the foundational piece minga needed to replace git.
minga-merge Structural three-way merge: it merges ASTs against a common base, not lines of text.
minga-index Semantic git-grep: searches code by meaning, not by text or regex, bridging each definition to an embedding.
minga-review Code-review consensus: aggregates N reviews of a commit into a verdict with explicit uncertainty.
minga-doc Versioning any structured document, not only code, with the same substrate.
minga-supervisor The control plane of minga's long-lived daemons (the P2P peer and its companions).

Considerations

  • Not BitTorrent: model is content-addressed BLAKE3 (matches wawa), not torrent hash.
  • Privacy by default: nothing is published without explicit user share.
  • Designed for community/domestic latency, not global CDN.

Estado (2026-06-10)

Reporte técnico detallado en REPORTE.md. Mapa arquitectónico en ARQUITECTURA.md.

Hecho

  • VCS semántico P2P funcionalmente completo: minga-core (AST + CAS + MST + atestaciones + α-hashing por lenguaje), minga-store (sled: nodes/attestations/mst/roots/timestamps/path-history/alpha-paths/retractions), minga-dht (DhtKey tipado), minga-p2p (MingaPeer libp2p con sync, Kademlia, RootDeclaration y RetractPush en el wire), minga-vfs (FUSE + pretty-printer Python indent-aware).
  • CLI rica (minga-cli): init, ingest, ingest-dir, watch (autoremove), log, show (+ diff/sexp), diff, blame, history, roots, signers, sign (vouching), retire, verify, prune (GC), sync (DHT lookup), listen (announce-all-roots), mount.
  • Bundle offline ("USB-stick mode"): export/import single + export-all/import-all multi-bundle con zstd, re-verificación criptográfica end-to-end. Daemon HTTP read-only serve (axum) con auth Bearer opcional (--token/MINGA_SERVE_TOKEN).
  • Convergencia con ágora: MingaPeer adopta Arc<LibP2pNode> compartido (alias de card-net::BrahmanNet); un solo PeerId/listen sirve /minga/sync/1.0.0 + /agora/gossip/1.0.0. Discovery de personas por DhtKey::Persona (Fase 2b). NAT traversal heredado de card-net: relay + DCUtR + AutoNAT.
  • Frontends: minga-explorer-llimphi (dashboard con theme/lang reactivos vía wawa-config) + shuma-module-minga (tab del shell con raíces, verify, dot de retracciones); menús principal + contextuales (lote 2). cargo check --workspace verde.

Pendiente

  • MingaPeer genérico sobre NodeStore (backend sled directo en lugar de cargar todo a RAM en sync). Diferido con criterio: trigger cuando un repo real supere ~100k nodos (sin caso hoy).
  • Roadmap "Grafo de la Verdad" (ver memoria del proyecto): GossipSub + VFS-lazy-P2P, reputación, +9 lenguajes — fuera del backlog ya cerrado.