The weekly security-fix workflow is the most consequential agent job I've found in an OSS repo: scheduled, write access, and it opens PRs that change dependency versions on a data pipeline people run in production. The commit history tells the real story: a burst of same-day fixes in April, a disable and re-enable, a switch from Claude to Codex, and then the June behavior rules (never downgrade deps, skip already-satisfied alerts). Each of those rules reads like a patch for a run that misbehaved.
I maintain an open-source tool called reelier (github.com/seldonframe/reelier) built for exactly this shape of problem: record a known-good scan-and-fix run, replay it whenever the workflow, model, or provider changes, and fail CI on drift. Each weekly run also produces a receipt of what the agent decided and why, which could be attached to the auto-PRs so reviewing them takes seconds instead of re-deriving the reasoning.
Happy to open a PR so trying it costs one review. If it's not useful, feel free to close, no follow-up from me.
The weekly security-fix workflow is the most consequential agent job I've found in an OSS repo: scheduled, write access, and it opens PRs that change dependency versions on a data pipeline people run in production. The commit history tells the real story: a burst of same-day fixes in April, a disable and re-enable, a switch from Claude to Codex, and then the June behavior rules (never downgrade deps, skip already-satisfied alerts). Each of those rules reads like a patch for a run that misbehaved.
I maintain an open-source tool called reelier (github.com/seldonframe/reelier) built for exactly this shape of problem: record a known-good scan-and-fix run, replay it whenever the workflow, model, or provider changes, and fail CI on drift. Each weekly run also produces a receipt of what the agent decided and why, which could be attached to the auto-PRs so reviewing them takes seconds instead of re-deriving the reasoning.
Happy to open a PR so trying it costs one review. If it's not useful, feel free to close, no follow-up from me.