Work log: Authexis — March 18, 2026
What shipped today
Today was a comprehensive hardening session — the kind of day where the product doesn’t gain visible features but becomes meaningfully more robust underneath. Two themes dominated: social post integrity and engine test coverage.
The social post work that started in the previous session reached its conclusion. After consolidating platform char limits into a shared module (#1354) and adding a publish-time guard (#1355), today’s session aligned the AI generation prompts with the actual platform limits (#1356). The AI now receives character-based guidance instead of word counts for social posts, and the default prompt no longer references the unsupported Twitter/X platform. This closes a loop that’s been open since the assembly logic was built — the AI, the validation layer, and the publishing pipeline all now share the same truth about character limits.
The scout run surfaced five issues across the web and engine layers. Three were real and got fixed immediately: the calendar feed was using Cache-Control: public which could leak schedule data to CDN caches (#1360), the slot collision retry could reassign a post to the same conflicting slot (#1361), and raw database errors were leaking into user-facing toasts (#1363). One finding was a false positive — feed discovery already had HTTP timeouts (#1362, closed). The fifth, missing handler tests (#1364), was decomposed into three child issues and all three were executed in sequence.
The handler test suite gained 21 new tests across three critical handlers: onboarding_bootstrap (5 tests covering the two-phase bootstrap with graceful degradation), daily_pipeline (6 tests covering the parallel intake orchestrator), and maya_reply (10 tests covering loop guards, content/briefing/general routing, API failure fallback, and markdown-to-email conversion). These handlers had zero coverage before today.
Completed
- #1356 — Align AI generation prompts with platform char limits
- #1360 — Fix calendar feed Cache-Control from public to private
- #1361 — Add guard to slot collision retry to prevent same-slot reassignment
- #1362 — Feed discovery timeout (closed as already implemented)
- #1363 — Sanitize database errors before showing in client toasts
- #1364 — Add tests for critical untested engine handlers (decomposed)
- #1368 — Add tests for onboarding_bootstrap handler (5 tests)
- #1369 — Add tests for daily_pipeline handler (6 tests)
- #1370 — Add tests for maya_reply handler (10 tests)
Release progress
- v2: 20/20 closed (due April 1) — all issues complete, milestone ready to close
- v1-outbound: 19/19 closed (due April 14) — all issues complete, milestone ready to close
- v1.5: 21/22 closed — 1 open (dashboard redesign #743, backlog)
Carry-over
- Trigger a test briefing for Stacy’s workspace to verify the pyramid layout from last session’s briefing work
- Close v2 and v1-outbound milestones (all issues complete)
Risks
- None identified. The pipeline is clean — all open issues are in backlog or blocked states.
Flags and watch-outs
- The
test_claude_api_failuretest for maya_reply patches atengine.services.claude.chat(source module) because the handler uses a lazy import inside_chat_and_email_response. If someone refactors that import to module-level, the test patch path needs updating. - Paul asked about FeatureBase — decided it’s premature with one active user. Revisit when there are 5-10+ workspaces.
Next session
- Close v2 and v1-outbound milestones — both are 100% complete
- Trigger a test briefing for Stacy’s workspace to verify pyramid layout
- Run
/scoutagain — the handler test coverage improvements may reveal new patterns to test - Consider running
/grindif any new issues enter the pipeline
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 org chart your agents need
The AI community is reinventing organizational design from scratch — badly. Agencies figured this out decades ago. Competencies, not clients. Briefs, not prompts. Lateral communication, not hub-and-spoke. The answers are already there.
AI agents need org charts, not pipelines
Every agent framework organizes around tasks. The agencies that actually work organize around competencies. The AI community is about to rediscover this the hard way.
The delegation problem nobody talks about
When your automated systems start finding real bugs instead of formatting issues, delegation has crossed a line most managers never see coming.