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

2026-03-28 — Observability verification and PostHog separation

What shipped today

The session started with a dev-loop tick that found all queues empty, then shifted into verifying the observability stack — a carry-over TODO from the initial launch. PostHog and Sentry both needed confirmation that events were actually flowing in production, not just wired up in code.

PostHog verification revealed something unexpected: Eclectis events were flowing into the Authexis PostHog project (308520), not Eclectis’s own project (360405). The Eclectis project existed in PostHog but was completely empty — zero events, zero sessions. This was a leftover from forking the project, where the env var was copied from Authexis but never updated. After getting direction to wire Eclectis to its own project, updated NEXT_PUBLIC_POSTHOG_KEY across .env.local and all three Vercel environments (production, preview, development). No code changes needed — the instrumentation (provider, identify, server capture, reverse proxy) was already correct.

Sentry verification confirmed 9 unresolved issues in the eclectis web project under the synaxis-ai org. Two new issues (ECLECTIS-A and ECLECTIS-8) appeared during the session — both “Cannot coerce the result to a single JSON object” errors from Supabase, likely a .single() call returning multiple rows. These weren’t addressed in this session but are visible for next time.

Completed

  • #591 — [Analytics] Unused “Eclectis” PostHog project — consolidate or remove

Carry-over

  • Sentry ECLECTIS-A / ECLECTIS-8: new errors (1h old at session end) — getFeedbackLoopHealth and getSettings both failing with “Cannot coerce the result to a single JSON object”. Likely .single() queries hitting multiple rows. Should investigate.
  • Sentry ECLECTIS-3: Missing SUPABASE_SERVICE_ROLE_KEY on /admin/pipeline (11 events). Env var issue on Vercel.
  • Sentry ECLECTIS-5: ESM/CJS require() error on briefings page. Build issue.
  • Sentry ECLECTIS-4: FK constraint violation on engagement_events.feed_id from newsletter flow.
  • 7 open issues all in backlog — no active work items queued.

Risks

  • PostHog token change takes effect on next Vercel deploy. Until then, production events still flow to the Authexis project. The env vars are set correctly on Vercel — just needs a deploy to propagate.
  • The two new Sentry errors (ECLECTIS-A, ECLECTIS-8) affect settings and feedback loop health endpoints. If these are user-facing, they could impact the settings page experience.

Flags and watch-outs

  • PostHog MCP in this session was switched to project 360405 (Eclectis). Future sessions querying PostHog will see the Eclectis project, which will be empty until the first deploy with the new token.
  • The engine/uv.lock has uncommitted changes from a prior session (added openai and sentry-sdk deps). Not related to today’s work.

Next session

  1. Investigate and fix Sentry ECLECTIS-A and ECLECTIS-8 (.single() coercion errors in getFeedbackLoopHealth and getSettings)
  2. Deploy to Vercel to activate the PostHog token change — verify events appear in the Eclectis project (360405)
  3. Check Sentry ECLECTIS-3 — verify SUPABASE_SERVICE_ROLE_KEY is set in Vercel env for the admin pipeline route
  4. Consider filing the remaining Sentry issues (ECLECTIS-4, ECLECTIS-5) as GitHub issues if not already tracked

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.

Everything pointed at ghosts

Most organizations are measuring work they stopped doing years ago. The dashboard is green. The reports are filed. Nobody realizes the entire apparatus is pointed at ghosts.

Silence by design

Most systems have more suppression than their owners realize. It gets installed for good reasons. The cost accumulates slowly, in the form of systems you can't operate because you've removed the signals that would let you understand them.

Designed to learn, built to ignore

The most dangerous organizational failures don't throw errors. They look fine, return results, and quietly stay frozen at the moment of their creation.