Architecture
Une carte est un vrai terminal. Tout le reste, ateliers isolés, serveur d’outils local, capacités, livrables, découle de cette seule décision.
Livré dans la construction courante. Vous pouvez le faire sur votre machine aujourd’hui.
L’application est une coquille de bureau posée sur un cœur natif. La coquille rend ; le cœur possède les processus, les registres et les fichiers. Rien de ce qui décide quoi que ce soit ne vit dans la façade.
#L’arbre de processus d’une exécution
Deskworth (cœur natif)
├── carte hôte → un processus de CLI d’éditeur, atelier isolé
├── carte de mandat → un processus de CLI d’éditeur, atelier isolé
│ └── sous-agent → hérite de la portée et du budget du parent
└── serveur d’outils → 127.0.0.1 seulement, un jeton porteur par carteUne carte, un processus, un atelier. Une carte qui finit libère son processus ; le chemin de sortie arrête tout processus que l’application a démarré. Une interruption brutale venue de l’extérieur contourne ce chemin par définition, et un orphelin a été observé exactement de cette manière.
Encore manquantLa frontière des sous-agents est écrite et couverte par des tests dans le cœur, identité opaque, six états, clé d’idempotence, et trente-deux demandes concurrentes rendant un seul enfant. Rien ne l’appelle encore, donc aucun arbre de délégation ne peut être montré, et cette documentation ne prétend pas le contraire.
#Les capacités filtrent tout
Un rôle déclare ce qu’il peut atteindre, dans son propre fichier. Le serveur d’outils ne sert un outil qu’à un rôle dont les capacités déclarées le couvrent, et un outil qu’un rôle n’a pas le droit d’appeler n’apparaît pas du tout dans sa liste, plutôt que d’y paraître comme une porte fermée. La table de la page de référence est lue depuis ces déclarations, pas écrite à la main 3.
Lisez cette table pour ce qu’elle refuse, pas pour ce qu’elle autorise. Le rôle d’actualité tient l’accès au web ouvert et rien d’autre, il ne peut pas lire vos données déposées. Le rôle fondamental tient les dépôts réglementaires et les données de marché sans accès web, il ne peut pas substituer un billet de blog à un dépôt. Aucun rôle ne tient à la fois vos données et un accès web arbitraire, et l’application refuse de s’ouvrir si l’un le fait un jour.
#Deux séparations, tenues au démarrage
| Règle | Ce qu’elle empêche | Comment elle est tenue |
|---|---|---|
| Lire les données de l’opérateur et atteindre l’extérieur ne se cumulent jamais | Une page récupérée qui repart avec le journal de quelqu’un | Un audit au démarrage sur tout le roster ; une violation empêche l’application de s’ouvrir |
| Exécuter du code et atteindre l’extérieur ne se cumulent jamais | Le réseau coupé d’un script en bac à sable rendu décoratif par un rôle qui peut publier son résultat | Le même audit, le bac à sable mesure la coupure, l’audit lui garde son sens |
#Les livrables ont des propriétaires
Un format demandé convoque le rôle qui le possède. Un format, un propriétaire, et exactement un, tenu par un test. Une demande de classeur appelle le rôle comptable même quand la phrase ne contient aucun mot de comptabilité.
- DISPONIBLEClasseur (XLSX)Un moteur natif compilé dans la construction, avec des formules vivantes qui désignent les faits déclarés. Possédé par le rôle comptable.
- DISPONIBLEPrésentation (PPTX)Un moteur natif compilé dans la construction, en 16:9, lisant le même dossier que le classeur. Possédé par le rôle responsable d’opération.
- DISPONIBLENote (PDF)Un moteur natif compilé dans la construction, en A4, texte sélectionnable, une page sans texte est refusée. Possédé par le rôle responsable d’opération.
- DISPONIBLELes trois composés en un seul lotTous ou aucun, avec un manifeste scellé portant empreintes, sources et limites. Un format qui échoue emporte les autres avec lui.
- PRÉVUUn agent qui en produirait un en exécution réelleLes moteurs sont testés et empaquetés ; aucune exécution enregistrée n’a appelé ces outils. Rien sur ce site ne marque ce parcours comme vérifié.
#Où vivent les données, et où elles ne vont jamais
- Votre journal, vos thèses et vos dépôts sont sur votre disque, en ajout seul et rejouables.
- Les clés d’éditeurs sont dans le trousseau macOS. Jamais dans un fichier, une base, un fichier d’environnement ou un journal.
- Le serveur d’outils ne se lie qu’à l’adresse de bouclage, sur un port que le système choisit.
- Le serveur distant est un plan de contrôle : compte, licence, mises à jour. Aucune donnée de marché, aucun journal, aucun portefeuille et aucune thèse n’y transite. Coupez-le, l’application fonctionne toujours.
#Sources
- Deskworth OS, product state at 0.0.23DeskworthDocument interne, non publié
- The canonical role registry, mirrored on this siteDeskworthDocument interne, non publié
- The tool registry, mirrored on this siteDeskworthDocument interne, non publié