posts
- One space in a path, and Hermes blocked echo hi
An unquoted hook path met a home directory with a space, and my fail-closed guard blocked every Hermes tool call. A custom home also exposed the rules.
- My unit tests never typed `; echo`
Fixing a guard's false positives exposed a hole, and the tighter rule passed every unit case. Then four agents failed one near miss: the command had a tail.
- My sandbox profile had never run as shipped
My opt-in Claude Code sandbox profile had never been run. Its first run showed three ways it would break Maven and Gradle builds; the fix had a price.
- My guard read the tool's name, never its arguments
Loosening the Ghidra MCP rules for my coding agents turned up a hole: the guard judged tools by name, so it never checked which path an import was given.
- My guard blocked bash -c. Models write bash -lc.
A regex guard for auto-approved coding agents denied bash -c 'rm -rf build' and allowed bash -lc. The end-to-end case had used the first spelling.
- Bun's fetch had no way to skip the proxy
With HTTP_PROXY set, my agents found no local models: fetch sent the LAN request to the proxy. Bun 1.3.10 had no per-request way out, and end() lost the reply.
- An exception in one layer deleted a block in another
Letting my agents delete extraction folders made a config generator drop a deny glob. That glob had been the only thing stopping $(echo rm) -rf in one agent.
- The GPU wasn't to blame
I wrote that this Radeon 780M can't decode HEVC Main 10 on the GPU. It can. Fedora's Mesa build leaves HEVC out; ffmpeg exits 0 anyway.
- The Config I Measured Was Not the Config That Ran
A Spring Boot native image never got its telemetry config file, and optional: kept quiet. Plus a compose run that swapped the app before a load test.
- Spring Boot 4 Keeps a Tracer With Tracing Off
In Spring Boot 4, management.tracing.enabled=false binds to nothing. The replacement switches off export, not the Tracer bean.