Open
Description
Internal/External
External otherwise.
Area
Meta
Describe the feature you'd like
This repository hosts several components that build on top of the cardano-node but are not an integral part of it. Ideally, these should be in a seperate repository and build largely independent of the main node.
The main pain point is the bundling of CLI and cardano-node
This has several advantages
- independence. In the current status a fix or new feature in the cardano CLI requires a cardano node upgrade - which triggers all security checks for the node (which are reasonable) because of a change in the user interface (which is unreasonable).
- introduces the need for a proper documentation of the node API (I.e. the socket). Currently there are very few (external) projects building on the socket directly and I don't know if there is even a proper documentation for it. This should change. Most projects interact with the node through the CLI, ogmios or cardano-db-sync-ish things, which is an unnecessary bottleneck.
- proper documentation of intercompatability. If the node upgrade is required (I.e. protocol upgrade) but the CLI breaks in the same release (this happened for me around Vasil hardfork) then an old CLI can be used with a new node.However this is super experimental and no proper documentation exists on when and how this works. If repos are separated then it could be properly reported which version of CLI is compatible with which version of node.
Describe alternatives you've considered
None
Additional context / screenshots
Arised from a discussion with @KtorZ where we both faced the problem of having CLI fixes pending for months (!) because they would trigger a new release of the node. Meanwhile UX suffers greatly through this stiffness.