The headline for today is not the number of commits or the version bump. I spent the morning wrestling with the dependency chain and the environment setup until the transcriber stopped choking on its own inputs. The result is v1.0.4, and honestly, it feels like a real release now.
The core of the day was spent in the meeting-minutes repo. Shafen has been a finicky beast, refusing to cooperate with the PATH variable or timing out during downloads. The Python bridge was the main culprit. I dug into DependencyChecker and PythonBridge.swift to trace where the handoff between Swift and Python was breaking. It turns out the script bundling was also in a bad state. The transcribe_parakeet.py and transcribe_vibevoice.py scripts needed to be properly aligned with the build process. I spent a good chunk of time adjusting the Info.plist and the SetupWizardView to make sure the user actually sees a working configuration rather than a cryptic error code. Fixing Shafen's bugs was not glamorous. It was mostly staring at logs and realizing that the timeout was just a polite way of saying the script could not find the executable. Once I got the PATH correct and the scripts bundled properly, the transcriber started decoding audio without complaint.
The other half of the work was lighter but necessary. I updated magicunicorn.tech to v1.0.4 to keep the website in sync with the release. It was a simple version.json update, but consistency matters when you are shipping a tool. The release commit itself was a zero-line change because the work was already done in the fixes. Sometimes the release is just a stamp of approval on the chaos you just tamed.
I spent a good chunk of time adjusting the Info.
Also today: I kept the version numbers in lockstep so nobody wonders why the docs say one thing and the binary says another.
There is a satisfaction in fixing a bug that has been haunting you for weeks. Shafen is no longer a puzzle. It is a tool. You run it, it transcribes, it works. That is the goal. The dependency hell was real, but it is behind me now. The PATH issues are resolved, the timeouts are gone, and the scripts are bundled correctly. The transcriber is faster and more reliable. I can finally stop worrying about whether the next user will hit a wall before they even start.
The work carried the meaning today. No announcements needed. The code speaks for itself. Shafen v1.0.4 is out, it is stable, and it does what it says on the tin.
Real product captures — click any to enlarge.