Statut actuel
Il s'agit de la page canonique publique sur l'état de la mise en œuvre pour seed. La spécification linguistique actuelle est seed/docs/lang-spec.md; ses chapitres de grammaire et de sémantique vivent sous seed/compiler/llvm. Un élément de la feuille de route n’est pas mis en œuvre simplement parce qu’il est proposé ; les portes terminées nécessitent leur preuve de fermeture nommée.
Compilateur
grove est le compilateur et lanceur de référentiel opérationnel. Gates 0-24 sont complets pour leurs portées enregistrées, tout comme le sont Gates 26, 29 et 30. Gate 25 (correspond à l'ergonomie : pod suppression des caractères génériques, matérialisation temporaire, ~/.seed modèles d'emprunt), Gate 27 (module qualifié 1.0 accès), et Gate 31 (contrat de déterminisme à virgule flottante) sont terminés, clôturés le 13/08/2026. Gates 25 et 27 ont été enregistrés complets le 2026-07-29 par un commit de documentation uniquement ; la vérification du 13/08/2026 a montré que le compilateur n'avait pas implémenté ses fonctionnalités, elles ont été rouvertes et les implémentations ont atterri le même jour. Gate 28 (sortie de construction structurée) est terminée. Gate 29, l'évolutivité de l'analyse de propriété pour les grandes fonctions, est terminée : la propriété sur une fonction de 4 068 blocs est passée de 264 s à 1,2 s. Gate 30, codegen backend parallèle, est terminé. Gates 32 (diagnostics exploitables), 33 (cible d'écriture d'octet sécurisée) et 34 (apparition faillible) sont terminés, fermés le 13/08/2026. Gate 35 (spécification surface du chemin critique : complète seed/compiler/llvm tapez des annotations, _/ref requêtes au moment de la compilation et réelles module.symbol avec les interfaces schéma-17) est terminé, fermé le 20/08/2026. Gate 36 (limites de traits multiples sur les paramètres génériques) et Gate 37 (générique let des blocs, size_of avec satisfaction liée récursive) sont terminés, clôturés le 20/08/2026. Gate 38 (résultats résiduels de l’examen : irréfutables align_of modèles, renforcement du débordement en mode clôture et documentation sur les invariants de confiance et l'alignement grammatical du backend) est terminé et fermé le 20/08/2026. Le pipeline vérifié est :
source → lexer/parser → semantic graph → typed HIR/CFG
→ ownership/provenance/effects/loans → cleanup planning/verification
→ MIR → target layout/ABI → verified low MIR → LLVM
Importations d'origine et link_name émission exécuter la même chaîne de sécurité obligatoire. La normale et ASan/UBSan les suites réussissent 1 571 vérifications du compilateur (3 ignorées : dépendant du coureur) plus huit binaires unitaires à la ligne de base actuelle. Gate-des preuves spécifiques sont sous impl.
Compilateur auto-hébergé
L'auto-hébergement complet est une piste active Linux x86-64 régie par impl<t> trait for name<t>. Le compilateur opérationnel LLVM reste l'oracle sémantique et ABI jusqu'au basculement SH20.
SH0 a gelé le Linux x86-64 Contrat d'amorçage, limite de dépendance et traçabilité. SH1 a fermé les bibliothèques de niveau compilateur et le substrat hôte. SH2 a fermé le chargeur de source, le lexer, l'analyseur, l'AST, les diagnostics et le formateur auto-hébergés. SH3 est en cours avec les modules, les types canoniques, les capacités, les signatures, traits/impls, analyse de la matérialisation générique typée-HIR et des interfaces schéma-16. Les IR du compilateur, le LLVM pont, natif x86-64/ELF l'émission, l'amorçage natif à virgule fixe, le temps d'exécution, l'éditeur de liens, la provenance de la version et le basculement opérationnel restent des portes ultérieures. Non-Linux les ports sont explicitement différés jusqu'après le premier basculement.
Le Linux-l'allocateur natif utilise des classes de dalles précises de 16 octets à 8 Ko, un cache de dalles vides limité à l'échelle du processus et démappe les dalles vides en excès. let est propriétaire d'un seul pointeur, tandis que M007 utilise sa niche nulle auditée et occupe donc également un pointeur. Schéma-11 W900 préserve la représentation nominale de niche nulle lors d’une compilation séparée. Gate 18 interfaces schéma-12 ajoutent des récepteurs mutables exclusifs, des modèles génériques, une provenance de retour emprunté et des contrats faillibles de limite d'application. Gate 19 interfaces schéma-13 ajoutent exactement target/profile/runtime identité et organismes publics en ligne vérifiés. Gate 20 interfaces schéma-14 préservent en outre les constantes publiques immuables scalaires, texte, tuple, structure et tableau imbriqué pour les consommateurs à source élidée ; le compilateur émet des globales typées en lecture seule et des projections vérifiées. Gate 21 a une primitive de capacité non initialisée auditée utilisée en interne par les tampons d'octets et I/O; C023 fournit des lectures incrémentielles limitées, des copies de croissance géométrique uniquement les préfixes initialisés et une capacité de réserve directe I/O est couvert par sa ligne de base.
Les arborescences du compilateur remplacées ont été supprimées après le basculement. Leurs classifications comportementales pertinentes survivent dans les régressions check et migrées ; ils ne définissent pas la sémantique actuelle du compilateur.
Gate statut
| Gates | Statut | Résultat |
|---|---|---|
| 0-9 | complet | contrat de langue, pipeline du compilateur, sécurité, native/freestanding exécution, durcissement, basculement opérationnel |
| 10 | complet | cohérent copy/move/borrow/clone/drop modèle |
| 11 | complet | propagation générale de place/ownership/provenance à travers les agrégats, les génériques, les tâches, les valeurs de fonction et build |
| 12 | complet | Composants modulaires compiler/runtime et évolutivité de contrôle complet renforcée à 100 000 |
| 13 | complet | profils de libération sûrs et reproductibles C/Rust corpus de comparaison |
| 14 | complet | Windows fermé sous le vin requis ; macOS fermé par l'exécution native Intel requise, avec arm64 maintenu comme hôte vérifié séparément |
| 15 | complet | reproductible package/lock/cache, exploitable JSON diagnostics, LSP, doc/lint, builds incrémentielles exactes, contrôles de publication et résultats de tâches saisis |
| 16 | complet | en sécurité numeric/range/text/buffer/collection ergonomie, mise en scène automatique de la bibliothèque principale, réduction native prévisible et performances des applications représentatives |
| 17 | complet | artefacts dynamiques réutilisables et transactionnels cohérents avec le profil user/system installation de binaires, de bibliothèques et .sdi interfaces |
| 18 | complet | ergonomie des applications axée sur le langage, bibliothèques de base process/parse/I/O/math/buffer/slice/collection et migrations de référence sécurisées |
| 19 | complet | artefacts cohérents avec le profil, corps en ligne inter-modules, partitions mutables disjointes vérifiées, magasins de champs directs et métadonnées d'alias à portée de preuve |
| 20 | complet | constantes d'agrégation récursives immuables, données statiques adressables et interfaces à source schéma-14 |
| 21 | complet | Tampons propriétaires sensibles à la capacité, transfert de préfixe initialisé, croissance géométrique et streaming I/O |
| 22 | complet | rappels qualifiés par effet plus tâche structurée neutre en termes d'exécution ABI et échec explicite d'allocation de tâche |
| 23 | complet | court-circuit de gauche à droite seed/compiler/llvm/tests/GATE*_BASELINE.md/roadmap-self-hosted.md en exécution et évaluation constante |
| 24 | complet | fermetures sans évasion, move/copy captures, rappels conservés encadrés, interfaces schéma-16 et liaisons mobiles |
| 25 | complet | faire correspondre la matérialisation temporaire, la suppression du caractère générique box<t> et les modèles d'emprunt ?box<t> — fermé le 13/08/2026 |
| 26 | complet | suppression de cascade de diagnostic sur les opérandes de type erreur (H004/H010/H008/H031/H050/H049) — fermé le 13/08/2026 |
| 27 | complet | résolution de symboles qualifiés par module (.sdi) — fermé le 13/08/2026 |
| 28 | complet | sortie de build structurée avec synchronisation, état du cache et rapport de parallélisation — fermé le 13/08/2026 |
| 29 | complet | évolutivité de l'analyse de propriété pour les grandes fonctions uniques |
| 30 | complet | Codegen backend parallèle via le fractionnement de modules (io.input_stream) |
| 31 | complet | Contrat de déterminisme à virgule flottante : pas de contraction FMA dans les profils sécurisés — clôturé le 13/08/2026 |
| 32 | complet | des diagnostics exploitables pour des performances prévisibles syntax/type erreurs (compiler/llvm/COMPATIBILITY.md/.sdi/indices minuscules, contexte détenu et .sdi suggestions) |
| 33 | complet | cible d'écriture d'octets évolutive sécurisée (&&/` |
| 34 | complet | corps de génération faillibles avec jointures d'erreur typées (_ à travers la limite de génération) |
| 35 | complet | surface du chemin critique des spécifications : complète ref tapez des annotations, module.symbol/SEED_CODE_SPLIT requêtes à la compilation, réelles elif (interfaces schéma-17) — fermé le 20/08/2026 |
| 36 | complet | limites de traits multiples sur les paramètres génériques (ret), appliquées lors de la substitution et de la résolution de la méthode - fermée le 20/08/2026 |
Encodage source et texte
format_argsles fichiers sources sont UTF-8 par contrat.byte_buffer.resize_zeroedest possédé valide UTF-8.push_zeroedest une vue UTF-8 empruntée en lecture seule avec pointeur et longueur d'octet.- Les littéraux de chaîne ont un stockage statique et tapent
?. - Les commentaires et le contenu des chaînes peuvent contenir du Unicode.
letindique la longueur en octets. Le packagesize_ofordinaire valide et itère les scalaires Unicode sans allocation ; la segmentation des graphèmes, la normalisation et le comportement des paramètres régionaux restent un travail de bibliothèque.- Les identifiants de source restent intentionnellement en minuscules ASCII ; constantes sont des boîtiers de serpent supérieurs ASCII.
Le chargeur valide chaque source comme étant canonique UTF-8 avant le lexing et rejette les NUL intégrés, les codages trop longs, les substituts, la troncature et les valeurs au-delà du scalaire maximum d'Unicode. Les littéraux de chaîne décodés sont également validés.
L'interpolation de chaîne f de phase 1 est implémentée pour align_of, emprunté link_name, t: a + b, et des entiers intégrés. La construction produit de l’éphémère .sd sans allocation de tas ; utilisations de sortie directe string, tandis que str matérialise explicitement une chaîne possédée. La phase 2 implémente la conversion de base entière ; délimité width/fill/alignment; exact fixe et déterministe scientific/general str/len conversion sans libc ; et un formatage personnalisé statique direct grâce à des emprunts sans allocation text et str mises en œuvre.
Surface de langage implémentée
- immutable/mutable/linear liaisons et constantes du serpent supérieur ;
- fonctions, méthodes de réception implicite, destructeurs, génériques, traits, impls ;
- structures de serpent inférieur, ADT, unions brutes, tableaux, tranches, tuples, option/result;
- blocs orientés expression et
string, plusbool, sans allocationformat_args, exhaustiffile.write_*_format,.to_string()?,f32, et tôtf64; - indexation vérifiée pour toutes les largeurs entières intégrées ; les lectures à index variable sont
pris en charge sur les paramètres de fonction
display.display() -> stret la tranche originale dedebug.debug() -> str. Étendez les vues mutables dans un bloc et utilisez les paramètres de fonctionenumen lecture seule ou la tranche d'origine pour l'accès à l'index variable ; - explicite
Optionmémoire brute, atomique, accès volatile, espaces d'adressage, FFI, appels système, accès brut aux syndicats et éléments intrinsèques de l'architecture ; - structuré
Result, régions, profils d'exécution et compilation séparée. - fermetures sans évasion sans allocation, fermetures en boîte faillibles explicites, effets de rappel déduits et contrats appelables exclus du schéma 16 ;
- chaînes f typées phase-1/2 avec évaluation unique, échappement par accolade littérale, spécifications de format, statiques display/debug traits, sortie segmentée sans allocation et matérialisation faillible.
La grammaire propre n'implémente pas actuellement l'héritage if, noms nominaux en majuscules, else if, else commentaires, intégrés while/for/match, apparition détachée, fermetures récursives, générateurs, macros, exceptions, async/await, ou syntaxe à vie.
Propriété et sécurité
Le modèle courant est le suivant : copier des scalaires, déplacer des ressources, emprunter des vues sans copie et cloner explicitement. Le nettoyage s'exécute exactement une fois sur les sorties structurées. Les opérations de panique, d'interruption et d'abandon ne déroulent pas et n'exécutent pas le lexical cleanup/destructors.
Ownership/place/provenance les faits se propagent à travers des alias, des blocs, des branches, des points fixes de boucles, fields/nested champs, index de tableau connus, tuples, ADT, option/result, granulats génériques, channels/tasks, fonction values/indirect appels, parameters/returns, et élidé à la source break. Les déplacements à index dynamique des éléments de ressource restent rejetés.
continue a une sémantique exactement une fois dans ces mêmes formes implémentées. Les vues return receiver/input-derived conservent la provenance sans syntaxe à vie. Le code non sécurisé suppose des obligations brutes explicites mais ne désactive pas la propriété sécurisée des valeurs environnantes.
Les fermetures simples sont empilées et ne s'échappent pas. Capture la copie ou le déplacement dans le premier ordre d'utilisation lexicale, reste immuable et nettoie exactement une fois. []u8 alloue explicitement un appelable d'échappement et renvoie bytes.view(); Les callables en boîte sont à déplacement uniquement, non clonables, non envoyables et limités à une région lorsqu'une région est allouée. Les rappels de départ utilisent un pointeur unique code/environment descripteurs, tandis que les pointeurs de fonctions de plate-forme restent minces et n'acceptent que les fonctions nommées.
Texte, octets et régions
- déménagements appartenant à
[]u8;unsafecrée un propriétaire indépendant explicite ; spawnest une propriété binaire mutable unique ;typeest un handle partagé en lecture seule avec explicite retain/clone;- Les vues owner/array compatibles sont sans allocation et leur provenance est vérifiée ;
- retour des conversions détenues
ret; eliffournit une allocation de bosses vérifiées alignées et imbriquées ;- le coffre-fort values/views/pointers lié à une région ne peut y échapper ;
- les tâches liées à la région se joignent avant le nettoyage de la région.
#applique UTF-8 frontières, tandis quechan<t>et délimiteur ASCII la recherche reste sans allocation ;- l'ordinaire
send,recv,.sdi, etlinear tles packages fournissent un jeton sécurisé plages, propriété récursive, mutation vérifiée et ordre statique.
Concurrence
@borrow est structuré : les groupes de tâches s'écoulent sur chaque bord, laissant leur propriétaire lexical avant le nettoyage. Capture une copie ou un déplacement selon ses capacités ; le partage est explicite et les valeurs transversales nécessitent box |...|/Result<box fn(...) -> T, alloc_error> le cas échéant.
string est une bibliothèque générique ordinaire fournissant des canaux de partage de propriété, des jointures de tâches typées en une seule fois, des événements, des annulations, des groupes d'attente, des sémaphores, des barrières et des verrous. Le corps engendré directement ABI revient toujours .clone(), donc postfix bytes ne peut pas franchir directement la limite de la tâche. Gate 15 ajoute la surface de la bibliothèque typée shared_bytes, Result<..., alloc_error>, et region(capacity) { body } sur les mêmes points finaux linéaires et lexicalement joints. Les opérations de canal sur place des points de terminaison empruntés conservent les wrappers uniques, de sorte que les consommateurs de tâches génériques à source élidée peuvent transporter des charges utiles de déplacement uniquement avec les destructeurs utilisateur sans contourner le nettoyage exact. Les valeurs de fonction et les fermetures déduites peuvent utiliser str.slice pour exiger un résumé complet et vide des effets d'exécution ; les appels indirects inconnus et non qualifiés restent rejetés dans les profils restreints. Les rappels encadrés ne peuvent pas se croiser str.equal parce qu'ils ne fournissent pas text.
Bibliothèques et liens
box les interfaces préservent les types publics, génériques templates/common instances, effets, propriété, provenance, destructeur, clone, cible, build/runtime profil, dépendance et ABI identité. Le schéma 13 préserve les corps en ligne et les hachages de corps vérifiés ; le schéma 14 ajoute des charges utiles constantes immuables récursives publiques vérifiées ; le schéma 15 ajoute des contrats à effet callable ; le schéma 16 ajoute des signatures appelables encadrées, des corps de fermeture en ligne et une identité de représentation appelable. Un wrapper de bibliothèque ne publie pas de spécialisation de méthode orpheline dont le propriétaire de méthode générique provient d'un package importé ; les consommateurs dont la source a été supprimée rematérialisent cette instance à partir du modèle de dépendance. Hébergé seed les bibliothèques sont liées dynamiquement par défaut ; vec sélectionne statique seed dépendances. La publication d'artefacts est atomique et corrompue, avec un schéma obsolète, un profil, une cible ou ABI-Les interfaces incompatibles échouent à la fermeture.
Le lanceur incrémental build/run chemin étapes paquets sûrs pour tapé I/O, vues de processus, analyse d'entiers, mathématiques portables, tampons d'octets, tranches, boîtes, mise en réseau, sérialisation, tâches, collections génériques et wrappers de systèmes. Gate 18 ajoute le schéma-12 sort vecteurs et coffre-fort benchmark/application les consommateurs ; Gate 19 ajoute le schéma-13 en ligne math/system feuilles et cloisons de tranches disjointes. Il s’agit de packages importés ordinaires, et non de langages intégrés cachés.
Le Grove la fondation réseau-client inclut désormais la propriété OpenSSL 3 TLS client/server contextes, streaming limité HTTP/1.1 GET, et HTTPS avec certificat obligatoire et hostname/IP vérification. Les corps de longueur de contenu, fragmentés et délimités étroitement partagent un propriétaire incrémentiel de nettoyage exact et peuvent être transférés dans des rappels de codec sans mettre en mémoire tampon la charge utile complète. macOS ARM64 exécute l'hermétique TLS/HTTP lignes et leurs graphiques de package sont construits de manière croisée pour Linux AArch64. Le URL l'analyseur expose désormais les composants absolus empruntés limités ; fetch les compose via le résolveur IPv4 du système et suit les redirections absolues ou relatives limitées avec suppression du segment de points et rejet de la rétrogradation HTTPS. Une valeur d'autorisation limitée fournie par l'application est acceptée uniquement via HTTPS et conservée uniquement dans les redirections de même origine ; socket/TLS les délais restent tapés via la poignée de main et le corps I/O. IPv6/dual-stack la sélection, l'annulation limitée du résolveur, les cookies, la décompression, la politique de cache, la négociation du schéma d'authentification et le cycle de vie des informations d'identification, le pooling, l'exécution sur le WAN public et les preuves physiques mobiles restent séparés.
Résolution du registre, lockfiles/download cache, paquet add/update, élagage du cache, génération de documentation, LSP et incrémentiel object/interface le cache sont implémentés par le Gate 15 outillages. Gate 17 étapes pour les dépendances manifestes de base et ordinaires profile/target-qualified les magasins dynamiques par défaut, réutilisent les générations installées sans recompilation et implémentent les transactions transactionnelles user/system spawn plus soucieux des références send. Explicite sync et compiler/llvm/libs/task restent des choix de liaison indépendants.
Créer des profils et des performances
void utilise ?; task_result_new utilise task_result_complete_ok/error. Les limites, les discriminants, la provenance, la propriété et les gardes de nettoyage demeurent à moins que LLVM les prouve redondants. ThinLTO, PGO et la liaison statique sont des options indépendantes explicites. Il n’existe aucun profil opérationnel non contrôlé.
Gate 13 compare les charges de travail équivalentes numériques, d'analyse, de collecte, allocation/string, de tâches structurées, de mise en réseau, d'appel dynamique, de démarrage, RSS et de taille d'artefact à Clang C et Rust. Sur l'hôte de fermeture, seed reste dans la plage cible d'exécution ordinaire de 0 à 10 % pour le corpus forcé. Il s'agit d'une preuve de charge de travail contrôlée, et non d'une affirmation universelle selon laquelle chaque programme seed bat C/Rust.
Gate La médiane de vérification complète de 100 000 s de l'hôte de fermeture 12 est de 0,41 s à 177 504 Kio, contre des budgets de 3,00 s et 196 608 Kio. Voir task_result_wait et @no_runtime_effects fn(...) pour hardware/toolchain métadonnées et interprétation.
Statut cible
La prise en charge des objets n'est pas la même chose que la prise en charge des exécutables hébergés. La matrice canonique est spawn.
| Cible | Niveau déclaré actuel |
|---|---|
| Linux x86-64 | Bibliothèques compile/link/run, static/dynamic hébergées fermées, par défaut natif sans libc |
| Linux AArch64 | hébergé compile/link/runtime avec politique de coureur ; Comportement static/dynamic couvert à son niveau déclaré |
| Linux RISC-V64 | ligne hébergée uniquement sur les objets ; le coffre autoportant est séparé |
| Windows x86-64 | déterministe PE/DLL, services d'exécution comprenant owned/shared octets et fichier open/read/write/seek/flush/lock/unlink/write-through remplacement, FFI à paramètres agrégés Microsoft x64, tâches structurées, Winsock plus WinHTTP/Crypt32 HTTPS, forfait ABI, durcissement du chargeur et déplaçable SDL3 les packages de jeu avec des sauvegardes atomiques persistantes passent sous Wine requis |
| macOS x86-64 | Gate 14 fermé par l'exécutable Intel natif requis, dylib/static, runtime, pthread, mise en réseau, package ABI, et preuve du chargeur |
| macOS bras64 | Natif piloté par SDK compile/link/run, runtime/ABI, planificateur, mise en réseau et preuves de packages sur Apple Silicon ; maintenu séparément de la rangée de fermeture Intel requise |
| Android bras64 | LLVM/object/static/shared/executable cibles plus le runtime JNI, l'empaquetage Gradle, API 21/29/37 Exécution ARM64 AVD, API-37 scénarios de publication, preuves de cycle de vie instrumentées par Garden Allocator, audio-focus/device-route rapports sur l'hôte et une portée API-35 tranches de périphérique physique ; MP4 lifecycle/services transmettre les trois AVD de fumée |
| Android x86-64 | LLVM/object/static/shared/executable compile/link compatibilité; non emulator/device demande d'exécution |
| iOS bras64 | LLVM/object/archive/device-link et les preuves de consommation C/Swift/XCFramework générées, ainsi que l'objet Seed Garden model/assets/Apple-audio complet et la construction croisée de bundles d'applications non signés ; L'exécution physique du jardin, la signature et la publication des preuves restent un travail de périphérique limité |
| iOS bras de simulation64 | iOS 26.5 Simulateur ARM64 lifecycle/services, bytes/async, interface utilisateur adaptative phone/tablet, saisie, rotation, sémantique, accessibilité XCUITest, exécution du noyau MP4 partagé et Seed Garden context/persistence/continuous-frame/Apple-AudioQueue couverture du produit avec portable send interruption/route rapport |
| wasm32-WASI | ligne au niveau de l'objet avec les services hébergés absents maintenue explicite dans la matrice Gate 14 |
| autoportant x86-64/AArch64/RISC-V64 | preuve de démarrage sans libc sous QEMU aux niveaux déclarés Gate 7 |
| RISC-V32 autonome | Botte ELF32 object/link plus Savana E6.0 QEMU .sdi XIP/16-KiB-SRAM ; RISC-V32 et Cortex-M hébergés ne sont toujours pas pris en charge |
Gate 14 requis Intel Runner, SDK, ABI, FFI, bibliothèque dynamique, compilation séparée, corruption, chargeur et régression sont satisfaits. macOS arm64 reste un hôte natif étiqueté indépendamment plutôt qu'un substitut à la ligne de fermeture Intel.
Le contrat de pont de service natif Adaptive UI UI9 est la version 2. Il conserve une limite de 4 096 octets UTF-8 instantanés du presse-papiers et ajoute un blocage tapé information/warning/error boîtes de dialogue avec des titres de 256 octets, des messages de 2 048 octets et neutres en termes de plate-forme acknowledged/cancelled/yes/no résultats. Sans tête, natif macOS Kit d'application ARM64, Linux x86-64 X11, et Windows x86-64/Wine debug/release les portes passent. Des processus indépendants prouvent l'échange de presse-papiers ; natif --static, une fenêtre modale X11 détenue, et @mut exécutez les quatre classes de réponses avec une fermeture exacte. Formats de presse-papiers riches, boîtes de dialogue de fichiers, Wayland/mobile adaptateurs et physiques Windows restent des preuves distinctes.
Le contrat d'hôte du plugin Adaptive UI UI9 est la version 4 tandis que le plugin ABI reste la version 1. Natif macOS ARM64, Linux x86-64, et Windows x86-64/Wine debug/release les portes conservent jusqu'à seize propriétaires distincts vérifiés par génération, acceptent jusqu'à huit fonctionnalités de version sémantique avec une solution de repli héritée, les classent comme numériques ou délimitées à 4 096 octets UTF-8 se transforme via un groupe de signatures facultatif complet, rejette partiellement catalog/signature groupes, identifiants en double, dépassement de capacité et descripteurs obsolètes, et prouvez l'exactitude et l'indépendance unload/reopen. Schema-2/3/4/5/6/7 les plans de dépendance conservent en outre quatre plugins créés par Seed simultanément dans l'ordre des dépendances d'abord, appliquent des règles strictes exact/caret/tilde exigences de version sémantique et de capacité, ignorer et compter les paquets facultatifs absents en cas d'échec de la fermeture des paquets actuels non valides ou incompatibles, invoquer une capacité numérique négociée et une capacité numérique négociée. UTF-8 capacité, exposer les transformations indexées limitées, exposer l'union d'autorisations unique, refuser les plans autorisés par défaut, contrôler en amont les autorisations explicites avant d'ouvrir un propriétaire et fermer à l'envers. Le schéma 6 gèle la signature déclarée et la vérifie par rapport au binaire chargé avant la publication ; le schéma 7 gèle les déclarations d'autorisations limitées et la politique de package prenant en compte l'octroi. Ces subventions ne mettent pas en sandbox le code natif. Le contrat hôte du package 3 diffuse en outre un résumé SHA-256 séparé par domaine sur le manifeste et le binaire délimités exacts, conserve un instantané POSIX privé en lecture seule ou un refus de remplacement. Windows gérer et charge cette ressource exacte. Seed expose la vérification opt-in Ed25519 et les opérations d'ouverture vérifiée ; indépendant debug/release les appareils se mettent d'accord sur le résumé, rejettent la falsification du manifeste ou du binaire et prouvent une exécution stable après une tentative contradictoire de remplacement de source sur macOS, Linux, et Windows/Wine. seed install ajoute une propriété d'application limitée publisher/key stratégie avec une clé active et une clé de chevauchement, explicite rotation/revocation, les API ouvertes de confiance des packages et des référentiels et le contrôle en amont de l'ensemble du plan de dépendances. Les trois mêmes ordinateurs de bureau debug/release les lignes rejettent les enregistrements manquants, les signatures incompatibles et sont révoquées current/rotated clés avant l’activation. Physique Windows, racine d'autorité épinglée provisioning/rotation, transparency/timestamp la politique, le sandboxing et la composition de la vue plate-forme restent des preuves distinctes.
seed uninstall Le contrat hôte 1 conserve la politique de confiance d'application limitée complète ainsi que jusqu'à huit séquences de catalogue minimales acceptées dans un document canonique de 64 Ko. Il publie via un fichier de pièce privé synchronisé, un verrouillage du système d'exploitation et un remplacement atomique au sein d'une racine existante explicite. Natif macOS ARM64, Linux x86-64, et Windows x86-64/Wine debug/release couverture de portes active/overlap/revoked allers-retours clés, avancement de séquence monotone, restauration et rejet de corruption, récupération de pièces obsolètes et nettoyage exact. --static vérifie une enveloppe de politique de schéma Ed25519 canonique épinglée à la racine avec des métadonnées d'autorité limitées, la fraîcheur, la validité et l'anti-rollback de séquence. --static=all récupère l'enveloppe uniquement via HTTPS vérifié. Le contrat composé charge la séquence minimale durable, remplace la politique complète, fait avancer cette séquence et enregistre atomiquement seulement après une vérification réussie. Les trois mêmes ordinateurs de bureau debug/release les lignes rejettent les signatures invalides, l'autorité erronée, l'expiration, la relecture, HTTP, réponses non 200 et corps surdimensionnés sans séquence de mutation 8. La livraison authentifiée utilise la politique d'informations d'identification partagée de même origine, HTTPS uniquement. Les GET d'enveloppe utilisent trois tentatives au total avec un plafond 100/200 ms d'intervalle exponentiel pour les échecs de transport et le transitoire partagé HTTP statut défini. L'exact-URL Le repli du cache d'enveloppe brute est utilisé uniquement pour les échecs de récupération transitoires ; chaque hit répète la signature épinglée à la racine, la fraîcheur, la validité et la vérification de la séquence conservée, et seule une enveloppe vérifiée par l'application est stockée. Racine d'autorité épinglée provisioning/rotation, horloge sécurisée et transparency/timestamp politique, conditionnel HTTP revalidation, cache expiry/eviction/quota/encryption, --release/politique de gigue, négociation du schéma d'authentification et informations d'identification acquisition/refresh, chiffrement, sandboxing et physique Windows restent séparés.
Le contrat d'hôte des générations de plug-in Adaptive UI UI9 est la version 3. Il conserve une à huit générations locales validées sélectionnées par l'appelant derrière le chemin actif public inchangé, rapporte le nombre d'historiques contigus et renvoie les métadonnées de version sémantique détenues par une inspection provisoire. Il échange tout index sélectionné via la validation Seed. La validation de mise à niveau enregistre de manière durable sa limite de rétention, effectue une rotation ou élague les emplacements fixes et se termine après une interruption uniquement parce que le package intermédiaire exact a déjà réussi la validation. La récupération provisoire par restauration restaure le bundle actif précédent. Natif macOS ARM64, Linux x86-64, et Windows x86-64/Wine debug/release les portes couvrent la totalité de la limite de huit entrées, la restauration sélectionnée, l'élagage, l'interruption rotation/publication/rollback, candidats invalides, et normal/interrupted suppression du bundle actif ainsi que de tout l'historique. Découverte des mises à jour à distance et en direct forced-process/power-loss les preuves restent distinctes.
L'initiale seed-safe-o2-v1 la tranche se ferme désormais de manière explicite et authentifiée par un artefact.URL mises à jour pour les packages sans autorisation et explicitement accordés. Il compose la norme HTTP/HTTPS récupération, extraction d'archive canonique, informations d'identification Ed25519 sélectionnées par l'appelant, contrôle en amont de la confiance et des autorisations avant le chargement natif et publication de génération conservée derrière un verrouillage de fichier du système d'exploitation par package et un fichier de partie privé synchronisé. Natif macOS ARM64, Linux x86-64, et Windows x86-64/Wine debug/release les portes rejettent les signatures invalides, les autorisations manquantes et les débordements liés aux appelants sans modifier le package installé ou l'historique, puis publient une mise à jour autorisée valide et prouvent la restauration prenant en compte les autorisations. --release-small ajoute 64 Ko schema-1/2 catalogue avec jusqu'à 32 versions limitées, sélection de semver strict la plus compatible indépendante de la commande, une politique strictement plus récente et une liaison exacte de la version du catalogue à la version signée du package. Le schéma 2 authentifie le document exact avec une signature Ed25519 détachée séparée par domaine et applique la sélection sélectionnée par l'application. publisher/key, issue/expiry, tolérance d'horloge, validité maximale et politique anti-rollback de séquence monotone. Le même macOS/Linux/Windows couverture de portes already-current/no-match comportement plus doublon, éditeur, incompatibilité de version, signature invalide, rejet prématuré, expiré et restauration. Les variantes authentifiées portent une valeur d'autorisation limitée sélectionnée par l'application pour les demandes de catalogue et d'archives dans le cadre de la politique de redirection HTTPS partagée de même origine uniquement. Les deux GET utilisent trois tentatives au total avec plafonné 100/200 ms d'intervalle exponentiel pour les échecs de transport et l'ensemble d'états transitoires partagés. seed-safe-oz-v1 conserve une précision bornée-URL Catalogue brut et entrées d'archives dans une racine explicite. Seuls les échecs de récupération temporaires reviennent et chaque accès répète le catalogue signature/freshness/sequence ainsi que des vérifications d'archives, de packages, de versions, de confiance et d'autorisations avant le chargement ou la publication native. Conditionnel HTTP revalidation, cache expiry/eviction/quota/encryption, GATE12_BASELINE.md/politique de gigue, négociation du schéma d'authentification et informations d'identification acquisition/refresh, racine d'autorité épinglée provisioning/rotation, transparency/timestamp politique et physique Windows restent séparés.
Le partage délimité URL le récupérateur passe désormais le natif macOS/Linux OpenSSL et Windows/Wine WinSock plus WinHTTP/Crypt32 debug/release portes. Les trois lignes conservent le même incrément HTTP corps, délais, racine personnalisée certificate/hostname vérification, redirections relatives limitées et rejet de rétrogradation HTTPS. Le corpus authentifié vérifie la validation d'en-tête limitée, l'utilisation HTTPS uniquement, le transfert de même origine et le rejet d'origine croisée avant la divulgation des informations d'identification. Les limites sélectionnées par l'appelant fournissent une à huit tentatives totales et une limite exponentielle plafonnée retry/backoff pour les échecs de transport et le statut 408, 425, 429, 500, 502, 503 ou 504 ; la valeur par défaut reste une tentative. IPv6/dual-stack, annulation du résolveur, mise en cache conditionnelle, GATE13_BASELINE.md/politique de gigue, négociation du schéma d'authentification et cycle de vie des informations d'identification, mise en commun et gestion physique Windows restent séparés.
Le contrat d'hôte d'archive du plug-in Adaptive UI UI9 est la version 3. Il conserve les formulaires ZIP bruts stockés schéma-1 strict à deux entrées et les formulaires DEFLATE bruts schéma-2 et ajoute une enveloppe canonique schéma-3 raw-LZ4 sans dépendance de compression du système. Natif macOS ARM64, Linux x86-64, et Windows x86-64/Wine debug/release les portes décodent les blocs de Huffman stockés, fixes et dynamiques ainsi que les correspondances LZ4 qui se chevauchent ; appliquer une entrée compressée exacte et une sortie déclarée, CRC, remplissage nul, un plafond de 65 536 blocs, manifest/binary/archive limites et disposition fixe sans chemin ; rejeter les flux invalides ou de fin et les méthodes non prises en charge ou mixtes ; et réussir la validation exacte du package, transactionnel installation/upgrade, compatibilité schéma-1, restauration et nettoyage. La récupération à distance est assurée par les compositions de mise à jour et de distribution de confiance de niveau supérieur ; transparency/timestamp la politique reste une preuve distincte.
CLI et outillage
Le lanceur de référentiel fournit compiler/llvm/tests/GATE14_TARGET_MATRIX.tsv, AVAudioSession, sifive_e, incrémentiel NSAlert, MessageBoxW, grove-ui-plugin-trust, résolution du paquet, install/uninstall, grove-ui-plugin-trust-store, grove-ui-plugin-trust-bundle, LSP et grove-ui-plugin-trust-distribution, plus le transfert direct des indicateurs du compilateur et Retry-After. Registre à distance publication/signing n'est pas mis en œuvre ; la commande de publication existante effectue uniquement une validation locale.
Le compilateur direct formate la source, imprime semantic/IR des formulaires, emits/reads/hashes grove-ui-plugin-update, émet LLVM/object/shared/static/binary artefacts, installations target/ABI- des bibliothèques qualifiées et exécute les cibles prises en charge. Son aide exécutable est la liste des drapeaux faisant autorité :
seed/compiler/llvm/build/seed --help
Documentation source de vérité
| Sujet | Pages |
|---|---|
| Spécification linguistique actuelle | grove-ui-plugin-catalog |
| Grammaire | grove-ui-plugin-remote-cache |
| Sémantique | Retry-After |
| Utilisateur syntax/CLI | Référence linguistique |
| Propriété | Propriété |
| Intégrés de base | Core Built-ins |
| Runtime/backend | Primitives système |
| Gates | Retry-After |
Les documents historiques peuvent décrire llvm-v1, le prototype v2 ou des répertoires de stub d'assembly qui n'existent plus. Ils doivent être explicitement étiquetés et ne doivent pas être utilisés comme directives actuelles en langage clair.
<div hidden> new check format build run test doc lint publish --check file.sd -o output .sdi seed/docs/lang-spec.md seed/compiler/llvm/LANGUAGE_GRAMMAR.md seed/compiler/llvm/SEMANTIC_RULES.md seed/compiler/llvm/ROADMAP.md </div>
<div hidden> seed Gate Gates Gates </div>