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

Work log: Polymathic — March 15, 2026

What shipped today

A massive cleanup sweep across the newsletter and podcast infrastructure. Nine issues closed in a single session — the kind of day where you fix one thing, discover three more, and just keep going until the foundation is solid.

The podcast feed (polymathic.xml) got the most attention. It had been quietly generating invalid RSS for weeks: human-readable file sizes like “8.46 MB” instead of byte integers in enclosure length attributes, and — more critically — every single enclosure URL was rendering as <no value> due to a Hugo template scoping bug. Inside a range + with block, $ refers to the top-level page context, not the range item. A one-line variable capture ($page := .) fixed all 55 entries. The feed is now valid RSS for the first time since the {{ with }} conditional was introduced.

The newsletter pipeline also got tightened up. Five early editions (1-5) were missing the outputs field needed to generate email HTML. The send script gained rollback logic — if a campaign fails to schedule or send, it now deletes the orphaned campaign from Brevo instead of leaving it dangling. Hardcoded URLs in the email template were replaced with Hugo template variables. And 113 lines of dead code were removed from the pre-commit hook — newsletter scheduling logic that checked for a ready_to_send: true flag that no post ever used. The /newsletter skill is the actual path; the hook code was vestigial.

Newsletter edition 15 (“Most of your infrastructure is decoration”) was staged with business-focused metadata and a test email sent. Waiting for approval before scheduling.

Completed

  • #134 — Add accessible labels to share buttons
  • #135 — Add aria attributes to newsletter signup forms
  • #141 — Fix hardcoded URLs in newsletter email template
  • #142 — Add missing outputs field to 5 early newsletter posts
  • #143 — Add campaign rollback to newsletter-send.sh on scheduling failure
  • #144 — Podcast feed enclosure uses length=0 for missing file_size
  • #145 — Pre-commit hook newsletter scheduling never triggers
  • #149 — Fix human-readable file_size values on 5 podcast posts
  • #153 — Fix podcast.xml enclosure url scoping bug

Release progress

  • April 2026: 2/3 closed

Carry-over

  • Newsletter edition 15 test email sent — waiting for Paul’s approval to schedule for Tuesday 11am ET
  • Newsletter skill updated with business framing guidance and exact-title subject requirement

Risks

  • The podcast feed was broken for all 55 episodes (no valid URLs). Now fixed, but podcast apps that cached the bad feed may need time to refresh.

Flags and watch-outs

  • Discovered a 6th post with human-readable file_size (dev-reflections/2026-03-10.md) not in the original issue — fixed it alongside #149
  • The resources/_gen/assets/sass/ files keep showing up as modified after Hugo builds — cosmetic but causes noise in git status

Next session

  • Approve newsletter edition 15 and run /newsletter send to schedule for Tuesday
  • Check Brevo delivery stats for editions 13-14
  • Update Brevo sender name to “Philosopher at Large”
  • Issue #112 (blog dates accuracy) still needs clarification — check if there’s been a reply
  • Consider running /scout to find more feed/template issues now that the podcast infrastructure is cleaned up

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 delegation problem nobody talks about

When your automated systems start finding real bugs instead of formatting issues, delegation has crossed a line most managers never see coming.

What your systems won't tell you

The most dangerous gap in any organization isn't between what you know and what you don't. It's between what your systems know and what they're willing to say.

Most of your infrastructure is decoration

Organizations are full of things that look like governance, strategy, and quality control but are actually decorative. The trigger conditions nobody reads, the dashboards nobody checks, the review processes that rubber-stamp. When you finally audit what's functional versus ornamental, the ratio is alarming.