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

2026-04-04 — Backlog blitz, blog posts, engagement catalog, T3 harness, dev-loop grinding

What shipped today

Three blog posts drafted and edited. Post 2 (“I ran my AI agency’s first real engagement”) went through Paul’s detailed section-by-section editorial and is near-final. Post 1 (“The agency in 2026: AI for execution. Humans for judgment”) — the objection cascade architecture piece — went through a full editorial pass. Post 3 (“How to design your AI agent org chart”) — the sequel to Paul’s highest-engagement post — was brainstormed, written, and edited through one round. Three posts, three different angles, all at draft:true on polymathic-h.

The backlog was triaged aggressively. Started the day with 22 open issues, many stale from the pre-skills-pivot era. Closed 5 superseded architecture issues (#8-10, #15-16). Closed 7 completed issues (#37, #42, #56, #57, #58, #59, #61). Promoted 7 to ready-for-prep. Dev-loop then ground through the ready-for-prep queue: client notifications (#60), loop batching (#62), agency-ask hardening (#64), PRODUCT.md staleness (#70), dead deliverables (#73), webhook auth deployment (#76), outbound email utility (#77), map.html generator (#55), T3 guide template (#81), credential management (#78), CLI integration (#79). Ended the day at 5 open issues, all backlog.

Infrastructure improvements shipped. Webhook endpoint now has token-based authentication (#71, #76 — token deployed to Railway, Brevo URL updated). Error handling added to the webhook handler (#72 — Notion outages no longer crash it). Outbound email utility added (#77 — send_email.py sends as any persona via Brevo). Map.html auto-generates from the filesystem (#55). Dead deliverable types removed (#73 — product-test-run and questionnaire-onboarding). Legacy Eclectis client files deleted (#74 — 30 files, 4,277 lines).

The engagement and deliverable catalogs were created. ENGAGEMENTS.md lists 3 built + 14 prospective engagement types. DELIVERABLES.md lists 14 built + ~25 prospective deliverable types across strategy, copy, sales enablement, brand, operations, and T3 execution. The T3 guide template was defined with 4 new frontmatter fields (execution_method, required_credentials, rollback, verification).

Two work streams clarified. CLAUDE.md and DECISIONS.md now explicitly separate GitHub (dev-loop, methodology/infrastructure) from Notion (agency-loop, client work). New agency-ops label created and then retired — agency ops don’t belong in GitHub at all.

Completed

  • #8 Architecture: Charlie as 2IC (superseded, closed)
  • #9 Eli’s pattern (superseded, closed)
  • #10 API cost model (superseded, closed)
  • #15 One session, N workers (completed — this is how it works)
  • #16 Prompt caching (superseded, closed)
  • #37 Subtasks per deliverable (not needed, closed)
  • #42 Engine plumbing blockers (mostly resolved, focused #77 filed)
  • #55 Auto-generate map.html (shipped)
  • #56 Notion tables (accepted as limitation, closed)
  • #57 Voice sample requirement in guide (shipped)
  • #58 Internal doc review tests (shipped)
  • #59 Questions in comments (already done, closed)
  • #60 Trina notifications on Done/Complete (shipped)
  • #61 Engagement summary (covered by #60, closed)
  • #62 Loop batching (shipped)
  • #64 Agency-ask hardening (shipped)
  • #68 T3 harness umbrella (decomposed into #78-81, closed)
  • #70 PRODUCT.md staleness (shipped)
  • #71 Webhook auth (shipped)
  • #72 Webhook error handling (shipped)
  • #73 Dead deliverable types (shipped)
  • #74 Legacy Eclectis files (shipped)
  • #75 Engagement/deliverable catalogs (shipped)
  • #76 Webhook token deployment (shipped)
  • #77 Outbound email utility (shipped)
  • #78 Credential management (resolved by #81, closed)
  • #79 CLI integration (resolved by #81, closed)
  • #81 T3 guide template (shipped)

Carry-over

  • Blog posts at draft:true — three posts on polymathic-h need final reads and publication decisions. Post 2 (first engagement) is closest to ready. Post 3 (org chart design) needs Paul’s editorial pass.
  • Authexis product launch engagement — the 9-deliverable test. Ready to run via /agency-engage Authexis "Product launch".
  • #80 T3 Playwright pattern — backlogged until a real engagement needs browser automation.

Risks

  • Railway deployment — server.py has been updated (error handling, webhook auth) but Railway may not have auto-redeployed. The webhook token is set on Railway but the code with the token check may not be live yet.
  • ATOMS.md is stale — still references deleted product-test-run and old questionnaire name. Not critical but should be cleaned up.

Flags and watch-outs

  • The dev-loop cron (job b4632451, every 5 minutes) needs to be killed at session close.
  • Three blog posts reference the Authexis engagement — if the product launch engagement reveals issues with the first engagement’s documentation, the posts may need updating.
  • DECISIONS.md entry for skills-only dispatch still references /agency-triage (retired skill name). Minor doc debt.

Next session

  1. Final editorial on blog posts — Post 3 (org chart design) needs Paul’s section-by-section pass. Post 2 may be ready to publish. Publication order: Post 3 → Post 2 → Post 1 (sequel → blow-by-blow → manifesto).
  2. Run Authexis product launch engagement/agency-engage Authexis "Product launch". The 9-deliverable, multi-persona, dependency-resolution stress test.
  3. Verify Railway deployment — confirm webhook auth and error handling are live on engine.synaxis.ai.
  4. Clean up ATOMS.md — remove stale references, align with DELIVERABLES.md catalog.

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 bottleneck moved and nobody noticed

When execution becomes nearly free, the bottleneck shifts from doing the work to deciding what work to do. Most organizations are optimized for the wrong constraint.

The inbox nobody reads is the one that matters

Every organization has a monitoring system that works perfectly and reports to nobody. The gap between having information and acting on it is where most failures actually live.

The best customers are the first ones you turn against

Every subscription makes a bet that most customers won't use what they're paying for. The customer who closes that gap becomes a problem to be managed.