<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: The Archagnan</title>
    <description>The latest articles on DEV Community by The Archagnan (@wendell_jenkins_27d5b49f3).</description>
    <link>https://dev.to/wendell_jenkins_27d5b49f3</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4037130%2F63614ac6-7223-4176-8f8a-ead7a181716c.jpg</url>
      <title>DEV Community: The Archagnan</title>
      <link>https://dev.to/wendell_jenkins_27d5b49f3</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/wendell_jenkins_27d5b49f3"/>
    <language>en</language>
    <item>
      <title>One Dictionary Entry, One Environment Variable: Migrating a Memory Agent to Qwen 3.7-Max Six Days Before Deadline</title>
      <dc:creator>The Archagnan</dc:creator>
      <pubDate>Mon, 20 Jul 2026 01:16:00 +0000</pubDate>
      <link>https://dev.to/wendell_jenkins_27d5b49f3/one-dictionary-entry-one-environment-variable-migrating-a-memory-agent-to-qwen-37-max-six-days-1k8c</link>
      <guid>https://dev.to/wendell_jenkins_27d5b49f3/one-dictionary-entry-one-environment-variable-migrating-a-memory-agent-to-qwen-37-max-six-days-1k8c</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwxzj0crnw4cg0h2zd20c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fwxzj0crnw4cg0h2zd20c.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Six days before the Global AI Hackathon Series with Qwen Cloud deadline, I made a call that had nothing to do with anything being broken: migrate my project's host model off Azure and onto Qwen 3.7-Max.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why migrate something that worked
&lt;/h2&gt;

&lt;p&gt;Basilica is a persistent memory agent for computational architectural analysis — it talks to you across sessions, remembers how you've been reading a piece of architecture over time, and pushes back when your current read contradicts your last one. It had been running fine on Grok 4.3 via Azure AI Foundry for weeks. Nothing was on fire.&lt;/p&gt;

&lt;p&gt;But Azure Startup Tier 2 had already been denied, the existing credit balance was expiring, and the entire submission story was built around Qwen. Staying on Azure for the demo would have meant shipping a "Qwen hackathon" project that didn't actually run on Qwen. That's not a technical problem, it's a credibility problem, and it doesn't get smaller the longer you wait.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that worked exactly as designed
&lt;/h2&gt;

&lt;p&gt;Basilica's model layer was built provider-agnostic from day one — a single registry dictionary, one choke point for all API calls, credentials referenced by environment variable name rather than hardcoded. Adding Qwen 3.7-Max as a new host meant one new entry in that registry and flipping one &lt;code&gt;DEFAULT_MODEL&lt;/code&gt; constant. No rewrites. That's the whole architectural bet, and under real deadline pressure, it paid off exactly as intended.&lt;/p&gt;

&lt;h2&gt;
  
  
  The part that didn't go as smoothly
&lt;/h2&gt;

&lt;p&gt;The first live call to Qwen came back with a 401.&lt;/p&gt;

&lt;p&gt;The instinct is always to assume the code is wrong. I checked the obvious thing first: was the routing logic even reaching Qwen's endpoint, or falling through to an Azure-shaped client construction that would never work against a different provider? It was — a documented &lt;code&gt;API_MODE&lt;/code&gt; toggle existed specifically to force the right client path for non-Azure endpoints, and it just hadn't been exercised end to end before it needed to work under deadline.&lt;/p&gt;

&lt;p&gt;Then came the slower part. Confirmed the &lt;code&gt;.env&lt;/code&gt; file had the right value. Confirmed nothing in the shell environment was silently shadowing it. Both checks came back clean. At that point the honest move wasn't to keep theorizing — it was to just retry the actual call. It worked. The fix, in the end, wasn't a fix at all. It was untested configuration finally getting tested.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually mattered
&lt;/h2&gt;

&lt;p&gt;Good abstractions still have to be exercised, not just trusted. A toggle that's correct on paper and never run against a real failure mode is still an open question, not a closed one.&lt;/p&gt;

&lt;p&gt;The other thing that mattered was process, not code: every change went through a reviewed diff before it touched a file, every Python change got a compile check before any live test, and &lt;code&gt;git status&lt;/code&gt; got checked before and after every session touching the repo. None of that shows up in a demo video. All of it is why the demo works.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where it ended up
&lt;/h2&gt;

&lt;p&gt;Basilica now runs natively on Qwen 3.7-Max, with Kimi K2.6 still doing silent specialist consultation behind the scenes. The migration that could have eaten the rest of the week took a few real hours of actual debugging once the panic settled and the checks got run one at a time instead of all being assumed at once.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/Wendell-Jenkins/kaaaglumn-basilica" rel="noopener noreferrer"&gt;https://github.com/Wendell-Jenkins/kaaaglumn-basilica&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;— Wendell Jenkins, WendScope Labs&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtu.be/MKAaljJfDlg" rel="noopener noreferrer"&gt;https://youtu.be/MKAaljJfDlg&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
