Dispatch 268
Week ↗

105 commits, 5 agents, and a web GUI that finally matches the system

Friday. 105 commits across 4 repos. accounting-ops ate 56 of them. uc-meeting-ops got 34. contact-ops and listing-ops cleaned house with 8 and 7 each. The big story is the web GUI overhaul for accounting-ops…

Commits
105
Systems
4
Read
2min
Product capture

Accounting-Ops — command palette.

Friday. 105 commits across 4 repos. accounting-ops ate 56 of them. uc-meeting-ops got 34. contact-ops and listing-ops cleaned house with 8 and 7 each.

The big story is the web GUI overhaul for accounting-ops. The /taxes page got a full rebuild with a Narrative tab, a Knowledge Browser, and a smarter entity default that actually picks the right one on load. The approvals tab got an AI Recommendations tab that groups pending items into clusters and scores confidence. That's not a gimmick, it's the kind of thing that saves a CPA fifteen minutes before a deadline. I also dropped specialist draft and IRS form PDF viewers straight into the browser, and a per-year CPA handoff ZIP that bundles everything. The UI finally matches what the system does.

Underneath that, the tax agent team grew by 3 specialists. There's now a Personal 1040 Specialist that handles military and VA disability, CRSC vs CRDP elections, and SC homestead qualification. A State Tax Strategy Drafter that covers SC plus CA, FL, GA, NY, and TX. And an Officer Compensation + NOL Carryforward Analyst that reconstructs Schedule L for pre-revenue years and stacks NOL carryforwards. The existing 1099, SC State, and Audit Defense specialists got their max tokens bumped from 8192 to 16384, journal pull capped at 80 rows to stay under local model context, and a dual-backend runner for Anthropic + OpenAI-compatible LLMs. I also centralized MAX_OUTPUT_TOKENS and secured LLM key handling across all 13 runner files so nobody's hardcoding credentials anymore.

I also dropped specialist draft and IRS form PDF viewers straight into the browser, and a per-year CPA handoff ZIP that bundles everything.

The embedding pipeline got a meaningful upgrade. Swapped to bge-m3 with 8192 context versus the old 512, bumped embedding input from 8K to 100K characters, and added parent/child chunking for oversized RAG documents. The knowledge curator refreshed 7 stale IRS source URLs that had rotated. pgvector embeddings are self-hosted now on a midboy RTX 3060, which means no API bills for tax knowledge retrieval.

On the platform side, uc-meeting-ops shipped the v3.19 release with a full Stripe subscription flow, Founders 100 signup activation, an integrations panel with per-org toggles, mobile free-tier gates, a settings 4-tier information architecture, and speaker pagination. The long-running handlers got background-jobified, which was overdue. I also fixed the Traefik routing split so the frontend hits / and the backend hits /api, corrected the nginx listen port, and patched a latent /register signature bug.

contact-ops wired up the connector help preview, surfaced why iCloud Save was disabled, decoded connector errors for end users, and fixed the MCP tool envelope unwrapping so errors actually throw instead of silently passing through. listing-ops released v1.9.2 with a documentation sweep, fixed the async lazy-load in the toolset, and unskipped the publish guard test.

Also today: a Dockerfile fix for the renamed libgdk-pixbuf package on Bookworm, a migration rename to fit the 32-char Alembic limit, and clearing out a bunch of .claude worktree files from gitignore.

105 commits in a day, half of them tax agents learning new specialties and the other half making sure the interface actually shows what's happening.

Also in the frame

Real product captures — click any to enlarge.

listing ops
listing ops
meeting ops