All workflows should migrate to using NewCheckpoint for UI updates

Problem

When we first introduced Duo Workflow we were updating the chat UI using a GraphQL subscription. And then additional GraphQL polling was added as we were seeing reliability issues with the GraphQL subscription. Later on when we introduced agentic chat we introduced the concept of a NewCheckpoint sent via the gRPC stream.

Now we are in a situation where the initial software_development flows in gitlab-lsp are updating the chat log with the GraphQL subscription and the agentic chat is using the NewCheckpoint messages.

This discrepancy makes it harder to optimize/simplify our architecture and makes it harder to troubleshoot bugs related to UI state.

Solution

We should consolidate on the NewCheckpoint architecture and remove the old GraphQL based UI updates. This likely only requires changes to gitlab-lsp as I believe the Duo Workflow Service will send the checkpoints to the client either way.

Edited by 🤖 GitLab Bot 🤖