← Workbench ROADMAP · v0.4.0 → v1.0 v0.4.0 DOI: 10.5281/zenodo.23722094

Roadmap Tecnica Rul (.rl) — Da Motore v0.4 a Linguaggio di Sistema General-Purpose v1.0

Roadmap ingegneristica in quattro milestone che espande Rul (.rl) da un motore di calcolo colonnare a 29 opcode (v0.4) a un linguaggio di sistema general-purpose che sostituisce Rust e Go per il software generato dall'IA (v1.0).

[0x01] STRATEGY

Perché Siamo Partiti dalle Pipeline Dati (da v0.1 a v0.4)

Per dimostrare che il formato di istruzione binario da 16 byte funziona sul silicio reale prima di aggiungere costrutti di linguaggio general-purpose, abbiamo limitato le Fasi da v0.1 a v0.4 alle pipeline di elaborazione di array e vettori (29 opcode) — dimostrando una verifica O(N) in ~5.78 ns/nodo, una compilazione ELF64 autonoma in ~6.4 µs e un throughput di 51.53 GB/s.

[0x02] SIX-MONTH ROADMAP TO v1.0

Quattro Milestone verso il Linguaggio di Sistema General-Purpose v1.0

v0.1.0 → v0.4.0 · Baseline di Produzione Rilasciata ✓ IN PRODUZIONE

Core SSA-DAG Colonnare a 29 Opcode, Tracciatore White-Box & AOT AVX2 ELF64

Ha dimostrato il formato di istruzione binario da 16 byte, il verificatore O(N) a passata singola (~5.8 ns/nodo), il motore di esecuzione a 3 livelli, il server rul-mcp e il compilatore nativo Linux ELF64 senza LLVM (~6.4 µs) su hardware reale.

  • 01. RulHeader da 64 byte, ArenaDescriptor da 16 byte, ProofEntry da 16 byte e NodeFrame da 16 byte su 29 opcode.
  • 02. Assembler simbolico senza perdite .rls <-> .rl, CLI rul autonoma, rul-bench e server rul-mcp a 6 strumenti.
  • 03. Allocatore lineare di registri YMM (ymm2..ymm13) che raggiunge 51.53 GB/s (4.72x rispetto al C) su array da 80 MB.
v0.5 · Milestone 1 (Mesi 1–2) ● IN CORSO

Flusso di Controllo General-Purpose, Funzioni & Tipi di Dati Composti

Espandere il set di istruzioni da 16 byte oltre gli array numerici per supportare scalari generali, struct, enum, stringhe UTF-8, hash map, diramazioni condizionali e cicli con terminazione dimostrata.

  • 01. Supporto nativo per i64, i32, u8, f32, struct a layout fisso, unioni etichettate algebriche, stringhe UTF-8 convalidate e hash map d'arena.
  • 02. SelectBranch: diramazione condizionale che richiede a entrambi i rami di convergere nello stesso stato di versione della memoria (controllato in O(1)).
  • 03. RegionLoop & Call: cicli limitati con certificati di terminazione ProofEntry e funzioni modulari verificate senza inlining dell'intero programma.
v0.6 – v0.7 · Milestone 2 (Mesi 2–3) ○ PIANIFICATO

Proprietà dell'Heap di Livello Rust & Lifetime delle Struct in Tempo O(N)

Generalizzare le versioni TokenOp a 32 bit e i certificati ProofEntry da 16 byte dagli array piatti alle allocazioni sull'heap basate su regioni e ai prestiti dei campi delle struct.

  • 01. Allocazione e deallocazione deterministica dell'heap in regioni legata a token di proprietà lineare con zero GC e zero frammentazione da malloc/free.
  • 02. Certificati ausiliari ProofEntry per mutazioni disgiunte dei campi delle struct e lifetime di sotto-slice zero-copy controllati in O(1) per istruzione.
  • 03. Protezione completa contro use-after-free, double-free e aliasing senza risoluzione di vincoli del borrow-checker di diversi secondi.
v0.8 – v0.9 · Milestone 3 (Mesi 4–5) ○ PIANIFICATO

Concorrenza Deterministica in Stile Go & I/O del SO Controllato da Capacità

Introdurre task leggeri, canali con trasferimento di proprietà e bit granulari di capacità nell'header che regolano le syscall di file, rete e processi.

  • 01. L'invio di un buffer su un canale tipizzato esegue un AffineConsume sul token del mittente e trasferisce la proprietà al destinatario — prevenendo data race al caricamento senza GC.
  • 02. Estendere RulHeader.capability_mask a 64 bit per controllare letture/scritture su filesystem, socket di rete, timer e sottoprocessi.
  • 03. Un binario .rl con CAP_NONE (0x0) è matematicamente bloccato dall'effettuare qualsiasi chiamata di rete o disco prima dell'inizio dell'esecuzione.
v1.0 · Milestone 4 (Mese 6) ○ PIANIFICATO

Backend Nativi Multi-Architettura (x86_64, ARM64, WASI) & Prove Formali di Correttezza

Emettere eseguibili autonomi per Linux, macOS, Windows e WebAssembly senza LLVM, supportati dal model checking Kani e da una suite di conformità v1.0 di 50 programmi.

  • 01. Generazione di codice nativo senza LLVM per x86_64 e AArch64 (ARM64) su Linux, macOS e Windows, oltre a moduli WASI deterministici.
  • 02. Prove di bounded model-checking (Kani) e fuzzing differenziale continuo su decodificatore binario, verificatore O(N) e codegen nativo.
  • 03. Specifica binaria .rl v1.0 congelata e suite pubblica di test di conformità di 50 programmi.
[0x03] ARCHITECTURAL DISCIPLINE

Regole Ingegneristiche Fondamentali (Non-Obiettivi)

1. Nessun Risolutore con Backtracking

Ogni proprietà di sicurezza (tipi, proprietà, limiti, terminazione dei cicli, capacità di I/O) deve essere verificabile in una singola passata in avanti O(N).

2. Nessun Garbage Collector

Zero pause GC e zero thread nascosti a runtime; il ciclo di vita della memoria è tracciato esplicitamente tramite arene e regioni versionate.

3. Nessun Fallback Silenzioso

Ogni livello di esecuzione (Tier 0, Tier 1, Tier 2 ed ELF64 AOT) deve produrre risultati corrispondenti o fallire in modo sicuro con un errore deterministico.