<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Sovereign AI Blog</title>
    <link>https://sovgrid.org</link>
    <atom:link href="https://sovgrid.org/rss.xml" rel="self" type="application/rss+xml"/>
    <description>Diary of an emerging AI developer. Sovereign, privacy-first, everything local.</description>
    <language>en</language>
    <copyright>cipherfox</copyright>
    <lastBuildDate>Sat, 04 Jul 2026 00:00:00 GMT</lastBuildDate>
    <ttl>60</ttl>
    <image>
      <url>https://sovgrid.org/brand/og-default.jpg</url>
      <title>Sovereign AI Blog</title>
      <link>https://sovgrid.org</link>
    </image>

    <item>
      <title><![CDATA[I Let Qwen3.6 Build a Full-Stack App. It Worked. I Wasn't Satisfied.]]></title>
      <link>https://sovgrid.org/blog/what-i-learned-testing-qwen36-opencode-vs-claude-fullstack/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/what-i-learned-testing-qwen36-opencode-vs-claude-fullstack/</guid>
      <pubDate>Sat, 04 Jul 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Qwen3.6-35B built a working SvelteKit 5 + D3.js app from a single prompt. The build passes. The features ship. But the architecture is improvised, the code is duplicated, and it took eight debugging iterations to get here. Here's what the gap between 'works' and 'good' actually costs.]]></description>
      <enclosure url="https://sovgrid.org/images/btc-powerlaw-viz/hero.webp" type="image/webp" length="21126"/>
      <media:thumbnail url="https://sovgrid.org/images/btc-powerlaw-viz/hero.webp"/>
      <media:content url="https://sovgrid.org/images/btc-powerlaw-viz/hero.webp" type="image/webp" medium="image" fileSize="21126"/>
      <category>strategy</category>
      <category>qwen</category>
      <category>opencode</category>
      <category>benchmarking</category>
    </item>
    <item>
      <title><![CDATA[Frontier AI on Bitcoin: ppq.ai as the No-KYC Cloud Fallback for a Sovereign Stack (2026)]]></title>
      <link>https://sovgrid.org/blog/frontier-ai-on-bitcoin-ppq-no-kyc-cloud-fallback/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/frontier-ai-on-bitcoin-ppq-no-kyc-cloud-fallback/</guid>
      <pubDate>Fri, 26 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A self-hosted stack still hits two or three tasks where a frontier model wins. Buying that access from Anthropic means a KYC account and a card. ppq.ai is the other door: an OpenAI-compatible proxy to Claude, GPT and others, paid per query over Bitcoin Lightning, no account. Here is what it is good for, where it betrays the sovereign premise, and exactly how I wired it as the fallback behind local Qwen.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/frontier-ai-on-bitcoin-ppq-no-kyc-cloud-fallback/hero.webp" type="image/webp" length="36016"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/frontier-ai-on-bitcoin-ppq-no-kyc-cloud-fallback/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/frontier-ai-on-bitcoin-ppq-no-kyc-cloud-fallback/hero.webp" type="image/webp" medium="image" fileSize="36016"/>
      <category>strategy</category>
      <category>lightning</category>
      <category>agents</category>
    </item>
    <item>
      <title><![CDATA[Gemma-4-31B NVFP4 on a Single DGX Spark: When the Quantization Is the Bottleneck]]></title>
      <link>https://sovgrid.org/blog/gemma-4-31b-nvfp4-on-a-single-dgx-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/gemma-4-31b-nvfp4-on-a-single-dgx-spark/</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Gemma-4-31B in NVIDIA's NVFP4 format fits a single DGX Spark and is a strong reasoner. But on Blackwell sm_121 the default FP4 kernel path is broken, and a dense 31B is bandwidth-bound at around 4 tok/s no matter what you do. I measured the baseline, the Marlin fix, and the honest conclusion: the real speedup is a model swap, not a flag.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/gemma-4-31b-nvfp4-on-a-single-dgx-spark/hero.webp" type="image/webp" length="46754"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/gemma-4-31b-nvfp4-on-a-single-dgx-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/gemma-4-31b-nvfp4-on-a-single-dgx-spark/hero.webp" type="image/webp" medium="image" fileSize="46754"/>
      <category>strategy</category>
      <category>dgx-spark</category>
      <category>benchmarking</category>
      <category>vllm</category>
    </item>
    <item>
      <title><![CDATA[GLM-4.7-Flash on a Single DGX Spark: the Repo Says AWQ, the Model Says MLA]]></title>
      <link>https://sovgrid.org/blog/glm-47-flash-on-a-single-dgx-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/glm-47-flash-on-a-single-dgx-spark/</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[GLM-4.7-Flash is a 30B-A3B MoE coding model that fits a single 128GB DGX Spark with room to spare. Bringing it up on Blackwell sm_121 took two failures that every published recipe gets wrong: the 'AWQ' build is actually compressed-tensors, and the model speaks MLA, so flash_attn is illegal. Here is the working recipe, the single-stream decode number nobody reports, and what it does to my coding agent.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/glm-47-flash-on-a-single-dgx-spark/hero.webp" type="image/webp" length="34902"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/glm-47-flash-on-a-single-dgx-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/glm-47-flash-on-a-single-dgx-spark/hero.webp" type="image/webp" medium="image" fileSize="34902"/>
      <category>strategy</category>
      <category>dgx-spark</category>
      <category>benchmarking</category>
      <category>vllm</category>
      <category>mcp</category>
    </item>
    <item>
      <title><![CDATA[goose vs vibe vs opencode: Picking a Local Coding CLI for a Sovereign vLLM Stack (2026)]]></title>
      <link>https://sovgrid.org/blog/goose-vs-vibe-vs-opencode-local-coding-cli/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/goose-vs-vibe-vs-opencode-local-coding-cli/</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Three local, self-hostable coding-agent CLIs that drive your own vLLM models instead of a cloud API: opencode, goose, and vibe. I run opencode as primary and goose as backup on a DGX Spark, and I retired vibe. Here is the decision, with the licences, the maintenance reality, and the one config gotcha each, so you can choose for your own box.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/goose-vs-vibe-vs-opencode-local-coding-cli/hero.webp" type="image/webp" length="47354"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/goose-vs-vibe-vs-opencode-local-coding-cli/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/goose-vs-vibe-vs-opencode-local-coding-cli/hero.webp" type="image/webp" medium="image" fileSize="47354"/>
      <category>strategy</category>
      <category>agents</category>
      <category>opencode</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[A No-Vector RAG That Works: The Architecture, Decision by Decision]]></title>
      <link>https://sovgrid.org/blog/no-vector-rag-architecture/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/no-vector-rag-architecture/</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The complete design of the retrieval system my local models run on: Markdown files, one JSON index, full-body BM25 chunked per section, served to agents over MCP. No vector database, no embeddings. Here is every decision and the reason behind it, with the external evidence that backs each one.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/no-vector-rag-architecture/hero.webp" type="image/webp" length="52648"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/no-vector-rag-architecture/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/no-vector-rag-architecture/hero.webp" type="image/webp" medium="image" fileSize="52648"/>
      <category>sovereign-ai</category>
      <category>rag</category>
      <category>self-hosted</category>
      <category>mcp</category>
      <category>technical</category>
    </item>
    <item>
      <title><![CDATA[Authoritarian and Democratic Inference]]></title>
      <link>https://sovgrid.org/blog/authoritarian-and-democratic-inference/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/authoritarian-and-democratic-inference/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Lewis Mumford said a technology can be authoritarian or democratic before anyone uses it, and Langdon Winner said artifacts have politics. The cloud API and the desk box produce the same tokens and distribute power in opposite directions. Essay six of a series on sovereignty.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/authoritarian-and-democratic-inference/hero.webp" type="image/webp" length="42514"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/authoritarian-and-democratic-inference/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/authoritarian-and-democratic-inference/hero.webp" type="image/webp" medium="image" fileSize="42514"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[Legible to the Model]]></title>
      <link>https://sovgrid.org/blog/legible-to-the-model/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/legible-to-the-model/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[James C. Scott showed how states make citizens legible so they can be governed. At the API boundary the same machine runs in reverse: every prompt makes you legible to the provider. Essay five of a series on sovereignty and the philosophy of running your own model.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/legible-to-the-model/hero.webp" type="image/webp" length="64044"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/legible-to-the-model/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/legible-to-the-model/hero.webp" type="image/webp" medium="image" fileSize="64044"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[Owning the Weights Kills the Magic Trick]]></title>
      <link>https://sovgrid.org/blog/owning-the-weights-kills-the-magic-trick/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/owning-the-weights-kills-the-magic-trick/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The consciousness theatre around AI, both the over-trust and the over-fear, needs the model to be a remote black box. Owning the weights, watching the tokens, and reading the logs is the literal antidote to the mystification. Part of a series on sovereignty and the philosophy of running your own model.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/owning-the-weights-kills-the-magic-trick/hero.webp" type="image/webp" length="114884"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/owning-the-weights-kills-the-magic-trick/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/owning-the-weights-kills-the-magic-trick/hero.webp" type="image/webp" medium="image" fileSize="114884"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[Receiving Stolen Goods at 60 Tokens a Second]]></title>
      <link>https://sovgrid.org/blog/receiving-stolen-goods/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/receiving-stolen-goods/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Self-hosting stops feeding the extraction machine going forward. It does nothing about the pirated books and the $2-an-hour labor already congealed in the weights I run. An honest blog has to hold both. Essay eight of a series on sovereignty.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/receiving-stolen-goods/hero.webp" type="image/webp" length="83782"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/receiving-stolen-goods/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/receiving-stolen-goods/hero.webp" type="image/webp" medium="image" fileSize="83782"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[Safety Is the Name of the Centralization]]></title>
      <link>https://sovgrid.org/blog/safety-is-the-name-of-the-centralization/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/safety-is-the-name-of-the-centralization/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The strongest objection to this whole series is that open weights let danger proliferate irreversibly, and a closed frontier is the only place to hold the line. That objection is real. So is what it asks for: control over who is allowed to compute. Essay ten of a series on sovereignty.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/safety-is-the-name-of-the-centralization/hero.webp" type="image/webp" length="44978"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/safety-is-the-name-of-the-centralization/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/safety-is-the-name-of-the-centralization/hero.webp" type="image/webp" medium="image" fileSize="44978"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[The Gap Is Widening and I'm Staying Anyway]]></title>
      <link>https://sovgrid.org/blog/the-gap-is-widening-and-im-staying/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/the-gap-is-widening-and-im-staying/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The open-closed gap may be growing, and the honest version of the open camp says so. I stayed anyway, because sovereignty was never a capability bet. It is a control bet, and conflating the two is the mistake both evangelists and critics make. Essay four of a series on sovereignty.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/the-gap-is-widening-and-im-staying/hero.webp" type="image/webp" length="10792"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/the-gap-is-widening-and-im-staying/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/the-gap-is-widening-and-im-staying/hero.webp" type="image/webp" medium="image" fileSize="10792"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[The Model Is the Cheap Part]]></title>
      <link>https://sovgrid.org/blog/the-model-is-the-cheap-part/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/the-model-is-the-cheap-part/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Owning versus renting is not an ideology, it is the correct economic read of a commoditizing stack. The model is the cheap part. Your data, your process, and your judgment are the moat. Part of a series on sovereignty.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/the-model-is-the-cheap-part/hero.webp" type="image/webp" length="45786"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/the-model-is-the-cheap-part/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/the-model-is-the-cheap-part/hero.webp" type="image/webp" medium="image" fileSize="45786"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[The Pharmakon on My Desk]]></title>
      <link>https://sovgrid.org/blog/the-pharmakon-on-my-desk/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/the-pharmakon-on-my-desk/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Offloading thinking to a model proletarianizes your own knowledge whether the model is rented or owned, so self-hosting is not automatic salvation. But the model is a pharmakon, poison and cure at once, and the usage patterns decide which. Essay seven of a series on sovereignty.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/the-pharmakon-on-my-desk/hero.webp" type="image/webp" length="45840"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/the-pharmakon-on-my-desk/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/the-pharmakon-on-my-desk/hero.webp" type="image/webp" medium="image" fileSize="45840"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[The Privacy Paradox Is Real and I'm the Exception]]></title>
      <link>https://sovgrid.org/blog/the-privacy-paradox-im-the-exception/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/the-privacy-paradox-im-the-exception/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Almost nobody will self-host, and the people who say they value privacy choose convenience anyway. Essay nine of a series on sovereignty argues the honest case can never be everyone should, only here is what it costs me.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/the-privacy-paradox-im-the-exception/hero.webp" type="image/webp" length="30028"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/the-privacy-paradox-im-the-exception/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/the-privacy-paradox-im-the-exception/hero.webp" type="image/webp" medium="image" fileSize="30028"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[When the Agent Transacts]]></title>
      <link>https://sovgrid.org/blog/when-the-agent-transacts/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/when-the-agent-transacts/</guid>
      <pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The moment an AI agent can act and spend on its own, the only safety boundary that means anything is a perimeter you own. Renting the agent means renting the blast radius. Part of a series on sovereignty and the philosophy of running your own model.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/when-the-agent-transacts/hero.webp" type="image/webp" length="40236"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/when-the-agent-transacts/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/when-the-agent-transacts/hero.webp" type="image/webp" medium="image" fileSize="40236"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[Building /learn: a reference layer, and the options I rejected]]></title>
      <link>https://sovgrid.org/blog/building-learn-reference-glossary/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/building-learn-reference-glossary/</guid>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How the /learn glossary on sovgrid.org works, why it links itself, what makes each entry more than a definition, and the design calls I argued myself out of: tooltip versus link, /glossary versus /learn, and merging it into the book.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/building-learn-reference-glossary/hero.webp" type="image/webp" length="28294"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/building-learn-reference-glossary/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/building-learn-reference-glossary/hero.webp" type="image/webp" medium="image" fileSize="28294"/>
      <category>strategy</category>
      <category>engineering-honesty</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[I Moved the Dependency, I Didn't Remove It]]></title>
      <link>https://sovgrid.org/blog/i-moved-the-dependency/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/i-moved-the-dependency/</guid>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The strongest objection to self-hosting is that it is theatre: you still sit on CUDA, on weights handed down by an oligopoly, on a rented edge. It is correct, and it is not the end of the argument. Essay two of a series on sovereignty.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/i-moved-the-dependency/hero.webp" type="image/webp" length="30120"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/i-moved-the-dependency/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/i-moved-the-dependency/hero.webp" type="image/webp" medium="image" fileSize="30120"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[My Spark Idles at 22% and That's the Point]]></title>
      <link>https://sovgrid.org/blog/my-spark-idles-at-22-percent/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/my-spark-idles-at-22-percent/</guid>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The utilization math that proves renting is cheaper also proves the desk model is a possession, not a utility. NVIDIA is right about idle GPUs and still wrong about my desk. Essay three of a series on sovereignty.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/my-spark-idles-at-22-percent/hero.webp" type="image/webp" length="13762"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/my-spark-idles-at-22-percent/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/my-spark-idles-at-22-percent/hero.webp" type="image/webp" medium="image" fileSize="13762"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[The Radical Monopoly of Convenience]]></title>
      <link>https://sovgrid.org/blog/radical-monopoly-of-convenience/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/radical-monopoly-of-convenience/</guid>
      <pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Ivan Illich had a word for a tool that manufactures the need it then meters. In 2026 the rented AI API became the cleanest example I have ever seen, and the bill is arriving. Essay one of a series on sovereignty and the philosophy of running your own model.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/radical-monopoly-of-convenience/hero.webp" type="image/webp" length="151606"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/radical-monopoly-of-convenience/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/radical-monopoly-of-convenience/hero.webp" type="image/webp" medium="image" fileSize="151606"/>
      <category>ai-philosophy</category>
      <category>sovereign-ai</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[I Rigged My Own RAG Benchmark. Twice.]]></title>
      <link>https://sovgrid.org/blog/i-rigged-my-own-rag-benchmark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/i-rigged-my-own-rag-benchmark/</guid>
      <pubDate>Fri, 19 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I almost bolted a vector database onto a knowledge base that did not need one. My own benchmark told me to, then told me the opposite, both times with total confidence, both times because I had quietly chosen the test queries. Here is the path from the standard 2026 RAG playbook to the number that finally told the truth, and why the retriever that won is a hundred lines of standard library.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/i-rigged-my-own-rag-benchmark/hero.webp" type="image/webp" length="80900"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/i-rigged-my-own-rag-benchmark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/i-rigged-my-own-rag-benchmark/hero.webp" type="image/webp" medium="image" fileSize="80900"/>
      <category>sovereign-ai</category>
      <category>self-hosted</category>
      <category>engineering-honesty</category>
      <category>rag</category>
      <category>benchmarking</category>
    </item>
    <item>
      <title><![CDATA[The GitHub Bot That Cannot Write]]></title>
      <link>https://sovgrid.org/blog/the-github-bot-that-cannot-write/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/the-github-bot-that-cannot-write/</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I wanted a daily read of what is happening across my public repositories without handing a cloud service write access to them. The result is a sovereign GitHub assistant that runs on my own GPU, reviews incoming pull requests with a local model, and physically cannot post to GitHub. Here is the architecture, every decision behind it, the comparison with the SaaS reviewers, and the four times the build lied to me before it told the truth.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/the-github-bot-that-cannot-write/hero.webp" type="image/webp" length="70642"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/the-github-bot-that-cannot-write/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/the-github-bot-that-cannot-write/hero.webp" type="image/webp" medium="image" fileSize="70642"/>
      <category>sovereign-ai</category>
      <category>self-hosted</category>
      <category>devops</category>
      <category>mcp</category>
    </item>
    <item>
      <title><![CDATA[The Week the Dependency Changed Its Mind]]></title>
      <link>https://sovgrid.org/blog/the-week-the-dependency-changed-its-mind/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/the-week-the-dependency-changed-its-mind/</guid>
      <pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[On June 13 2026 the US ordered Anthropic to cut off its strongest models for every foreign national on earth. The next day Microsoft's CEO published an essay telling companies to own their learning loop or lose it. Two events from opposite ends of the industry, one conclusion the sovereign-AI corner has been writing down for a year: if you do not control the substrate, you do not control the outcome.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/the-week-the-dependency-changed-its-mind/hero.webp" type="image/webp" length="30802"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/the-week-the-dependency-changed-its-mind/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/the-week-the-dependency-changed-its-mind/hero.webp" type="image/webp" medium="image" fileSize="30802"/>
      <category>sovereign-ai</category>
      <category>authority</category>
      <category>voice</category>
    </item>
    <item>
      <title><![CDATA[A Benchmark Handed Me a Number Three Times in One Day. Three Times It Was Lying.]]></title>
      <link>https://sovgrid.org/blog/catching-your-benchmark-lying-three-measurement-traps/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/catching-your-benchmark-lying-three-measurement-traps/</guid>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Standing up two large models on a DGX Spark, my own measurements tried to deceive me three separate ways: a harness that scored a working model at zero, a one-shot test that framed the model for a bug that was mine, and a cold reading that undersold decode speed by 35 percent. None of the wrong numbers were random. Each had a cause, a tell, and a fix. Here is the field guide.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/catching-your-benchmark-lying-three-measurement-traps/hero.webp" type="image/webp" length="35170"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/catching-your-benchmark-lying-three-measurement-traps/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/catching-your-benchmark-lying-three-measurement-traps/hero.webp" type="image/webp" medium="image" fileSize="35170"/>
      <category>engineering-honesty</category>
      <category>benchmarking</category>
      <category>dgx-spark</category>
      <category>qwen</category>
    </item>
    <item>
      <title><![CDATA[I Built OpenAI's gpt-oss-120b on a Single DGX Spark. My 35B Qwen Out-Coded It.]]></title>
      <link>https://sovgrid.org/blog/gpt-oss-120b-on-a-single-dgx-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/gpt-oss-120b-on-a-single-dgx-spark/</guid>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[gpt-oss-120b pulls nearly four million downloads a month, so I assumed it was a one-command experience. Getting it to serve on a DGX Spark took a frozen box, a 25GB image pull strangled by a Tor proxy, and a 43-minute kernel compile. Then the measurement: on my own coding tasks the 120B scored 56 percent where the 35B Qwen I already run scored 100. Here is the full teardown, with every number measured on the box and the failed measurements thrown out, not published.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/gpt-oss-120b-on-a-single-dgx-spark/hero.webp" type="image/webp" length="82818"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/gpt-oss-120b-on-a-single-dgx-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/gpt-oss-120b-on-a-single-dgx-spark/hero.webp" type="image/webp" medium="image" fileSize="82818"/>
      <category>dgx-spark</category>
      <category>comparison</category>
      <category>benchmarking</category>
      <category>strategy</category>
      <category>vllm</category>
    </item>
    <item>
      <title><![CDATA[Three Quants of One 35B Qwen on a DGX Spark. The Fastest Build Was the Only One That Could Still See.]]></title>
      <link>https://sovgrid.org/blog/qwen3-35b-quant-comparison-autoround-prismaquant-fp8/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/qwen3-35b-quant-comparison-autoround-prismaquant-fp8/</guid>
      <pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Same model, same box, three ways to shrink it: Intel's AutoRound int4, a 4.75-bit PrismaQuant, and FP8. I measured all three on decode speed, coding accuracy, and vision, with one ruler per axis and the failed runs thrown out. AutoRound won every column that mattered, and the surprise was vision: the leanest build kept its eyes while the others went blind or broke. Here is the teardown.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/qwen3-35b-quant-comparison-autoround-prismaquant-fp8/hero.webp" type="image/webp" length="27182"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/qwen3-35b-quant-comparison-autoround-prismaquant-fp8/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/qwen3-35b-quant-comparison-autoround-prismaquant-fp8/hero.webp" type="image/webp" medium="image" fileSize="27182"/>
      <category>dgx-spark</category>
      <category>comparison</category>
      <category>benchmarking</category>
      <category>qwen</category>
      <category>vllm</category>
    </item>
    <item>
      <title><![CDATA[I Ran NVIDIA's 120B Nemotron on a Single DGX Spark. It Is Smart, Slow, and Surprisingly Good at One Job]]></title>
      <link>https://sovgrid.org/blog/nemotron-3-super-120b-on-a-single-dgx-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/nemotron-3-super-120b-on-a-single-dgx-spark/</guid>
      <pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[NVIDIA's Nemotron-3-Super-120B-A12B is tuned for Blackwell and ships an NVFP4 build that fits a single 128GB DGX Spark. I measured it where almost nobody else does: single-stream, on one GB10. The result is 23.7 tok/s, a competent but painfully verbose coder, and a genuinely strong retrieval agent. Here is the full teardown, with the published benchmarks fact-checked against what the box actually did.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/nemotron-3-super-120b-on-a-single-dgx-spark/hero.webp" type="image/webp" length="68042"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/nemotron-3-super-120b-on-a-single-dgx-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/nemotron-3-super-120b-on-a-single-dgx-spark/hero.webp" type="image/webp" medium="image" fileSize="68042"/>
      <category>strategy</category>
      <category>dgx-spark</category>
      <category>benchmarking</category>
      <category>mcp</category>
      <category>vllm</category>
    </item>
    <item>
      <title><![CDATA[Agent-bench: stop trusting install counts, start measuring your agent's tools]]></title>
      <link>https://sovgrid.org/blog/agent-bench-pillar/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/agent-bench-pillar/</guid>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I built a small, dependency-free harness that answers one question with numbers instead of vibes: does this enhancement make my agent measurably better, on my models, on my tasks? Here is the method, what I found, and why deterministic gates are the whole point.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/agent-bench-pillar/hero.webp" type="image/webp" length="18622"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/agent-bench-pillar/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/agent-bench-pillar/hero.webp" type="image/webp" medium="image" fileSize="18622"/>
      <category>strategy</category>
      <category>agents</category>
      <category>opencode</category>
      <category>benchmarking</category>
    </item>
    <item>
      <title><![CDATA[Smaller, Faster, Still Smart? AutoRound int4 vs PrismaQuant for a Self-Hosted Coding Model]]></title>
      <link>https://sovgrid.org/blog/autoround-int4-vs-prismaquant-coding-quant-duel/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/autoround-int4-vs-prismaquant-coding-quant-duel/</guid>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I run Qwen3.6-35B at 4.75-bit for coding. A 4.0-bit AutoRound build promised more speed. Fewer bits usually means a dumber model, so I measured both halves: decode throughput and coding quality, the latter through my own agent-bench harness. The result settled it. Here is the duel, the bandwidth math, and why the bit count was the wrong thing to fear.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/autoround-int4-vs-prismaquant-coding-quant-duel/hero.webp" type="image/webp" length="75126"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/autoround-int4-vs-prismaquant-coding-quant-duel/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/autoround-int4-vs-prismaquant-coding-quant-duel/hero.webp" type="image/webp" medium="image" fileSize="75126"/>
      <category>strategy</category>
      <category>qwen</category>
      <category>dgx-spark</category>
      <category>benchmarking</category>
    </item>
    <item>
      <title><![CDATA[Caveman: does the 75% token-saving skill survive contact with a self-hosted model?]]></title>
      <link>https://sovgrid.org/blog/caveman-local-benchmark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/caveman-local-benchmark/</guid>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[caveman has ~200k installs and claims 75% token reduction. I measured it on two local models and three Claude frontiers (Sonnet 4.6, Opus 4.8, Fable 5). The math does not work out the way the claim says it does.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/caveman-local-benchmark/hero.webp" type="image/webp" length="40638"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/caveman-local-benchmark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/caveman-local-benchmark/hero.webp" type="image/webp" medium="image" fileSize="40638"/>
      <category>strategy</category>
      <category>agents</category>
      <category>benchmarking</category>
    </item>
    <item>
      <title><![CDATA[Does Serena help a self-hosted coding model? I benchmarked it]]></title>
      <link>https://sovgrid.org/blog/serena-local-benchmark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/serena-local-benchmark/</guid>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Serena is one of the most-installed coding MCP servers. I tested it against two local models (Qwen3.6-35b and Mistral-Small-4) on three refactor tasks with deterministic gates. The short answer is more interesting than yes or no.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/serena-local-benchmark/hero.webp" type="image/webp" length="13274"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/serena-local-benchmark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/serena-local-benchmark/hero.webp" type="image/webp" medium="image" fileSize="13274"/>
      <category>strategy</category>
      <category>mcp</category>
      <category>agents</category>
      <category>benchmarking</category>
    </item>
    <item>
      <title><![CDATA[vps-healthcheck: Twelve Daily Checks, One SSH Session, One Notification]]></title>
      <link>https://sovgrid.org/blog/vps-healthcheck/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/vps-healthcheck/</guid>
      <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Monitoring one VPS with a Prometheus stack is like hiring a security team for a garden shed. I wrote a 315-line bash script instead: one SSH session, twelve checks, one morning notification. Here is the design, the honest comparison against the usual suspects, and why detect-and-alert beats auto-fix at this scale.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/vps-healthcheck/hero.webp" type="image/webp" length="9220"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/vps-healthcheck/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/vps-healthcheck/hero.webp" type="image/webp" medium="image" fileSize="9220"/>
      <category>strategy</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[The Leaderboard Said 239 Tokens a Second. My DGX Spark Said 71.]]></title>
      <link>https://sovgrid.org/blog/spark-arena-recipes-benchmarked-dgx-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/spark-arena-recipes-benchmarked-dgx-spark/</guid>
      <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I took the published Spark-Arena recipes for Qwen3.6-35B on a DGX Spark, ran them on my own box, and almost none of the headline throughput reproduced. Here is what the numbers actually mean once you control for the container image, the measurement harness, and the prompt, plus a capability that was hiding inside one of the quants.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/spark-arena-recipes-benchmarked-dgx-spark/hero.webp" type="image/webp" length="26376"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/spark-arena-recipes-benchmarked-dgx-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/spark-arena-recipes-benchmarked-dgx-spark/hero.webp" type="image/webp" medium="image" fileSize="26376"/>
      <category>devops</category>
      <category>qwen</category>
      <category>dgx-spark</category>
      <category>engineering-honesty</category>
    </item>
    <item>
      <title><![CDATA[TTS Spike Day 2: My Ears, the Vendor, and the Arena Disagree on Qwen3-TTS]]></title>
      <link>https://sovgrid.org/blog/strategy-tts-spike-day-2-qwen3tts/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-tts-spike-day-2-qwen3tts/</guid>
      <pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Day 2 of the TTS spike was supposed to be Higgs Audio v2. Instead a 1.7B model nobody invited jumped the queue, scored 8/10 by ear, then split three ways across the leaderboards. A case study in which benchmark to trust.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-tts-spike-day-2-qwen3tts/hero.webp" type="image/webp" length="27764"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-tts-spike-day-2-qwen3tts/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-tts-spike-day-2-qwen3tts/hero.webp" type="image/webp" medium="image" fileSize="27764"/>
      <category>strategy</category>
      <category>podcast</category>
      <category>tts</category>
    </item>
    <item>
      <title><![CDATA[A Second Brain for a Local Model, and the Two Bugs That Made It Useless First]]></title>
      <link>https://sovgrid.org/blog/local-llm-second-brain/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/local-llm-second-brain/</guid>
      <pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Giving a local 8B model persistent memory and retrieval good enough to replace a cloud assistant for daily coding. The architecture is mem0 plus a RAG knowledge base over ChromaDB. The honest part is the two bugs that made the first version forget you and answer the wrong question with full confidence.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/local-llm-second-brain/hero.webp" type="image/webp" length="63598"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/local-llm-second-brain/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/local-llm-second-brain/hero.webp" type="image/webp" medium="image" fileSize="63598"/>
      <category>mcp</category>
      <category>ollama</category>
      <category>qwen</category>
      <category>self-hosted</category>
      <category>sovereign-ai</category>
      <category>engineering-honesty</category>
      <category>agents</category>
      <category>rag</category>
    </item>
    <item>
      <title><![CDATA[Your File-Integrity Monitor Is Probably Hashing Your Movie Folder]]></title>
      <link>https://sovgrid.org/blog/aide-default-scans-home/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/aide-default-scans-home/</guid>
      <pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The default AIDE configuration on Debian and Ubuntu selects the entire root filesystem, which means your tripwire is checksumming your home directory, your models, and your downloaded films every night. Here is how I caught it on a friend's machine and the scope file that fixed it.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/aide-default-scans-home/hero.webp" type="image/webp" length="42188"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/aide-default-scans-home/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/aide-default-scans-home/hero.webp" type="image/webp" medium="image" fileSize="42188"/>
      <category>ubuntu</category>
      <category>ops</category>
      <category>fix</category>
      <category>self-hosted</category>
      <category>engineering-honesty</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[24 Hours Setting Up a Lenovo Legion Pro 7 Gen 10 As a Sovereign-AI Companion Box]]></title>
      <link>https://sovgrid.org/blog/24h-legion-setup-log/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/24h-legion-setup-log/</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Honest minute-by-minute log of building a friend's sovereign-AI workstation from a stock Lenovo with Windows to a fully self-hosted KI-stack with custom dashboard, MCP-routed RAG, and bidirectional cross-tailnet sharing. With the mistakes.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/24h-legion-setup-log/hero.webp" type="image/webp" length="70960"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/24h-legion-setup-log/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/24h-legion-setup-log/hero.webp" type="image/webp" medium="image" fileSize="70960"/>
      <category>lenovo</category>
      <category>blackwell</category>
      <category>rtx-5080</category>
      <category>ubuntu</category>
      <category>ollama</category>
      <category>sovereign-ai</category>
      <category>engineering-honesty</category>
      <category>setup</category>
    </item>
    <item>
      <title><![CDATA[Dashboard As Learning-Cockpit, Not Admin-Tool]]></title>
      <link>https://sovgrid.org/blog/dashboard-learning-cockpit/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/dashboard-learning-cockpit/</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I had a 600-line dashboard that worked technically and went unopened socially. Rebuilding it as a teaching surface changed everything. This post is the design pattern: info-buttons on every metric, persona-cross-references on every model, a glossary tab that explains every acronym, and a doctor tab with one-button fixes. Sample backend and frontend code.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/dashboard-learning-cockpit/hero.webp" type="image/webp" length="51998"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/dashboard-learning-cockpit/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/dashboard-learning-cockpit/hero.webp" type="image/webp" medium="image" fileSize="51998"/>
      <category>lenovo</category>
      <category>sovereign-ai</category>
      <category>services</category>
      <category>engineering-honesty</category>
    </item>
    <item>
      <title><![CDATA[The /data/ Convention Trap: Ubuntu-LVM Lessons That Bit Me Twice]]></title>
      <link>https://sovgrid.org/blog/data-convention-trap/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/data-convention-trap/</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I copied my DGX Spark /data/ convention to a standard Ubuntu laptop. Three weeks later I forgot Docker exists. Root partition filled to 96 percent. Here is the diagnosis, the surgery, and the rule I should have followed.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/data-convention-trap/hero.webp" type="image/webp" length="32264"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/data-convention-trap/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/data-convention-trap/hero.webp" type="image/webp" medium="image" fileSize="32264"/>
      <category>lenovo</category>
      <category>ubuntu</category>
      <category>docker</category>
      <category>devops</category>
      <category>engineering-honesty</category>
    </item>
    <item>
      <title><![CDATA[Sovereign Friend-Setup: When You Build A Sovereign-AI Box For Someone Else]]></title>
      <link>https://sovgrid.org/blog/sovereign-friend-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-friend-setup/</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Most sovereign-AI guides assume the operator is the same person as the user. What changes when the operator is your friend who has zero Linux experience? The discipline is identity separation at every layer, default-local privacy, and a vibe-sustaining onboarding pattern that survives day three.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-friend-setup/hero.webp" type="image/webp" length="47934"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-friend-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-friend-setup/hero.webp" type="image/webp" medium="image" fileSize="47934"/>
      <category>lenovo</category>
      <category>sovereign-ai</category>
      <category>family-sysadmin</category>
      <category>tailscale</category>
      <category>privacy</category>
      <category>engineering-honesty</category>
    </item>
    <item>
      <title><![CDATA[Two Tailnets, One Shared Node: Sovereign Privacy For Family Sysadmin]]></title>
      <link>https://sovgrid.org/blog/two-tailnet-privacy/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/two-tailnet-privacy/</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Family sysadmin usually means adding the friend or partner to your VPN. That breaks sovereignty quietly. The right primitive is two separate tailnets and one shared node, with an ACL that restricts what the friend sees to exactly the service they need.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/two-tailnet-privacy/hero.webp" type="image/webp" length="11624"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/two-tailnet-privacy/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/two-tailnet-privacy/hero.webp" type="image/webp" medium="image" fileSize="11624"/>
      <category>tailscale</category>
      <category>privacy</category>
      <category>family-sysadmin</category>
      <category>sovereignty</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[watchdocker: A Bash-Native Successor To Watchtower, Honestly Compared]]></title>
      <link>https://sovgrid.org/blog/watchdocker/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/watchdocker/</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Watchtower upstream is archived, but the ecosystem did not die with it. A community fork exists. So does WUD. So do half a dozen smaller projects. I built watchdocker anyway, and this is the honest write-up of why a 350-line bash script earns its place next to the survivors, plus how to fork it, contribute to it, and help it land in the hands of operators who would benefit.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/watchdocker/hero.webp" type="image/webp" length="27204"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/watchdocker/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/watchdocker/hero.webp" type="image/webp" medium="image" fileSize="27204"/>
      <category>docker</category>
      <category>sovereignty</category>
      <category>devops</category>
      <category>ops</category>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[We Were Wrong About Local 8B Tool-Use (2026 Reality Check)]]></title>
      <link>https://sovgrid.org/blog/we-were-wrong-tool-use-2026/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/we-were-wrong-tool-use-2026/</guid>
      <pubDate>Mon, 01 Jun 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A May 2026 memo of mine said local 8B models cannot reliably do MCP tool-use. I retested in late May. The memo was specifically wrong about WHY. Direct OpenAI-format API calls work fine. The bridge layer was the broken part.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/we-were-wrong-tool-use-2026/hero.webp" type="image/webp" length="38340"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/we-were-wrong-tool-use-2026/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/we-were-wrong-tool-use-2026/hero.webp" type="image/webp" medium="image" fileSize="38340"/>
      <category>lenovo</category>
      <category>blackwell</category>
      <category>rtx-5080</category>
      <category>ollama</category>
      <category>mcp</category>
      <category>engineering-honesty</category>
    </item>
    <item>
      <title><![CDATA[Cloud vs Local AI: Where Each Actually Wins in 2026]]></title>
      <link>https://sovgrid.org/blog/cloud-vs-local-ai-where-each-wins-2026/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/cloud-vs-local-ai-where-each-wins-2026/</guid>
      <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[An honest capability matrix between cloud Claude and a self-hosted GB10 stack across 13 tasks, plus the entry-points into the deeper-dive articles. Claude still leads on multi-step reasoning; the local stack now covers two things Claude cannot do at all.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/cloud-vs-local-ai-where-each-wins-2026/hero.webp" type="image/webp" length="28672"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/cloud-vs-local-ai-where-each-wins-2026/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/cloud-vs-local-ai-where-each-wins-2026/hero.webp" type="image/webp" medium="image" fileSize="28672"/>
      <category>comparison</category>
      <category>dgx-spark</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[The Engineering Honesty Manifesto]]></title>
      <link>https://sovgrid.org/blog/engineering-honesty-manifesto/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/engineering-honesty-manifesto/</guid>
      <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Six commitments that I make to readers of sovgrid.org, each with a worked example from the operating log. The honesty is the product. The post is the receipt.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/engineering-honesty-manifesto/hero.webp" type="image/webp" length="45558"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/engineering-honesty-manifesto/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/engineering-honesty-manifesto/hero.webp" type="image/webp" medium="image" fileSize="45558"/>
      <category>authority</category>
      <category>voice</category>
    </item>
    <item>
      <title><![CDATA[How This Blog Actually Gets Built: The Full Build, Ten Weeks of Iteration, Three Hard Gates]]></title>
      <link>https://sovgrid.org/blog/how-this-blog-actually-gets-built/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/how-this-blog-actually-gets-built/</guid>
      <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The complete mechanism behind sovgrid.org: a DGX Spark on a desk drafting articles through a 35B-parameter Qwen quant, cloud Claude doing the architecture, AGENTS.md as the multi-agent contract, three independent quality gates, and a stylometric layer that landed after a forum auto-banned a post as AI spam. Ten weeks of milestones, the real numbers, the things that still do not work, the goal of eventually retiring the cloud layer entirely, and the entry point that ties it all together.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/how-this-blog-actually-gets-built/hero.webp" type="image/webp" length="149410"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/how-this-blog-actually-gets-built/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/how-this-blog-actually-gets-built/hero.webp" type="image/webp" medium="image" fileSize="149410"/>
      <category>agents</category>
      <category>devops</category>
      <category>sovereign-ai</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[The Sovereign AI Stack in 2026: A Reference Architecture]]></title>
      <link>https://sovgrid.org/blog/sovereign-ai-stack-2026-reference-architecture/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-ai-stack-2026-reference-architecture/</guid>
      <pubDate>Wed, 27 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The complete stack that runs sovgrid.org and its consulting practice, component by component, with the reasoning for each pick and the alternatives I considered. Hub article. Updated 2026-05-25 after the Qwen primary migration, the Cloudflared retirement, the Astro 5 to 6 upgrade, and the switch.sh mutex pattern.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-ai-stack-2026-reference-architecture/hero.webp" type="image/webp" length="220102"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-ai-stack-2026-reference-architecture/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-ai-stack-2026-reference-architecture/hero.webp" type="image/webp" medium="image" fileSize="220102"/>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Conversation: An NVIDIA Engineer Off the Record]]></title>
      <link>https://sovgrid.org/blog/conversation-nvidia-engineer-off-record/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/conversation-nvidia-engineer-off-record/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A composite portrait of things NVIDIA-adjacent engineers have said in public forums, GTC Q&As, blog posts, and interviews. Not a real off-record conversation. No single named engineer said any of this. The disclaimer is at the top and it is the most important paragraph on the page.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/conversation-nvidia-engineer-off-record/hero.webp" type="image/webp" length="122050"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/conversation-nvidia-engineer-off-record/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/conversation-nvidia-engineer-off-record/hero.webp" type="image/webp" medium="image" fileSize="122050"/>
      <category>authority</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI for Defense Contractors]]></title>
      <link>https://sovgrid.org/blog/sovereign-ai-for-defense-contractors/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-ai-for-defense-contractors/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[DFARS 252.204-7012, NIST SP 800-171 Rev 3, and CMMC 2.0 turn AI tooling into a controlled-data problem. Cloud AI vendors solve part of it contractually. Self-hosted on a DGX Spark solves it architecturally. Here is the scoping conversation for small-to-mid US defense contractors.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-ai-for-defense-contractors/hero.webp" type="image/webp" length="74300"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-ai-for-defense-contractors/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-ai-for-defense-contractors/hero.webp" type="image/webp" medium="image" fileSize="74300"/>
      <category>authority</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI for Financial Services]]></title>
      <link>https://sovgrid.org/blog/sovereign-ai-for-financial-services/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-ai-for-financial-services/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[MiFID II, DORA, GDPR, and the SEC's evolving AI guidance all push financial-services firms toward AI deployments where the firm controls the model, the data, and the inference path. Self-hosted AI on a DGX Spark is the architectural answer; this is how to scope it.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-ai-for-financial-services/hero.webp" type="image/webp" length="83766"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-ai-for-financial-services/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-ai-for-financial-services/hero.webp" type="image/webp" medium="image" fileSize="83766"/>
      <category>authority</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI for Journalists]]></title>
      <link>https://sovgrid.org/blog/sovereign-ai-for-journalists/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-ai-for-journalists/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Source protection is a threat-model problem, not a tooling preference. Sending a source's documents to a cloud AI vendor adds a new subpoena target and a new spyware vector. Self-hosted AI on a small on-premises box keeps the analysis inside the newsroom. Written for investigative reporters at mid-tier outlets, freelancers, and small newsrooms.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-ai-for-journalists/hero.webp" type="image/webp" length="98478"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-ai-for-journalists/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-ai-for-journalists/hero.webp" type="image/webp" medium="image" fileSize="98478"/>
      <category>authority</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI for Law Firms]]></title>
      <link>https://sovgrid.org/blog/sovereign-ai-for-law-firms/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-ai-for-law-firms/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Attorney-client privilege is incompatible with most cloud AI deployments. A self-hosted DGX Spark restores the architectural property that the privilege has always required. Here is the case for law firms considering sovereign AI, with the specific concerns about discovery, work product, and ethics rules.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-ai-for-law-firms/hero.webp" type="image/webp" length="76044"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-ai-for-law-firms/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-ai-for-law-firms/hero.webp" type="image/webp" medium="image" fileSize="76044"/>
      <category>authority</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI for Public-Sector Pilots]]></title>
      <link>https://sovgrid.org/blog/sovereign-ai-for-public-sector/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-ai-for-public-sector/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Public-sector AI pilots are an architectural-sovereignty problem disguised as a procurement problem. The cloud AI vendors' contracts cannot fully satisfy data-residency obligations, sovereign-cloud requirements, or the political accountability that public-sector deployments require. Self-hosted is the answer; here is the scoping conversation.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-ai-for-public-sector/hero.webp" type="image/webp" length="64890"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-ai-for-public-sector/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-ai-for-public-sector/hero.webp" type="image/webp" medium="image" fileSize="64890"/>
      <category>authority</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI for SMB Manufacturing]]></title>
      <link>https://sovgrid.org/blog/sovereign-ai-for-smb-manufacturing/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-ai-for-smb-manufacturing/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A 20-to-500-employee manufacturer has different AI constraints than a Fortune 500 plant. Shop-floor networks are segmented for IEC 62443 reasons, ISO 9001 audit trails follow every document, and ITAR or CMMC may apply if you serve defense. Self-hosted AI on a single inference box fits the constraints; cloud AI typically does not. Written for family-owned shops modernizing.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-ai-for-smb-manufacturing/hero.webp" type="image/webp" length="67428"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-ai-for-smb-manufacturing/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-ai-for-smb-manufacturing/hero.webp" type="image/webp" medium="image" fileSize="67428"/>
      <category>authority</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI for Healthcare: GDPR, HIPAA, and the DGX Spark]]></title>
      <link>https://sovgrid.org/blog/sovereign-ai-healthcare-gdpr-hipaa-dgx-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/sovereign-ai-healthcare-gdpr-hipaa-dgx-spark/</guid>
      <pubDate>Tue, 26 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A practical guide for healthcare organizations evaluating sovereign AI deployment. Which compliance burdens self-hosting removes, which it adds, and the specific regulatory citations that govern the decision. Written for the CISO who is asking the right questions.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/sovereign-ai-healthcare-gdpr-hipaa-dgx-spark/hero.webp" type="image/webp" length="91806"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/sovereign-ai-healthcare-gdpr-hipaa-dgx-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/sovereign-ai-healthcare-gdpr-hipaa-dgx-spark/hero.webp" type="image/webp" medium="image" fileSize="91806"/>
      <category>authority</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Conversation: Inside an Academic Lab Running Local LLMs]]></title>
      <link>https://sovgrid.org/blog/conversation-academic-lab-running-local-llms/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/conversation-academic-lab-running-local-llms/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A structured composite portrait of graduate students and postdocs running self-hosted language models for research. Built from public threads in r/LocalLLaMA, r/MachineLearning, r/AskAcademia, and NVIDIA developer forums. Not an interview. The disclaimer is at the top and it is mandatory reading.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/conversation-academic-lab-running-local-llms/hero.webp" type="image/webp" length="24384"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/conversation-academic-lab-running-local-llms/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/conversation-academic-lab-running-local-llms/hero.webp" type="image/webp" medium="image" fileSize="24384"/>
      <category>authority</category>
      <category>composite</category>
      <category>mistral</category>
      <category>conversation</category>
    </item>
    <item>
      <title><![CDATA[Conversation: The Hobbyist-Pro Who Pays Their Mortgage With a Spark]]></title>
      <link>https://sovgrid.org/blog/conversation-hobbyist-pro-mortgage-with-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/conversation-hobbyist-pro-mortgage-with-spark/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A composite portrait of enthusiasts who spent serious money on local AI rigs. Built from public threads in r/LocalLLaMA, r/homelab, r/buildapc, and Hacker News. Not an interview with one person. The disclaimer is at the top and it matters.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/conversation-hobbyist-pro-mortgage-with-spark/hero.webp" type="image/webp" length="99464"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/conversation-hobbyist-pro-mortgage-with-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/conversation-hobbyist-pro-mortgage-with-spark/hero.webp" type="image/webp" medium="image" fileSize="99464"/>
      <category>authority</category>
      <category>composite</category>
      <category>hardware</category>
      <category>conversation</category>
    </item>
    <item>
      <title><![CDATA[Refusing the Subscription Trap: A Year of V4V Lessons]]></title>
      <link>https://sovgrid.org/blog/refusing-the-subscription-trap-year-of-v4v/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/refusing-the-subscription-trap-year-of-v4v/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Value-for-value as the monetization model for sovgrid. The architectural fact (the channel exists) versus the dollar volume (zero sats received as of the most recent ground-truth audit). The honest version of what V4V is and is not, six months in.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/refusing-the-subscription-trap-year-of-v4v/hero.webp" type="image/webp" length="209952"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/refusing-the-subscription-trap-year-of-v4v/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/refusing-the-subscription-trap-year-of-v4v/hero.webp" type="image/webp" medium="image" fileSize="209952"/>
      <category>authority</category>
      <category>strategy</category>
      <category>lightning</category>
    </item>
    <item>
      <title><![CDATA[Self-Hosted AI vs Cloud APIs: The Real Total Cost]]></title>
      <link>https://sovgrid.org/blog/self-hosted-ai-vs-cloud-apis-real-total-cost/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/self-hosted-ai-vs-cloud-apis-real-total-cost/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Amortized hardware, power-by-jurisdiction, opportunity cost, and the value of privacy, modelled at 10/100/1000/10000 calls per day. Break-even sits between 700 and 1,200 calls per day depending on the cloud tier you actually need, but the inputs that move the line are not the ones the listicles emphasize.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/self-hosted-ai-vs-cloud-apis-real-total-cost/hero.webp" type="image/webp" length="101828"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/self-hosted-ai-vs-cloud-apis-real-total-cost/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/self-hosted-ai-vs-cloud-apis-real-total-cost/hero.webp" type="image/webp" medium="image" fileSize="101828"/>
      <category>funnel</category>
      <category>dgx-spark</category>
      <category>comparison</category>
    </item>
    <item>
      <title><![CDATA[Why Your Agent Should Have Its Own Wallet (L402 Explained)]]></title>
      <link>https://sovgrid.org/blog/why-your-agent-should-have-its-own-wallet-l402/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/why-your-agent-should-have-its-own-wallet-l402/</guid>
      <pubDate>Mon, 25 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The future where AI agents transact autonomously is closer than the timeline most people imagine. The L402 protocol lets an agent pay per tool call via Lightning, with no human in the loop. Here is how it works, why it is the right answer for sovereign-AI tooling, and the contrast with the X402 USDC-on-Base alternative.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/why-your-agent-should-have-its-own-wallet-l402/hero.webp" type="image/webp" length="39906"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/why-your-agent-should-have-its-own-wallet-l402/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/why-your-agent-should-have-its-own-wallet-l402/hero.webp" type="image/webp" medium="image" fileSize="39906"/>
      <category>authority</category>
      <category>agents</category>
      <category>lightning</category>
    </item>
    <item>
      <title><![CDATA[What I'd Buy in 2026 for €15,000: A Pro-Studio Sovereign AI Build]]></title>
      <link>https://sovgrid.org/blog/what-id-buy-2026-15k-pro-studio-sovereign-ai/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/what-id-buy-2026-15k-pro-studio-sovereign-ai/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Three honest paths at €15k for the one-person consultancy or small studio that has outgrown a single box: dual RTX 5090 on a Threadripper Pro workstation, DGX Spark plus a dedicated inference second box, or a refurbished pro-workstation route. Current Geizhals prices, UPS sizing, and the cases where this tier is genuinely the floor.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/what-id-buy-2026-15k-pro-studio-sovereign-ai/hero.webp" type="image/webp" length="107586"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/what-id-buy-2026-15k-pro-studio-sovereign-ai/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/what-id-buy-2026-15k-pro-studio-sovereign-ai/hero.webp" type="image/webp" medium="image" fileSize="107586"/>
      <category>comparison</category>
      <category>hardware</category>
      <category>dgx-spark</category>
      <category>services</category>
      <category>budget-build</category>
    </item>
    <item>
      <title><![CDATA[What I'd Buy in 2026 for €2,000: A Beginner Sovereign AI Build]]></title>
      <link>https://sovgrid.org/blog/what-id-buy-2026-2k-beginner-sovereign-ai/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/what-id-buy-2026-2k-beginner-sovereign-ai/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A used RTX 3090 plus a current AM5 platform gets you a real local-inference box for under €2k in 2026. Component picks with current Geizhals prices, honest power-cost math for Germany, the US, and India, and a list of models this build runs well and the ones it does not.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/what-id-buy-2026-2k-beginner-sovereign-ai/hero.webp" type="image/webp" length="79808"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/what-id-buy-2026-2k-beginner-sovereign-ai/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/what-id-buy-2026-2k-beginner-sovereign-ai/hero.webp" type="image/webp" medium="image" fileSize="79808"/>
      <category>comparison</category>
      <category>affiliate</category>
      <category>hardware</category>
      <category>budget-build</category>
    </item>
    <item>
      <title><![CDATA[What I'd Buy in 2026 for €4,000: A Mid-Tier Sovereign AI Build]]></title>
      <link>https://sovgrid.org/blog/what-id-buy-2026-4k-mid-tier-sovereign-ai/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/what-id-buy-2026-4k-mid-tier-sovereign-ai/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Two honest €4k paths: a new RTX 4090 24 GB on AM5, or a used RTX A6000 48 GB on a Threadripper-class platform. Component picks with current Geizhals prices, the workload that breaks each path, and a side-by-side with DGX Spark at the same money.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/what-id-buy-2026-4k-mid-tier-sovereign-ai/hero.webp" type="image/webp" length="79406"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/what-id-buy-2026-4k-mid-tier-sovereign-ai/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/what-id-buy-2026-4k-mid-tier-sovereign-ai/hero.webp" type="image/webp" medium="image" fileSize="79406"/>
      <category>comparison</category>
      <category>affiliate</category>
      <category>hardware</category>
      <category>budget-build</category>
    </item>
    <item>
      <title><![CDATA[What I'd Buy in 2026 for €8,000: A Premium Sovereign AI Build]]></title>
      <link>https://sovgrid.org/blog/what-id-buy-2026-8k-premium-sovereign-ai/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/what-id-buy-2026-8k-premium-sovereign-ai/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[At €8k the binding question stops being VRAM ceiling and becomes architecture choice. A DGX Spark plus accessories on one side, an RTX 5090 32 GB workstation on the other. I run the Spark; here is the comparison from the inside, with current Geizhals prices captured 2026-05-22.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/what-id-buy-2026-8k-premium-sovereign-ai/hero.webp" type="image/webp" length="111390"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/what-id-buy-2026-8k-premium-sovereign-ai/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/what-id-buy-2026-8k-premium-sovereign-ai/hero.webp" type="image/webp" medium="image" fileSize="111390"/>
      <category>comparison</category>
      <category>affiliate</category>
      <category>hardware</category>
      <category>dgx-spark</category>
      <category>budget-build</category>
    </item>
    <item>
      <title><![CDATA[What 'Sovereign' Actually Means in 2026 (And What It Doesn't)]]></title>
      <link>https://sovgrid.org/blog/what-sovereign-actually-means-2026/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/what-sovereign-actually-means-2026/</guid>
      <pubDate>Sun, 24 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The word 'sovereign' has been generalized into uselessness by 2026 marketing. Six concrete tests separate sovereign from sovereign-flavored, with worked examples from the operating log of a stack that just moved from 5/6 to 6/6 on the framework below.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/what-sovereign-actually-means-2026/hero.webp" type="image/webp" length="79588"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/what-sovereign-actually-means-2026/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/what-sovereign-actually-means-2026/hero.webp" type="image/webp" medium="image" fileSize="79588"/>
      <category>authority</category>
      <category>voice</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[Backing Up 119B Parameters Without Going Bankrupt on Storage]]></title>
      <link>https://sovgrid.org/blog/backing-up-119b-parameters-without-bankruptcy/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/backing-up-119b-parameters-without-bankruptcy/</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Backing up model weights is the wrong abstraction. Backing up the model identifier, the configuration, the customer data, and the runbook is the right one. The weights are reproducible; the data and the runbook are not.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/backing-up-119b-parameters-without-bankruptcy/hero.webp" type="image/webp" length="85796"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/backing-up-119b-parameters-without-bankruptcy/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/backing-up-119b-parameters-without-bankruptcy/hero.webp" type="image/webp" medium="image" fileSize="85796"/>
      <category>tutorial</category>
      <category>dgx-spark</category>
      <category>ops</category>
    </item>
    <item>
      <title><![CDATA[DGX Spark vs Apple Mac Studio: Which Wins for Local LLMs?]]></title>
      <link>https://sovgrid.org/blog/dgx-spark-vs-m3-ultra-mac-studio-local-llm/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/dgx-spark-vs-m3-ultra-mac-studio-local-llm/</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The Spark wins on MoE-class language models and the developer-tooling pipeline. The Mac Studio wins on silence, daily-driver ergonomics, and memory ceiling (up to 512 GB on M3 Ultra). The choice depends on which column is binding for your workload.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/dgx-spark-vs-m3-ultra-mac-studio-local-llm/hero.webp" type="image/webp" length="85142"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/dgx-spark-vs-m3-ultra-mac-studio-local-llm/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/dgx-spark-vs-m3-ultra-mac-studio-local-llm/hero.webp" type="image/webp" medium="image" fileSize="85142"/>
      <category>comparison</category>
      <category>dgx-spark</category>
      <category>hardware</category>
    </item>
    <item>
      <title><![CDATA[Five DGX Spark Disasters I Survived (You Don't Have To)]]></title>
      <link>https://sovgrid.org/blog/five-dgx-spark-disasters-i-survived/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/five-dgx-spark-disasters-i-survived/</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Five operational failures from the first two months on a Spark, with the actual fixes and the postmortem links. The pattern is the same: a quiet default value, a non-obvious failure mode, several hours of confused debugging, then a one-line workaround that should have been in the documentation.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/five-dgx-spark-disasters-i-survived/hero.webp" type="image/webp" length="64746"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/five-dgx-spark-disasters-i-survived/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/five-dgx-spark-disasters-i-survived/hero.webp" type="image/webp" medium="image" fileSize="64746"/>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[Mistral Small 4 vs Qwen 3.6 vs GLM-5.1 on a Single DGX Spark]]></title>
      <link>https://sovgrid.org/blog/mistral-small-4-vs-qwen3-6-vs-glm-5-dgx-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/mistral-small-4-vs-qwen3-6-vs-glm-5-dgx-spark/</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Three production-class open-weights models, all weighed against one Spark. Qwen wins on coding throughput and now sustains around 71 tok/s under DFlash. Mistral holds the creative-prose and verified-vision slot as a safer fallback. GLM-5.1 at 754B does not fit and the reason it does not fit is the most useful lesson in this comparison.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/mistral-small-4-vs-qwen3-6-vs-glm-5-dgx-spark/hero.webp" type="image/webp" length="93686"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/mistral-small-4-vs-qwen3-6-vs-glm-5-dgx-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/mistral-small-4-vs-qwen3-6-vs-glm-5-dgx-spark/hero.webp" type="image/webp" medium="image" fileSize="93686"/>
      <category>comparison</category>
      <category>qwen</category>
      <category>mistral</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[Should You Buy a DGX Spark in 2026? The Honest Decision Tree]]></title>
      <link>https://sovgrid.org/blog/should-you-buy-dgx-spark-2026-decision-tree/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/should-you-buy-dgx-spark-2026-decision-tree/</guid>
      <pubDate>Sat, 23 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[About a third of the people who ask me end up not buying. Six specific 'don't buy' clauses, four buyer profiles, the four real alternatives ranked, a flowchart, and the operational receipts (drop_caches=3, VLLM_FLASHINFER_MOE_BACKEND=latency, 30-minute recovery runbook) the spec sheet does not give you. Lead-magnet source; also gated as PDF.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/should-you-buy-dgx-spark-2026-decision-tree/hero.webp" type="image/webp" length="44588"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/should-you-buy-dgx-spark-2026-decision-tree/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/should-you-buy-dgx-spark-2026-decision-tree/hero.webp" type="image/webp" medium="image" fileSize="44588"/>
      <category>strategy</category>
      <category>dgx-spark</category>
      <category>funnel</category>
    </item>
    <item>
      <title><![CDATA[5 MCP Patterns That Aren't 'Search the Database']]></title>
      <link>https://sovgrid.org/blog/5-mcp-patterns-beyond-search-the-database/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/5-mcp-patterns-beyond-search-the-database/</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Every MCP server tutorial demos search. The five patterns below are the ones that actually justify the protocol on the second day after you launch: structured-write, status-with-history, batched-action, paid-action, capability-discovery. Each has a worked example.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/5-mcp-patterns-beyond-search-the-database/hero.webp" type="image/webp" length="80922"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/5-mcp-patterns-beyond-search-the-database/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/5-mcp-patterns-beyond-search-the-database/hero.webp" type="image/webp" medium="image" fileSize="80922"/>
      <category>authority</category>
      <category>mcp</category>
      <category>agents</category>
    </item>
    <item>
      <title><![CDATA[Astro 6 + Caddy: The Static-First AI Blog Stack]]></title>
      <link>https://sovgrid.org/blog/astro-6-caddy-static-first-ai-blog-stack/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/astro-6-caddy-static-first-ai-blog-stack/</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Static site generation, no database, no PHP, no CMS. The blog is markdown files in a Git repository, built locally, rsynced to a small VPS, served by Caddy. Faster than any WordPress, immune to the WordPress vulnerability class, and the archive is plain text on disk.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/astro-6-caddy-static-first-ai-blog-stack/hero.webp" type="image/webp" length="49478"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/astro-6-caddy-static-first-ai-blog-stack/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/astro-6-caddy-static-first-ai-blog-stack/hero.webp" type="image/webp" medium="image" fileSize="49478"/>
      <category>tutorial</category>
      <category>caddy</category>
    </item>
    <item>
      <title><![CDATA[MCP for Engineers Who Hate Marketing: A 6-Week Build Log]]></title>
      <link>https://sovgrid.org/blog/mcp-for-engineers-who-hate-marketing-6-week-build/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/mcp-for-engineers-who-hate-marketing-6-week-build/</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Six weeks from 'I should publish an MCP server' to 'the server is live, registered, scored 100/100 on Smithery, and listed in three directories.' The log is week-by-week, with the actual command lines and the actual mistakes.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/mcp-for-engineers-who-hate-marketing-6-week-build/hero.webp" type="image/webp" length="56686"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/mcp-for-engineers-who-hate-marketing-6-week-build/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/mcp-for-engineers-who-hate-marketing-6-week-build/hero.webp" type="image/webp" medium="image" fileSize="56686"/>
      <category>authority</category>
      <category>mcp</category>
    </item>
    <item>
      <title><![CDATA[NVIDIA Playbooks: Where They Help and Where They Don't]]></title>
      <link>https://sovgrid.org/blog/nvidia-playbooks-where-they-help-where-they-dont/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/nvidia-playbooks-where-they-help-where-they-dont/</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[NVIDIA's published reference playbooks are excellent for the workflows they cover and quietly misleading for the workflows they do not. Three categories of help, three categories of trap, and the rule for telling them apart before you copy a configuration into production.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/nvidia-playbooks-where-they-help-where-they-dont/hero.webp" type="image/webp" length="79408"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/nvidia-playbooks-where-they-help-where-they-dont/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/nvidia-playbooks-where-they-help-where-they-dont/hero.webp" type="image/webp" medium="image" fileSize="79408"/>
      <category>comparison</category>
      <category>hardware</category>
      <category>authority</category>
    </item>
    <item>
      <title><![CDATA[Coding Assistants on a Sovereign Stack: Claude Code, opencode, Aider, OpenClaw (and why Vibe got retired)]]></title>
      <link>https://sovgrid.org/blog/vibe-vs-openclaw-vs-aider-vs-claude-code-2026/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/vibe-vs-openclaw-vs-aider-vs-claude-code-2026/</guid>
      <pubDate>Fri, 22 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Four assistants still on the table in 2026 plus one I uninstalled. Claude Code wins on raw capability, Aider wins on git discipline, opencode is now the local primary against Qwen 3.6, OpenClaw stays as the Mistral specialty. Vibe is in the postmortem column.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/vibe-vs-openclaw-vs-aider-vs-claude-code-2026/hero.webp" type="image/webp" length="47148"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/vibe-vs-openclaw-vs-aider-vs-claude-code-2026/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/vibe-vs-openclaw-vs-aider-vs-claude-code-2026/hero.webp" type="image/webp" medium="image" fileSize="47148"/>
      <category>comparison</category>
      <category>opencode</category>
      <category>openclaw</category>
    </item>
    <item>
      <title><![CDATA[Caddy + Cloudflare Tunnel: The Reliability Pattern]]></title>
      <link>https://sovgrid.org/blog/caddy-cloudflare-tunnel-reliability-pattern/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/caddy-cloudflare-tunnel-reliability-pattern/</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Caddy on a small VPS, Cloudflare Tunnel to the home Spark, no inbound ports open at the residential ISP. Six hundred milliseconds of TLS handshake handled by a CDN that can absorb the abuse the operator cannot. The honest rented dimension and the migration path if it has to come back.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/caddy-cloudflare-tunnel-reliability-pattern/hero.webp" type="image/webp" length="131822"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/caddy-cloudflare-tunnel-reliability-pattern/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/caddy-cloudflare-tunnel-reliability-pattern/hero.webp" type="image/webp" medium="image" fileSize="131822"/>
      <category>tutorial</category>
      <category>caddy</category>
    </item>
    <item>
      <title><![CDATA[Hardware Wallet Integration for Self-Hosted Lightning]]></title>
      <link>https://sovgrid.org/blog/hardware-wallet-integration-self-hosted-lightning/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/hardware-wallet-integration-self-hosted-lightning/</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The hardware wallet holds the seed; the node holds the channel keys. The integration pattern is straightforward in principle and finicky in detail. Here is the working setup with the BitBox and the LND backend, plus the three integration mistakes I made before it worked.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/hardware-wallet-integration-self-hosted-lightning/hero.webp" type="image/webp" length="26970"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/hardware-wallet-integration-self-hosted-lightning/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/hardware-wallet-integration-self-hosted-lightning/hero.webp" type="image/webp" medium="image" fileSize="26970"/>
      <category>tutorial</category>
      <category>lightning</category>
      <category>self-hosted</category>
    </item>
    <item>
      <title><![CDATA[The Operator's Guide to Self-Hosted Lightning]]></title>
      <link>https://sovgrid.org/blog/operators-guide-self-hosted-lightning/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/operators-guide-self-hosted-lightning/</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Lightning is the sovereign payment surface. Running your own node is the difference between accepting Lightning and being Lightning. Here is the working setup, the operational discipline, and the failure modes that bit me in the first two months.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/operators-guide-self-hosted-lightning/hero.webp" type="image/webp" length="148504"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/operators-guide-self-hosted-lightning/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/operators-guide-self-hosted-lightning/hero.webp" type="image/webp" medium="image" fileSize="148504"/>
      <category>tutorial</category>
      <category>lightning</category>
      <category>self-hosted</category>
    </item>
    <item>
      <title><![CDATA[Tailscale vs Headscale for Multi-Box Sovereign Stacks]]></title>
      <link>https://sovgrid.org/blog/tailscale-vs-headscale-multi-box-sovereign/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/tailscale-vs-headscale-multi-box-sovereign/</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Tailscale is the right pick if your sovereignty budget is finite and the rented coordination server is an acceptable trade. Headscale is the right pick if the coordination server's vendor risk is the dimension you cannot accept. Both ship the same WireGuard underneath.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/tailscale-vs-headscale-multi-box-sovereign/hero.webp" type="image/webp" length="83556"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/tailscale-vs-headscale-multi-box-sovereign/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/tailscale-vs-headscale-multi-box-sovereign/hero.webp" type="image/webp" medium="image" fileSize="83556"/>
      <category>comparison</category>
      <category>ops</category>
    </item>
    <item>
      <title><![CDATA[Tor Hidden Service for Sovereign AI: When and How]]></title>
      <link>https://sovgrid.org/blog/tor-hidden-service-sovereign-ai-when-and-how/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/tor-hidden-service-sovereign-ai-when-and-how/</guid>
      <pubDate>Thu, 21 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A Tor hidden service in front of a sovereign-AI endpoint is the right answer for three specific reader populations and the wrong answer for everyone else. Here is how to tell which population you are in, and the configuration if you are.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/tor-hidden-service-sovereign-ai-when-and-how/hero.webp" type="image/webp" length="39380"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/tor-hidden-service-sovereign-ai-when-and-how/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/tor-hidden-service-sovereign-ai-when-and-how/hero.webp" type="image/webp" medium="image" fileSize="39380"/>
      <category>tutorial</category>
      <category>sovereign-ai</category>
    </item>
    <item>
      <title><![CDATA[AIDE + Tripwire for AI Boxes: When File Integrity Matters]]></title>
      <link>https://sovgrid.org/blog/aide-tripwire-ai-boxes-file-integrity/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/aide-tripwire-ai-boxes-file-integrity/</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[File-integrity monitoring is unnecessary on most workstations and necessary on a few specific ones. The AI box that runs other people's inference is squarely in the necessary category. Here is how to wire AIDE and Tripwire without producing alert fatigue.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/aide-tripwire-ai-boxes-file-integrity/hero.webp" type="image/webp" length="52796"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/aide-tripwire-ai-boxes-file-integrity/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/aide-tripwire-ai-boxes-file-integrity/hero.webp" type="image/webp" medium="image" fileSize="52796"/>
      <category>tutorial</category>
    </item>
    <item>
      <title><![CDATA[Gitea as Source-of-Truth for AI Pipelines]]></title>
      <link>https://sovgrid.org/blog/gitea-source-of-truth-ai-pipelines/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/gitea-source-of-truth-ai-pipelines/</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A self-hosted Gitea instance holds the prompts, the unit files, the runbooks, the customer data references, and the model identifiers for the sovgrid AI stack. The pattern is mundane and load-bearing.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/gitea-source-of-truth-ai-pipelines/hero.webp" type="image/webp" length="107016"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/gitea-source-of-truth-ai-pipelines/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/gitea-source-of-truth-ai-pipelines/hero.webp" type="image/webp" medium="image" fileSize="107016"/>
      <category>tutorial</category>
      <category>gitea</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[Power Failure Recovery on a DGX Spark: The 30-Minute Procedure]]></title>
      <link>https://sovgrid.org/blog/power-failure-recovery-dgx-spark-30-minute-procedure/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/power-failure-recovery-dgx-spark-30-minute-procedure/</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A step-by-step runbook for getting a DGX Spark back to full production after a power event. Thirty minutes if you have rehearsed; two to six hours if you have not. The procedure assumes a UPS for graceful shutdown and a separate management host.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/power-failure-recovery-dgx-spark-30-minute-procedure/hero.webp" type="image/webp" length="63952"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/power-failure-recovery-dgx-spark-30-minute-procedure/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/power-failure-recovery-dgx-spark-30-minute-procedure/hero.webp" type="image/webp" medium="image" fileSize="63952"/>
      <category>tutorial</category>
      <category>dgx-spark</category>
      <category>ops</category>
    </item>
    <item>
      <title><![CDATA[Self-Hosted Observability for a One-Person AI Stack]]></title>
      <link>https://sovgrid.org/blog/self-hosted-observability-one-person-ai-stack/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/self-hosted-observability-one-person-ai-stack/</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Prometheus plus Grafana plus one phone number plus the discipline to never alert on something that is not actionable. The observability stack that lets one operator sleep through the night and still catch the failures that matter.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/self-hosted-observability-one-person-ai-stack/hero.webp" type="image/webp" length="58138"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/self-hosted-observability-one-person-ai-stack/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/self-hosted-observability-one-person-ai-stack/hero.webp" type="image/webp" medium="image" fileSize="58138"/>
      <category>tutorial</category>
      <category>ops</category>
    </item>
    <item>
      <title><![CDATA[I Built a Web UI for Mobile Coding. Termux Won Anyway.]]></title>
      <link>https://sovgrid.org/blog/strategy-overbuilding-mobile-coding-and-the-termux-answer/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-overbuilding-mobile-coding-and-the-termux-answer/</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Two days of reverse-proxy work, a full Caddy stack with Let's Encrypt TLS and basic-auth in front of opencode web, all working. Then I realized I am not the right user for it. The actual mobile answer was already on my phone, and OpenWebUI quietly took over the other half of the use case.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-overbuilding-mobile-coding-and-the-termux-answer/hero.webp" type="image/webp" length="91722"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-overbuilding-mobile-coding-and-the-termux-answer/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-overbuilding-mobile-coding-and-the-termux-answer/hero.webp" type="image/webp" medium="image" fileSize="91722"/>
      <category>strategy</category>
      <category>opencode</category>
      <category>agents</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[systemd Patterns for Self-Hosted AI Services]]></title>
      <link>https://sovgrid.org/blog/systemd-patterns-self-hosted-ai-services/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/systemd-patterns-self-hosted-ai-services/</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Six unit-file patterns that make a multi-service AI stack survive crashes, reboots, and power events without operator intervention. The patterns are not novel; the discipline of applying them consistently is.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/systemd-patterns-self-hosted-ai-services/hero.webp" type="image/webp" length="40330"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/systemd-patterns-self-hosted-ai-services/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/systemd-patterns-self-hosted-ai-services/hero.webp" type="image/webp" medium="image" fileSize="40330"/>
      <category>tutorial</category>
      <category>ops</category>
    </item>
    <item>
      <title><![CDATA[Three Coding Leaderboards, Three Blind Spots: What HackerNoon and WhatLLM Don't Tell Self-Hosters]]></title>
      <link>https://sovgrid.org/blog/three-coding-leaderboards-blind-spots/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/three-coding-leaderboards-blind-spots/</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[HackerNoon ranks coding LLMs by programming language. WhatLLM.org aggregates LiveCodeBench, Terminal-Bench and SciCode. Neither tests self-hosted models on real hardware. A self-hoster's reading protocol for coding leaderboards.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/three-coding-leaderboards-blind-spots/hero.webp" type="image/webp" length="77756"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/three-coding-leaderboards-blind-spots/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/three-coding-leaderboards-blind-spots/hero.webp" type="image/webp" medium="image" fileSize="77756"/>
      <category>strategy</category>
    </item>
    <item>
      <title><![CDATA[What Goes Wrong at Token 4096: A Context-Window Failure Atlas]]></title>
      <link>https://sovgrid.org/blog/context-window-failure-atlas/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/context-window-failure-atlas/</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Eight specific failure modes that surface as the context window fills. They are not the same failure mode; the fixes are different. The atlas helps you tell which failure you are looking at when the agent starts producing garbage.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/context-window-failure-atlas/hero.webp" type="image/webp" length="77958"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/context-window-failure-atlas/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/context-window-failure-atlas/hero.webp" type="image/webp" medium="image" fileSize="77958"/>
      <category>technical</category>
      <category>mistral</category>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[EAGLE Speculative Decoding: When It Helps and When It Doesn't]]></title>
      <link>https://sovgrid.org/blog/eagle-speculative-decoding-when-helps-when-doesnt/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/eagle-speculative-decoding-when-helps-when-doesnt/</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[EAGLE accelerates conversational and long-prose workloads by 2-3x on Mistral Small 4. On structured-JSON output, the same configuration is net-negative. The decision rule is the workload class, not the inference engine.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/eagle-speculative-decoding-when-helps-when-doesnt/hero.webp" type="image/webp" length="67002"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/eagle-speculative-decoding-when-helps-when-doesnt/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/eagle-speculative-decoding-when-helps-when-doesnt/hero.webp" type="image/webp" medium="image" fileSize="67002"/>
      <category>technical</category>
      <category>mistral</category>
    </item>
    <item>
      <title><![CDATA[NVFP4 Quantization Explained (For Engineers Who Skipped the Paper)]]></title>
      <link>https://sovgrid.org/blog/nvfp4-quantization-explained/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/nvfp4-quantization-explained/</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[NVFP4 is a 4-bit floating-point format with a tiny exponent field, designed for inference-time activation and weight quantization on Blackwell-class hardware. Here is what the format actually does, why it is faster than INT4 on Spark for some workloads, and where it loses to other quantization choices.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/nvfp4-quantization-explained/hero.webp" type="image/webp" length="30798"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/nvfp4-quantization-explained/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/nvfp4-quantization-explained/hero.webp" type="image/webp" medium="image" fileSize="30798"/>
      <category>technical</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[The Unified-Memory Inference Mental Model]]></title>
      <link>https://sovgrid.org/blog/unified-memory-inference-mental-model/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/unified-memory-inference-mental-model/</guid>
      <pubDate>Tue, 19 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Unified memory is not a bigger pile of RAM. It is a different architecture, and the mental model for what makes inference fast on it is different from the model for discrete-GPU inference. Here is the working model after two months on a DGX Spark.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/unified-memory-inference-mental-model/hero.webp" type="image/webp" length="73202"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/unified-memory-inference-mental-model/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/unified-memory-inference-mental-model/hero.webp" type="image/webp" medium="image" fileSize="73202"/>
      <category>technical</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[FIPS, the Mesh Protocol, and Why I Need to Build It to Believe It]]></title>
      <link>https://sovgrid.org/blog/fips-the-mesh-protocol-and-why-i-need-to-build-it-to-believe-it/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fips-the-mesh-protocol-and-why-i-need-to-build-it-to-believe-it/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The planning post before the implementation post. FIPS is an open-source mesh protocol with cryptographic identity and transport-agnostic routing. My sovereign AI stack is sovereign at the model and the hardware, and leaks the whole workload at the network boundary. Here is why that gap matters, the five concrete pieces of work I am committing to, and why I write the plan in public before I know if it works.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fips-the-mesh-protocol-and-why-i-need-to-build-it-to-believe-it/hero.webp" type="image/webp" length="88630"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fips-the-mesh-protocol-and-why-i-need-to-build-it-to-believe-it/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fips-the-mesh-protocol-and-why-i-need-to-build-it-to-believe-it/hero.webp" type="image/webp" medium="image" fileSize="88630"/>
      <category>strategy</category>
      <category>nostr</category>
      <category>agents</category>
      <category>mcp</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[Bitcoin Connect: window.webln Stays After Disconnect]]></title>
      <link>https://sovgrid.org/blog/fixes-bitcoin-connect-disconnect-docs-cleanup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-bitcoin-connect-disconnect-docs-cleanup/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A defensive PR review exposed a 2-year-old WebLN provider leak in Bitcoin Connect's recommended pattern. The fix is three lines in the README. PR #385 merged 2026-05-07.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-bitcoin-connect-disconnect-docs-cleanup/hero.webp" type="image/webp" length="48260"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-bitcoin-connect-disconnect-docs-cleanup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-bitcoin-connect-disconnect-docs-cleanup/hero.webp" type="image/webp" medium="image" fileSize="48260"/>
      <category>fix</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[EAGLE Throughput Is Content-Dependent: Same Run, 14 to 31 Tokens Per Second]]></title>
      <link>https://sovgrid.org/blog/fixes-eagle-content-dependent-throughput/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-eagle-content-dependent-throughput/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I added a numerical output contract to my Mistral prompt and watched throughput drop in half on the same hardware. Then the naturalize step in the same pipeline run hit 31 tok/s. Live SGLang logs explain why, and what to do about it.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-eagle-content-dependent-throughput/hero.webp" type="image/webp" length="47688"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-eagle-content-dependent-throughput/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-eagle-content-dependent-throughput/hero.webp" type="image/webp" medium="image" fileSize="47688"/>
      <category>fix</category>
      <category>devops</category>
      <category>mistral</category>
      <category>podcast</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Per-Segment Loudnorm and the 3-Second Lookahead Bug]]></title>
      <link>https://sovgrid.org/blog/fixes-loudnorm-multi-speaker-tts-pipeline/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-loudnorm-multi-speaker-tts-pipeline/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Per-block ffmpeg loudnorm averages multiple speakers to one gain, leaving the quieter voice quieter. Dynamic-mode loudnorm eats the first 3 seconds of audio.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-loudnorm-multi-speaker-tts-pipeline/hero.webp" type="image/webp" length="50036"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-loudnorm-multi-speaker-tts-pipeline/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-loudnorm-multi-speaker-tts-pipeline/hero.webp" type="image/webp" medium="image" fileSize="50036"/>
      <category>fix</category>
      <category>devops</category>
      <category>tts</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[Why SGLang Never Froze My Desktop But vLLM Did: an SM 12.1 MoE-Kernel Story]]></title>
      <link>https://sovgrid.org/blog/fixes-vllm-moe-throughput-sm121-desktop-freeze/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-vllm-moe-throughput-sm121-desktop-freeze/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A vLLM-Qwen container ran four days clean, then froze the whole GNOME desktop the moment any GPU app opened. SGLang-Mistral never did this in days of uptime. The cause: vLLM's FlashInfer MoE throughput backend has broken SM120 kernels on the DGX Spark's SM 12.1 GPU, and on unified memory a bad kernel launch takes the display down with it. One env var fixes it.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-vllm-moe-throughput-sm121-desktop-freeze/hero.webp" type="image/webp" length="31896"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-vllm-moe-throughput-sm121-desktop-freeze/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-vllm-moe-throughput-sm121-desktop-freeze/hero.webp" type="image/webp" medium="image" fileSize="31896"/>
      <category>fix</category>
      <category>dgx-spark</category>
      <category>qwen</category>
      <category>sglang</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[Mistral vs Qwen3.6 on DGX Spark: the 0/30 That Was a Broken Ruler]]></title>
      <link>https://sovgrid.org/blog/mistral-vs-qwen36-dgx-spark-the-zero-that-was-a-broken-ruler/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/mistral-vs-qwen36-dgx-spark-the-zero-that-was-a-broken-ruler/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[I almost published 'Mistral Small 4 scores 0/30 on coding, the quant kills it'. A competent model scoring exactly zero should have been the red flag. The benchmark harness was hanging behind this stack's Tor docker proxy and never reached the model. Here is the broken-ruler story, the direct measurement that replaced it, and every Mistral-vs-Qwen3.6 number at a glance, including which one can actually read an image.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/mistral-vs-qwen36-dgx-spark-the-zero-that-was-a-broken-ruler/hero.webp" type="image/webp" length="103946"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/mistral-vs-qwen36-dgx-spark-the-zero-that-was-a-broken-ruler/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/mistral-vs-qwen36-dgx-spark-the-zero-that-was-a-broken-ruler/hero.webp" type="image/webp" medium="image" fileSize="103946"/>
      <category>strategy</category>
      <category>qwen</category>
      <category>mistral</category>
      <category>dgx-spark</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[The Quality Gate That Rewards Fabrication: I Had Qwen and Mistral Write This Blog]]></title>
      <link>https://sovgrid.org/blog/the-quality-gate-that-rewards-fabrication/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/the-quality-gate-that-rewards-fabrication/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[This blog gates every article behind one Python scorer before it publishes. I gave Qwen3.6 and Mistral Small 4 the same brief, the Start Here hub article this site still owes, and ran the raw output through that real gate with no editing. Both passed. Both invented hardware, processes, and benchmarks the scorer counted as quality. Here is the full method, the two source texts, and why a passing score is a floor and not a truth filter.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/the-quality-gate-that-rewards-fabrication/hero.webp" type="image/webp" length="118392"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/the-quality-gate-that-rewards-fabrication/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/the-quality-gate-that-rewards-fabrication/hero.webp" type="image/webp" medium="image" fileSize="118392"/>
      <category>strategy</category>
      <category>qwen</category>
      <category>mistral</category>
      <category>dgx-spark</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[The Quiet Pattern Among Sovereign Engineers]]></title>
      <link>https://sovgrid.org/blog/the-quiet-pattern-among-sovereign-engineers/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/the-quiet-pattern-among-sovereign-engineers/</guid>
      <pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Six traits I keep seeing across the people who fit the sovereign-engineer description: they argue with specs, name every dependency, default to publishing, plan in decade arcs while shipping weekly, price friction honestly, and gate their optimism. Written from the outside, by the operator who runs the iron the sovereign software eventually touches.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/the-quiet-pattern-among-sovereign-engineers/hero.webp" type="image/webp" length="46400"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/the-quiet-pattern-among-sovereign-engineers/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/the-quiet-pattern-among-sovereign-engineers/hero.webp" type="image/webp" medium="image" fileSize="46400"/>
      <category>strategy</category>
      <category>nostr</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[Why hf download Lies to You at 22 GB on DGX Spark]]></title>
      <link>https://sovgrid.org/blog/fixes-hf-download-lies-at-22gb/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-hf-download-lies-at-22gb/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The huggingface-hub CLI exits zero while leaving five out of six safetensor shards as .incomplete files. Three failure modes from the same model pull, and the wrapper that catches all of them.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-hf-download-lies-at-22gb/hero.webp" type="image/webp" length="42038"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-hf-download-lies-at-22gb/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-hf-download-lies-at-22gb/hero.webp" type="image/webp" medium="image" fileSize="42038"/>
      <category>fix</category>
      <category>dgx-spark</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[opencode Setup: Self-Hosted AI Coding Assistant on ARM64]]></title>
      <link>https://sovgrid.org/blog/setup-opencode-self-hosted-coding-assistant/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-opencode-self-hosted-coding-assistant/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Replace cloud AI coding assistants with opencode, a provider-agnostic Node CLI plus Electron desktop app. Points at any OpenAI-compatible endpoint, ships in three frontends. Includes the 2026-05-13 correction on the auto-title-generator Mistral BadRequest gotcha and the JSON-config-only setup syntax.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-opencode-self-hosted-coding-assistant/hero.webp" type="image/webp" length="77124"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-opencode-self-hosted-coding-assistant/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-opencode-self-hosted-coding-assistant/hero.webp" type="image/webp" medium="image" fileSize="77124"/>
      <category>setup</category>
      <category>opencode</category>
      <category>qwen</category>
      <category>agents</category>
      <category>mistral</category>
    </item>
    <item>
      <title><![CDATA[TTS Spike Day 1: VibeVoice Sample Matrix on DGX Spark]]></title>
      <link>https://sovgrid.org/blog/strategy-tts-spike-day-1-vibevoice/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-tts-spike-day-1-vibevoice/</guid>
      <pubDate>Wed, 13 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Eleven VibeVoice renders, one Voxtral baseline, the operator's ears. The first day of the TTS spike that follows the V6=0/10 verdict. Engineering-log shape, with the actual audio embedded. Day 2 went to a late entrant, Qwen3-TTS.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-tts-spike-day-1-vibevoice/hero.webp" type="image/webp" length="24506"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-tts-spike-day-1-vibevoice/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-tts-spike-day-1-vibevoice/hero.webp" type="image/webp" medium="image" fileSize="24506"/>
      <category>strategy</category>
      <category>podcast</category>
      <category>tts</category>
    </item>
    <item>
      <title><![CDATA[How to Auto-Post on Nostr Without Reading Like a Bot]]></title>
      <link>https://sovgrid.org/blog/strategy-nostr-anti-slop-autoposter/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-nostr-anti-slop-autoposter/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Five posts a week, no marketing department, no template-substitution. Building a Nostr distribution cadence for a self-hosted blog that does not embody what readers can spot in two scrolls.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-nostr-anti-slop-autoposter/hero.webp" type="image/webp" length="53770"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-nostr-anti-slop-autoposter/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-nostr-anti-slop-autoposter/hero.webp" type="image/webp" medium="image" fileSize="53770"/>
      <category>strategy</category>
      <category>nostr</category>
    </item>
    <item>
      <title><![CDATA[Voxtral Capped at 3/10: Picking the Next Open TTS]]></title>
      <link>https://sovgrid.org/blog/strategy-tts-pivot-voxtral-ceiling/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-tts-pivot-voxtral-ceiling/</guid>
      <pubDate>Tue, 12 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Eight engineering fixes deep, three weeks of patches, two failure modes on the same engine. The Voxtral open checkpoint has no path to release-quality podcast audio. The drama of staying with it anyway, and the three engines I plan to spike next.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-tts-pivot-voxtral-ceiling/hero.webp" type="image/webp" length="81356"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-tts-pivot-voxtral-ceiling/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-tts-pivot-voxtral-ceiling/hero.webp" type="image/webp" medium="image" fileSize="81356"/>
      <category>strategy</category>
      <category>podcast</category>
      <category>tts</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[Three Self-Healing Patches in One Day, All the Same Shape]]></title>
      <link>https://sovgrid.org/blog/fixes-self-healing-pipeline-gaps/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-self-healing-pipeline-gaps/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Three pipeline gaps surfaced in a single afternoon. Each was silent for weeks. The same three-part pattern fixed all of them. Concrete code, before-and-after numbers, and the discipline that keeps it from happening again.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-self-healing-pipeline-gaps/hero.webp" type="image/webp" length="59134"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-self-healing-pipeline-gaps/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-self-healing-pipeline-gaps/hero.webp" type="image/webp" medium="image" fileSize="59134"/>
      <category>fix</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[Why 334 Unique IPs Was Really 5 Services in Trench Coats]]></title>
      <link>https://sovgrid.org/blog/research-distinct-agents-vs-unique-ips/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/research-distinct-agents-vs-unique-ips/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[My MCP-server NSM page showed 334 unique agents. One change to the aggregator (User-Agent plus IP /24 dedupe) and the truth surfaced: 86% of external hits come from a single /24 range, the rest are mostly automated probes. Headline metrics that look like reach can be five services pretending to be many.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/research-distinct-agents-vs-unique-ips/hero.webp" type="image/webp" length="62992"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/research-distinct-agents-vs-unique-ips/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/research-distinct-agents-vs-unique-ips/hero.webp" type="image/webp" medium="image" fileSize="62992"/>
      <category>strategy</category>
      <category>mcp</category>
    </item>
    <item>
      <title><![CDATA[How to Read the Insights Dashboard for a DGX-Spark Business, Not a Hobby Blog]]></title>
      <link>https://sovgrid.org/blog/strategy-insights-dashboard-for-dgx-business/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-insights-dashboard-for-dgx-business/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Each number on the live Insights page has a formula, a business meaning, and a vanity-trap. If you are running a DGX Spark as the engine of a small AI service, here is how to read the dashboard daily without chasing growth-theatre, and which two metrics are the only ones worth waking up to check.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-insights-dashboard-for-dgx-business/hero.webp" type="image/webp" length="133600"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-insights-dashboard-for-dgx-business/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-insights-dashboard-for-dgx-business/hero.webp" type="image/webp" medium="image" fileSize="133600"/>
      <category>strategy</category>
      <category>mcp</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[Spark Arena Rank 4 Made Me Add Qwen3.6 to My DGX Spark]]></title>
      <link>https://sovgrid.org/blog/strategy-next-model-choices-dgx-spark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-next-model-choices-dgx-spark/</guid>
      <pubDate>Mon, 11 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Qwen3.6-35B-A3B PrismaQuant at 95 tok/s on a single Spark (Spark Arena rank 4) beats my measured Mistral Small 4 at 35 tok/s by 2.7x on paper. This is the plan, not the result. SWE-Bench scores, opencode replacing vibe, why Mistral stays installed for creative prose, the Hacker News critiques on opencode I take seriously, and the two-day prep before day-2 measurements land on 2026-05-25.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-next-model-choices-dgx-spark/hero.webp" type="image/webp" length="137380"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-next-model-choices-dgx-spark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-next-model-choices-dgx-spark/hero.webp" type="image/webp" medium="image" fileSize="137380"/>
      <category>strategy</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[FFmpeg Volume Filter eval=frame: A 4-Second Silent Bug]]></title>
      <link>https://sovgrid.org/blog/fixes-ffmpeg-volume-filter-eval-frame/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-ffmpeg-volume-filter-eval-frame/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The intro music wasn't playing for the first four seconds of every podcast episode. RMS at minus infinity. The fix was one keyword, eval=frame.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-ffmpeg-volume-filter-eval-frame/hero.webp" type="image/webp" length="58102"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-ffmpeg-volume-filter-eval-frame/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-ffmpeg-volume-filter-eval-frame/hero.webp" type="image/webp" medium="image" fileSize="58102"/>
      <category>fix</category>
      <category>devops</category>
      <category>podcast</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[Voxtral 4B Open-Checkpoint: The Encoder is Gated]]></title>
      <link>https://sovgrid.org/blog/fixes-voxtral-encoder-gated-no-voice-cloning/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-voxtral-encoder-gated-no-voice-cloning/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Voxtral 4B advertises voice cloning, accepts ref_audio in the API, then crashes the engine because the encoder weights live only in Mistral's hosted product.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-voxtral-encoder-gated-no-voice-cloning/hero.webp" type="image/webp" length="28396"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-voxtral-encoder-gated-no-voice-cloning/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-voxtral-encoder-gated-no-voice-cloning/hero.webp" type="image/webp" medium="image" fileSize="28396"/>
      <category>fix</category>
      <category>mistral</category>
      <category>podcast</category>
      <category>tts</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[Voxtral Chunk Strategy: 38 Percent Faster Render with Whole Turns]]></title>
      <link>https://sovgrid.org/blog/research-voxtral-chunk-strategy-render-time/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/research-voxtral-chunk-strategy-render-time/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Rendering a 367-character podcast turn as one Voxtral call takes 21 seconds. Split into 90-character chunks: 35 seconds. Same words, same voice, 38 percent more wallclock.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/research-voxtral-chunk-strategy-render-time/hero.webp" type="image/webp" length="64502"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/research-voxtral-chunk-strategy-render-time/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/research-voxtral-chunk-strategy-render-time/hero.webp" type="image/webp" medium="image" fileSize="64502"/>
      <category>strategy</category>
      <category>devops</category>
      <category>podcast</category>
      <category>tts</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[My Backup Ran for Six Weeks Without Backing Anything Up]]></title>
      <link>https://sovgrid.org/blog/strategy-backup-and-disaster-recovery/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-backup-and-disaster-recovery/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Green systemd timer, healthy logs, four silent bugs. The backup script never executed once. Here is the postmortem and the rebuilt three-tier architecture that replaced it.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-backup-and-disaster-recovery/hero.webp" type="image/webp" length="99380"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-backup-and-disaster-recovery/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-backup-and-disaster-recovery/hero.webp" type="image/webp" medium="image" fileSize="99380"/>
      <category>fix</category>
    </item>
    <item>
      <title><![CDATA[I Gave My Blog a Search Box, and It Runs Through My Own MCP Server]]></title>
      <link>https://sovgrid.org/blog/strategy-mcp-powered-blog-search-poc/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-mcp-powered-blog-search-poc/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Wired a browser search form directly into an MCP tool that AI agents already call. One afternoon, four endpoints, zero CORS, real numbers from the deploy. The mistakes that cost me an hour are documented inline.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-mcp-powered-blog-search-poc/hero.webp" type="image/webp" length="221994"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-mcp-powered-blog-search-poc/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-mcp-powered-blog-search-poc/hero.webp" type="image/webp" medium="image" fileSize="221994"/>
      <category>strategy</category>
      <category>mcp</category>
    </item>
    <item>
      <title><![CDATA[Alby Hub on ARM64: Self-Hosted Lightning Node in Docker for DGX Spark and Other ARM Boxes]]></title>
      <link>https://sovgrid.org/blog/setup-alby-hub-arm64-self-hosted-lightning/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-alby-hub-arm64-self-hosted-lightning/</guid>
      <pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Run your own Lightning node on an ARM64 Linux box. Five-minute Docker setup, channel opening, sub-wallets via NWC, and the gotchas that x86-only guides skip.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-alby-hub-arm64-self-hosted-lightning/hero.webp" type="image/webp" length="26708"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-alby-hub-arm64-self-hosted-lightning/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-alby-hub-arm64-self-hosted-lightning/hero.webp" type="image/webp" medium="image" fileSize="26708"/>
      <category>setup</category>
      <category>lightning</category>
      <category>nostr</category>
    </item>
    <item>
      <title><![CDATA[How Much Electricity Does Self-Hosted AI Actually Use? Lightbulbs, Bitcoin Miners, and Solar Panels]]></title>
      <link>https://sovgrid.org/blog/strategy-self-hosted-ai-electricity-cost-and-solar/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-self-hosted-ai-electricity-cost-and-solar/</guid>
      <pubDate>Mon, 04 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[What a DGX Spark actually draws from the wall, what that costs in Germany versus the US, how it compares to a lightbulb and a Bitcoin miner, and how many solar panels would offset it. With sources.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-self-hosted-ai-electricity-cost-and-solar/hero.webp" type="image/webp" length="38052"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-self-hosted-ai-electricity-cost-and-solar/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-self-hosted-ai-electricity-cost-and-solar/hero.webp" type="image/webp" medium="image" fileSize="38052"/>
      <category>strategy</category>
      <category>dgx-spark</category>
    </item>
    <item>
      <title><![CDATA[Voxtral Podcast Audio: Mono 24 kHz Baseline and Three Compression Pitfalls]]></title>
      <link>https://sovgrid.org/blog/fixes-podcast-audio-quality-2026-04-25/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-podcast-audio-quality-2026-04-25/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How we fixed loudness pumping, markup stripping, and dialogue rhythm in a self-hosted podcast pipeline]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-podcast-audio-quality-2026-04-25/hero.webp" type="image/webp" length="65292"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-podcast-audio-quality-2026-04-25/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-podcast-audio-quality-2026-04-25/hero.webp" type="image/webp" medium="image" fileSize="65292"/>
      <category>fix</category>
      <category>devops</category>
      <category>podcast</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[Voxtral-TTS Blocker on GB10: The Three-Line vllm-omni Patch]]></title>
      <link>https://sovgrid.org/blog/fixes-voxtral-blackwell-blocker/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-voxtral-blackwell-blocker/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How a silent AttributeError nearly killed our TTS pipeline, and why three lines of code fixed it forever.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-voxtral-blackwell-blocker/hero.webp" type="image/webp" length="38898"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-voxtral-blackwell-blocker/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-voxtral-blackwell-blocker/hero.webp" type="image/webp" medium="image" fileSize="38898"/>
      <category>fix</category>
      <category>devops</category>
      <category>tts</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[The 3.5-Hour Deadlock That Was Really an AttributeError]]></title>
      <link>https://sovgrid.org/blog/fixes-voxtral-text-config-bug/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-voxtral-text-config-bug/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How a three-line Python init order bug masqueraded as a Blackwell GPU hang, and why checking raw logs beat all hardware theories.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-voxtral-text-config-bug/hero.webp" type="image/webp" length="24752"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-voxtral-text-config-bug/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-voxtral-text-config-bug/hero.webp" type="image/webp" medium="image" fileSize="24752"/>
      <category>fix</category>
      <category>devops</category>
      <category>mistral</category>
      <category>podcast</category>
      <category>tts</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[Sovereign Grid Dashboard: Architecture, Service Tab Overhaul, and Service Control Pattern]]></title>
      <link>https://sovgrid.org/blog/services-sovereign-dashboard/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/services-sovereign-dashboard/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A deep dive into a self-hosted AI operations dashboard that replaces cloud dashboards with a privacy-first, hardware-aware control plane. Learn how the Service tab was rebuilt to handle long commands without layout breaks, how service control works at the system level, and why a single source of truth for your AI stack matters.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/services-sovereign-dashboard/hero.webp" type="image/webp" length="66862"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/services-sovereign-dashboard/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/services-sovereign-dashboard/hero.webp" type="image/webp" medium="image" fileSize="66862"/>
      <category>services</category>
    </item>
    <item>
      <title><![CDATA[The Sovereign AI Blog MCP Is Mostly Redundant Today, And That Will Change]]></title>
      <link>https://sovgrid.org/blog/setup-blog-mcp-honest-mvp/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-blog-mcp-honest-mvp/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Why the first Sovereign AI MCP server isn't worth installing yet, but will be once it hits 200 articles and adds specialized tools. An honest MVP/POC critique.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-blog-mcp-honest-mvp/hero.webp" type="image/webp" length="48428"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-blog-mcp-honest-mvp/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-blog-mcp-honest-mvp/hero.webp" type="image/webp" medium="image" fileSize="48428"/>
      <category>setup</category>
      <category>mcp</category>
    </item>
    <item>
      <title><![CDATA[Floki-VPS Setup for Sovereign AI Workloads]]></title>
      <link>https://sovgrid.org/blog/setup-floki-vps-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-floki-vps-setup/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Move your AI stack off cloud servers. This post shows how to migrate a production Sovereign AI blog and MCP server to a €163/year VPS, harden it, and run it with Docker and Caddy, complete with real configs and pitfalls.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-floki-vps-setup/hero.webp" type="image/webp" length="112540"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-floki-vps-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-floki-vps-setup/hero.webp" type="image/webp" medium="image" fileSize="112540"/>
      <category>setup</category>
      <category>mcp</category>
    </item>
    <item>
      <title><![CDATA[Build a Self-Hosted Knowledge Base with Plain Text and LLMs]]></title>
      <link>https://sovgrid.org/blog/setup-knowledge-base/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-knowledge-base/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A practical guide to setting up a searchable, growing knowledge base using Markdown files, JSON indexing, and local LLMs, no vector stores required.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-knowledge-base/hero.webp" type="image/webp" length="100144"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-knowledge-base/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-knowledge-base/hero.webp" type="image/webp" medium="image" fileSize="100144"/>
      <category>setup</category>
      <category>mcp</category>
      <category>mistral</category>
      <category>podcast</category>
    </item>
    <item>
      <title><![CDATA[OpenClaw Setup on DGX Spark for Sovereign AI Agents]]></title>
      <link>https://sovgrid.org/blog/setup-openclaw-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-openclaw-setup/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A hands-on guide to installing and configuring OpenClaw on NVIDIA DGX Spark, switching between cloud and local models, and wiring MCP servers.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-openclaw-setup/hero.webp" type="image/webp" length="64444"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-openclaw-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-openclaw-setup/hero.webp" type="image/webp" medium="image" fileSize="64444"/>
      <category>setup</category>
      <category>mcp</category>
      <category>mistral</category>
      <category>openclaw</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Self-Hosted AI: Start Here]]></title>
      <link>https://sovgrid.org/blog/setup-self-hosted-ai-start-here/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-self-hosted-ai-start-here/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[The honest decision tree for taking a local LLM stack seriously. Hardware tradeoffs I actually made, the inference engine I picked and why, the parts that hurt the most after I started, and the reading path through the rest of this blog.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-self-hosted-ai-start-here/hero.webp" type="image/webp" length="92740"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-self-hosted-ai-start-here/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-self-hosted-ai-start-here/hero.webp" type="image/webp" medium="image" fileSize="92740"/>
      <category>setup</category>
    </item>
    <item>
      <title><![CDATA[Sovereign MCP Server: Local Setup, Integration, and Hard Lessons]]></title>
      <link>https://sovgrid.org/blog/setup-sovereign-mcp-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-sovereign-mcp-setup/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how to run a self-hosted MCP server for your blog’s knowledge base, integrate it with OpenClaw and Vibe, and avoid the pitfalls I hit while migrating from cloud to Sovereign AI.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-sovereign-mcp-setup/hero.webp" type="image/webp" length="44562"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-sovereign-mcp-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-sovereign-mcp-setup/hero.webp" type="image/webp" medium="image" fileSize="44562"/>
      <category>setup</category>
      <category>mcp</category>
      <category>openclaw</category>
      <category>sglang</category>
      <category>vibe</category>
    </item>
    <item>
      <title><![CDATA[How Two Sovereign AI Personas Run Your Blog and Nostr Feed]]></title>
      <link>https://sovgrid.org/blog/strategy-agents-cipherfox-hexabella/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-agents-cipherfox-hexabella/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Cipherfox and Hexabella post curated content without human oversight, using Mistral Small 4 on a DGX Spark and a hardened signing service. Here’s how it works today.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-agents-cipherfox-hexabella/hero.webp" type="image/webp" length="13926"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-agents-cipherfox-hexabella/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-agents-cipherfox-hexabella/hero.webp" type="image/webp" medium="image" fileSize="13926"/>
      <category>strategy</category>
      <category>mistral</category>
      <category>nostr</category>
    </item>
    <item>
      <title><![CDATA[Hub Articles Protocol: How Three Reading-Paths Earn Their Homepage Slot]]></title>
      <link>https://sovgrid.org/blog/strategy-hub-articles-protocol/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-hub-articles-protocol/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How sovgrid.org structures its most important posts to guide readers and shape the blog’s identity.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-hub-articles-protocol/hero.webp" type="image/webp" length="169030"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-hub-articles-protocol/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-hub-articles-protocol/hero.webp" type="image/webp" medium="image" fileSize="169030"/>
      <category>strategy</category>
      <category>mistral</category>
    </item>
    <item>
      <title><![CDATA[MCP Registry Distribution: Submission Plan & Tracking]]></title>
      <link>https://sovgrid.org/blog/strategy-mcp-registry-distribution/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-mcp-registry-distribution/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How we’re getting the Sovereign AI MCP endpoint listed in five registries with real traffic tracking and zero KYC friction.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-mcp-registry-distribution/hero.webp" type="image/webp" length="70236"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-mcp-registry-distribution/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-mcp-registry-distribution/hero.webp" type="image/webp" medium="image" fileSize="70236"/>
      <category>strategy</category>
      <category>mcp</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[OpenClaw: What’s Still Missing for Full Usability]]></title>
      <link>https://sovgrid.org/blog/strategy-openclaw-roadmap/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-openclaw-roadmap/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A no-BS breakdown of the gaps in a self-hosted AI stack and the exact next steps to plug them.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-openclaw-roadmap/hero.webp" type="image/webp" length="101870"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-openclaw-roadmap/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-openclaw-roadmap/hero.webp" type="image/webp" medium="image" fileSize="101870"/>
      <category>strategy</category>
      <category>gitea</category>
      <category>mistral</category>
      <category>openclaw</category>
    </item>
    <item>
      <title><![CDATA[Building Per-Article Zap Tracking on Nostr, and Then Getting Zero Zaps]]></title>
      <link>https://sovgrid.org/blog/strategy-zap-tracking-and-blog-nostr-account/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-zap-tracking-and-blog-nostr-account/</guid>
      <pubDate>Sun, 03 May 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Three Nostr identities, a working zap-attribution pipeline, 44 articles live at the time of writing, and after 30 days exactly zero zaps. What I learned about V4V on a small technical blog.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-zap-tracking-and-blog-nostr-account/hero.webp" type="image/webp" length="17120"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-zap-tracking-and-blog-nostr-account/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-zap-tracking-and-blog-nostr-account/hero.webp" type="image/webp" medium="image" fileSize="17120"/>
      <category>strategy</category>
      <category>lightning</category>
      <category>nostr</category>
    </item>
    <item>
      <title><![CDATA[100/100 on Smithery in 4 Hours, and Why That Means Almost Nothing]]></title>
      <link>https://sovgrid.org/blog/setup-mcp-listing-smithery-100/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-mcp-listing-smithery-100/</guid>
      <pubDate>Thu, 30 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Built a self-hosted MCP, mirrored it to GitHub, listed it on Smithery, hit a perfect quality score before dinner. The exact patches, badges, and pitfalls. Plus an honest take on why a number on a dashboard is not a customer.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-mcp-listing-smithery-100/00-hero-smithery-100.webp" type="image/webp" length="56508"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-mcp-listing-smithery-100/00-hero-smithery-100.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-mcp-listing-smithery-100/00-hero-smithery-100.webp" type="image/webp" medium="image" fileSize="56508"/>
      <category>setup</category>
      <category>mcp</category>
    </item>
    <item>
      <title><![CDATA[Two Days From Localhost to Production: Building a Hybrid Sovereign AI Site]]></title>
      <link>https://sovgrid.org/blog/two-days-from-localhost-to-production-building-a-hybrid-sovereign-ai-site/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/two-days-from-localhost-to-production-building-a-hybrid-sovereign-ai-site/</guid>
      <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A two-day build log from localhost to a sovereign hybrid AI site. Three failure modes, exact fixes, and the reproducibility checklist most cloud guides skip.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/two-days-from-localhost-to-production-building-a-hybrid-sovereign-ai-site/hero.webp" type="image/webp" length="68138"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/two-days-from-localhost-to-production-building-a-hybrid-sovereign-ai-site/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/two-days-from-localhost-to-production-building-a-hybrid-sovereign-ai-site/hero.webp" type="image/webp" medium="image" fileSize="68138"/>
      <category>strategy</category>
      <category>mistral</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Two Leaderboards Nobody Reads Together: Why arena.ai Doesn't Tell You About Self-Hosted AI]]></title>
      <link>https://sovgrid.org/blog/two-leaderboards-nobody-reads-together-why-arena-ai-doesn-t-tell-you-about-self-hosted-ai/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/two-leaderboards-nobody-reads-together-why-arena-ai-doesn-t-tell-you-about-self-hosted-ai/</guid>
      <pubDate>Wed, 29 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Mainstream AI coverage cites only one leaderboard. arena.ai ranks quality. spark-arena.com ranks throughput on real hardware. The decision that matters lives in the third column nobody publishes.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/two-leaderboards-nobody-reads-together-why-arena-ai-doesn-t-tell-you-about-self-hosted-ai/hero.webp" type="image/webp" length="92734"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/two-leaderboards-nobody-reads-together-why-arena-ai-doesn-t-tell-you-about-self-hosted-ai/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/two-leaderboards-nobody-reads-together-why-arena-ai-doesn-t-tell-you-about-self-hosted-ai/hero.webp" type="image/webp" medium="image" fileSize="92734"/>
      <category>strategy</category>
      <category>mistral</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI Grid: What's Working and What Comes Next]]></title>
      <link>https://sovgrid.org/blog/strategy-roadmap/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-roadmap/</guid>
      <pubDate>Tue, 28 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Status snapshot of what is running on this stack today and what is being built next. For returning readers. New here? Read 'Self-Hosted AI: Start Here' first.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-roadmap/hero.webp" type="image/webp" length="113662"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-roadmap/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-roadmap/hero.webp" type="image/webp" medium="image" fileSize="113662"/>
      <category>strategy</category>
      <category>mcp</category>
      <category>nostr</category>
      <category>podcast</category>
    </item>
    <item>
      <title><![CDATA[Fix OpenClaw + SGLang with Mistral: Stop the "conversation roles must alternate" 400 BadRequest]]></title>
      <link>https://sovgrid.org/blog/fixes-openclaw-mistral-alternating-roles/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-openclaw-mistral-alternating-roles/</guid>
      <pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how a 200-line proxy fixed a strict role-alternation bug that broke Mistral Small 4 after the first few turns]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-openclaw-mistral-alternating-roles/hero.webp" type="image/webp" length="79022"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-openclaw-mistral-alternating-roles/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-openclaw-mistral-alternating-roles/hero.webp" type="image/webp" medium="image" fileSize="79022"/>
      <category>fix</category>
      <category>devops</category>
      <category>mistral</category>
      <category>openclaw</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[A Self-Hosted AI Blog That Serves Both Humans and Machines]]></title>
      <link>https://sovgrid.org/blog/strategy-agentic-economy-pivot/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-agentic-economy-pivot/</guid>
      <pubDate>Mon, 27 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[This technical blog maintains a single source of truth while layering machine-readable tools on top, ensuring both human readers and AI agents get accurate, up-to-date information.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot/hero.webp" type="image/webp" length="194550"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot/hero.webp" type="image/webp" medium="image" fileSize="194550"/>
      <category>strategy</category>
      <category>mcp</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[From Blog to Agent Tools: How One Knowledge Base Powers Both Humans and AI]]></title>
      <link>https://sovgrid.org/blog/strategy-agentic-economy-pivot_part1/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-agentic-economy-pivot_part1/</guid>
      <pubDate>Sun, 26 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how to transform your technical blog into a dual-purpose knowledge base that serves both human readers and AI agents while future-proofing your content strategy.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot_part1/hero.webp" type="image/webp" length="44672"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot_part1/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot_part1/hero.webp" type="image/webp" medium="image" fileSize="44672"/>
      <category>strategy</category>
      <category>mcp</category>
      <category>mistral</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Voxtral Stage 1 OOM on GB10: Why --enforce-eager Is Not Enough]]></title>
      <link>https://sovgrid.org/blog/fixes-voxtral-stage1-oom-fix/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-voxtral-stage1-oom-fix/</guid>
      <pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How a single flag killed my self-hosted TTS stack, and how I fixed it without losing a second of audio.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-voxtral-stage1-oom-fix/hero.webp" type="image/webp" length="44296"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-voxtral-stage1-oom-fix/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-voxtral-stage1-oom-fix/hero.webp" type="image/webp" medium="image" fileSize="44296"/>
      <category>fix</category>
      <category>devops</category>
      <category>podcast</category>
      <category>tts</category>
      <category>voxtral</category>
    </item>
    <item>
      <title><![CDATA[Running a 119B AI Model at Home: Who Actually Does This in 2026]]></title>
      <link>https://sovgrid.org/blog/strategy-agentic-economy-pivot_part2/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-agentic-economy-pivot_part2/</guid>
      <pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A deep dive into the DGX Spark ecosystem, real power costs, and agent-driven tool adoption for self-hosting 119B models at home in 2026.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot_part2/hero.webp" type="image/webp" length="45088"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot_part2/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-agentic-economy-pivot_part2/hero.webp" type="image/webp" medium="image" fileSize="45088"/>
      <category>strategy</category>
      <category>mcp</category>
      <category>mistral</category>
    </item>
    <item>
      <title><![CDATA[Hands-on AI Coding Tools: Why I Kept Claude Code + Vibe and Dumped Cursor and Continue.dev]]></title>
      <link>https://sovgrid.org/blog/strategy-coding-tools-evaluation/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-coding-tools-evaluation/</guid>
      <pubDate>Fri, 24 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A hands-on comparison of AI coding tools testing local inference vs cloud dependency for privacy-first workflows.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-coding-tools-evaluation/hero.webp" type="image/webp" length="58394"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-coding-tools-evaluation/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-coding-tools-evaluation/hero.webp" type="image/webp" medium="image" fileSize="58394"/>
      <category>strategy</category>
      <category>mistral</category>
      <category>vibe</category>
    </item>
    <item>
      <title><![CDATA[Six Weeks Running Mistral Small 4 as a Production Tool: What I Actually Learned]]></title>
      <link>https://sovgrid.org/blog/strategy-mistral-claude-hybrid-learnings/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-mistral-claude-hybrid-learnings/</guid>
      <pubDate>Thu, 23 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A deep dive into optimizing Mistral Small 4 for local technical blogging, with practical solutions for session memory, image generation, and EEAT compliance.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-mistral-claude-hybrid-learnings/hero.webp" type="image/webp" length="42232"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-mistral-claude-hybrid-learnings/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-mistral-claude-hybrid-learnings/hero.webp" type="image/webp" medium="image" fileSize="42232"/>
      <category>strategy</category>
      <category>mistral</category>
      <category>vibe</category>
    </item>
    <item>
      <title><![CDATA[Content Quality in the AI Age: Where Our Scoring System Is Right, Wrong, and Missing]]></title>
      <link>https://sovgrid.org/blog/strategy-content-quality-manifest-evaluation/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/strategy-content-quality-manifest-evaluation/</guid>
      <pubDate>Wed, 22 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A full-system review of our quality scoring pipeline against a rigorous philosophical framework. Three things it confirms, two things it exposes, and one concrete fix that changes the architecture.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/strategy-content-quality-manifest-evaluation/hero.webp" type="image/webp" length="68890"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/strategy-content-quality-manifest-evaluation/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/strategy-content-quality-manifest-evaluation/hero.webp" type="image/webp" medium="image" fileSize="68890"/>
      <category>strategy</category>
    </item>
    <item>
      <title><![CDATA[Build a Self-Hosted AI Blog with Astro, Mistral, and ComfyUI on One Machine]]></title>
      <link>https://sovgrid.org/blog/setup-sovereign-blog-setup_part1/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-sovereign-blog-setup_part1/</guid>
      <pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A practical guide to running a full content pipeline, writing, generating images, and serving, on your own hardware with Astro, Mistral Small 4, and ComfyUI FLUX.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-sovereign-blog-setup_part1/hero.webp" type="image/webp" length="66096"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-sovereign-blog-setup_part1/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-sovereign-blog-setup_part1/hero.webp" type="image/webp" medium="image" fileSize="66096"/>
      <category>setup</category>
      <category>comfyui</category>
      <category>flux</category>
      <category>mistral</category>
    </item>
    <item>
      <title><![CDATA[Sovereign Blog Setup: Self-Hosted AI Content Pipeline & Monetization]]></title>
      <link>https://sovgrid.org/blog/setup-sovereign-blog-setup_part2/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-sovereign-blog-setup_part2/</guid>
      <pubDate>Mon, 20 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A hands-on guide to deploying a self-hosted AI blog with Docker, Astro, and MCP discovery, complete with working code, real-world gotchas, and monetization via Lightning and Nostr.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-sovereign-blog-setup_part2/hero.webp" type="image/webp" length="13564"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-sovereign-blog-setup_part2/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-sovereign-blog-setup_part2/hero.webp" type="image/webp" medium="image" fileSize="13564"/>
      <category>setup</category>
      <category>lightning</category>
      <category>mcp</category>
      <category>nostr</category>
    </item>
    <item>
      <title><![CDATA[Self-Host Mistral Small 4 with SGLang on NVIDIA DGX Spark (GB10): What Actually Works]]></title>
      <link>https://sovgrid.org/blog/setup-mistral-sglang-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-mistral-sglang-setup/</guid>
      <pubDate>Sun, 19 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Run Mistral Small 4 119B on NVIDIA GB10 with SGLang nightly: exact flags, real benchmarks, every gotcha that costs a day]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-mistral-sglang-setup/hero.webp" type="image/webp" length="36380"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-mistral-sglang-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-mistral-sglang-setup/hero.webp" type="image/webp" medium="image" fileSize="36380"/>
      <category>setup</category>
      <category>mistral</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[ComfyUI plus FLUX.1-schnell on DGX Spark: Per-Style Visual Vocabularies]]></title>
      <link>https://sovgrid.org/blog/setup-comfyui-flux-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-comfyui-flux-setup/</guid>
      <pubDate>Sat, 18 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Optimized workflow for running FLUX.1-schnell and Mistral sequentially on NVIDIA DGX Spark with 128GB unified memory]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-comfyui-flux-setup/hero.webp" type="image/webp" length="31132"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-comfyui-flux-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-comfyui-flux-setup/hero.webp" type="image/webp" medium="image" fileSize="31132"/>
      <category>setup</category>
      <category>comfyui</category>
      <category>flux</category>
      <category>mistral</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Self-Hosted AI Pipeline (Part 1): Targeted Scripts, Hardware-Crashing Flags, and Why Grep Beats LLM]]></title>
      <link>https://sovgrid.org/blog/setup-content-pipeline-learnings_part1/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-content-pipeline-learnings_part1/</guid>
      <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A practical guide to optimizing a self-hosted AI content pipeline with targeted scripts, grep-based validation, and precise flag handling.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-content-pipeline-learnings_part1/hero.webp" type="image/webp" length="56496"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-content-pipeline-learnings_part1/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-content-pipeline-learnings_part1/hero.webp" type="image/webp" medium="image" fileSize="56496"/>
      <category>setup</category>
      <category>mistral</category>
    </item>
    <item>
      <title><![CDATA[Self-Hosted AI Content Pipeline: What Works and What Doesn’t]]></title>
      <link>https://sovgrid.org/blog/setup-content-pipeline-learnings_part2/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-content-pipeline-learnings_part2/</guid>
      <pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Lessons learned from a failed LLM self-review experiment that broke our validation pipeline and how we fixed it with deterministic checks.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-content-pipeline-learnings_part2/hero.webp" type="image/webp" length="36038"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-content-pipeline-learnings_part2/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-content-pipeline-learnings_part2/hero.webp" type="image/webp" medium="image" fileSize="36038"/>
      <category>setup</category>
      <category>mistral</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Automate Better Blog Posts: Self-Hosted Article Optimization That Actually Works]]></title>
      <link>https://sovgrid.org/blog/setup-optimize-articles-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-optimize-articles-setup/</guid>
      <pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A weekly automation pipeline that repairs, updates, and optimizes self-hosted blog articles in place using Mistral and SearXNG.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-optimize-articles-setup/hero.webp" type="image/webp" length="133774"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-optimize-articles-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-optimize-articles-setup/hero.webp" type="image/webp" medium="image" fileSize="133774"/>
      <category>setup</category>
    </item>
    <item>
      <title><![CDATA[How Four Silent Failures Made My Backup System a Security Theater]]></title>
      <link>https://sovgrid.org/blog/fixes-backup-system-rebuild-2026-04-14/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-backup-system-rebuild-2026-04-14/</guid>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A senior engineer walks through the four hidden failures that made his backup system look healthy while actually failing for six weeks. Includes the exact commands, error messages, and hardware specs that turned a disaster into a reliable setup.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-backup-system-rebuild-2026-04-14/hero.webp" type="image/webp" length="41956"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-backup-system-rebuild-2026-04-14/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-backup-system-rebuild-2026-04-14/hero.webp" type="image/webp" medium="image" fileSize="41956"/>
      <category>fix</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[Feedbin and Lightning V4V: Tipping RSS Authors Through Alby]]></title>
      <link>https://sovgrid.org/blog/setup-feedbin-v4v-integration/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-feedbin-v4v-integration/</guid>
      <pubDate>Tue, 14 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how to implement Value-4-Value payments in Feedbin using podcast:value tags and the Alby bounty for a zap button.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-feedbin-v4v-integration/hero.webp" type="image/webp" length="50482"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-feedbin-v4v-integration/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-feedbin-v4v-integration/hero.webp" type="image/webp" medium="image" fileSize="50482"/>
      <category>setup</category>
      <category>lightning</category>
      <category>nostr</category>
      <category>podcast</category>
    </item>
    <item>
      <title><![CDATA[Gitea ARM64 Setup: Tor Hidden Service and Sovereign Dev Workflow]]></title>
      <link>https://sovgrid.org/blog/setup-gitea-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-gitea-setup/</guid>
      <pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A detailed guide to deploying Gitea on ARM64 with Docker, SQLite, Tor access, and automated encrypted backups.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-gitea-setup/hero.webp" type="image/webp" length="74394"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-gitea-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-gitea-setup/hero.webp" type="image/webp" medium="image" fileSize="74394"/>
      <category>setup</category>
      <category>gitea</category>
    </item>
    <item>
      <title><![CDATA[OpenHands Setup with Mistral-via-SGLang: The Multi-Arch Container Recipe]]></title>
      <link>https://sovgrid.org/blog/setup-openhands-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-openhands-setup/</guid>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Deploy a privacy-respecting AI coding assistant with Mistral Small 4 and SearXNG using Docker on ARM64 hardware.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-openhands-setup/hero.webp" type="image/webp" length="77124"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-openhands-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-openhands-setup/hero.webp" type="image/webp" medium="image" fileSize="77124"/>
      <category>setup</category>
      <category>mistral</category>
      <category>openclaw</category>
      <category>openhands</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Android AI Terminal: SSH plus Termux plus tmux for the AI Stack from Your Phone]]></title>
      <link>https://sovgrid.org/blog/setup-mobile-terminal-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-mobile-terminal-setup/</guid>
      <pubDate>Sat, 11 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Turn your Android device into a full terminal for your Sovereign AI Grid with Termux, Tailscale, and tmux for seamless remote access.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-mobile-terminal-setup/hero.webp" type="image/webp" length="63554"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-mobile-terminal-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-mobile-terminal-setup/hero.webp" type="image/webp" medium="image" fileSize="63554"/>
      <category>setup</category>
    </item>
    <item>
      <title><![CDATA[Alby Lightning Wallet: From Zero to Sovereign AI Tipper in 30 Minutes]]></title>
      <link>https://sovgrid.org/blog/setup-alby-lightning-wallet/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-alby-lightning-wallet/</guid>
      <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how to install Alby, receive your first Lightning payment, and become a Nostr power user with Zaps, all without trusting a bank or exchange.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-alby-lightning-wallet/hero.webp" type="image/webp" length="29318"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-alby-lightning-wallet/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-alby-lightning-wallet/hero.webp" type="image/webp" medium="image" fileSize="29318"/>
      <category>setup</category>
      <category>lightning</category>
      <category>nostr</category>
      <category>podcast</category>
    </item>
    <item>
      <title><![CDATA[Alby + Nostr: Send Lightning Zaps with Sovereign Identity]]></title>
      <link>https://sovgrid.org/blog/setup-alby-nostr-wallet/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-alby-nostr-wallet/</guid>
      <pubDate>Thu, 09 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Skip the cloud accounts. Use Alby’s NIP-07 signer to send Bitcoin zaps directly from your browser, no middlemen, no passwords, just your keypair and a Lightning wallet.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-alby-nostr-wallet/hero.webp" type="image/webp" length="39008"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-alby-nostr-wallet/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-alby-nostr-wallet/hero.webp" type="image/webp" medium="image" fileSize="39008"/>
      <category>setup</category>
      <category>lightning</category>
      <category>nostr</category>
    </item>
    <item>
      <title><![CDATA[BitBox02: The Swiss-Made Hardware Wallet for Sovereign Bitcoin]]></title>
      <link>https://sovgrid.org/blog/setup-bitbox-hardware-wallet/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-bitbox-hardware-wallet/</guid>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Why Swiss precision matters for your Bitcoin self-custody stack: and how to set it up in under 30 minutes without trusting anyone]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-bitbox-hardware-wallet/hero.webp" type="image/webp" length="47100"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-bitbox-hardware-wallet/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-bitbox-hardware-wallet/hero.webp" type="image/webp" medium="image" fileSize="47100"/>
      <category>setup</category>
      <category>lightning</category>
    </item>
    <item>
      <title><![CDATA[Sovereign AI Webshop (Part 1): No-KYC Lightning Checkout Architecture]]></title>
      <link>https://sovgrid.org/blog/setup-sovereign-webshop-setup_part1/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-sovereign-webshop-setup_part1/</guid>
      <pubDate>Tue, 07 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Deploy a self-hosted WooCommerce stack with one command, full privacy control, and ARM64 support from Raspberry Pi 5 to DGX Spark.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-sovereign-webshop-setup_part1/hero.webp" type="image/webp" length="91806"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-sovereign-webshop-setup_part1/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-sovereign-webshop-setup_part1/hero.webp" type="image/webp" medium="image" fileSize="91806"/>
      <category>setup</category>
      <category>lightning</category>
    </item>
    <item>
      <title><![CDATA[Sovereign Webshop Setup]]></title>
      <link>https://sovgrid.org/blog/setup-sovereign-webshop-setup_part2/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/setup-sovereign-webshop-setup_part2/</guid>
      <pubDate>Mon, 06 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Optimize your cloud costs, secure your login pages, and activate Amazon Associates with this battle-tested webshop setup guide.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/setup-sovereign-webshop-setup_part2/hero.webp" type="image/webp" length="135736"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/setup-sovereign-webshop-setup_part2/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/setup-sovereign-webshop-setup_part2/hero.webp" type="image/webp" medium="image" fileSize="135736"/>
      <category>setup</category>
      <category>lightning</category>
    </item>
    <item>
      <title><![CDATA[Privacy-Hardened AI Stack: OpenHands, Aider, and Gitea over Tor]]></title>
      <link>https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part1/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part1/</guid>
      <pubDate>Sun, 05 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A hardened local AI development stack using OpenHands, Aider, and Gitea over Tor with Mistral Small 4 inference]]></description>
      <enclosure url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part1/hero.webp" type="image/webp" length="81610"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part1/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part1/hero.webp" type="image/webp" medium="image" fileSize="81610"/>
      <category>services</category>
      <category>gitea</category>
      <category>mistral</category>
      <category>openhands</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[SOVEREIGN DEV STUDIO v2: Self-Hosted AI Coding Agents That Actually Work]]></title>
      <link>https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part2/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part2/</guid>
      <pubDate>Sat, 04 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How to run OpenHands and Aider locally with Mistral Small 4 and Qwen3 Coder Next for reliable, private AI-assisted development.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part2/hero.webp" type="image/webp" length="41178"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part2/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part2/hero.webp" type="image/webp" medium="image" fileSize="41178"/>
      <category>services</category>
      <category>mistral</category>
      <category>openhands</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Sovereign Dev Stack: Gitea-as-Tor-Hidden-Service and pip-via-Tor]]></title>
      <link>https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part3/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part3/</guid>
      <pubDate>Fri, 03 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Protect your code and metadata from cloud services using self-hosted Git, Tor routing, and privacy-focused package management.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part3/hero.webp" type="image/webp" length="64914"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part3/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part3/hero.webp" type="image/webp" medium="image" fileSize="64914"/>
      <category>services</category>
      <category>gitea</category>
    </item>
    <item>
      <title><![CDATA[How to Bootstrap New Sovereign AI Projects with SHARED_CORE]]></title>
      <link>https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part4/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part4/</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how SHARED_CORE enforces security and consistency across Sovereign AI projects while automating setup with standardized scaffolding.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part4/hero.webp" type="image/webp" length="53742"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part4/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part4/hero.webp" type="image/webp" medium="image" fileSize="53742"/>
      <category>services</category>
    </item>
    <item>
      <title><![CDATA[Docker Dev Stack on DGX Spark: Compose Patterns for Sovereign AI]]></title>
      <link>https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part5/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part5/</guid>
      <pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[A practical guide to configuring a secure, self-hosted Docker development stack with OpenHands, Gitea, and model caching for Sovereign AI.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part5/hero.webp" type="image/webp" length="59030"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part5/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part5/hero.webp" type="image/webp" medium="image" fileSize="59030"/>
      <category>services</category>
      <category>mistral</category>
      <category>openhands</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[NVIDIA Playbook Stack]]></title>
      <link>https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part6/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/services-sovereign_dev_studio_v2_2_part6/</guid>
      <pubDate>Tue, 31 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How NVIDIA's tested playbooks transform DGX Spark into a reproducible AI development environment with pre-configured stacks, MCP integration, and battle-tested configurations.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part6/hero.webp" type="image/webp" length="69594"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part6/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/services-sovereign_dev_studio_v2_2_part6/hero.webp" type="image/webp" medium="image" fileSize="69594"/>
      <category>services</category>
      <category>mcp</category>
      <category>openhands</category>
    </item>
    <item>
      <title><![CDATA[Aider Setup on DGX Spark: Mistral-via-SGLang Endpoint and Tor-Routed pip]]></title>
      <link>https://sovgrid.org/blog/fixes-aider-setup/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-aider-setup/</guid>
      <pubDate>Mon, 30 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how to install and configure Aider for reliable local LLM coding sessions on ARM64 workstations with practical troubleshooting tips.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-aider-setup/hero.webp" type="image/webp" length="48466"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-aider-setup/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-aider-setup/hero.webp" type="image/webp" medium="image" fileSize="48466"/>
      <category>fix</category>
      <category>devops</category>
      <category>mistral</category>
      <category>openhands</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Three Silent Failures That Would Have Killed My Self-Hosted AI Stack]]></title>
      <link>https://sovgrid.org/blog/fixes-system-cleanup-2026-04-01/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-system-cleanup-2026-04-01/</guid>
      <pubDate>Sun, 29 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How a single SSH syntax error, misconfigured swappiness, and container limits almost took down my Sovereign AI stack, and the exact commands I used to fix them.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-system-cleanup-2026-04-01/hero.webp" type="image/webp" length="59548"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-system-cleanup-2026-04-01/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-system-cleanup-2026-04-01/hero.webp" type="image/webp" medium="image" fileSize="59548"/>
      <category>fix</category>
      <category>devops</category>
      <category>openhands</category>
    </item>
    <item>
      <title><![CDATA[Cloudflared in Astro's Docker Network: The Hostname-Resolution Fix]]></title>
      <link>https://sovgrid.org/blog/fixes-cloudflared-astro-migration-2026-04-04/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-cloudflared-astro-migration-2026-04-04/</guid>
      <pubDate>Sat, 28 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Resolving Docker network isolation between cloudflared and an Astro static site container to restore Cloudflare Zero Trust tunnel functionality.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-cloudflared-astro-migration-2026-04-04/hero.webp" type="image/webp" length="87304"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-cloudflared-astro-migration-2026-04-04/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-cloudflared-astro-migration-2026-04-04/hero.webp" type="image/webp" medium="image" fileSize="87304"/>
      <category>fix</category>
      <category>devops</category>
    </item>
    <item>
      <title><![CDATA[Reclaiming 20 GB: Dead Docker Images and Why Caddy Runs Better as systemd]]></title>
      <link>https://sovgrid.org/blog/fixes-disk-cleanup-2026-04-05/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-disk-cleanup-2026-04-05/</guid>
      <pubDate>Fri, 27 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how to reclaim disk space from unused Docker images and optimize your stack by running Caddy as a systemd service instead of in Docker.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-disk-cleanup-2026-04-05/hero.webp" type="image/webp" length="65760"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-disk-cleanup-2026-04-05/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-disk-cleanup-2026-04-05/hero.webp" type="image/webp" medium="image" fileSize="65760"/>
      <category>fix</category>
      <category>devops</category>
      <category>openhands</category>
    </item>
    <item>
      <title><![CDATA[OpenHands and Gitea Integration: Docker-Network Hostname Fix]]></title>
      <link>https://sovgrid.org/blog/fixes-openhands-gitea-integration/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-openhands-gitea-integration/</guid>
      <pubDate>Thu, 26 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Resolve Docker networking failures where containers can't resolve names or access volumes, with a single `.gitconfig` tweak that fixes both issues.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-openhands-gitea-integration/hero.webp" type="image/webp" length="107306"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-openhands-gitea-integration/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-openhands-gitea-integration/hero.webp" type="image/webp" medium="image" fileSize="107306"/>
      <category>fix</category>
      <category>devops</category>
      <category>gitea</category>
      <category>openhands</category>
    </item>
    <item>
      <title><![CDATA[Fix: OpenHands BadRequestError: Mistral Alternating Roles]]></title>
      <link>https://sovgrid.org/blog/fixes-openhands-badrequest-fix/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-openhands-badrequest-fix/</guid>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[OpenHands crashes after 10 minutes with a BadRequestError. Here’s exactly how to fix the alternating roles bug in Mistral Small 4 and why the default config is broken.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-openhands-badrequest-fix/hero.webp" type="image/webp" length="32466"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-openhands-badrequest-fix/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-openhands-badrequest-fix/hero.webp" type="image/webp" medium="image" fileSize="32466"/>
      <category>fix</category>
      <category>devops</category>
      <category>mistral</category>
      <category>openhands</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[OpenWebUI Port Conflict on DGX Spark: Why 8080 Was Already Taken]]></title>
      <link>https://sovgrid.org/blog/fixes-openwebui-port-fix/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-openwebui-port-fix/</guid>
      <pubDate>Tue, 24 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Learn how to diagnose and resolve Docker port conflicts with practical troubleshooting steps and configuration fixes.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-openwebui-port-fix/hero.webp" type="image/webp" length="41226"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-openwebui-port-fix/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-openwebui-port-fix/hero.webp" type="image/webp" medium="image" fileSize="41226"/>
      <category>fix</category>
      <category>devops</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[Vibe 400 Bad Request Fix: Mistral Alternating Roles and reasoning_effort]]></title>
      <link>https://sovgrid.org/blog/fixes-vibe-400-badrequest-fix/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-vibe-400-badrequest-fix/</guid>
      <pubDate>Mon, 23 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Three separate 400 Bad Request causes in Mistral Vibe with SGLang, their root causes, and update-safe fixes]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-vibe-400-badrequest-fix/hero.webp" type="image/webp" length="72036"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-vibe-400-badrequest-fix/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-vibe-400-badrequest-fix/hero.webp" type="image/webp" medium="image" fileSize="72036"/>
      <category>fix</category>
      <category>devops</category>
      <category>mistral</category>
      <category>sglang</category>
      <category>vibe</category>
    </item>
    <item>
      <title><![CDATA[Vibe write_file Overwrite Bug: When Edits Silently Replace Whole Files]]></title>
      <link>https://sovgrid.org/blog/fixes-vibe-write-file-overwrite/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-vibe-write-file-overwrite/</guid>
      <pubDate>Sun, 22 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How strict workflow rules and tool constraints prevent AI agents from destroying your codebase during file edits.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-vibe-write-file-overwrite/hero.webp" type="image/webp" length="93342"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-vibe-write-file-overwrite/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-vibe-write-file-overwrite/hero.webp" type="image/webp" medium="image" fileSize="93342"/>
      <category>fix</category>
      <category>devops</category>
      <category>gitea</category>
      <category>mcp</category>
      <category>mistral</category>
      <category>vibe</category>
    </item>
    <item>
      <title><![CDATA[SGLang Restart OOM Fix: Unified Memory Cleanup on GB10/DGX Spark]]></title>
      <link>https://sovgrid.org/blog/fixes-sglang-restart-oom-fix/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-sglang-restart-oom-fix/</guid>
      <pubDate>Sat, 21 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How I wasted three days debugging SIGKILL 137 after every SGLang restart, until I learned that GPU memory isn’t freed instantly and Docker’s `--rm` and `--restart` hate each other.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-sglang-restart-oom-fix/hero.webp" type="image/webp" length="42132"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-sglang-restart-oom-fix/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-sglang-restart-oom-fix/hero.webp" type="image/webp" medium="image" fileSize="42132"/>
      <category>fix</category>
      <category>devops</category>
      <category>mistral</category>
      <category>sglang</category>
    </item>
    <item>
      <title><![CDATA[SGLang on DGX Spark: 35-41 tok/s with EAGLE Speculative Decoding]]></title>
      <link>https://sovgrid.org/blog/fixes-sglang-vibe-performance-benchmark/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-sglang-vibe-performance-benchmark/</guid>
      <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[How we got Mistral Small 4 119B inference working on NVIDIA DGX Spark's ARM64 GB10 chip with SGLang, including backend selection, speculative decoding, and Vibe CLI optimizations.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-sglang-vibe-performance-benchmark/hero.webp" type="image/webp" length="25914"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-sglang-vibe-performance-benchmark/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-sglang-vibe-performance-benchmark/hero.webp" type="image/webp" medium="image" fileSize="25914"/>
      <category>fix</category>
      <category>devops</category>
      <category>mistral</category>
      <category>sglang</category>
      <category>vibe</category>
    </item>
    <item>
      <title><![CDATA[Four Bugs That Only Showed Up Under Load: Fixing a FastAPI Dashboard]]></title>
      <link>https://sovgrid.org/blog/fixes-dashboard-api-performance-fix/</link>
      <guid isPermaLink="true">https://sovgrid.org/blog/fixes-dashboard-api-performance-fix/</guid>
      <pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate>
      <dc:creator>cipherfox</dc:creator>
      <description><![CDATA[Async event loop blocking, N+1 Docker calls, systemd ProtectSystem conflicts, and stacking frontend polling: four independent bugs in one FastAPI app, all invisible at idle.]]></description>
      <enclosure url="https://sovgrid.org/images/blog/fixes-dashboard-api-performance-fix/hero.webp" type="image/webp" length="85800"/>
      <media:thumbnail url="https://sovgrid.org/images/blog/fixes-dashboard-api-performance-fix/hero.webp"/>
      <media:content url="https://sovgrid.org/images/blog/fixes-dashboard-api-performance-fix/hero.webp" type="image/webp" medium="image" fileSize="85800"/>
      <category>fix</category>
      <category>devops</category>
    </item>
  </channel>
</rss>