Inspiration I'm a Tier 2 help desk analyst. Tickets like "clear stored credit cards for a transferred location" or "fix documents stuck in draft" usually mean hand-writing risky SQL against production data. One typo in a WHERE clause can wreck a customer's records. I wanted AI to do the typing while I keep control.
What it does I paste a plain-language ticket into GitLab Duo Agentic Chat. The agent follows the repo's AGENTS.md rules, writes a Python script, and opens a merge request with new CI jobs. GitLab CI runs a safety scan and a dry run against a seeded test database. Nothing changes until I review, merge, and press play on a manual apply job. The script then checks its own end state.
How we built it
- GitLab Duo Agent Platform (Agentic Chat), guided by an AGENTS.md file
- GitLab CI/CD with test and approve stages, a safety scanner, and a seeded SQLite test database
- Python scripts that dry run by default and only change data with --apply
Challenges Making the agent safe by default. The fix was writing the rules once in AGENTS.md: scope every update, no secrets, never push to main, always add a dry-run job and a manual apply job. In one run, the agent asked whether "published" meant draft or final instead of guessing.
What we learned Agents are most useful when the pipeline, not trust, enforces the guardrails.
What's next More ticket types (new location setup in Dynamics GP, dashboard fixes) and real ticketing system intake.
Built With
- agent
- duo
- gitlab
- python
Log in or sign up for Devpost to join the conversation.