Letting an agent write code is easy. Letting it merge code safely is the interesting part. On OpsPuls a scheduled agent branches from the development line, picks a Jira ticket, and authors changes against custom SKILL.md review skills — one for backend code review, one for infra.
Nothing reaches main on trust. Every PR is gated by ArchUnit rules that enforce tenant isolation, an LLM eval suite, and a PII-redaction check. Only after all gates pass does it auto-merge to the development line; promotion to main stays human.
The agent is fast; the rails are what make it safe.