Work log: paulos social pipeline
What shipped today
The broken Zapier pipeline that turned blog posts into social media blurbs is now a proper CLI command. paulos social handles the full lifecycle: parse the RSS feed, generate platform-tuned blurbs using the LLM with Paul’s voice guidelines, and push them to Authexis for scheduling. Each step is independently runnable for debugging, or chained with paulos social run for automation.
The interesting engineering problem was character limits. Bluesky (300 chars) and Mastodon (500 chars) have hard ceilings, and those limits apply to the assembled post — content plus URL plus hashtags. LLMs fundamentally cannot count characters, so prompting alone produced ~50% over-limit posts. The fix: generate first, then programmatically measure and re-prompt with an explicit “shorten to N characters” instruction. Nuclear fallback truncates at the last sentence boundary. After that, every post came in under limit.
The blurb generation also surfaced a useful pattern around Authexis’s API design. The v2 social-posts endpoint was concatenating content, source_url, and hashtags into a single content field server-side, which made character budgeting from the caller’s side fragile and error-prone. Filed authexis#748 and it was resolved same-session — the API now stores them as separate fields and lets platform adapters handle assembly.
Completed
paulos socialcommand group (fetch, generate, push, run –dry-run)- authexis#748 — social-posts API field separation
Release progress
- March 2026: 10/12 closed
Carry-over
- Social blurbs generated and pushed for “Your biggest problems are the ones running fine” — 4 other unprocessed RSS entries remain
paulos social runnot yet tested end-to-end (individual steps verified)- Bluesky character limit enforcement could still occasionally miss by a few chars on the shorten retry — worth monitoring
Risks
- Authexis platform adapters need to correctly assemble content + URL + hashtags per platform when publishing. If the adapter logic doesn’t match what we assume (content + \n\n + url + \n\n + hashtags), posts could still exceed limits or look wrong.
Flags and watch-outs
- The
AUTHEXIS_SOCIAL_API_KEYis in the local.env— make sure it stays out of git - VOICE.md dependency: blurb generation reads
~/Projects/polymathic-h/VOICE.mdat runtime. If that file moves, generation falls back to a minimal prompt.
Next session
- Run
paulos social runend-to-end for remaining 4 unprocessed blog posts - Verify posts appear correctly in Authexis queue with proper platform assignments
- Test the full pipeline on the server (ssh deploy is done, but need to confirm .env has the key there too)
- Consider adding
paulos socialto a cron or scheduled trigger for automation
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.