Update duo workflow doc with latest client doc
Why is this change being made?
This merge request updates the documentation for GitLab's Duo Workflow feature to reflect recent architectural improvements. The main changes include:
UI Architecture Updates: The documentation now explains how the user interface is being restructured to share common components between the web version and IDE extensions. Instead of building separate interfaces, they're creating reusable building blocks that work across different platforms while keeping platform-specific logic separate.
API Improvements: The system is moving away from exposing raw internal data (called "checkpoints") to clients, which was causing performance issues and making it difficult for developers to work with. They're replacing this with a cleaner, more efficient API called "duo_messages" that only sends the data that user interfaces actually need.
Real-time Updates: The documentation clarifies how the interface receives live updates as workflows progress, switching from one technology (GraphQL subscriptions) to another (websockets) for better performance.
State Management: The docs better explain how the system handles different workflow states and user interactions, particularly when workflows need to pause and wait for user input.
The changes also add a new architectural decision record that formally documents why they're deprecating the old checkpoint system in favor of the new duo_messages approach, citing developer experience and performance benefits.
Author and Reviewer Checklist
Please verify the check list and ensure to tick them off before the MR is merged.
- Provided a concise title for this Merge Request (MR)
-
Added a description to this MR explaining the reasons for the proposed change, per say why, not just what
- Copy/paste the Slack conversation to document it for later, or upload screenshots. Verify that no confidential data is added, and the content is SAFE
-
Assign reviewers for this MR to the correct
- The when to get approval handbook section explains when DRI approval is required
- The who can approve handbook section explains how to identify the DRI
- If the MR does not require DRI approval, consider asking someone on your team, such as your manager.
- The approver may merge the MR. If they approve but don't merge, you can merge.
-
For transparency, share this MR with the audience that will be impacted.
- Team: For changes that affect your direct team, share in your group Slack channel
- Department: If the update affects your department, share the MR in your department Slack channel
- Division: If the update affects your division, share the MR in your division Slack channel
-
Company: If the update affects all (or the majority of) GitLab team members, post an update in #whats-happening-at-gitlab linking to this MR
- For high-priority company-wide announcements work with the internal communications team to post the update in #company-fyi and align on a plan to circulate in additional channels like the "While You Were Iterating" Newsletter
Commits
- Update duo workflow doc with latest client doc
There was a lot of old documentation around the client behaviour so we update it. Also adding a decision log for deprecating the checkpoint field.