(from sarah's claude)
Thanks for the review @jkomyno — accepted all six in f427a94. Summary:
| # | Finding | Resolution |
|---|---|---|
| 1 | version re.sub replacement-string injection | Lambda replacement in extracted script |
| 2 | tag re.sub replacement-string injection | Lambda replacement in extracted script |
| 3 | Concurrent releases racing on tap push | concurrency: { group: bump-homebrew-tap, cancel-in-progress: false } |
| 4 | `grep | pipefail` swallowing the clearer error |
| 5 | Filename convention | Renamed to cli.bump-homebrew-tap.yml |
| 6 | Extract Python heredoc | New .github/scripts/bump-homebrew-formula.py, executable, locally testable |
Verified the extracted script locally before pushing:
- Happy path: produces an identical diff to the inlined version (version + 4 URLs + 4 SHAs all bump correctly).
- Injection defense: ran the script with
TAG='@composio/cli@1.0.0\g<1>'—\g<1>is written literally to the formula instead of being interpreted as capture-group 1. Defense confirmed. - Also added an unexpected-edit-count guard (
n_ver != 1 or n_url == 0 or n_sha == 0) so a malformed formula fails loudly instead of silently no-op'ing.
Ready for another look when you have a moment.