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 ingit status
Next session
- Approve newsletter edition 15 and run
/newsletter sendto 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
/scoutto 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.