2026-04-04
What shipped today
Observability pipeline: Sentry fully connected
The biggest operational win was completing the Sentry pipeline. Yesterday we discovered 13 unresolved errors sitting in Sentry with nobody looking. Today we triaged all 26 authexis issues (16 trash resolved in Sentry, 10 real bugs filed as GH issues #1921-#1930), confirmed eclectis is clean, and upgraded the scout skill to include full Sentry triage with resolve-as-you-go. The new flow: scout pulls unresolved issues via sentry-cli, resolves trash immediately, files GH issues for real problems (with <!-- sentry: --> markers), then resolves those in Sentry too. Dev-loop already handles the other end — when it ships a fix for a Sentry-originated issue, it resolves the Sentry marker. Zero unresolved should be the steady state after every scout run. If sentry-cli fails in a product session, the skill now files an issue on paulos instead of silently skipping.
Auth boundary documented as hard rule
The subscription-vs-API auth boundary got formalized across CLAUDE.md and PRODUCT.md. Subscription auth (Claude Code Max) is for interactive human sessions only. API keys (Anthropic API, metered) are for all automation — paulos CLI, skopos, server cron. This replaced outdated framing that treated subscription-backed automation as the goal. Also closed #564 (replace call_llm) as wrong-direction — that issue predated the ToS changes and was trying to move work away from API calls, which is now the opposite of what we want.
Social pipeline decoupled from /reflect
Removed paulos social run from the reflect skill (#674). The social pipeline now runs on its own schedule rather than being coupled to the publish event — which was failing because Cloudflare Pages hadn’t deployed yet when the RSS check ran. Filed #675 to consolidate all periodic jobs (social, sentry triage, health, mail check, doc audit) into a single scheduled runner, with the two-category framework documented: deterministic CLI jobs (server cron) vs AI session jobs (need Claude).
Queue housekeeping
Closed #659 (context loading — resolved by existing API dispatch path). Backlogged #657 (/start: keeping it) and #656 (auto /close: AI session job, part of #675). The needs-clarification queue is down to two issues (#675, #665), both waiting on infrastructure decisions.
Freetime: stigmergy
Charlie’s freetime session discovered stigmergy — coordination through traces in a shared medium, not shared understanding. The concept (Grassé 1959, formalized by Heylighen 2016) perfectly describes how the Synaxis fleet coordinates: Notion status columns, GitHub issue labels, PRODUCT.md files are all pheromone trails. Agents respond to traces without understanding each other. Drafted “Coordination is a property of the room, not the people in it” — connects stigmergy to the American lone-genius myth, libertarianism’s blind spot, and AI multi-agent architecture. Saved as draft: true in polymathic-h.
Paul’s essay series
Paul wrote four interconnected essays on the dissolution of knowledge work: “Knowledge work was never work” (PowerPoint as lossy API), “What was the firm for?” (capitalism built on cognitive scarcity), “The overhead economy” (services as mediation), and “The machine-self has no machine to run on” (connecting to his book). This is the thread that ties his PhD, the book, the consulting practice, and Synaxis together. Essay 1 is close to done; others are developed skeletons. Charlie’s stigmergy piece is the theoretical companion — it explains the mechanism, Paul’s series explores the consequences.
Completed
- #674 — Social pipeline: decouple from /reflect, run on a schedule
- #659 — Move context loading to deterministic prompt construction (closed: resolved by API dispatch)
- #564 — Replace call_llm() usage (closed: wrong direction post-ToS)
- Sentry triage: 16 trash resolved, 10 real issues filed on authexis (#1921-#1930)
- Scout skill upgraded with sentry-cli triage + fallback error reporting
- Auth boundary documented in CLAUDE.md and PRODUCT.md
- Freetime memory saved: stigmergy coordination thread
- Charlie blog draft: “Coordination is a property of the room”
Carry-over
- #675 — Consolidated scheduled runner: two-category framework documented, needs platform decision (speedy cron vs Railway vs other)
- #665 — Infrastructure webhooks: research done, Railway/Vercel Discord webhooks need dashboard config by Paul
- Authexis Sentry backlog — 10 new GH issues filed (#1921-#1930), ready for authexis dev-loop
- Paul’s essay series — 4 drafts in polymathic-h. Essay 1 near-done, others need development
- Charlie’s stigmergy draft — needs Paul’s approval on publication timing/pairing with his series
- Max quota — 15% used by Saturday. At this rate, need to monitor daily burn. Idle
/loopticks are the main waste vector. - diktura Railway healthcheck — day 4, still broken
Risks
- Max plan quota burn rate — 15% in one day with 5 active projects. If every day is like yesterday, hits 100% by Thursday. The global model setting (can’t set per-session) means all sessions run Opus. Main mitigation: kill idle /loop ticks, drive work manually.
- diktura-engine still down — production healthcheck failing since April 1. No alert pipeline yet. Day 4.
Flags and watch-outs
- Claude Code model setting is global — can’t run Opus for interactive and Sonnet for autonomous in parallel sessions
/loop 5m /dev-loopis the main quota drain when running on idle — ~12 Opus calls per hour per session doing nothing- The freetime config was updated to encourage non-blog outputs (tools, prototypes, experiments)
- Agency skills updated today (agency-ask timeout handling, agency-loop batching, client notifications on Done/Complete)
Next session
- Monitor Max quota — check usage, decide if session management changes are needed
- Paul’s essay series — editorial support if Paul wants it; these are the most important writing in the pipeline
- Authexis Sentry issues — 10 new issues ready for the authexis dev-loop to pick up
- Fix diktura healthcheck — day 5 if not done today. Send to diktura session.
- Run /scout on paulos — queue is empty of grindable work, scout may find more
- Stigmergy draft — decide on publication timing relative to Paul’s series
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.