Paul Welty, PhD AI, WORK, AND STAYING HUMAN

2026-03-06 — Eclectis

What shipped today

International search was the main deliverable. Issue #63, which had been prepped and labeled ready-for-grind yesterday, went through the autonomous grind pipeline — a single agent ran the dev/QA/review loop and shipped it cleanly. The engine now reads search_countries from user preferences and runs each search term once per country code, passing the gl param to Serper. A 429 rate-limit retry with backoff was added. The settings page has a new “Search countries” field where users enter comma-separated country codes. Results are deduplicated across all query x country combinations.

A separate session ran /scout and discovered four small execution bugs (#73-76): a search scan command type mismatch, onboarding feed validation drift, password recovery link handling, and newsletter scan action routing. All four were closed. DECISIONS.md was updated to document the scouting approach — preferring small, concrete bugs over broad product enhancements.

Created #72 to track feed discovery features worth porting from authexis — RSS auto-discovery from website URLs, podcast feed discovery via iTunes API, and website monitoring without RSS. These are the next big UX improvements but need product scoping first.

Housekeeping: cleaned up stale git worktrees from feat/56 and the grind agent’s feat/63 branch.

Completed

  • #63 — International search — add locale/language params to Google search
  • #72 — Created: port feed discovery features from authexis (tracking issue)
  • #73 — Fix per-term search scan command type mismatch (scout)
  • #74 — Align onboarding feed creation with main feed validation (scout)
  • #75 — Keep password recovery links usable after auth confirm (scout)
  • #76 — Fix newsletter feed scan actions to queue valid work (scout)

Carry-over

  • #72 (feed discovery ports) needs decomposition and prepping before it’s grindable
  • Sentry verified working (test endpoint created and removed) but no custom error boundaries or alerting rules configured yet

Risks

  • International search multiplies Serper API calls by number of configured countries. No usage monitoring in place yet — could spike costs for users who add many countries.

Flags and watch-outs

  • Scout issues #73-76 were closed but commits may not have landed on main — verify next session that fixes are actually deployed
  • DECISIONS.md has uncommitted changes from the scout session

Next session

  • Verify #73-76 fixes are on main and deployed to Vercel
  • /issue prep 72 — decompose feed discovery into grindable sub-issues (RSS auto-discovery is the quick win)
  • Consider creating a milestone for the next feature batch to move issues out of unmilestoned backlog
  • Review whether Sentry alerting rules should be configured (currently just passive error collection)

Why customer tools are organized wrong

This article reveals a fundamental flaw in how customer support tools are designed—organizing by interaction type instead of by customer—and explains why this fragmentation wastes time and obscures the full picture you need to help users effectively.

Infrastructure shapes thought

The tools you build determine what kinds of thinking become possible. On infrastructure, friction, and building deliberately for thought rather than just throughput.

Server-side dashboard architecture: Why moving data fetching off the browser changes everything

How choosing server-side rendering solved security, CORS, and credential management problems I didn't know I had.

The work of being available now

A book on AI, judgment, and staying human at work.

The practice of work in progress

Practical essays on how work actually gets done.

The smartest code you'll ever delete

The most dangerous kind of waste isn't the thing that doesn't work. It's the thing that works beautifully and shouldn't exist.

The first real user breaks everything

Your product works until someone actually uses it. The gap between 'works in dev' and 'works for a person' is where most systems fail — and most organizations avoid looking.

The loop nobody bothers to close

Most systems observe. Almost none learn. The difference is a feedback loop — and the boring cleanup work that makes it possible.