Testing beta.19 across two machines
The Browser tool broke while I was using Mercury to work on beta.19. I had to open another Mercury session to help fix it.
Getting the tests through
When things stalled, I had to get creative, especially with the test pools. Restarting a session wasn't always enough. I was closing pretty much everything on my laptop, and I ended up splitting the workload between that and a Windows machine so they could handle it.
I used Mercury for most of the development on this release, but the amount of work my machines could handle was a real limit. Running the tests was part of that workload. I had to make room for them and move work between machines.
What changed in beta.19
The Browser tool now uses its own browser instead of yours. A hung tool call can be stopped without ending the rest of the session. Restarting a session keeps its running agents and the message waiting to be sent.
That matters when you've already got work running. Restarting the session should not mean throwing away the agents' work or the next thing you asked it to do. You still need a way to deal with the part that has stopped responding.
The workflow timer also recognises a response that is still streaming as live work. It should not restart an attempt just because the response is taking a long time. If an attempt does stall, it resumes in place. Held notices and queued messages arrive in order too, so the session keeps the sequence of what happened.
Windows fixes cover paths, text encodings, process trees, the credential store, file watchers and the updater. Splitting my workload across two machines meant Windows was part of the development work as well.
The tests are staying
I like green-gated development, especially when I'm using AI: the tests have to pass before a change moves on. It's the same reason I care about test-driven development.
The laptop struggling didn't change that. I had to close things, split the workload and work around stalls. I wouldn't change the decision to keep running the tests. They are part of getting Mercury to be the product I want to use myself.