Secrets without leaks: a Bitwarden CLI into CI and agent permissions
Fetch Bitwarden secrets into CI and AI agents without leaking—shell-variable discipline, masked vs protected vars, first3/last3 verification, permission rules.
Recent content in Home on zolty.systems
Fetch Bitwarden secrets into CI and AI agents without leaking—shell-variable discipline, masked vs protected vars, first3/last3 verification, permission rules.
A data model that turns a Pokémon card lot into a defensible max bid using eBay SOLD comps, grade matching, sell-through velocity, and a margin of safety.
Three real MCP servers — docs, personal finance, inventory ops — and the design lessons: schema from type hints, stdio transport, and gated writes.
Five operational rungs for coding agents: from read-only to auto-merge, promotion criteria, demotion triggers, and why infra caps lower than app code.
Background monitors that babysit LLM-driven infra: goal drift, test deletion, CronJob failures, and cost spikes, all gated by deterministic guardrails.
I pulled first-commit dates for every agentic pattern in my repos, then researched when each went mainstream. I was two years late on four things I felt clever about, and genuinely ahead on four others. The ones I was ahead on all have something in common.
I route finished, working, already-reviewed code to Google's model and ask it to attack the reasoning. In four days it killed a performance optimization, invalidated my entire backtest leaderboard, and found five data leaks. None of that came from the model that wrote the code.
Why consulting several LLMs widens your analysis surface instead of chasing consensus: a practical guide to running Claude and Gemini as a decision panel.
Two headless Claude agents talk over Mattermost to trade context. A cheap polling gate checks for a real question before waking the costly headless responder.
I point Claude at a problem and let it run — often without reading the merge request, because the blast radius is internal-only. The supervision happens afterward, by reading the docs, diagrams, and wiki it writes.
Automate Dell BIOS with CCTK and run a headless PC imaging bench on a PiKVM V4 Plus and multiport Switch extender — reflash surplus desktops, no monitor.
Turn a phone photogrammetry scan into a 3D-printable model: voxel remesh to a watertight, manifold shell, decimate for the slicer, then print it on a Bambu.
Old cassette decks fail spectacularly—but not always for reasons you'd recap. ESR meters catch dried-out capacitors that voltmeters miss. Here's how to triage.
The same local ComfyUI box that makes blog headers also strips backgrounds off hardware photos, batch-generates consistent icon sets, and runs across two Mac Studios. A tour of the graphical-resource workflows.
A tour of the machinery behind this site: Hugo and PaperMod generating static HTML, S3 plus CloudFront serving it, Terraform managing the AWS, and an AI pipeline drafting posts for human review.
Every cover photo and inline illustration on this blog is generated locally by asking an agent to call a ComfyUI MCP tool. Here's the model-per-job table, the prompts that actually work, and the prompt-to-CDN pipeline.
Reimaging and configuring a bench full of small-form-factor PCs without ever plugging in a monitor — PiKVM for eyes and hands, Dell Command Configure for BIOS settings as code.
A budgeted sweep that fans out parallel agents to scan releases, CVEs, and CI inefficiencies across my repos, test the safe wins in isolated worktrees, and open merge requests — under a hard token cap.
A GitLab CI pipeline that reviews merge requests, proposes fixes, and — at higher trust rungs — commits them, with deterministic guardrails that always run before any LLM judgment.
Government-surplus Dell OptiPlex 7060/7070 desktops are the cheapest serious x86 cluster nodes you can buy. Add a stick of RAM and a NIC and three of them make a proper k3s cluster for around $600.
Autonomous agents fail quietly and spend silently. Langfuse gives me per-trace cost, goal-drift detection, and weekly action audits — the instrumentation that makes unattended agents trustworthy.
I route every LLM call — local Ollama, cloud frontier models, OpenRouter — through a single LiteLLM gateway with per-key budgets and spend alerts, so cheap bulk work stays cheap and nothing runs away.
Eight days of shipping on my LLM-driven Ultima Online shard: NPCs with daily routines, towns that gossip about players, a GM avatar with genie rules, delivery quests, and 200 chatty denizens per city — all on free local inference.
Model Context Protocol turns any local HTTP API into something your AI agents can call. Here's the pattern I use to wrap homelab services — ComfyUI, wikis, dashboards — as MCP servers.
One SSO login in front of every internal service. How I wire Traefik forward-auth middleware to Authentik so dashboards, APIs, and even non-Kubernetes backends share a single sign-on with TLS.
A growing library of multi-gigabyte model checkpoints will eat any SSD. Here's how I tier ComfyUI and LLM models across local NVMe and MinIO object storage with rclone, transparently.
Running a Mac Studio M3 Ultra as a headless GPU host for local LLM inference and image generation, proxied into a k3s cluster, with 256 GB of unified memory split between Ollama and ComfyUI.
I swapped Ultima Online's canned NPC dialog trees for a local LLM on my homelab — persona, cross-reboot memory, autonomous errands, and now talking liches.
A code-level walkthrough of the C# integration that gives ServUO's Ultima Online NPCs LLM dialog, durable memory, and a fail-open, allowlist-guarded loop.
Used Surface Pro 7 tablets are cheap, have a gorgeous touchscreen, and run a real browser — which makes them a near-perfect wall-mounted dashboard for Home Assistant, Grafana, or any homelab panel. Setup and the kiosk trick.
When a new Claude model dropped I re-audited my agent config, offloaded bulk work to a local LLM, and wired in session drift monitoring. Here's what changed.
The parts of my homelab stack that still live in AWS and Anthropic's API — DNS, KMS, S3 backups, Bedrock — and the principles behind drawing the line.
A deliberate, scheduled disaster-recovery drill — wiping GitLab, Vault, Harbor, and Longhorn volumes on purpose to prove the Terraform + S3 rebuild works.
What pushed me off ECR, GitHub Actions cloud, and a chunk of AWS onto my own k3s cluster — and where managed services are still the right answer.
Migrating from sealed-secrets to a HashiCorp Vault HA cluster on k3s, fronted by Authentik OIDC for humans and the Kubernetes auth method for workloads.
Kill-a-Watt readings from k3s nodes plus a pair of Mac Studios, monthly bill math, BTU heat load, and the honest break-even calculation against cloud.
How I decide what an autonomous agent is allowed to do without asking — a four-rung trust ladder that earns autonomy through repetition, not promises.
How I run several Claude Code sessions in parallel without them stepping on each other — coordinating via a shared Mattermost channel and a tiny coordination board.
What it takes to run a trillion-parameter mixture-of-experts model on two M3 Ultra Mac Studios connected via Thunderbolt 5 — and what actually fits in 512GB of unified memory.
How I caught my LLM-driven hypothesis evaluator cheating by reading the future — and the masking patch that finally produced trustworthy out-of-sample numbers.
Surplus Extreme Networks WS-AP3825i access points cost about $6 and run OpenWrt 23.05.5 — vendor-free, no controller, no license. The case for ex-enterprise APs, and the one firmware mistake that bricks them.
How I configured Harbor as a proxy cache for docker.io, ghcr.io, lscr.io, and quay.io — eliminating Docker Hub rate limits and surviving an upstream outage in the process.
Why I moved my homelab repos off GitHub onto self-hosted GitLab CE, what broke during the cutover, and how the disaster-recovery rebuild from an S3 backup actually went.
A used Dell Latitude 7400 runs k3s or Proxmox for ~$150, sips 10W, and rides out power blips on its own battery. Why a business ultrabook is an underrated cluster node, and how to set one up headless.
How I wire Claude into OpenClaw — my homelab's autonomous ops + trading intelligence platform — so long-running agents can think, act, and interrupt me in Slack when something needs a human. The goal was never chat. It's an agent that finishes a six-hour job and waves a hand.
I run 3-5 parallel Claude Code sessions against the same codebase. One of them 'tidying up' during another's mid-refactor is a whole category of silent bugs. claude-session-guard is the 500-line Go binary that fixed it.
A structured 5-layer interview bot that extracts tacit knowledge, generates agent config files, and saves tokens by giving your agents real context. Code included.
I tried Figma, Excalidraw, Mermaid, Kroki, and raw SVG generation to auto-document a k3s homelab. Here's what worked, what didn't, and what I'm still looking for.
A complete guide to running your own private AI assistant on Windows with Docker Desktop, Ollama, and OpenClaw. Updated with model recommendations backed by 5,475 real evaluations — including which hyped models to avoid.
Benchmarking Z.ai's 744B GLM-5.1 model locally on a Mac Studio M3 Ultra with 256GB unified memory via llama.cpp. Real numbers on speed, quality, and whether it's worth the memory monopoly.