// build year
Timeline
Dated entries, newest first. Where a decision was reversed later, both entries stay: the engineering log doesn't get to retroactively clean up.
First time here? read this first
This page is the project-level narrative spine: the milestones in order, without article-length detail. Each entry deep-links to the full article where one exists.
New to self-hosted AI? Start with the Sovereign AI Stack reference architecture for the why, or the Self-Hosted AI Start Here guide for the how. Topic-specific journeys are on the reading paths.
Jargon terms get a short parenthetical translation; the link is the deep-dive path.
May 2026
- Big 32-article publish from the backlog (2026-05-27). Pre-buy decision tree, four budget tiers, four industry verticals, the comparison quadrilogy, and the new HUB Sovereign AI Stack reference architecture. Site goes from 88 to 120 live articles, reading-paths go from 6 to 9.
- Memory-pending-audit cadence instituted (2026-05-25). One audit session uncovered five stale memory claims. Next audits: 2026-08-25, 2026-11-25, 2027-02-25, 2027-05-25. The discipline behind this is in The Engineering Honesty Manifesto (Rule 6).
- Newsletter decision: no traditional email list (2026-05-25). NIP-23 long-form posts on Nostr (a decentralised publishing protocol) plus the RSS feed at /rss.xml are the sovereign-native substitute. Reasoning is in What Sovereign Actually Means in 2026 (collecting subscriber emails would be a regression on the sovereignty framework).
- BLOG-057 + BLOG-058 shipped (2026-05-25). Google-friendly site-search hint (WebSite SearchAction JSON-LD) and a custom 5xx fallback page via Caddy
handle_errorsthat survives any backend outage. - Astro 5 → 6.3.7 migration (2026-05-24, commit a16ebd0). 30-minute single sitting. Documented in Astro 6 + Caddy: The Static-First AI Blog Stack.
- Cloudflared tunnel retired (2026-05-24). sovgrid.org now serves direct Caddy + Let's Encrypt on the Floki VPS, no Cloudflare in the path. Stack moves from 5/6 to 6/6 on the sovereignty framework. Full receipts in Caddy and Cloudflare Tunnel: The Reliability Pattern.
- vps-healthcheck v0.1.0 plus sovereign-mcp v1.0.0 distributed as public open-source (2026-05-24). awesome-sysadmin PR #807 submitted; CHANGELOGs, GitHub topics, and CI all set up. The six-week MCP build log is at MCP for Engineers Who Hate Marketing.
- /data/config migration to sovereign-ops/infra/ (2026-05-23). Symlink keeps backwards-compat. AGENTS.md (a per-repo contract for AI coding agents) consolidated across 16 Gitea repos. Multi-agent operating discipline becomes first-class infrastructure.
- Floki healthcheck script + cron: 12-check daily audit of the public VPS, single Matrix push, JSON sidecar. Public OSS at github.com/cipherfoxie/vps-healthcheck.
- NSM aggregator (the analytics that power /insights/) gains distributed-scraper detection. A 614-hit fake-viral spike was filtered out: one user-agent across many /24 subnets is a bot, not a reader. Operator-DSL /16 also moved out of source code into an out-of-repo side-car file (privacy).
- Privacy-scrub pass: tailnet identifiers, CGNAT IPs, residential-ISP ranges removed from four blog articles and from agent memory.
- Qwen3.6 PrismaQuant becomes text-primary on 2026-05-13 at 57 to 62 tokens/sec with DFlash speculative decoding, a technique where a small model drafts tokens that the large model verifies in parallel. Mistral Small 4 moves to Vision-only and text-fallback. Reasoning: Next Model Choices on DGX Spark. Head-to-head: Mistral / Qwen / GLM-5 on DGX Spark.
- EAGLE on Mistral indefinitely deferred. EAGLE is a speculative-decoding scheme; the SGLang nightly regressed and made it slower than the no-EAGLE baseline. Stable safer-eagle restored 2026-05-22. Pattern: EAGLE Content-Dependent Throughput.
- VibeVoice / Higgs Audio v2 / IndexTTS-2 spike kicked off after the Voxtral V6 spot-listen showed a ceiling on long-form expressivity. Pivot rationale: Voxtral Capped at 3/10: Picking the Next Open TTS.
- opencode-web behind Caddy + Tailscale shipped, then deprecated for daily use in favour of Termux + tmux + opencode CLI. Lesson: the mobile path that worked was the simpler one. Context: Coding-Agent Comparison 2026.
- OpenWebUI custom model "Sovereign Qwen" goes live: Qwen3.6 + system prompt + sovereign-kb retrieval + SearXNG web search + an mcpo bridge to the sovereign-mcp server.
April 2026
- sovereign-mcp goes live on Floki at mcp.sovgrid.org/self-hosted-ai. Listed on the official MCP registry as
org.sovgrid/self-hosted-ai(DNS-auth via ed25519: the registry verifies ownership by checking a cryptographic TXT record on the domain). Setup: Setup: Sovereign MCP. Registry submission: 100/100 on Smithery in 4 Hours. - Floki VPS bring-up: FlokiNET no-KYC Romania, Debian 13, Docker CE + Caddy. sovgrid.org goes live with Astro 5. Setup: Floki VPS Setup.
- DGX Spark put into daily operation. The SGLang nightly + CUDA 13 SM121A-fix combination identified as the only build that actually compiles for the Blackwell GPU. Setup: Mistral + SGLang Setup.
- Mistral Small 4 NVFP4 (a 4-bit floating-point quantisation that lets a 119B-parameter model fit in 128 GB unified memory) runs on SGLang. EAGLE first attempt works pre-regression. Quantisation explainer: NVFP4 Quantisation Explained.
- AGENTS.md adopted as the per-repo contract that AI coding agents read before touching the codebase. Consolidated across sovereign-blog, podcast-studio, ~/.vibe, ~/.openclaw. The older VIBE.md as a primary contract is retired.
- Backup pipeline rebuilt with age-encryption (a modern symmetric encryption tool) and dual-target: NVMe plus USB. A Floki snapshot pull was added as Step 0. Full discipline: Backing Up 119B Parameters Without Going Bankrupt.
March 2026
- Voxtral-4B TTS integrated into the podcast studio. The end-to-end pipeline reaches its first full episode. The ceiling that triggered the May pivot was not yet visible.
- Image-generation pipeline (FLUX.1-schnell on ComfyUI, locally on the DGX Spark, plus WebP conversion and manual rating) backfilled across all blog articles. Setup: ComfyUI + FLUX Setup.
- Stylometry phase 5 adopted as anti-AI-detection editorial signals: em-dash penalty, uniform-list penalty, sentence-length-stdev reward. The honest version of what this scoring does and does not catch: The Quality Gate That Rewards Fabrication.
- OpenHands BadRequestError fix landed as a volume-mounted patch; the same week, the opencode strict-alternation bug surfaces on Mistral. The same class of bug, two different agents.
Earlier
- Pre-DGX-Spark operations on smaller hardware. The decision tree that became the Self-Hosted AI Start Here guide was being lived through, not yet written down.
- Nostr identity trio (cipherfox / sovgrid / hexabella) registered. First V4V (Value-for-Value, a Lightning-based tipping pattern) zaps received. Strategy: Zap Tracking and the Nostr Account.