Conclusione stimata: 35%
Grove Roadmap di conversione
Questa tabella di marcia ordina la conversione della generazione mista grove/libs corpus alla pulizia operativa LLVM lingua. Compiler/backend il lavoro resta seed/compiler/llvm/ROADMAP.md; il lavoro dettagliato sul prodotto di machine learning rimane nel repository-root roadmap-ml.md.
L'unità di conversione è un pacchetto, non un singolo file sorgente. La presenza o il successo della directory con un compilatore sostituito è solo una prova di inventario.
Riferimento dell'inventario: 12-07-2026
| Metrico | Valore attuale |
|---|---|
| Grove directory della biblioteca | 218 |
.sd in quelle directory |
453 |
Totale .sd linee |
7.291 |
Pacchetti con seed.toml |
218 |
Pacchetti mancanti seed.toml |
0 |
Pacchetti con diretto extern dichiarazioni |
0 |
Pacchetti con commenti # legacy in src/ |
0 |
Colli con dichiarazioni nominali in maiuscolo in src/ |
0 |
| Pacchetti già operativi con stage del compilatore | 18 |
Ogni pacchetto Grove ora ha un manifest.
Nessuna sorgente Grove contiene FFI diretta. I pacchetti che in precedenza dipendevano da un proprietario straniero non certificato vengono archiviati esplicitamente al confine del loro gate.
Analisi delle dipendenze
L'ordine del gate utilizza i bordi use espliciti che si trovano sotto l'albero src/ di ciascun pacchetto. I pacchetti fan-in espliciti più alti sono:
| Pacchetto | Dipendenti diretti |
|---|---|
tensor |
38 |
http_request |
24 |
bytes |
14 |
slice |
6 |
math |
17 |
binary |
13 |
tensor_cpu |
10 |
str |
10 |
web_request |
10 |
tokenizer |
9 |
http_response |
9 |
fs |
9 |
Questo grafico è un limite inferiore. L'origine legacy spesso chiama helper di runtime impliciti senza usee i file di benchmark dal formato non valido contengono importazioni concatenate. Ogni porta deve quindi aggiornare le dipendenze dopo parsing/porting i suoi pacchetti. La scoperta di una dipendenza nascosta può spostare un pacchetto a un passaggio successivo; non deve mai creare una dipendenza silenziosa su un pacchetto non convertito.
Il piano copre ogni libreria Grove attuale esattamente una volta. G01–G21 contengono dieci pacchetti ciascuno; G22 ne contiene otto. Nessuna dipendenza attualmente esplicita punta a una porta successiva. Le dipendenze all'interno di un cancello definiscono l'ordine interno di quel cancello.
Vocabolario di stato
| Stato | Prove richieste |
|---|---|
| inventario | la directory esiste; nessuna pretesa di compatibilità |
| classificato | parser/check/build guasti, FFI, manifesti e dipendenze registrati |
| porting | implementazione del linguaggio pulito in corso |
| operativo | origine checks/builds, manifest corrente esistente, ownership/effects rivisto e test superati |
| eliso alla fonte | il pacchetto operativo supera anche i test consumer solo .sdi |
| installato | profile/target-qualified install/reuse/uninstall il comportamento passa |
| archiviato | conservato solo come prova historical/API/fixture ed escluso dalle importazioni correnti |
Non utilizzare "implementato" o un segno di spunta semplicemente perché esiste una fonte legacy.
Contratto di promozione del pacchetto universale
Ogni pacco in ogni cancello deve soddisfare tutti i requisiti applicabili:
- Disposizione: scegli
merge,port,rename,archive, oremove. A Grove pacchetto che si sovrappone a un pacchetto operativo comemath,io,slice,sort,time, ovecnon deve creare un secondo pacchetto canonico con lo stesso ruolo. - Sintassi: nomi del serpente inferiore, dichiarazioni correnti,
ret,//, corrente ADTs/options/results e nessuna eredità channel/detached-spawn sintassi. - Digitazione: parser operativo, risolutore, controlli generic/trait e target i controlli di layout passano.
- Proprietà: spostamenti, cloni, visualizzazioni, inizializzazione parziale, distruttori e le uscite strutturate hanno una pulizia esatta.
- Effetti: allocazione, panico, blocco, I/O, FFI, chiamate di sistema e non sicuro il comportamento è esplicito e valido per il profilo di runtime.
- Errori: l'errore reversibile utilizza il tipo options/results, non deselezionato sentinelle o terminazione di processi nascosti.
- Interfacce: passaggio delle emissioni
.sdiattuali e del consumo alla fonte, inclusi generici, distruttore, clone, effetti e provenienza, a seconda dei casi. - Manifesto: identità, versione, tipo, target/profile metadati, dipendenze,
e
publish --checkpassare. - FFI: piattaforme e root
INSTALL.mdsono presenti; le dichiarazioni grezze restano dietro il valore nominale certificato owners/views. - Convalida: positivo, negativo, disinfettante, input non valido e cross-target tests exist in proportion to risk.
- Documentazione: esempi compilati con
build/run; nessun runtime legacy helper is documented as a clean compiler built-in. - Evidenza di chiusura: registra comandi, pacchetti, disposizioni, esclusioni,
targets, and test results in
seed/compiler/llvm/tests/GROVE_GXX_BASELINE.md.
Onda 1: fondamenti del linguaggio e del runtime
G01: algoritmi scalari e cablaggio di conversione
Pacchetti: math, format, dtoa, fibonacci, primes, crc32, semver, protocol, test_framework, bench.
Dipende: operativo language/core solo.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G01_BASELINE.md.
Chiusura specifica: risolvere la sovrapposizione con l'operativo math, format, e fibonacci; aggiungi manifest mancanti per crc32 e protocol; stabilire il riutilizzabile Grove conversione test/benchmark cablaggio senza elementi globali legacy o nascosti output/time built-in.
G02: memoria, testo, porzioni e substrato binario
Pacchetti: slice, mem, bytes, raw_vec, str, str_view, stringbuilder, binary, sort, set.
Dipende da: G01.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G02_BASELINE.md.
Chiusura specifica: mappa le fette di grasso grezzo legacy e gli handle di byte su nativi []t/mut []t, bytes, shared_bytes, byte_buffer, vece la memoria grezza attualmente controllata. Dimostrare l'estensione inizializzata, la provenienza, la versione esatta e il comportamento generico eliso alla fonte. Controllo bytes e str_view FFI.
G03: raccolte e algoritmi di dati riutilizzabili
Pacchetti: hash, hashmap, hashtable, bloom, ringbuf, lru, heap, base64, binary_tree_i64, text_buffer.
Dipende da: G01–G02.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G03_BASELINE.md.
Chiusura specifica: aggiungere manifest per hashtable e binary_tree_i64; sostituire gli handle grezzi copiabili con proprietari nominali; verificare il solo spostamento keys/values, errore di ridimensionamento, comportamento di collisione, limiti, input binario non valido e pulizia dopo la costruzione parziale.
G04: processo, file system e base di memoria virtuale
Pacchetti: errno, time, env, os, process, path, fs, dir, stat, mmap.
Dipende da: G01–G03.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G04_BASELINE.md.
Chiusura specifica: riconciliare time/process con pacchetti operativi; esporre in prestito process/environment viste in sicurezza; creare descrittori, mappature, percorsi, parziali I/O, disponibilità della piattaforma ed errori del sistema operativo espliciti.
G05: concorrenza strutturata e sincronizzazione
Pacchetti: io, atomic, mutex, cond, rwlock, semaphore, barrier, waitgroup, chan, pool.
Dipende da: G01–G04.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G05_BASELINE.md.
Chiusura specifica: utilizzare l'operativo task e io pacchetti invece di built-in legacy; codificare channel/ticket/lock endpoint come proprietari "exact-once"; verificare l'annullamento, la riattivazione del cameriere bloccato, la segnalazione di caduta, l'ordinamento della memoria, l'interazione con la regione e lo stress del disinfettante. Controllo atomic FFI.
G06: loop di eventi, primitive di rete e piattaforma I/O
Pacchetti: thread, threadpool, signal, inotify, epoll, net, epoll_loop, eventloop, io_uring, entropy.
Dipende da: G01–G05.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G06_BASELINE.md.
Chiusura specifica: riconciliare net con il titolare della presa operativa; fare registration/cancellation e durata del descrittore esplicita; isolare Linux-solo servizi in manifesti; separare le attività strutturate dai thread legacy staccati; verificare l'entropia come CSPRNG anziché come PRNG runtime non segreto.
Wave 2: terminale, CLI, parser e sicurezza
G07: primitive terminali e aiutanti di presentazione
Pacchetti: tui, tty, terminal, pty, vtbuf, ansi, richtext, progress, prompt, widgets.
Dipende da: G01–G06.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G07_BASELINE.md.
Chiusura specifica: definire il terminale di proprietà modes/descriptors, ripristino garantito su uscite strutturate, UTF-8/byte confini, comportamento non interattivo e testabilità PTY. Risolvi il tui/tty dipendenza dallo stesso gate prima terminal e prompt.
G08— TUI composizione e CLI creazione
Pacchetti: tui_input, tui_surface, tui_layout, tui_core, tui_widgets, tui_test, clap, command, completion, cli.
Dipende da: G01–G07.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G08_BASELINE.md.
Chiusura specifica: porta in ordine di dipendenza interna; sostituire i tipi di interfaccia utente in maiuscolo; dimostrare i limiti della superficie, resize/input gestione, proprietà del processo, errori di comando, determinismo di completamento e integrazione PTY.
macOS AArch64 chiusura successiva (26-07-2026): il TUI i pacchetti ora forniscono il percorso completo delle risorse interattive che la linea di base G08 portatile originale manteneva non disponibile. tui_core possiede una cassaforte raw/alternate-screen sessioni ed attese di eventi digitati; tui_input gestisce eventi incrementali di tastiera, mouse, incolla, ridimensionamento e timer; tui_surface fornisce celle di grafema Unicode, differenze ANSI sporche, stripping ANSI e guidati da terminale 8/256/truecolor/no-color politica; tui_layout e tui_widgets fornire focus, layout e controlli stateful riutilizzabili; e tui_test si unisce alle corse degli eventi sintetici vtbuf istantanee. seed-tui-demo fornisce il deterministico update/render gate dell'unità e un vero test di accettazione del controllo-PTY che copre ridimensionamento, input, Unicode, ripristino del terminale, segnali fatali e contropressione. Linux rivalidazione e Windows supporto terminale rimangono fasi di portabilità separate.
G09: configurazione e formati dei dati di testo
Pacchetti: cli_completion, dotenv, ini, toml, yaml, json, json_parser, csv, xml, markdown.
Dipende da: G01–G08.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G09_BASELINE.md.
Chiusura specifica: restituisce errori di analisi digitati con offset di byte; utilizzare viste prese in prestito e buffer di byte; copertina non valida UTF-8, malformed/truncated documenti, depth/size limiti, escape, campi duplicati, input in streaming e viaggi di andata e ritorno.
G10: configurazione dell'applicazione e interscambio binario
Pacchetti: cli_config, url, mime, regex, protobuf, msgpack, rowcodec, tar, zip, compress.
Dipende da: G01–G09.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G10_BASELINE.md.
Chiusura specifica: convalidare URL/range/overflow semantica, sicurezza del percorso di archivio, lunghezze binarie, casi peggiori di regex, viaggi di andata e ritorno del formato e limiti di decompressione. Controllo compress FFI e rimozione del comportamento supportato dalla shell dalle API sicure.
G11: crittografia, casualità e identità
Pacchetti: random, uuid, aes, chacha20, hmac, bcrypt, scram, cookies, session, jwt.
Dipende da: G01–G10.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G11_BASELINE.md.
Chiusura specifica: etichettare le API PRNG non crittografiche; fonte UUID/session/CSRF segreti dell'entropia controllata; utilizzare il confronto in tempo costante dove richiesto; convalidare vettori e token expiry/encoding; zero buffer temporanei sensibili laddove il contratto di proprietà lo consente. Controllo bcrypt FFI.
Evoluzione post-chiusura: std-uuid 0.2 aggiunge la costruzione e la convalida UUIDv7 RFC 9562 utilizzando i millisecondi dell'orologio a muro ospitato e il limite entropico del sistema operativo controllato. Il sequenziamento monotono dell'UUIDv7 durante il rollback dell'orologio rimane una politica di persistenza di livello superiore piuttosto che uno stato globale del processo nascosto.
Onda 3: networking, HTTP e livelli web
G12: protocolli di rete e TLS base
Pacchetti: tls, dns, icmp, redis, ssh, smtp, _pooltest, http_headers, http_body, http_cookie_jar.
Dipende da: G01–G11.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G12_BASELINE.md.
Chiusura specifica: audit TLS FFI e certificate/hostname politica; digitare errori di trasporto e timeout; frame di protocollo associati e nomi DNS; convertire _pooltest in un pacchetto denominato o archiviarlo; dimostrare la proprietà della connessione in pool e il cookie expiration/domain/path regole.
G13: HTTP primitive di analisi, servizio e middleware
Pacchetti: http_request, http_response, gzip, multipart, form_body, router, middleware, cors, http_server, http_connection_pool.
Dipende da: G01–G12.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G13_BASELINE.md.
Chiusura specifica: pass fragmented/partial richiesta di input, lunghezze contrastanti, suddivisione in blocchi, header/body limiti, troncamento in più parti, ambiguità del percorso, politica CORS, cancellazione, keep-alive ed esatto connection/buffer pulizia.
G14— HTTP client, sicurezza, memorizzazione nella cache e scansione
Pacchetti: http_client, http_client_tls, http_fetch, cache_http, static, websocket, auth, csrf, crawler, lifecycle.
Dipende da: G01–G13.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G14_BASELINE.md.
Chiusura specifica: verificare redirect/cookie/pool/TLS composizione, validatori e intervalli di cache, prevenzione dell'attraversamento del percorso, framing WebSocket, auth/session/CSRF politica, crawler bounds/rate limiti e ripristino del ciclo di vita dopo un guasto parziale.
G15: componenti di creazione web
Pacchetti: observability, template, webapp, web_request, web_response, web_security, web_static, web_template, web_metrics, websocket_server.
Dipende da: G01–G14.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G15_BASELINE.md.
Chiusura specifica: esposizione di tipi pubblici di serpente inferiore, visualizzazioni derivate da richieste controllate, modelli di escape per impostazione predefinita, HTML non elaborato esplicito, stato delle metriche limitate, percorsi statici sicuri, ciclo di vita WebSocket tipizzato e API del gestore elise dal codice sorgente.
G16: runtime Web integrato e supporto applicativo
Pacchetti: web_core, web_db, web_middleware, web_runtime, web, logging, tensor_graph, sep, table, bench2.
Dipende da: G01–G15.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G16_BASELINE.md.
Chiusura specifica: dimostrare un runtime web verticale dal socket attraverso la richiesta analizzata alla risposta e alla pulizia possedute; mantenere gli hook DB digitati ma neutrali rispetto al backend; convalidare l'ordine del middleware, shutdown/drain, registrazione della contropressione, streaming di ricerca file, rendering delle tabelle, proprietà del grafico e un manifest per bench2.
Ondata 4: storage, basi di machine learning e orchestrazione di alto livello
G17: motori di storage e confini del DB nativo
Pacchetti: sqlitec, sqlite, pgc, pager, slotted_page, wal, heapfile, btree_page, btree_store, btree.
Dipende da: G01–G16.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G17_BASELINE.md.
Chiusura specifica: audit SQLite/libpq Proprietari FFI e domini assegnatori; aggiungi il btree manifestare; dimostrare la pagina checksums/layout/versioning, a prova di incidente WAL ordine, scritture brevi, rifiuto di corruzione, pulizia delle transazioni e interfacce di archiviazione eliminate dal codice sorgente.
G18: fondamenti di tensori e set di dati
Pacchetti: tensor, tensor_nd, tensor_cpu, tensor_device, metrics, model_io, quantization, datasets, features, text_features.
Dipende da: G01–G17.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G18_BASELINE.md.
Chiusura specifica: stabilirne una di proprietà tensor/storage rappresentanza; controllare shape/stride/size traboccare, dtype/layout, visualizzazioni, trasferimento del dispositivo, metadati serializzati, limiti di quantizzazione, suddivisioni deterministiche dei set di dati e nessuna copia nascosta tra CPU/device API.
G19: pipeline di formazione e funzionalità
Pacchetti: nn, loss, optim, autograd, mixed_precision, linear_model, anomaly, image_features, audio_features, vision.
Dipende da: G01–G18.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G19_BASELINE.md.
Chiusura specifica: verifica della proprietà e dell'accumulo del gradiente, stato dell'ottimizzatore, overflow/loss ridimensionamento, fissaggi deterministici, controlli alle differenze finite, shape-safe image/audio trasformazioni e pulizia di grafici di calcolo parziali.
G20: esecuzione, compatibilità e accelerazione del modello
Pacchetti: tokenizer, transformer, graph_runtime, onnx, model_compat, tensor_cuda, tensor_bench, vision_features, llm_config, text_dataset.
Dipende da: G01–G19.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G20_BASELINE.md.
Chiusura specifica: rilegata tokenizer/model input, convalidare operatori grafici e dati di tensori esterni, rifiutare checkpoint incompatibili, controllare CUDA FFI/device proprietari e sincronizzazione, confrontare CPU/GPU risultati e stabilire riproducibili performance/memory linee di base.
G21: componenti del modello addestrato
Pacchetti: text_model, text_image_model, text_audio_model, audio_text_model, vision_text_model, llm_decoder, llm_train, llm_infer, llm_eval, llm_checkpoint.
Dipende da: G01–G20.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G21_BASELINE.md.
Chiusura specifica: congelare checkpoint/config identità, addestramento e inferenza deterministica di piccoli modelli, stato dell'ottimizzatore ripristinabile, cache KV limitata, compatibilità del tokenizzatore, contratti tensori multimodali, riproducibilità della valutazione e pulizia esatta in caso di errore load/train/infer operazioni.
G22: dati integrati e orchestrazione dell'intelligenza artificiale
Pacchetti: sqlite_migrate, pg, pg_poolc, pg_pool, ridge, llm_experiment, llm_runner, multimodal_coordinator.
Dipende da: G01–G21.
Stato: chiuso il 12-07-2026. Prova: seed/compiler/llvm/tests/GROVE_G22_BASELINE.md.
Chiusura specifica: convalidare le migrazioni e la proprietà delle transazioni in pool rispetto alle strutture DB attive; completo Ridge recovery/corruption test; eseguire end-to-end LLM experiment/runner/checkpoint flussi; verificare il percorso multimodale e i risultati non supportati; pubblicare pacchetti installabili eliminati dal codice sorgente con esplicito esterno service/data requisiti.
G01–G22 sono chiusi. L'esecuzione live SQLite/PostgreSQL, Ridge e l'esecuzione numerica LLM rimangono funzionalità archiviate esplicitamente anziché una chiusura simulata.
Gate protocollo di esecuzione
- Gates si chiudono in sequenza. È possibile trasportare pacchi indipendenti all'interno di un cancello in parallelo dopo che le loro dipendenze allo stesso gate sono state identificate.
- Avvia ogni cancello rigenerando il suo inventario source/import/FFI/manifest e disposizione di registrazione per ogni pacco.
- Modifiche al pacchetto operativo fondamentale del territorio prima dei porti Grove dipendenti; non conservare alias di compatibilità che compromettono la proprietà pulita.
- Esegui prima i test locali del pacchetto, poi quelli con elisione del codice sorgente, disinfettante, destinazione, pacchetto, install/reuse e i relativi controlli di prestazione.
- Un pacchetto può essere archiviato o rimosso anziché portato, ma tale disposizione e tutte le dipendenze inverse devono essere esplicite nell'evidenza del gate.
- Chiudere un cancello solo quando ogni pacco elencato è operational/source-elided o deliberatamente archived/removed e nessun pacchetto attivo dipende da un'origine non classificata.
- Dopo la chiusura, aggiornare Riferimento libreria operativa, Grove Albero di compatibilitàe qualsiasi pagina del dominio interessata.
Definizione di completamento
La conversione Grove è completa solo quando:
- tutti i 218 pacchetti di base hanno una disposizione finale registrata;
- ogni pacchetto mantenuto viene creato con la sintassi e la semantica correnti;
- il catalogo operativo viene generato da verificati manifests/interfaces;
- nessuna applicazione corrente dipende dal comportamento compiler/runtime sostituito;
- gate normali, disinfettanti, target, pacchetti, elide alla fonte e di installazione coprire l'ecosistema mantenuto ai livelli di sostegno dichiarati;
- la deriva dell'inventario fallisce automaticamente la convalida invece di cambiare silenziosamente ambito del cancello.