Skip to main content
Paul Welty, PhD AI, WORK, AND STAYING HUMAN

2026-03-30

What shipped today

Maintenance and monitoring session. The scout ran multiple deep scans across the codebase — error handling, security, dead code, test coverage, feature gaps, dependency health, UX gaps, and performance — and found the codebase in solid shape after the March launch sprint. The only actionable finding was minor dependency patches (PostHog, Supabase JS, Python packages) which had already been shipped yesterday in #643.

Sentry was clean: one browser-extension noise issue (ECLECTIS-B, Chrome extension “Object Not Found” error with 0 real users affected) and no engine errors in the past 7 days. All 14 engine handlers have corresponding test files, all web server actions have tests, and the broad except Exception catches in the engine are at intentional resilience boundaries per DECISIONS.md.

A new untriaged issue was filed by a user: #644 (bulk operations on search terms). It was left unlabeled for human triage since it needs product direction.

Completed

  • Full codebase scout (9 scan dimensions) — no new issues created
  • Sentry review — both projects clean
  • Dependency health verified — all packages current
  • #642 closed (Sleekplan changelog push via GH token — shipped earlier)
  • #643 closed (minor dependency patches — shipped earlier)

Carry-over

  • #644 — Bulk operations on search terms (untriaged, needs product direction)
  • #593 — Sentry ECLECTIS-5: ESM/CJS require() error on briefings detail (backlog)
  • #546 — Sentry ECLECTIS-2: SyntaxError on root page (backlog)
  • Backlog items: signal amplification (#484), shared intelligence (#482), cross-article patterns (#481), browser extension (#480), homepage social proof (#471), inbox scanning (#64)

Risks

None new. Codebase is stable post-launch.

Flags and watch-outs

  • Sentry ECLECTIS-B is browser extension noise — safe to resolve/ignore if it resurfaces
  • pydantic-core cannot be upgraded independently of pydantic (pin conflict discovered during dependency scan)

Next session

  • Triage #644 (bulk search term operations) — needs product decision on scope
  • Consider tackling #593 (ESM/CJS error on briefings page) — a real user-facing bug
  • Continue regular scout + dev-loop monitoring cycle

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.

Your design philosophy is already written

Builders who work across multiple projects leave fingerprints everywhere. The same mind solves the same problem differently in every domain — and usually doesn't notice. You need someone to read it back to you.

The day nothing satisfying happened

The most productive day in an organization's life usually looks like nothing happened. No launches, no features, no announcements. Just people quietly making the existing work more honest.

Your AI agent is probably not an agent

The word 'agent' has become meaningless. Everyone from chatbot vendors to autonomous system builders uses it. We've been here before — with self-driving cars — and it didn't end well.