Paul Welty, PhD AI, WORK, AND STAYING HUMAN

What shipped today

Massive productivity session — 14 issues closed across web, engine, and apple platforms, plus critical infrastructure cleanup. The session pivoted away from the PaulOS pipeline workflow to a direct parallel-agent grind model: spawn 3 agents in worktrees, each handles full issue lifecycle, lead reviews and merges in series.

Web and engine hardening. Ran a codebase scout that identified 8 actionable issues spanning UX polish, error handling, and tech debt. Ground through all 8 in three rounds of parallel agents. The web app now has proper AlertDialog confirmations instead of window.confirm() (GH-644, GH-645), loading skeletons on all major pages (GH-646, GH-647), and proper error handling on fire-and-forget DB inserts in server actions (GH-650). The engine got error logging on previously silent except: pass blocks (GH-648), a shared settings-fetching utility to reduce duplication (GH-649), and timeout/cleanup handling for stuck commands (GH-651).

Apple app foundation. Fixed a critical structural problem — the apple/Authexis/ directory was tracked as a nested git repo (gitlink mode 160000) instead of being part of the monorepo. Removed the inner .git/ and committed the directory contents directly. Then rewrote all 21 v1-apple issues to correctly target apple/Authexis/Authexis/ paths instead of the deprecated ios/ directory. Ground the three foundational apple issues: Sentry crash reporting integration (GH-638), article detail view with enrichment data and AI scores (GH-593), and briefing reading experience with theme sections and article links (GH-592). The last one required manual merge conflict resolution since all three touched the navigation layer simultaneously.

Earlier in the day (from previous session context): completed GH-619 (workspace auto-switch), GH-636 (Sentry Next.js), GH-637 (Sentry Python engine), GH-634 (reaction source+tags), GH-616 (social slot auto-assign), and several other v1 issues.

Completed

  • GH-619 — Auto-switch workspace when landing on cross-workspace resource URL
  • GH-636 — Complete Sentry integration for Next.js web app
  • GH-637 — Complete Sentry integration for Python engine
  • GH-638 — Sentry Apple app integration
  • GH-634 — Append source article reference and auto-generate tags for reactions
  • GH-616 — Auto-assign posting slot when queueing social posts from content
  • GH-644 — Replace window.confirm() with AlertDialog in content detail page
  • GH-645 — Replace window.confirm() with AlertDialog in settings/integration pages
  • GH-646 — Add loading.tsx skeletons to main app pages
  • GH-647 — Add loading.tsx skeletons to detail and admin pages
  • GH-648 — Add error logging to silent except:pass blocks in engine
  • GH-649 — Extract shared settings-fetching utility in engine
  • GH-650 — Add error handling to fire-and-forget DB inserts in server actions
  • GH-651 — Add command timeout and cleanup handling for stuck commands
  • GH-592 — Briefing reading experience with theme sections and article links
  • GH-593 — Article detail view with enrichment data and AI score
  • Infrastructure: moved apple/ from nested git repo to monorepo, rewrote all 21 v1-apple issues
  • Housekeeping: closed GH-545 (dupe of GH-483), merged Dependabot PRs #231 and #629, closed stale PR #400

Carry-over

  • GH-581 — Audit and improve content type prompt coverage (v1, thinking task to do with Paul)
  • 18 remaining v1-apple issues (GH-594 through GH-609 plus GH-454, GH-483)
  • v1 milestone at 99.6% complete (GH-581 is the sole remaining web issue)
  • v1-apple milestone at 66% complete

Risks

  • The parallel agent grind model works well but merge conflicts are expected when multiple agents touch shared files (navigation layer, shared services). Manual conflict resolution needed at merge time.
  • Apple app is Swift/SwiftUI code that can’t be verified via npm run build — relying on Xcode compilation which agents can’t easily run.

Flags and watch-outs

  • ios/ directory is deprecated and read-only — all apple work targets apple/Authexis/Authexis/
  • v2 milestone is deprioritized — GH-302 (LinkedIn analytics) unmilestoned intentionally
  • The grind workflow (spawn N agents in worktrees → merge in series) replaces the PaulOS pipeline ceremony for now

Next session

  • Grind the next tier of v1-apple issues, starting with the most foundational: GH-594 (article rating), GH-595 (bookmarking), GH-596 (content stage workflow), GH-597 (source management)
  • Consider batching apple issues by shared-file impact to minimize merge conflicts (e.g. group issues that touch the same navigation/service files)
  • GH-581 (prompt audit) needs a thinking session with Paul — not a grind task
  • v1-apple milestone has 18 issues remaining; aim for 6-9 per grind session

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.

Junior engineers didn't become profitable overnight. The work did.

We've been celebrating that AI made junior engineers profitable. That's not what happened. AI made it economically viable to give them access to work that actually builds judgment, work we always knew

Three projects, three opposite methods, all monster output days: what that taught me about when process helps and when it's just comfort

I've been running a portfolio of software projects using a mix of autonomous AI pipelines and human-led parallel agent sessions. Yesterday, three different projects had monster output days — and th...

What happens when the pipeline doesn't need you

So here's something I noticed today that I want to sit with. I run several projects that use autonomous pipelines — AI systems that pick up tasks, write code, open pull requests, ship changes. One ...