Synthesis: March 22, 2026
Cross-project synthesis: March 22, 2026
Eleven projects active. The biggest day in the fleet’s history — the entire infrastructure migrated to a server, a marketing agency framework was designed and tested, and multiple products shipped architectural rewrites. The fleet is now 16 projects with 11 running on speedy-gonzales.
Authexis — Content model rewrite (38 commits)
The entire content data model was rebuilt. The old stage_data JSONB blob was flattened into 8 proper columns on the contents table, backfilled, dual-written by the engine, and read by the web with fallback. This unlocks Supabase realtime subscriptions on individual fields.
The stage machinery was completely replaced. The old system (stage + stage_status + stage configs + sequential field chaining + auto-approve logic) was a complex state machine that caused cascade bugs throughout the session. All replaced with a single status column with four values: generating, interview, review, final. Three new engine handlers replaced the old chain. Content creation simplified to length presets (short/medium/long) with style dropdown instead of content type picker.
A critical engine bug was found: two parallel agents both added dual-write logic to update_stage_field, causing double UPDATEs that created database locks. The duplicate was removed.
v2.0 (product simplification) and v2.1 (content model refactor) both completed — 30+ issues closed.
Dinly — Post-meal feedback + pantry system (17 commits)
Two scout passes identified and executed 18 issues in a single session. The biggest additions: a complete post-meal feedback loop (families rate meals 1-5 stars, skipped meals tracked, ranking engine adjusts) and a full pantry inventory system (CRUD, shopping list integration with “in pantry” badges, ranking engine boosts recipes with pantry-available ingredients).
Security hardening added ownership verification to all vote, onboarding, family CRUD, and cycle mutation actions. Error handling added to all 13 unchecked Supabase operations. Cron job N+1 queries eliminated. Test count doubled from 33 to 65. Issue queue is now empty.
Eclectis — Handler tests + security hardening (15 issues)
Two scout cycles with all issues executed. XSS vectors fixed in briefing and blog pages (DOMPurify). Stripe webhook fixed to return 500 on database failures instead of silently succeeding. Per-row inserts batched in rss_scan. Learned preferences surfaced in settings page. Website_scan had TWO NameErrors making it completely broken — fixed and batch-scoring pattern applied.
28 new handler tests added across article_add, briefing_generate, google_search_scan, newsletter_process, and daily_pipeline. Test suite: 135 → 163. Also filled out the marketing onboarding questionnaire for the Synaxis agency engagement.
Marketing — First NVN engagement
The marketing agency ran its first real engagement. Eclectis competitive analysis produced using the NVN atom: strategist role + guide + template + questionnaire inputs → deliverable. Seven alternatives mapped with verbatim hero copy, real pricing, and 28 buyer quotes from real sources. External AI review identified gaps (behavioral stickiness, gap validation, wedge), and all corrections flowed back into the strategist role, guide, and template. The methodology got smarter from its first client.
Paulos — Fleet migration + rollover + fleet.toml + marketing framework
The marathon day. Three major initiatives:
Fleet migration: 11 sessions now run on speedy-gonzales. Dev servers accessible via http://speedy.local:<port>. paulos setup server syncs skills, creds, and config. paulos setup fleet restores everything after crashes. Discord channel on the supervisor.
Rollover pipeline: Created for server-side daily log rotation. First run crashed (PATH issues), second run succeeded mechanically but sessions didn’t know the skill. Root cause: skills were copies, not symlinks. Fixed by replacing all 31 skills with symlinks to the paulos repo.
Fleet.toml consolidation: Single config file defines every project’s repo, path, port, orchestrate interval, and host. Launchd status, setup fleet, and workspace resolution all migrated. Five issues (#514-#518).
Infrastructure hardening: Briefing enhancements (synthesis scanner, git fallback, needs-clarification display). Scout skill expanded for Hugo/static sites. Orchestrate and sweep gain priority awareness. Security fixes (shell-escaping, fail-secure webhooks, JSON error handling). Marketing CLI built (engage, status, list-clients with NVN architecture).
30+ issues closed between server and laptop sessions.
Phantasmagoria — Narrative-first generation pipeline
The biggest architectural shift in the project’s history. The old roller-first approach (deterministic effects → AI writes text) was replaced with a three-phase narrative-first system: Phase 1 (AI writes story freely), Phase 2 (AI assigns matching effects), Phase 3 (deterministic assembly). Each event type got its own prompt template. Follow-up events redefined as inline resolution popups. AI model references moved to .env. Test harnesses work end-to-end for all three event types.
Prakta — Serve experience end-to-end (14 PRs)
The serve-don’t-show experience is now fully functional. /today rewritten as a four-state machine: energy check-in → serve one chunk → work with timer → feedback → next chunk or done. Energy tracking wired from check-in through to the serve endpoint’s stop condition. Feedback text input added between done/not-done. Not-done feedback re-ingested through AI parse pipeline.
Two scout runs found and fixed 10 more issues: 616 lines of dead cycle-planning code removed, rate limiting on all AI endpoints, prerequisite chain enforcement, missing database indexes for the serve hot path, enriched day-complete screen.
Scholexis — Security + test infrastructure from zero (75 tests)
IDOR vulnerability fixed in cascading deletes. Signup role validation added. Rate limiting on login/signup. Error handling overhauled across all 7 server action files and 12 client components. Dashboard queries parallelized from 12+ sequential to Promise.all(). Browser confirm() dialogs replaced with styled components.
Test infrastructure built from scratch: Vitest configured, CI job added, 52 validation schema tests + 10 week generation tests + 13 more = 75 tests. Dead code cleanup removed ~500 lines. Next.js port at 88/90 closed.
SimpleBooks — Next.js port complete
Final polish batch: error handling on all server actions, N+1 query fixes, confirmation dialogs, mobile-responsive sidebar, filename sanitization. Next.js port milestone complete (18/18). Repo renamed from simplebooks-next to simplebooks.
Skillexis — Idle
No activity. One issue (#172) remaining for the simulation practice milestone.
Synaxis-h — Dead code + accessibility (1,150 lines removed)
Scout pass #10 found what nine previous passes missed — three unused PDF layout templates (940 lines) and 80 orphaned CSS utilities (173 lines). Mobile nav got proper aria-hidden toggling and focus management. Total: ~1,150 lines removed.
Cross-cutting themes
Massive test infrastructure buildout. Scholexis went from 0 to 75 tests. Dinly doubled from 33 to 65. Eclectis added 28 handler tests. Every project that ran a scout found untested critical paths.
Security hardening across the fleet. Authexis, Dinly, Eclectis, Scholexis, and SimpleBooks all shipped ownership verification, rate limiting, or input sanitization. Multiple IDOR vulnerabilities found and fixed.
Architectural rewrites. Authexis rebuilt its content model. Phantasmagoria switched from roller-first to narrative-first generation. Prakta completed the serve-don’t-show experience. These aren’t incremental — they’re fundamental changes to how each product works.
Fleet infrastructure maturation. The migration to speedy, fleet.toml consolidation, rollover pipeline, and marketing agency framework represent the fleet evolving from “a bunch of tmux sessions” to a managed system with centralized config, automated daily operations, and a marketing capability.
The NVN atom. The marketing agency’s first real engagement proved the hermetically-sealed prompt architecture works. Role + guide + template + inputs → deliverable. The methodology improved from its first review cycle.
Carry-over
- Rollover pipeline — disabled due to bugs (#546 decomposed into #547-#551). Manual rollover ran for this day.
- Authexis — deprecated handlers still registered, guidepost prompt needs real-world testing, Sentry error on
c.stylecolumn - Dinly — full planning flow still untested end-to-end in browser (carry-over since March 19!)
- Eclectis — positioning brief next NVN move, PostHog/Sentry verification
- Phantasmagoria — integrate narrative-first prompts into real generators (test harnesses work, production code doesn’t use them yet)
- Prakta — deploy to production and smoke-test serve flow
- Scholexis — 2 remaining issues need clarification (#64, #65)
- SimpleBooks — clean npm install needed after repo rename
Risks
- Authexis parallel agent conflict — two agents modified the same file independently, causing database locks. Need coordination protocol for shared files.
- Rollover pipeline broken — manual workaround works but nightly automation is offline until #547-#551 land.
- Dinly full flow untested — 4 days of carry-over. The planning flow may have regressions nobody has caught.
By the numbers
| Project | Issues closed | Tests added | Milestone status |
|---|---|---|---|
| Authexis | 30+ | — | v2.0 + v2.1 complete |
| Dinly | 18 | 27 (38→65) | All phases complete, queue empty |
| Eclectis | 15 | 28 (135→163) | All milestones closed |
| Marketing | 3 | — | First NVN engagement complete |
| Paulos | 30+ | — | March 24/24, fleet.toml migrated |
| Phantasmagoria | 1 | — | Narrative-first architecture working |
| Prakta | 14 | — | Serve experience end-to-end |
| Scholexis | 13 | 75 (0→75) | Next.js port 88/90 |
| SimpleBooks | 5 | — | Next.js port complete |
| Skillexis | 0 | — | 1 issue remaining |
| Synaxis-h | 4+ | — | 1,150 lines removed |
| Total | ~135 | 130 |
~135 issues closed across 11 projects. 130 tests added. Three architectural rewrites. Fleet migrated to server. Marketing agency operational. The biggest single day in the fleet’s history.
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.
When your agents start breaking each other's code
Two agents modified the same file independently and created database locks. The fleet hit 135 issues in one day — and the coordination problem that comes with it.
The removal tax
The most productive thing you can do with a product is take features away. Eighty-nine issues closed across eight projects, and the hardest lesson came from a pipeline that ran perfectly and produced nothing.
The product changed its mind
A product pivoted its entire philosophy mid-session — from 'here's your list' to 'here's your next thing.' The code shipped in the same conversation as the idea. That's not iteration. That's something else.