Decisions
Decisions
Newest first. Date, decision, rejected alternatives, reason, consequences.
2026-11-05 — Machine brain is a files-first Markdown vault
Decision: Journals, system facts, settings and reference notes live as plain
Markdown files in this git repo. Obsidian is the browsing layer. LLMs read and
write the files directly. BookStack (pdb.seabee.me) becomes a published mirror,
not the source of truth.
Rejected:
- BookStack-first — already has 230 pages and a web UI, but content is trapped
in MySQL; every LLM edit needs a token and an API call, and agents cannot
rgorgit diffit. - Dedicated PKM app (TriliumNext/SiYuan/Anytype) — richer features, but another service to run and back up, still database-backed, still API-shaped for LLMs.
Reason: The bottleneck was findability and LLM access, not note features. Files solve both with zero glue: Obsidian for humans, plain paths for agents.
Consequences:
- Vault lives at
/home/conor/Documents/brain(text only). Moved there fromSync/brainon 2026-11-05; git history came with it. - Not synced by Syncthing and no remote yet — Conor will add it to his own git server. Until then the only copy is this machine's disk.
- 230 BookStack pages migrate here; images stay referenced, not embedded.
Sync/Stuffstays as the heavy-file vault; not merged.- One-way publish back to
pdb.seabee.meis optional and later.
2026-11-05 — vps2 replaces the old vps as the public edge
Decision: Everything the old vps (203.57.114.42 / 100.64.0.2) did moves to
vps2 (187.52.126.150 / 100.64.0.16), and the old box is retired: public
Caddy edge, HAProxy mail ingress, outbound Postfix relay, and headscale. The
Ansible repo now treats the vps2 Caddyfile as the authoritative edge.
Why: One VPS instead of two, and the replacement already carries the workloads (marketdata, strata, Orca) that were spread across cbfarm and cbcore.
Alternatives rejected:
- Keep the old vps as the mail edge only: two boxes to patch, and the vps was already scheduled for deletion.
- Leave mail on the residential connection: cbcore's route (125.253.46.252) is on the Abusix blocklist, which is why the relay exists at all.
Consequences:
- Every A record that pointed at
203.57.114.42moves to187.52.126.150;mail.seabee.meneeds a PTR set in the Hostinger panel. - mailcow's
relayhostbecomes[100.64.0.16]:25at cutover, and dovecot'shaproxy_trusted_networkstrusts both tailnet addresses through the transition. - Certificate issuance starts over on the new IP (Caddy re-requests on first request per hostname).