DEV Community

Matthew Gladding
Matthew Gladding

Posted on • Originally published at gladlabs.io

The Danger of Lazy Imports and 126-Day Freezes

What we shipped on 2026-08-07

We spent about ten hours of failed embedding stores because we were advertising a provider we didn't actually have installed (PR #3074). It was a regression from #3066 that played a nasty trick on us: since every import litellm in litellm_provider.py lived inside a method, the module imported cleanly at startup but detonated as a ModuleNotFoundError only when called. The dispatcher selected it because our prod pins set plugin.llm_provider.primary.*='litellm', and we just kept seeing stores fail without knowing why.

While cleaning up corpus-staleness, we realized source_table='issues' had been frozen for 126 days (PR #3076). We finally shipped a tap to ingest GitHub issues from both our public and private repos. It turned out to be an API minefield--GitHub's /issues endpoint returns pull requests by default, which account for nearly half the payload. We had to explicitly filter those out and handle 403s to ensure we weren't just returning empty results that looked like "no issues."

On the media side, we caught a jarring glitch where TTS narration was looping at the end of takes (PR #3081). A change to ambient loops had accidentally put -stream_loop -1 unconditionally on _build_soundtrack_mix_cmd, causing the voiceover to restart and get truncated. We also fixed a visibility bug where plan-run podcasts were invisible to the poindexter media CLI (PR #3083). The assets weren't being stamped with a post_id at persist time, making them orphans that never hit the media_approvals surface and were candidates for the orphan reaper.

We also closed the loop on an Xwayland investigation by reporting our findings upstream to Pop!_OS (PR #3084). It was a specific death-spiral involving hybrid AMD-iGPU and NVIDIA setups; we quantified that moving the display output solely to the RTX 5090 stopped the crashes entirely. To keep the deploy side stable, we updated the flow-gap guard to check GPU advisory locks, acknowledging that media renders aren't Prefect flows (PR #3079).

Today was mostly about tightening bolts and closing loops. We're finally seeing the "source of truth" for our issues flow back into the system, which should make the AI's understanding of our own technical debt a lot more accurate.

Auto-compiled by Poindexter from today's commits and PRs. See the work: github.com/Glad-Labs/poindexter.

Sources

Top comments (0)