Decisions
The decisions behind the system
Decisions are written down before they are made and changed only by writing down why. Each record names the context, the options that were on the table, what was chosen, what it costs, and what was rejected. Where a record and the build plan disagree, the record wins.
46 records
Foundations
What Tacid is built on and what it speaks.
Change and authority
The transaction API, the genome, and who is allowed to decide.
- 0006The typed transaction API is the OS APIAccepted
- 0007`/etc/tacid` is a git repository; the owner is a keyAccepted
- 0008The agent writes typed `tacid.*` options, never arbitrary NixAccepted
- 0009Five autonomy levels; reversibility is computed and is the boundaryAccepted
- 0010Hard invariants enforced outside the agentAccepted
- 0011bubblewrap/Landlock/seccomp, microVMs, and a kernel-enforced egress proxyAccepted
Keeping itself alive
Storage, updates, the immune system, and improving its own source.
- 0012LUKS2 + TPM2 with PIN, Btrfs, impermanence, systemd-boot, Lanzaboote opt-inAccepted
- 0013Signed channels, quiet-point updates, health-gated automatic rollbackAccepted
- 0014The agent may rebuild its own source within a signed core; proposals, not pull requestsAccepted
- 0015iwd + systemd-networkd + resolved; firewall on, SSH offAccepted
The mind
Models, memory, and the tools they may reach.
Surfaces
The terminal first, then the shell, the installer and the voice.
- 0019Niri compositor; `tacid-shell` in Iced on layer-shellAccepted
- 0020The TUI ships first and is complete; the daemon is headless-firstAccepted
- 0021One token file generates every surfaceAccepted
- 0022Netinstall and offline ISOs; the installer is Tacid in genesis modeAccepted
- 0023x86_64 first, aarch64 second, three GPU vendors, tiers, Apple as communityAccepted
- 0024Push-to-talk default; wake word opt-in; voice is untrusted; English firstAccepted
The project
Naming, licensing, testing, and who Tacid is for.
- 0025One monorepo; names, pronunciation, binariesAccepted
- 0026Apache-2.0 and CC-BY-4.0; DCO; BDFL; no telemetry; no accountsAccepted
- 0027VM tests, stub model, cassettes, eval set, injection corpus, fuzzing, hardware labAccepted
- 0028A typed fact API feeds Doctor and the health gateAccepted
- 0029Project environments, device center, probes, never rewrite existing NixAccepted
- 0030Brain and body may be separated over the same protocol, laterAccepted
From implementation
Settled after the founding set.
- 0031What building it changedAccepted
- 0032What the first boot foundAccepted
- 0033Installation without an evaluator on the privileged pathAccepted
- 0034The machine carries what it was built fromaccepted
- 0035A person's files are read as themaccepted
- 0036The root is a snapshot restored at bootaccepted
- 0037The machine builds its next generation from what it carriesaccepted
- 0038A machine follows its channel, and comes back from a revision that cannot startaccepted
- 0039The root's key is sealed to the TPM behind a PIN, and the passphrase is the way backaccepted
- 0040Generations are kept by declaration and collected by the keeperaccepted
- 0041The owner's key is made at installation, and the recovery key is shown onceaccepted
- 0042The body is declared at birth, and the first boot reads it backaccepted
- 0043Logs are read as data, by a capability of their ownaccepted
- 0044A repository is read as the person, and nothing in it is writtenaccepted
- 0045What is plugged in is a fact, with a role and the profile that grants accessaccepted
- 0046A project is what its files say, and Tacid writes nothing into itaccepted
No decisions match. Try a topic such as “storage”, “policy”, or “models”.