Dispatch 280
Week ↗

Wednesday shipped the tax engine, a whole new app, and a hundred commits of glue

It started the way these days do: with something that refuses to boot. I fixed tax-planning-ops so a fresh deploy actually boots on real Postgres 17 instead of giving up after migrations. The Dockerfile was…

Commits
93
Systems
9
Read
2min
Product capture

Tax-Planning-Ops — console.

It started the way these days do: with something that refuses to boot. I fixed tax-planning-ops so a fresh deploy actually boots on real Postgres 17 instead of giving up after migrations. The Dockerfile was copying a nonexistent requirements file. The config aliases were wrong. The GUC settings needed per-statement application instead of whole-script rollback. Five fixes, one deploy that worked. After that, I had enough momentum to keep building.

The tax engine got its real teeth today. Phase 1 finally wired up LiteLLM with qwen3.6-35b-a3b for 1040 extraction instead of the stub. I also switched the non-reasoning extraction to Gemma 4 while keeping Qwen for agent work. The UI got a complete redesign from scratch. Money displays in dollars not cents, the tax math and OBBBA constants are correct, and the append-only audit chain with metadata-covered hashes is in place. Regression goldens and a DB-backed RLS integration test make it harder for these bugs to come back.

Center Deep Research got spun up from nothing. Initial commit on the sovereign deep-research engine and canvas. Then the space dashboard, plan review, agent CRUD, live choreography, security hardening, and restart resilience landed in rapid succession. The in-app agent chat with knowledge bases over MCP makes it feel like a real product, not a prototype anymore. The 502 edge case with per-request DNS in nginx is the kind of thing that eats hours and the fix was three lines in the config.

I also switched the non-reasoning extraction to Gemma 4 while keeping Qwen for agent work.

Meeting-Ops shipped v3.36 with portable voiceprints and same-meeting duplicate detection. The iOS app got its recording controls, on-device MLX summarizer with the Qwen3-1.7B model, a RAM gate tuned to the A16's exact 5.50 GB, and four green XCUITest smoke tests. The transcriber was broken by a single enum change (.endOfStream to .noDataNow). Fixing it reminded me how one character can sink a week.

Contact-Ops got a self-serve onboarding flow that auto-provisions a workspace on first login, a one-click reversible person merge engine with undo ledger, multi-issuer Brigade JWT verification, and auto-approve for trusted imports. The ops runbook landed alongside a DB backup script with 14-way retention. Also today: ops-center fixed the billing Lago keying to org_id and resolved empty payment-methods returning 200 instead of 404, project-ops re-keyed Magic Unicorn to the suite-canonical workspace UUID, and accounting-ops shipped version 0.5.0 with self-service onboarding and a UI audit pass.

Ninety-three commits across nine repos. The tax engine boots, the research app exists, and the meeting tools finally talk to each other on device.

Also in the frame

Real product captures — click any to enlarge.

accounting ops
project ops
accounting ops