Blog

Practical notes on AI agents, Laravel/Vue systems, DevOps, developer tools, and software decisions that need to survive maintenance.

dev-ecosystem · · 13 min

A Green Cron Exit Is Not a Finished Job

Exit code 0 with empty output is not success — it's a zombie task. Here's how to detect and own the proof artifacts that separate real completion from silent failure in AI agent cron pipelines.

tutorials · · 13 min

A table beta bump is still a pilot decision

TanStack Table 9.0.0-beta.64 honors explicit global-filter opt-in. That is pilot hygiene, not permission to unpin stable 8.21.3. Here is the gate list before a Vue admin table leaves the spike branch.

frontend-engineering · · 12 min

A UI kit lockfile bump is change control, not cosmetics

shadcn-vue 2.8.1 looks like a quiet patch until registry entries, icon maps, message-scroller gutters, and number-field styles hit a real admin surface. Treat the lockfile bump as a release decision with an owner, smoke list, and rollback.

backend-infrastructure · · 13 min

PHP 8.5.9 is a runtime patch contract, not an app deploy

PHP 8.5.9 fixes CVE-2026-17543 in pgsql and other security issues. A green Laravel deploy does not prove the hosts, CI images, workers, and base containers actually run the patched binary.

ai-agents · · 13 min

The Schema Change an AI Coding Agent Cannot Safely Guess

A generated migration that runs locally is not a production contract. Before an AI coding agent rewrites columns, require expand steps, dual-read boundaries, backfill evidence, worker compatibility, and an explicit rollback decision.

backend-infrastructure · · 12 min

The Rollback Path Is the Real AI Coding Feature

A clean AI-generated diff is not ready for production until a team can disable it, restore its data path, and prove the prior behavior returned. Build rollback evidence into the change before the model writes the patch.