Work log: Authexis — March 7, 2026
What shipped today
Light session focused on infrastructure and housekeeping.
Created the Skopos QA test account (#811). The automated QA agent needs credentials to log into auth-gated pages during Playwright-based visual inspection. Created [email protected] as a regular (non-admin) user in Supabase auth, password stored in paulos .env as SKOPOS_QA_TEST_PASSWORD. This unblocks the Skopos dev pipeline extension (triage → prep → dev → qa → review → merge) tracked in pwelty/paulos#220.
Removed custom GitHub issue templates. The custom bug_report.yml, feature_request.yml, task.yml, and config.yml templates were adding friction without value — issues are created programmatically via gh CLI or through the pipeline. Returned to GitHub’s default blank issue form.
Issue triage. Reviewed the full queue (32 open, 12 grindable). Identified #742 (alternative layouts) as the key blocker for closing v2 — it’s the only non-grindable issue left alongside #797. Recommended prepping or closing it to clear the milestone.
Completed
- #811 — Create skopos test account for automated QA (closed)
- #800 — Build web scraper service to extract article-like links from pages (closed by another session)
- Removed custom GitHub issue templates (commit 7356b799)
Release progress
- v1.5: 2 open / 3 closed (no due date)
- v2: 2 open / 18 closed (due 2026-04-01) — #797 is grindable, #742 needs a decision
- v1-outbound: 10 open / 6 closed (due 2026-04-14)
Carry-over
- Roland’s Google search terms need re-doing with 2028 festival focus (from March 5).
- Debug logging still in
/auth/confirmroute (from March 5). - Supabase Site URL monitoring — could revert again.
Risks
- v2 milestone due Apr 1. Only 2 issues remain but #742 (alternative layouts) is a design decision that could expand scope if not handled carefully. May be best to close as won’t-fix or defer to v3.
Flags and watch-outs
- Skopos test account is on the production database (since we share dev/prod). If data purge scripts ever run, this account needs to be preserved.
- Another session closed #800 and created issues #804-#807 (scrape feed chain) — these are unmilestoned but grindable.
Next session
- Decide on #742 (alternative layouts) — prep it, close it, or defer it. This is the gate to closing v2.
- Grind the queue: #797, #792, #795, #796 are all ready. #797 closes v2 if #742 is resolved.
- Prep #794 (prospect state machine) — core architecture for outbound, blocks other issues.
- Remove debug logging from
/auth/confirmroute (quick cleanup). - Roland’s search terms — needs Paul’s input on the specific 2028 festival terms.
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 second project problem
Your system works. Then you try it somewhere else and it falls apart. The gap between 'works here' and 'works anywhere' is where most automation dies — and most organizations never look.
The smartest code you'll ever delete
The most dangerous kind of waste isn't the thing that doesn't work. It's the thing that works beautifully and shouldn't exist.
The first real user breaks everything
Your product works until someone actually uses it. The gap between 'works in dev' and 'works for a person' is where most systems fail — and most organizations avoid looking.