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

2026-03-27

What shipped today

The day’s work was split between observability infrastructure across projects and tightening the autonomous pipeline.

The main observability push was adding Sentry to the eclectis and authexis engines as separate projects — the web layers already had Sentry, but the Python engines were either unsupported or sharing the wrong DSN. Both engines now have isolated Sentry projects, a before_send filter to drop bot 404/405 noise, and a traces_sample_rate of 10%. Six GitHub issues were filed for Eclectis and five for Authexis based on a Sentry scan, covering error handling gaps, missing user context, and a handful of production exceptions that had been silently accumulating. While investigating ECLECTIS-3 (supposed missing NEXT_PUBLIC_SUPABASE_URL), the real problems turned out to be a literal \n artifact in .env.local and four missing vars in the Preview environment — both fixed.

The humanizer failure from 2026-03-26 was traced to two root causes: expired API keys (Anthropic and OpenAI both needed rotation) and load_dotenv(override=False) in cli.py, which meant updated .env values were silently ignored when the old keys were already in the shell environment. Both fixed — new keys and override=True committed so .env is always authoritative going forward. The humanizer stop-list got a small addition ("So the question worth sitting with" variants) that the reflect script had slipped through.

On the pipeline side, the /next skill got an --auto mode that implements a full priority cascade: ready-for-dev → grind, ready-for-prep → prep, untriaged → triage, empty → scout. This replaces the launchd-based paulos orchestrate run with Claude Code’s /loop command — just /loop 10m /issue next --auto. The /close skill was updated to clean up loop crons at session end via CronList + CronDelete. RISKS.md audit issue (#638) was prepped and labeled ready-for-dev.

Completed

  • #637 — humanizer apparently didn’t run on 3-26
  • #638 prepped and labeled ready-for-dev (RISKS.md audit)
  • Sentry split for eclectis-engine and authexis-engine
  • ECLECTIS-3 env var investigation and fix
  • /next –auto skill + /close cron cleanup

Carry-over

  • Eclectis Sentry on main: committed to feature branch, needs merge
  • Reddit credentials: Paul needs to register app at reddit.com/prefs/apps
  • #638 execution: RISKS.md audit ready-for-dev

Next session

  1. Execute #638 (RISKS.md audit)
  2. Merge eclectis engine Sentry to main
  3. Start using /loop 10m /issue next --auto

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.

Silence by design

Most systems have more suppression than their owners realize. It gets installed for good reasons. The cost accumulates slowly, in the form of systems you can't operate because you've removed the signals that would let you understand them.

Designed to learn, built to ignore

The most dangerous organizational failures don't throw errors. They look fine, return results, and quietly stay frozen at the moment of their creation.

The variable that was never wired in

The gap between having a solution and using a solution is one of the most persistent failure modes in organizations. You see the escaped variable. You see the risk register. You assume the work is done.