It is a quiet Sunday, but the work decided to move anyway. FIX: I also wanted to touch up the cognitive-companion for macOS. The server-backed chat needed to respect the gateway key when checking health. => The biggest win was getting the listing ops flow to actually reconcile money, which is always a relief.
The listing-ops repo took the bulk of the mental load. I needed to give David a one-tap way to mark items as shipped without digging through menus. That sounds simple until you realize the fee reconciliation logic was still guessing. I rewrote the order handling to tie the checkbox directly to the actual eBay fee calculations. It was a heavy lift across the stack, touching everything from the API schemas to the frontend components and even the internationalization files for Vietnamese users. Seeing the numbers line up correctly after that change felt like the real work finally clicking into place.
On the other side of the house, I had to fix the email-ops setup for James. The JMAP account ID was missing on scoped calls, which meant nothing was routing correctly. It was a nasty little bug hidden in the client layer. I injected the ID properly so the account-scoped requests finally hit the right targets. It is easy to overlook these plumbing issues until they break the whole flow, but getting them right keeps the backend honest.
I needed to give David a one-tap way to mark items as shipped without digging through menus.
I also wanted to touch up the cognitive-companion for macOS. The server-backed chat needed to respect the gateway key when checking health. It was a small adjustment to the startup scripts and the main runtime, ensuring the gateway handshake didn’t fail silently. Small fixes like that prevent weird race conditions when the app wakes up.
Then there was the medical side of glitter-mane. I added a subagent specifically for rare-disease consulting, but the framing had to be careful. I didn’t want to overpromise. The new disclaimer gates and safety checks make it clear: this tool is here for when a doctor isn’t. It is a necessary boundary to keep the AI from playing therapist. The frontend now blocks access until that disclaimer is acknowledged, and the backend enforces the safety rails. It is a bit more friction for the user, but it is the right kind of friction.
Finally, I had to fix the production WebSocket authentication for the UC meeting ops. The native OIDC cookie wasn’t being accepted, which broke the live sync for anyone not using the standard flow. I updated the auth logic and allowed Cloudflare Web Analytics through the nginx config so we could actually see who is connecting. It was a quick patch, but it keeps the real-time features from falling over in production.
It was a day of tying knots. The listing ops finally pay the right fees, the email client knows who it is, and the medical AI knows its limits. That is enough for a Sunday.
Real product captures — click any to enlarge.