Change Duo Agent Platform architecture to use only the node executor for Duo Agent Platform
Why is this change being made?
This is a proposal to standardize on one executor for Duo Agent Platform.
This is due to the fact that having two different Executors creates continues double work in case changes to tools or similar are necessary (see gitlab-org/gitlab#553166 (closed) for examples), as this needs to be implemented in two places. It happens easily that one executor lags behind the other in providing essential features such as MCP support. It also creates an increased potential for bugs as there is a chance that a change is forgotten to be made on one of the executors can break it.
As we are investing in creating a CLI version of the NodeJS based executor in gitlab-org&19070, we are already doing the work of setting up bundling to run the executor outside of a specific IDE. A headless mode, where the flow executes without user interaction is a basic feature of such a CLI and common among similar setups.
While resource usage of using this CLI instead of the current Go executor might be higher, when running flows remotely, this should be more than balanced out by the unification on a single code base and the potential for optimizations this brings.
💡 Provide a detailed answer to the question on why this change is being proposed, in accordance with our value of Transparency.Please add the details saying why, not just what in this section. Example:
We have discussed the topic in Slack - (copy of Slack conversation). The current process is not efficient, this MR makes the description of X more clear, and helps move Y forward.
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
- Change architecture to use only the node executor for Duo Agent Platform