🦀 bions-rust vague 1 : 6 briques build-your-own-x — on ne les rebuild plus jamais

Principe RS-7 : « dès qu'on build un truc, plus personne n'a à le rebuild —
la seule chose à faire est l'optimisation. » (nexus/RepoVerse)
- bion-vc      : horloges vectorielles + MvReg fork-visible (LA spec
                 xion-relativiste-v0 enfin codée — CRDT testé par permutations)
- bion-triplet : l'Adressage Génératif (gen_hash BLAKE3, coords, résidu ;
                 résidu vide quand déjà-su ; align décidable au bit)
- bion-tsoinlog: journal append-only rejouable (CRC32 maison, crash-recovery)
- bion-kv      : magasin clé-valeur bitcask (compaction atomique, tombstones)
- bion-regex   : moteur Thompson NFA linéaire (jamais exponentiel — Russ Cox)
- bion-git     : mini-git content-addressed (SHA-1 maison + vecteurs officiels,
                 branches divergentes = le fork visible)
129 tests verts, clippy 0 warning, doc française = chaque bion est un cours.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
cloudion-labo
2026-08-16 01:07:31 +00:00
commit 2556698dd3
27 changed files with 6518 additions and 0 deletions

62
README.md Normal file
View File

@@ -0,0 +1,62 @@
# bions-rust — les briques qu'on ne rebuild PLUS JAMAIS
> **Principe RS-7 (16.08.2026)** : « dès qu'on build un truc, que plus personne
> d'autre n'aie à le build — créer des blocs pour que la seule chose à faire
> soit **l'optimisation**, pas de recréer la roue à chaque fois. »
>
> C'est le principe même du nexus et de RepoVerse : chaque bion est construit
> **une fois**, depuis les principes, puis vit pour toujours. On ne le remplace
> pas — on le **fork pour l'optimiser**.
Pédagogie : [build-your-own-x](https://github.com/codecrafters-io/build-your-own-x) —
chaque crate est réimplémenté **depuis les principes** (pas de wrapper de lib),
en Rust 2021, **std-only**, zéro `unsafe`, avec des doc-comments français riches :
chaque bion est aussi **un cours**.
## Les 6 bions (vague 1)
| Bion | Quoi | Inspiration | État |
|---|---|---|---|
| [`bion-vc`](bion-vc/) | Horloges vectorielles + Multi-Value Register « fork visible » — l'algo de merge causal de `xion-relativiste-v0` | CRDT / Dynamo / papiers Lamport-Fidge-Mattern | ✅ tests verts |
| [`bion-triplet`](bion-triplet/) | Le triplet d'Adressage Génératif : `(hash_générateur, coordonnées, hash_résidu)` — une donnée = une adresse dans un espace génératif | Adressage Génératif (spine cataploxion) / Kolmogorov | ✅ tests verts |
| [`bion-tsoinlog`](bion-tsoinlog/) | Journal d'événements append-only rejouable — la primitive de la machine à tsoins | build-your-own *event log* / Kafka minimal | ✅ tests verts |
| [`bion-kv`](bion-kv/) | Magasin clé-valeur append-only : log + index mémoire + compaction + CRC32 maison | build-your-own **database** (Bitcask) | ✅ tests verts |
| [`bion-regex`](bion-regex/) | Moteur regex NFA de Thompson, simulation par ensembles d'états : temps **linéaire garanti**, jamais de backtracking exponentiel | build-your-own **regex** (Russ Cox) | ✅ tests verts |
| [`bion-git`](bion-git/) | Mini-git : objets content-addressed blob/tree/commit, SHA-1 maison, branches — le bion du principe « fork = liberté » | build-your-own **git** | ✅ tests verts |
Chaque crate a son `README.md` : quoi / pourquoi / exemple / liens
build-your-own-x / **comment l'optimiser** (l'invitation au fork).
## Utiliser
```bash
cargo test --workspace # tout doit être vert, toujours
cargo test -p bion-regex # un seul bion
cargo doc --workspace --open # le cours complet
```
## Contribuer (le nexus)
On ne recrée pas la roue : on **fork et on optimise**.
1. Fork le repo sur **git.j0bot.ch** (RepoVerse, le nexus) — la contribution
passe par les repos du nexus, pas par GitHub.
2. **L'API publique est STABLE pour toujours** (rétrocompatibilité = dogme) :
on optimise l'intérieur, on ajoute — on ne casse jamais un appelant.
3. Règles : Rust 2021, std-only, zéro `unsafe` non justifié, ≥8 tests
unitaires par crate (cas limites inclus), doc-comments français.
4. Chaque README de crate se termine par « comment l'optimiser » : commence là.
## Vague 2 (candidats, liste build-your-own-x)
- **bion-shell** — un shell minimal : parse, fork/exec, pipes, redirections
(*build-your-own-shell*).
- **bion-http-parser** — parseur HTTP/1.1 incrémental sans allocation inutile
(*build-your-own-web-server*, la moitié parsing).
- **bion-bencode / torrent** — codec bencode + métainfo torrent, la porte vers
le P2P souverain (torrion/torrax) (*build-your-own-bittorrent*).
- **bion-interpreter** — lexer → parser → tree-walking interpreter d'un
petit langage (le chemin vers xerlang) (*build-your-own-programming-language*).
Même contrat : depuis les principes, std-only, un cours dans les doc-comments,
et une fois vert — plus jamais rebuild, seulement optimisé.