Agent Foundations Group
Vision
The Agent Foundations group is focused on developing GitLab the foundations of Agents and Flows, an AI system to automate tasks and help increase productivity in your development workflow.
Team Members
Engineering Manager & Engineers
| Name | Role |
|---|---|
Sebastian Rehm
|
Manager, Fullstack Engineering, AI-Powered:Duo Workflow |
Alper Akgun
|
Staff Fullstack Engineer, AI-powered:Agent Foundations |
Andras Herczeg
|
Senior Machine Learning Engineer, AI-powered:AI Model Validation |
Andrew Fontaine
|
Staff Frontend Engineer, AI-powered:Duo Workflow |
Fred de Gier
|
Staff Backend Engineer |
Halil Coban
|
Senior Backend Engineer, AI-powered:Duo Workflow |
Joey Khabie
|
Backend Engineer, AI-powered:Duo Workflow |
Senior Machine Learning Engineer
|
Senior Machine Learning Engineer |
Lindsey Shelton
|
Frontend Engineer, AI-powered:Duo Workflow |
MikoΕaj Wawrzyniak
|
Staff Backend Engineer, AI-powered:Duo Workflow |
Roman Eisner
|
Backend Engineer |
Sam Beckham
|
Engineering Manager, AI-powered:Workflow Catalog |
Surabhi Suman
|
Senior Backend Engineer, AI-powered:Duo Workflow |
Thomas Schmidt
|
Staff Backend Engineer |
Tim Morriss
|
Backend Engineer, AI-powered:Duo Workflow |
Product, Design & Quality
| Name | Role |
|---|
βοΈ How to reach us
Depending on the context here are the most appropriate ways to reach out to the Agent Foundations Group:
- Slack Channel:
#g_agent_foundations - Slack Groups:
@duo-workflow(entire team) and@duo-workflow-engs(just engineers)
Technical Components π οΈ
Besides the main GitLab repository these are the key technical components we work with:
- Duo Workflow Service within AI Gateway π
- IDE Integration π§©
- GitLab LSP
- GitLab VS Code Extension + more extensions for specific IDEs
Additional projects that we mainly maintain:
For an understanding of how these components work together, take a look at the architecture.
π¦ Team Processes
Goalkeeper Rotation
The Agent Foundations team uses a goalkeeper rotation to ensure incoming Request-for-Help, questions, and issues are triaged and directed to the appropriate people or teams. The goalkeeper acts as the first line of support, keeping work flowing smoothly and preventing bottlenecks. Every milestone 2 engineers are assigned to this to ensure appropriate coverage.
The responsibilities and further process are in the Goalkeeper issue template.
Retrospective
We believe that continuously evolving and improving the way we work is crucial to delivering good outcomes. Traditionally, retrospectives are used to facilitate this improvement. Due to our geographical distribution we cannot run typical sync retrospectives that include everyone. We’ve also found that completely async retrospectives only see limited participation and discussion.
We’re currently trialing a mixed retrospective format, where team members pair on filling in the retro issue. The process is as follows:
- Every milestone the async-retrospective project automatically creates an issue in the agent-foundations retro project which contains a list of retro questions.
- Every 4th week a donut Slackbot will pair up all team members in random groups of two.
- Every group of two should pair on filling out the retro issue for the current iteration together within that week:
- This should happen ideally through a sync meeting or alternatively via Slack.
- Focus on what happened the last two weeks, since the last pairing.
- Pairing should involve taking the time to think through the questions, talking about the answers with your pair and coming up with action items based on the identified problems.
- Expect an overall time commitment of 30 minutes to an hour for the bi-weekly pairing.
- Every 2nd week we have a 30-minute time blocker event, that is meant for everyone to take the time to answer Retro discussions.
π Regular team meetings
βοΈImportant: For every meeting, the Agent Foundations team’s meeting document should be used, and filled with the meeting notes, as well as references to any other sync meeting agendas/notes/recordings which have recently occurred. This will make it easier for people to find any meeting notes.
Team Meetings
- Agent Foundations Meeting
- When: Every Monday, 15:00 UTC and every Wednesday 10:00 UTC
- What: This meeting serves as a general sync meeting to bring up any current issues and blockers. We walk the board at least once a week on an alternating basis between the meetings to ensure clarity around current progress and priorities
Shared calendars
- AI-Powered Stage Calendar (Calendar ID:
c_n5pdr2i2i5bjhs8aopahcjtn84@group.calendar.google.com)
π Agent Foundations Board Outline
The Agent Foundations team is following a milestone process. All currently prioritized issues are visualized in our milestone board. Overview issues that outline the goal and focus points of past milestone and the current one can be found in the overarching epic.
We aim for ambitious but achievable planning of the current milestone, and only issues in the current milestone should be actively worked on. If there are no more issues available reach out to the EM/PM of the team for clarification.
We work with these statuses for issues:
- New: As of yet unclassified issues, which need to be updated to one of the used workflow labels or meta issues such as iteration overview.
- Refinement: Issues in this stage have been identified as important to be worked on but are not ready for development yet. This might be due to a variety of reasons such as missing or not finished designs or architectural questions that need to be clarified.
- Ready for development: Issues that are ready for implementation are moved to this list.
- In dev: When a developer begins work on an issue, they should move it to this list.
- Blocked: Issues in this stage currently cannot be further continued as they depend on other work being done first.
- In review: After development is complete and submitted to be reviewed, the issue should be moved to this list.
- Verification: Following a successful code and UX review, the issue should be moved to this list and the “verification” label should be applied.
- Closed: Once the issue is verified and confirmed to be working properly, it should be moved to this list, the “complete” label should be applied, and the issue should be closed.
We use labels to help with understanding the order in which issues should be worked on:
- Deliverable: These items are the primary deliverables of an iteration and should therefore be picked up first.
- Stretch: We aim to deliver most of these items, but as part of planning ambitiously some of them might slip.
π Communication
The Agent Foundations Team communicates based on the following guidelines:
- Always prefer async communication over sync meetings.
- Don’t shy away from arranging a sync call when async is proving inefficient, however always record it to share with team members.
- By default communicate in the open.
- All work-related communication in Slack happens in the
#g_agent_foundationschannel.
π Weekly Async Updates
We maintain a practice of weekly async status updates to ensure clear communication, track progress effectively, and maintain transparency across our team. This process aligns with our core values by fostering collaboration, driving results, and promoting efficiency through structured communication.
Timing and Frequency
- Team members post updates every Wednesday
- Updates are required for all assigned issues that are at least In Dev. For other assigned issues it is up to the assignee to decide whether an update is warranted.
- Multiple updates may be needed if working on multiple issues
Template
This is the template to use for the updates
## Async Status Update yyyy-mm-dd
- **Progress & Status**: _What progress have you made? What's the current state?_
- **Next Steps**: _What are your planned next actions?_
- **Blockers**: _Are you blocked or need assistance with this?_
- **How confident are you that this will make it to the current milestone?**
- [ ] Not confident
- [ ] Slightly confident
- [ ] Very confident
_Remember to update the status!_
/cc @bastirehm
Be sure to tag your engineering manager, product manager, and any team members you are collaborating with.
Best practices
- Be specific and concise in updates
- Always include next steps, even if they’re tentative
- Flag blockers early - don’t wait until they become critical
- Use the template consistently for easier scanning
- Link to relevant issues or documentation when appropriate
β² Time Off
Team members should add any planned time off in the “Workday” slack app, in accordance with the taking time off policy, including creating a PTO coverage issue.
π€ Ad-hoc sync calls
We operate using async communication by default. There are times when a sync discussion can be beneficial and we encourage team members to schedule sync calls with the required team members as needed.
π Useful Links
π Dashboards (internal only)
πΉ GitLab Unfiltered Playlist
The Agent Foundations Group collates some video recordings related to the group and its team members in a playlist in the GitLab Unfiltered YouTube channel.
7d0906e5)
Sebastian Rehm
Alper Akgun
Andras Herczeg
Andrew Fontaine
Fred de Gier
Halil Coban
Joey Khabie
Senior Machine Learning Engineer
Lindsey Shelton
MikoΕaj Wawrzyniak
Roman Eisner
Sam Beckham
Surabhi Suman
Thomas Schmidt
Tim Morriss