Field journal

Notes from the dig: the apps, the gadgets, the engine, and the numbers each one produced.

RSS

Posts

6 min
The Agent Is Only as Good as the Check That Grades It How I ship tooling an AI agent wrote and trust the result: align before any code, build in vertical slices test first, and keep the build deterministic so a passing check means something. agents
5 min
The Suite Was Green, and the Installed CLI Did Nothing changelogue passed 98 tests and, once installed, exited 0 with no output for every user. The bug sat in the entry-point guard, below the line any import can reach. The fix is small. The smoke check that proves it, calibrated by putting the bug back, is the check I kept. artifacts
5 min
Prototype in the Browser, Ship in Python: How I Look-Dev Generative Art Tuning art needs sliders and instant redraw. Shipping art needs determinism and tests. My workflow uses both: a zero-dependency browser canvas for the feel, a shared math spec with a conformance fixture, and a 1:1 port into the production engine. engine
5 min
Duskpaper: Animated Wallpapers Synthesized From NumPy, Looped Forever Duskpaper renders original animated wallpapers for Wayland from pure math: eight scenes, five palettes, seamless loops by construction. Also the story of why one scene needed 10-bit HEVC, and a uv packaging gotcha that shipped me a stale build of my own fix. gadgets
6 min
From SDXL to NumPy: Making Habitagram's Journey Art Deterministic Habitagram's journey climbs six biomes from sea to summit. I started generating the backgrounds with SDXL and ended up rewriting them as a deterministic numpy engine. Why diffusion lost, how the paper-cut style is built from math, and the seam model it took a phone to find. engine
6 min
One Ridge, Six Screens: Building a Swipeable Panorama From Continuous Art Habitagram's progress screen is one mountain ridge rising from sea to summit, rendered as a single 6480x1920 panorama and sliced into six swipeable pages. Slicing continuous art into a paged carousel breaks in specific ways. Here are the ones I hit. artifacts
6 min
The $0 Media Stack: Music, SFX, and Scenery Synthesized From Math My apps needed launch media: music beds, UI sounds, ambient video. Instead of licensing stock, I built numpy engines that synthesize all of it. Six music moods, 33 sound effects, fifteen scenes, nine overlay loops, every render deterministic and copyright-clean. engine
9 min
I Built a Skill Decay Probe. Its First Run Was Invalid by Its Own Gate. Claude Code skills steer an agent well on turn one. I built skill-vibe-test to check whether the steering survives a long session, pointed it at one of my own skills, and had to throw most of the result away. The part that held up: in one of the two conversations, by turn 6 the agent had stopped running the script the skill prescribes. The skill did not stop working. It stopped being consulted. agents
6 min
Golden Fingerprints: Regression Tests for Generative Art A refactor can shift one gradient band by a pixel and no test notices, until it ships. I regression-test my generative engines by committing SHA-256 hashes of the raw pixel and sample arrays. Here is the harness, and the rules that keep it from lying. engine