Duo Workflow Group

The Duo Workflow group is focused on developing GitLab Duo Workflow, an AI system to automate tasks and help increase productivity in your development workflow.

Vision

The Duo Workflow group is focused on developing GitLab Duo Workflow, an AI system to automate tasks and help increase productivity in your development workflow.

Team Members

Engineering Manager & Engineers

Name Role
Sebastian RehmSebastian Rehm Manager, Fullstack Engineering, AI-Powered:Duo Workflow
Andrew FontaineAndrew Fontaine Staff Frontend Engineer, AI-powered:Duo Workflow
FrΓ©dΓ©ric CapletteFrΓ©dΓ©ric Caplette Staff Frontend Engineer, AI-powered:Duo Workflow
Halil CobanHalil Coban Senior Backend Engineer, AI-powered:Duo Workflow
Backend EngineerBackend Engineer Backend Engineer, AI-powered:Duo Workflow
Surabhi SumanSurabhi Suman Senior Backend Engineer, AI-powered:Duo Workflow

Product, Design & Quality

Name Role
Ottilia WesterlundOttilia Westerlund Security Engineer, Fulfillment (Fulfillment Platform, Subscription Management), Security Risk Management (Security Policies, Threat Insights), Monitor (Observability), Plan (Product Planning), AI-powered (Duo Chat, Duo Workflow, AI Framework, AI model validation, Custom models)

☎️ How to reach us

Depending on the context here are the most appropriate ways to reach out to the IDE Group:

  • Slack Channel: #g_duo_workflow
  • 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:

  1. Duo Workflow Service 🐍
  2. Duo Workflow Executor πŸƒβ€β™‚οΈ
  3. IDE Integration 🧩
    1. GitLab LSP
    2. GitLab VS Code Extension

Additional projects that we mainly maintain:

  1. Duo Workflow Tests
  2. Default Docker Image

For an understanding of how these components work together, take a look at the architecture.

πŸ“¦ Team Processes

πŸ“† Regular team meetings

❗️Important: For every meeting, the Duo Workflow 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

  1. Duo Workflow Meeting
    • When: Every Monday, 15:00 UTC and every Wednesday 7: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)

πŸ“š Duo Workflow Board Outline

The Duo Workflow team is following a 2-week iteration process. All currently prioritized issues including an overview of the are visualized in our iteration board. Overview issues that outline the goal and focus points of past iterations and the current one can be found in the overarching epic.

We aim for ambitious but achievable planning of the current iteration, and only issues in the current iteration should be actively worked on. If there are no more issues available reach out to the EM/PM of the team for clarification.

These are the workflow labels we work with:

  1. Open: As of yet unclassified issues, which need to be updated to one of the used workflow labels or meta issues such as iteration overview.
  2. workflow::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.
  3. workflow::ready for development: Issues that are ready for implementation are moved to this list.
  4. workflow::in dev: When a developer begins work on an issue, they should move it to this list.
  5. workflow::in review: After development is complete and submitted to be reviewed, the issue should be moved to this list.
  6. workflow::verification: Following a successful code and UX review, the issue should be moved to this list and the “verification” label should be applied.
  7. 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 priority labels to help with understanding the order in which issues should be worked on:

  1. DuoWF-Prio::1: These items are the primary deliverables of an iteration and should therefore be picked up first.
  2. DuoWF-Prio::2: Ideally, all of these items are deliverd throughout the iteration as well.
  3. DuoWF-Prio::3: These are likely follow-up issues that might depend on Prio 1 or 2 work or other kinds of issues that are not yet time-sensitive.

πŸ‘ Communication

The Duo Workflow Team communicates based on the following guidelines:

  1. Always prefer async communication over sync meetings.
  2. Don’t shy away from arranging a sync call when async is proving inefficient, however always record it to share with team members.
  3. By default communicate in the open.
  4. All work-related communication in Slack happens in the #g_duo_workflow channel.

⏲ Time Off

Team members should add any planned time off in the “Workday” slack app, so that the Engineering Manager is aware of PTO and can plan accordingly.

πŸ€™ 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.

πŸ“ Dashboards (internal only)

πŸ“Ή GitLab Unfiltered Playlist

The Duo Workflow Group collates all video recordings related to the group and its team members in a playlist in the GitLab Unfiltered YouTube channel.


Troubleshooting
Information about monitoring and logging tools of Duo Workflow.
Last modified January 11, 2025: Fix incorrect or external links (e353870b)