Decision 0028
A typed fact API feeds Doctor and the health gate
Architecture decision record 0028: A typed fact API feeds Doctor and the health gate
Context
Parsing shell output is how agents hallucinate machine state. The health gate and diagnostics need the same truth.
The three plans
- Grok:
hw.info,svc.statustools; a system pulse in the TUI. - Fable: a
tacid-systemMCP server for services, journal, hardware inventory, generations. - Codex: a structured OS fact API (
system.*) and Tacid Doctor combining deterministic checks with explanation; the checks produce facts, the model produces prose.
Decision
system.* is a typed model (cpu, memory, gpu, disks, usb, serial, probes, network, services,
processes, logs, generations, packages, kernel, session, drift) derived from sysfs, udev,
journald, systemd’s D-Bus, the Nix store and GPU tools. tacid doctor <domain> runs deterministic
checks over facts and lets the model explain and propose a transaction; the health gate reuses the
same checks; the shell’s system pulse reads the same model.
Consequences
- One source of truth for diagnostics, health and the agent’s self-knowledge.
- A Doctor check is a contribution on-ramp.
Alternatives rejected
- Letting the model run
lspciand read: slower, wrong more often, and unauditable.