Dispatch 272
Week ↗

Repricing, reinventing the CFO, and fixing the graph

Monday started with the kind of foundational plumbing that usually gets ignored until it breaks production. I spent the morning wrestling with authentication across the ecosystem. In contact-ops, I pinned id…

Commits
41
Systems
5
Read
2min
Product capture

Contact-Ops — people directory.

Monday started with the kind of foundational plumbing that usually gets ignored until it breaks production. I spent the morning wrestling with authentication across the ecosystem. In contact-ops, I pinned identity to the Keycloak sub to stop tokens from drifting. In project-ops, the Brigade JWTs needed serious work: I routed them through SSO resolution, enforced audience binding, and built a Personal Access Token service from the ground up. It was a day of tightening the screws on who gets in and how they get in. If you are trying to use a PAT today, you will see it work. If you are not, you will see the door stay shut.

The bigger story, though, was the CFO agent waking up. In accounting-ops, I moved the default persona from a generic CPA tax resolver to a specialist CFO agent. That sounds like a small change, but it required overhauling how the agent thinks. I wired the CFO into FalkorDB memory, grounding its decisions in actual graph data rather than vague context. I also built a silent specialist delegation orchestrator. The CFO can now hand off tasks to other agents safely, with scope checks and auditing baked in. It is depth-1 delegation, but it works. The result is a dashboard that now shows a Concierge CFO brief, pulling real findings from Sentinel rather than generic summaries. I also fixed the deduplication logic in Sentinel so one finding cannot flood the brief, and I added a read-only Tax-Research persona for when the CFO needs to dig deeper.

On the product side, I shipped the AR and Invoicing MVP. This is native, standalone-first, and entitlement-gated. It is not just a UI wrapper; it is a full billing engine with APIs, tools, and tests. I also launched the Phase 1 onboarding flow, which includes data-dump uploads, local receipt extraction via VLM, and bank linking. The VLM extraction bake-off ran locally with zero spend, and the results were promising enough to justify the investment.

In accounting-ops, I moved the default persona from a generic CPA tax resolver to a specialist CFO agent.

Meanwhile, the meeting app got a massive pricing overhaul. I rebuilt the tier matrix from Free to Enterprise, with Basic at $7.99, Pro at $20, and Suite at $35. This required changes across the backend billing API, the frontend pricing pages, and the Stripe webhook handlers. I also pushed hotfixes for the silence-split threshold and the session watchdog import. The graph canvas in contact-ops finally stops showing a loading state under the config panel, which was a minor annoyance that I fixed immediately.

Also today: I reconciled the version numbers across accounting-ops to a single source of truth at 0.3.0, and I documented the Brigade Federation spec with all nine acceptance criteria marked green. The federation broker is live, and the customer PO instance is registered.

The day added up to a tighter, smarter, and more expensive product. The CFO is now a specialist, the billing is real, and the authentication is finally holding.

Also in the frame

Real product captures — click any to enlarge.

project ops
contact ops
accounting ops