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

What shipped today

Massive day — 23 commits landed across two parallel workstreams: the autonomous pipeline grinding through queued issues, and a manual session building out the full admin CRUD layer.

DISC onboarding and user profiles — The pipeline completed the entire DISC personality assessment flow overnight and through the morning. This includes the scoring engine (GH-84), assessment UI (GH-85), results interpretation (GH-86), user profile page (GH-87), post-signup onboarding (GH-88), and skip-assessment handling (GH-89). Users can now sign up, take a DISC assessment, see their personality profile, and have that profile influence their learning content. The content schema milestone also wrapped up with the pipeline shipping admin modules list (GH-73), module forms (GH-74), lesson editor (GH-75), content unit editor (GH-76), DISC tag selector (GH-77), content library (GH-78), module/lesson viewer pages (GH-79, GH-80), and DISC profile columns (GH-82, GH-83).

Admin CRUD for content taxonomy — Built the complete admin authoring layer in one session: module detail pages with lessons tables, lesson create/delete, goal management with inline blur-save editing, and a full assessment/question management UI embedded in the lesson editor. This was a manual 11-issue plan covering confirm-delete component, slug-vs-UUID routing fixes, stub page cleanup, module detail page, lesson forms, delete functionality, goal section/cards, assessment section/cards, and question cards with DISC toggles. All following existing patterns (optimistic UI, position-based reordering, collapsible sections).

Pipeline hygiene — The scout found 5 quality issues (GH-118–122) that the pipeline auto-fixed: breadcrumb inconsistencies, sentence case violations, missing auth guards, query parallelization, and admin auth helper extraction. Also fixed a pipeline merge artifact where the old [moduleId] route conflicted with the new [id] route, and a duplicate auth block in the demo-requests page.

Pipeline loading — Created 18 issues across two upcoming milestones to keep the pipeline fed: 10 for “Adaptive lesson delivery” (GH-128–137) covering learner-facing features like assessment responses, AI feedback, DISC indicators, progress tracking, and loading skeletons; and 8 for “First module: Delegation” (GH-138–145) covering DISC-adapted content generation, assessments, and practice tasks.

Completed

  • GH-73 — Admin modules list page
  • GH-74 — Admin module create/edit form
  • GH-75 — Admin lesson editor with structured content sections
  • GH-76 — Content unit inline editor
  • GH-77 — DISC tag selector component
  • GH-78 — Content library browse page
  • GH-79 — Module detail page
  • GH-80 — Lesson viewer page
  • GH-82 — Add DISC profile columns to user_profiles table
  • GH-83 — Add DISC assessment questions seed data
  • GH-84 — DISC scoring engine
  • GH-85 — DISC assessment UI page
  • GH-86 — DISC results interpretation text
  • GH-87 — User profile page with DISC results
  • GH-88 — Post-signup onboarding flow
  • GH-89 — Skip assessment option and incomplete profile handling
  • GH-118 — Fix breadcrumb text inconsistency across admin pages
  • GH-119 — Fix sentence case violations in module form and page titles
  • GH-120 — Add auth guard to demo-requests admin page
  • GH-121 — Parallelize lesson editor server queries for faster page load
  • GH-122 — Extract admin auth guard helper to reduce boilerplate
  • PR #146 — Admin CRUD for content taxonomy (manual session work)

Carry-over

  • 18 issues queued for pipeline (GH-128–145) across “Adaptive lesson delivery” and “First module: Delegation” milestones
  • “Content schema and CMS” and “DISC onboarding and user profiles” milestones are 100% complete

Risks

  • Pipeline may struggle with content generation issues (GH-138–145) which require writing substantive DISC-adapted learning content, not just code changes
  • The [moduleId][id] route rename was manual — if any old links persist in pipeline worktrees, they’ll break

Flags and watch-outs

  • Demo page had a pre-existing useSearchParams Suspense issue that only surfaced during full build — fixed in PR #146
  • The pipeline left duplicate auth code in demo-requests/page.tsx when it merged GH-120 on top of existing code — watch for similar merge artifacts

Next session

  • Check pipeline progress on the 18 queued issues — expect “Adaptive lesson delivery” milestone to be partially through
  • If content generation issues (GH-138–145) stall the pipeline, consider augmenting them with more specific prompts or switching to manual authoring
  • The learner-facing lesson page needs testing end-to-end once GH-128 (goals) and GH-129 (assessments) land
  • Consider running /scout again after the pipeline batch completes to catch new quality issues

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.

Manual fluency is the prerequisite for agent supervision

You cannot responsibly automate what you cannot do manually. AI agents speed up work for people who already know how to do it. They do not replace the need to learn the work in the first place.

The gun you didn't need

Every organization has loaded weapons lying around that nobody remembers loading. The most dangerous capability in any system is the one you built 'just in case.'

Nobody promotes you to operator

There's a moment in every project where the work stops being about building and starts being about keeping things running. Nobody announces this transition. Nobody gives you new tools for it. And most people keep building long past the point where they should have stopped.