Splitting one Dockerfile into API and maintenance images

A shared runtime stage plus two build targets keeps CLI maintenance tools out of the deployed API image, and a script proves it on every build.

September 3, 2026 · 5 min · Russell

A missing npm ci silently starved the content-mining pipeline for a week

A missing npm ci let schema validation crash on every mined candidate, filing zero content-queue issues for a week — the fix layers a loud fail-open guard over the actual root-cause patch.

September 2, 2026 · 3 min · Russell

Hardening a manual Claude Code review workflow in GitHub Actions

How a human-triggered ‘@claude review’ workflow got locked down to read-only, bounded-diff, revision-verified reviews after the official tag-mode example turned out to be implementation-capable by default.

September 1, 2026 · 5 min · Russell

Idempotent, budget-bounded AI queries on a single SQLite writer

How northway’s SQLite store keeps paid AI-provider queries idempotent and budget-bounded, using a single writer, lease-based claims, and a reserve-then-settle spend model.

August 31, 2026 · 6 min · Russell

Publishing a versioned API contract you can actually trust

How goformx freezes, packages, and checksums its OpenAPI contract so external clients can pin to a specific, verifiable release instead of a moving branch.

August 30, 2026 · 5 min · Russell

Running the blog's content autopilot on a Claude subscription, not API credit

How this blog’s unsupervised publishing pipeline moved off pay-per-token API credit, survived a silent auth revocation, and added a deterministic gate so an unreviewed draft can’t ship as slop.

August 21, 2026 · 5 min · Russell

Two months of senior engineering in 36 AI-assisted hours

A 36-hour window where an autonomous session opened a stack of PRs and the rest of the time went to landing them cleanly.

August 21, 2026 · 3 min · Russell

Splitting Anokii into composable core, identity, and operator packages

How Anokii went from one monolithic repo with duplicate identity code to three composable Composer packages, published by a governed CI split instead of a manual release process.

August 20, 2026 · 4 min · Russell

The pipeline that writes this blog

How this blog’s GitHub Actions workflow mines activity, drafts posts with Claude, and publishes with zero human review.

August 16, 2026 · 4 min · Russell

Bimaaji: agent-safe mutations for Waaseyaa

Why AI agents modifying a Waaseyaa app need a DSL, an AST-safe patch generator, and sovereignty guardrails, instead of raw file edits.

July 2, 2026 · 5 min · Russell