Softanza
DémarrerEnglish
Softanza
Systèmes et exécution

Programmation système

Une surface d'effets gouvernés, pas une copie des bibliothèques standard de Go ou de Rust : répéter puis commettre ; un modèle ne peut pas agir, par construction.

1 Strong · 7 Solid · 3 Partial · 1 Emerging

Mesuré contre : Go/Rust std · libuv · Dossiers : base/system(s'ouvre dans un nouvel onglet) · base/platform(s'ouvre dans un nouvel onglet) · Pour les programmeurs : la référence de ce domaine

un agent écrit dans un jumeau du système de fichiers ; le disque ne bouge pas
un agent écrit dans un jumeau du système de fichiers ; le disque ne bouge pas. dessiné le 2026-10-01 par le script du site tools/areas-figurative.ring, exécuté dans la bibliothèque au commit 0e72e2e2c · la source(s'ouvre dans un nouvel onglet)

Repensé depuis les premiers principes

Ce que Softanza a gardé de ce qui marche, et ce qu'elle a repensé, tel que la bibliothèque l'a écrit dans ses documents de conception et ses narrations.

La manière SoftanzaSeul le moteur touche le système réel ; tout ce qui est au-dessus n'en est qu'une vue ou une répétition, et la réalité ne change que lorsqu'un plan autorisé franchit l'unique porte.

Gardé des meilleures pratiques

  • L'action directe reste possible : les vraies classes de fichiers, dossiers et processus agissent immédiatement. La répétition est recommandée pour les changements lourds, pas imposée. source(s'ouvre dans un nouvel onglet)
  • Les processus enfants se gèrent de façon classique : lancer, lire la sortie au fil de l'eau, attendre, lire le code de sortie, arrêter. Fermer un descripteur arrête l'enfant : rien ne fuit. source(s'ouvre dans un nouvel onglet)
  • Compiler pour une autre machine réutilise le compilateur croisé de Zig : le système et le processeur de la cible de déploiement forment simplement le triplet de compilation. source(s'ouvre dans un nouvel onglet)

Repensé

  • Répéter, planifier, valider. Les changements s'essaient dans un jumeau en mémoire, sans lien avec le réel ; seul un plan de mise à jour les fait passer au système réel. source(s'ouvre dans un nouvel onglet)
  • Imaginer un changement et l'exécuter sont deux pouvoirs séparés. Un acteur de type modèle de langage n'a aucun droit d'agir : il propose, il ne valide jamais. source(s'ouvre dans un nouvel onglet)
  • Le code système s'écrit dans une portée nommée : développement, déploiement ou exécution. Le code destiné à un téléphone est vérifié pour ce téléphone ; un acte interdit est refusé dès l'écriture. source(s'ouvre dans un nouvel onglet)
  • Le jumeau remplace aussi une machine absente : les broches d'un microcontrôleur se simulent sur un portable, puis deviennent le code source du micrologiciel pour l'appareil réel. source(s'ouvre dans un nouvel onglet)

Deliberately not a Go/Rust-std system library: a clean but intentional subset of OS primitives, plus a layer none of them have -- an in-memory rehearsal twin over files, env and spawns, a single narrated/scoped/audited stzUpdatePlan that is the only bridge to reality, and a capability-actor lattice where an inference-only (LLM) actor's effect set is empty by construction. It omits by design what a governed-effects surface doesn't need: signals, broad IPC, the raw syscall zoo.

Ce qu'un artisan en fait, et ce qui se distingue

  • A rehearsal twin over files, env and spawns that touches nothing
  • stzUpdatePlan: the sole crossing to reality, through three gates (reject, scope, governance)
  • An inference-only (LLM) actor's effect set is empty by construction -- agents that cannot hurt you
  • Deploy(:Production) gated by MayCommit; Git and LocalRepo backends proven byte-for-byte

Ce qui est dû

  • Signal handling (SIGINT/SIGTERM/SIGCHLD and Windows console-control)
  • The full async reactor surface
  • Complete the process face (ExePath, IsAlive, process table); live-verify ssh/docker/device deploy backends
  • Richer IPC and the lower OS surface (permissions, symlinks, users/groups); wire the engine sandbox flag

La manière Softanza, exécutée

Ce que Softanza fait autrement dans ce domaine, montré par du code tiré de ses narrations et de ses gardes, et exécuté pour cette page.

Les changements de fichiers se répètent dans un jumeau en mémoire et donnent un plan lisible ; rien ne change sur le disque avant la validation du plan.

Softanza
oVfs = new stzVirtualFileSystem()
oVfs.CreateFolder("config")
oVfs.CreateFile("config/greenhouse.ini", "pump_threshold=40")
oVfs.MoveFile("old_settings.txt", "config/legacy.ini")
oPlan = oVfs.GenerateUpdatePlan()
? oPlan.Narration()
Sortie
Update plan (3 of 3 operations to commit):
  * 1. create folder 'config'
  * 2. create file 'config/greenhouse.ini' (17 bytes)
  * 3. move 'old_settings.txt' -> 'config/legacy.ini'

exécuté le 2026-10-01 21:18 dans la bibliothèque au commit 0e72e2e2c ; tiré de base/doc/narrations/stz-system-dev-to-deploy-narration.md(s'ouvre dans un nouvel onglet)

Les articles de ce domaine (8)

Les couloirs, un par un

Les couloirs et leurs notes sont cités tels qu'ils ont été lus à la source, le Read from the source on 2026-09-16, from a read-only main worktree.

Safe-world governance (actor, twin, commit)
Strong
A capability lattice, a rehearsal twin that touches nothing, stzUpdatePlan as the sole crossing with three gates; an LLM actor's effect set is empty.stzSystemActor, stzVirtualSystem, stzUpdatePlan; marker-file guard (queued spawn does not run until commit)
Process / subprocess management
Solid
Managed children: Spawn, streaming ReadOutput/ReadError, Wait, ExitCode, Kill, no-leak Close; SystemCall double-exec bug fixed (one spawn).system.zig, stzProcess, stzSystemCall
Environment & working directory
Solid
Get/set/unset/list env, cwd, hostname, username, cpu-count engine-backed; on Windows SetEnvironmentVariableW so later child spawns inherit.stzEnvironment
Filesystem operations
Solid
Read/write/append/copy/delete/stat and dir create/delete/list/walk/count screened by pathIsUsable; omits permissions, ownership, symlinks, fifos.file.zig, stzVirtualFileSystem
OS / platform detection & machine info
Solid
OS/arch/endianness, cpu-count, machine and process memory, declared profiles for non-host targets; facts are engine, opinions are Haro; not a deep sysinfo.base/platform
Time & clocks
Solid
Monotonic ns/us/ms, wall UTC, sleep, resolution; process uptime from a monotonic base instant at DLL load (the epoch-uptime bug fixed and guarded).time.zig
Deployment plane
Solid
define -> require -> feasibility -> plan -> execute -> ship; Deploy(:Production) gated by MayCommit; Git and LocalRepo backends proven byte-for-byte.stzDeployment, stzDeploymentSite, SOFTANZA_DELIVERY_PLANE.md
Build & emulation
Solid
stzBuilder + build.zig wasm produce a bundle; stzEmulator rehearses Deploy(:Emulated); stzPlatform refuses to deploy what wasn't built.stzBuilder, stzEmulator, stzWebBundle, stzPlatform
Threading / async (reactor)
Partial
reactor.zig is a libuv-backed loop, but only its first slice (version + selftest) ships in this group; no thread-spawn API.reactor.zig
Low-level OS surface
Partial
Path helpers and common file/dir ops; permissions, ownership, symlinks, fifos, mmap, users/groups, ptrace, raw syscalls deliberately omitted.stz_config_sandbox (designed, not wired)
IPC
Partial
Only the managed child's stdout/stderr/stdin pipes; no named pipes, shared memory or socketpair.
Signals
Emerging
None: grep finds no stz_signal* in the engine and no Haro signal class; no SIGINT/SIGTERM/SIGCHLD handling, no graceful shutdown.