What we shipped on 2026-06-24

We finally stopped the flashing terminal windows on our desktop by wrapping DeployCheckoutSync in a VBS helper (run-hidden.vbs) to force SW_HIDE at the process level (PR #1917). It's a classic Windows quirk---WindowStyle Hidden isn't enough when child processes like git.exe or python.exe decide to call SetConsoleTitle and wake up the console API.

The biggest architectural win today was folding our embedding hygiene jobs into the declarative retention_policies framework (PR #1909). We were carrying around 2,550 lines of legacy job code that we just deleted. Now, tasks like embeddings_orphan_prune and embeddings_collapse are handled by a unified runner. We added a min_interval_hours column to the policies so these heavy collapse jobs run weekly instead of every 6 hours, which is much more sane for our resource budget. To make this usable without raw SQL, we shipped a new CLI subcommand poindexter retention config to patch the JSONB configs (PR #1911), paired with five new Grafana panels in integrations-admin to track orphan pruning and collapse rates.

We also spent some time lowering the barrier for entry with a minimal Docker Compose profile targeting 8-16GB VRAM hardware (PR #1924). By stripping out the heavy operator observability stack--specifically Langfuse, GlitchTip, and the Loki/Tempo/Pyroscope trio--we dropped idle RAM usage from over 20 GB down to about 4-6 GB. We downgraded Langfuse variables to optional and forced LANGFUSE_TRACING_ENABLED: "false" so the SDK stays quiet when keys are missing.