Decision 0025
One monorepo; names, pronunciation, binaries
Architecture decision record 0025: One monorepo; names, pronunciation, binaries
Context
Schemas, modules, shell and daemon evolve together; contributors need one place to look.
The three plans
- Grok:
tacid/with agent, infer, tui, voice, conf, distro, docs, tests; brand discipline (“never Tacit”); TASS-id. - Fable: a flake root with modules, daemon workspace, panel, themes, installer, iso, hosts, docs, tests; TAH-sid.
- Codex: a monorepo first (os, shell, agent, system, cli, embedded, docs, website), split only when cadence demands; avoid stylizations colliding with “TacID”.
Decision
Monorepo tacidos/tacidos: flake.nix, nix/, crates/, models/, design/, docs/, hosts/
(examples only), tune/, .github/. Names: TacidOS (product), Tacid (short), pronounced
TASS-id, never “Tacit”. Sites tacidos.com (primary) and tacid.io (redirect or developer
portal; one community, not two). Binaries: tacid, tacidd, tacid-keeper, tacid-stem,
tacid-infer, tacid-egress, tacid-session, tacid-shell. The agent’s name defaults to
“Tacid” and is set in mind/personality.md. Reserve the GitHub organization and crate names now.
Consequences
- One CI, one release, one place for cross-cutting refactors.
- Split repositories (cache infrastructure, website) only when ownership or cadence demands.
Alternatives rejected
- Many repositories from day one: cross-cutting changes become choreography.