Use commit author and committer identity for external agent flows

What does this MR do and why?

External AI agents (Claude, Codex) hardcoded their git commit identity in the seeded flow definition:

git config --global user.email "claudecode@gitlab.com" git config --global user.name "Claude Code"

Every commit was attributed to a static bot address instead of the real users. This MR makes the identity dynamic, mirroring AI catalog and foundational flows https://gitlab.com/gitlab-org/gitlab/-/blob/master/ee/app/services/ai/duo_workflows/start_workflow_service.rb#L221-L224; the service account authors the commit, the initiating human user is the committer.

Workload variables are emitted as job-level environment variables, and git's GIT_AUTHOR_* / GIT_COMMITTER_* env vars take precedence over git config user.*.

Existing (already-seeded) instances: the injected env vars override the stale git config lines at runtime. The hardcoded lines become a harmless fallback; no data migration or re-seed required.

New instances: the hardcoded git config lines are removed from the seeder, so fresh definitions are clean.

References

#603123 (closed)

Screenshots or screen recordings

Before After
Screenshot 2026-06-16 at 4.50.50 PM.png Screenshot 2026-06-16 at 3.59.16 PM.png

How to set up and validate locally

  1. Enable and create trigger for an external agent like Codex or Claude Code. docs
  2. Use the trigger on an issue/MR to generate a commit
  3. Enable push rules for the project
  4. Ensure the commit goes through and the commit has author (service account) and committer (human user) identity

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Edited by Surabhi Suman

Merge request reports

Loading