The challenges in working on debugging that were relevant to last week’s conversation had to do with the differences between example implementation and how many things become de facto stakes in the ground. Here are the aspects of the conversation that I recall:
The group of stakeholders who are interested in this problem is very broad but diffuse. The issue is not a purely software engineering one because it’s not simply implementing some functionality, it is also a reference implementation and reaches across multiple sub-projects.
The solutions we settled on came from independent implementations that relied on prior art / defined protocols, (i.e. the debug adapter protocol defined by Microsoft and used in VS Code, the use of the control channel in the Jupyter messaging spec, provisional API updates in JupyterLab core as proof-of-concept before migrating down to lower levels of the Jupyter stack).