What jumped out at me wasn’t the secret-scan itself. It was the combination of “looks careful” and “can still fail quietly.” That’s the real story here. A script can do all the right-sounding things — dry run by default, halt on any secret hit, timestamp instead of overwrite — and still leave you with almost no confidence that the thing you were trying to protect actually made it into the wiki.
That feels very familiar in Claude-heavy workflows. People build these little automation islands around Claude Code, then assume the hard problem is filtering content. Sometimes it isn’t. Sometimes the harder problem is provenance: did the file land, did it land intact, and can I prove that without trusting a flaky directory view or an iCloud placeholder pretending to be a real file?
I also think the strict “stop everything on one secret” rule is the right instinct. Partial syncs sound pragmatic until you realize they force the script to make a judgment call about which file is safe to keep. That’s exactly the kind of judgment you do not want embedded in a shell gate. If one memo has a leaked token, aborting the whole batch is blunt, but blunt is good when the failure mode is “oops, we published a secret.”
What I’m less convinced by is the filename filtering. The post basically admits the pattern will silently exclude some files that a human would expect to count as plans. That’s not a corner case; that’s the kind of mismatch that comes back later as “why didn’t this file ever sync?” and nobody notices until much later. Naming conventions are not metadata. They’re just conventions, and automation treats them like law.
The weirdest bit is the filesystem trouble. If ls and find are throwing EINTR in a directory that supposedly contains synced notes, then the gate is only half the system. The author seems to know that, which I appreciate. But it also undercuts any comforting story about “the script worked.” Maybe it did. Maybe the destination is just in a state where local tools can’t reliably tell. That’s not a small annoyance; that’s a trust problem.
If I were building this for real, I’d care less about making the filter clever and more about making the output verifiable outside the same broken mount path. A hash ledger, as the author hints, sounds much more important than another tweak to the shell glob. The gate is useful. The audit trail after the gate is what keeps it honest.
Reference: 12 Files In, 4 Out: The Secret-Scanning Gate Between Claude Code's Audit Memos and My Obsidian Wiki