Build LogAI Tools
#01
2026-05-287 min read

Ten AI-prose tells, one shell script, no more guessing

The em-dash density in my own published articles was running at four times the normal rate for edited prose. That was a measurable problem. So I made it measurable: codified ten AI-prose tells into STYLE-GUIDE.md and a pre-publish shell audit that catches them mechanically.

Read post
SecurityBuild Log
#02
2026-05-287 min read

The backtick that could run anything: hardening AppleScript shell escaping

A Sprint 2.11 review flagged a shell command-substitution gap in a single Python helper. Backticks and dollar signs were passing through unescaped into a double-quoted `do script` string, meaning a crafted issue title could execute arbitrary code. The fix was four lines. Understanding why it mattered took longer.

Read post
Build LogDevOps
#03
2026-05-286 min read

Two assumptions the pipeline held until it shipped

B8b's first end-to-end Telegram ship-tap exposed two bugs that had been invisible in every prior test. Neither was logic. Both were assumptions the pipeline had been making silently since the day the code was written.

Read post
Build LogDevOps
#04
2026-05-286 min read

Two bots, one token, infinite 409s — why a bot registry is infrastructure

Retrofitting BBBrain's Telegram modules revealed that the tunnel bot and the brain server had been polling the same token for weeks, throwing 409 conflicts that neither log named clearly. The fix wasn't a config tweak. It was accepting that one-bot-per-purpose needs to be enforced at registration time, not discovered at incident time.

Read post
Build LogAgentic AI
#05
2026-05-286 min read

Why BBBrain's rewrite layer runs on a project-owned harness, not Archon

The Opus rewrite layer inside BBBrain's de-AI-ish stack runs through a project-owned osascript Terminal harness, not a general orchestration framework. That choice was deliberate and narrow. Here's what it cost and what it bought.

Read post
Build LogDevOps
#06
2026-05-215 min read

macOS won't let your cron read your work: three days inside TCC

A daily launchd job that reads from /Volumes/b/ looked trivial. Three days, four wrong approaches, and one AppleScript .app bundle later, I'd learned why granting Full Disk Access to a shell script is a UI fiction.

Read post
Web DevDevOps
#07
2025-04-181 min read

Static Next.js on cPanel in 2025

GitHub Actions to FTP to cPanel. Simpler than it sounds, with a few real gotchas worth documenting.

Read post