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:

  1. Disposizione: scegli merge, port, rename, archive, o remove. A Grove pacchetto che si sovrappone a un pacchetto operativo come math, io, slice, sort, time, o vec non deve creare un secondo pacchetto canonico con lo stesso ruolo.
  2. Sintassi: nomi del serpente inferiore, dichiarazioni correnti, ret, //, corrente ADTs/options/results e nessuna eredità channel/detached-spawn sintassi.
  3. Digitazione: parser operativo, risolutore, controlli generic/trait e target i controlli di layout passano.
  4. Proprietà: spostamenti, cloni, visualizzazioni, inizializzazione parziale, distruttori e le uscite strutturate hanno una pulizia esatta.
  5. Effetti: allocazione, panico, blocco, I/O, FFI, chiamate di sistema e non sicuro il comportamento è esplicito e valido per il profilo di runtime.
  6. Errori: l'errore reversibile utilizza il tipo options/results, non deselezionato sentinelle o terminazione di processi nascosti.
  7. Interfacce: passaggio delle emissioni .sdi attuali e del consumo alla fonte, inclusi generici, distruttore, clone, effetti e provenienza, a seconda dei casi.
  8. Manifesto: identità, versione, tipo, target/profile metadati, dipendenze, e publish --check passare.
  9. FFI: piattaforme e root INSTALL.md sono presenti; le dichiarazioni grezze restano dietro il valore nominale certificato owners/views.
  10. Convalida: positivo, negativo, disinfettante, input non valido e cross-target tests exist in proportion to risk.
  11. Documentazione: esempi compilati con build/run; nessun runtime legacy helper is documented as a clean compiler built-in.
  12. 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

  1. 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.
  2. Avvia ogni cancello rigenerando il suo inventario source/import/FFI/manifest e disposizione di registrazione per ogni pacco.
  3. Modifiche al pacchetto operativo fondamentale del territorio prima dei porti Grove dipendenti; non conservare alias di compatibilità che compromettono la proprietà pulita.
  4. 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.
  5. Un pacchetto può essere archiviato o rimosso anziché portato, ma tale disposizione e tutte le dipendenze inverse devono essere esplicite nell'evidenza del gate.
  6. 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.
  7. 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: